*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:"Archivo",Arial,Helvetica,sans-serif;color:#222;background:#fff;line-height:1.7;overflow-x:hidden;}
a{color:#545c62;text-decoration:none;}
a:hover{color:#2f363a;}
img{max-width:100%;}

/* header */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:999;padding:20px 0;transition:all .3s ease;background:transparent;font-family:'Archivo',Arial,sans-serif;}
.site-header.scrolled{padding:14px 0;background:#ffffff;box-shadow:0 10px 24px rgba(0,0,0,.08);}
.site-header .inner{width:100%;max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;}
.site-header .logo-link{display:flex;align-items:center;opacity:1;transition:opacity .3s ease;}
body.home-page .site-header:not(.scrolled) .logo-link{opacity:0;}
.site-header .logo-link img{height:52px;width:auto;}
.hym-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:1;min-width:0;}
.hym-nav a{color:inherit;text-decoration:none;position:relative;overflow:hidden;padding:8px 16px;border-radius:999px;font-size:13px;white-space:nowrap;transition:all .3s ease;border:1px solid rgba(255,255,255,.55);color:#fff;}
.site-header.scrolled .hym-nav a{border-color:rgba(84,92,98,.28);color:#545c62;}
.hym-nav a:not([aria-current="page"])::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.hym-nav a:hover::after{transform:scaleX(1);}
.hym-nav a:hover{transform:translateY(-1px);}

/* footer */
.site-footer{background:#31373b;color:#fff;padding:60px 0 20px;font-family:'Archivo',Arial,sans-serif;}
.site-footer .cols{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;}
.site-footer h4{margin:0 0 18px;font-size:18px;font-weight:600;}
.site-footer ul{list-style:none;margin:0;padding:0;}
.site-footer .units li{margin-bottom:10px;color:#d8d8d8;font-weight:700;}
.ftr-link{position:relative;margin-bottom:10px;display:block;}
.ftr-link a{color:#d8d8d8;text-decoration:none;}
.ftr-link::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.ftr-link:hover::after{transform:scaleX(1);}
.ftr-social{width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .25s ease;}
.ftr-social:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6);transform:translateY(-2px);}
.site-footer .bottom{margin-top:40px;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;}
.site-footer .bottom .in{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;gap:20px;font-size:14px;flex-wrap:wrap;}
.site-footer .bottom a{color:#fff;}

/* shared reveal */
.fade-up{opacity:0;transform:translateY(40px);transition:.8s ease;}
.fade-up.show{opacity:1;transform:none;}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}

/* ===== HOME ===== */
.hb-card{display:block;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.06);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease;color:inherit;text-decoration:none;}
.hb-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(0,0,0,.12);}
.hb-card:hover .hb-go{transform:translateX(5px);}
.hb-thumb{transition:transform .6s cubic-bezier(.22,1,.36,1);aspect-ratio:16/11;position:relative;display:flex;align-items:flex-end;padding:22px;background-size:cover;background-position:center;}
.hb-card:hover .hb-thumb{transform:scale(1.08);}
.hb-go{color:#545c62;font-size:1rem;display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1);}
.vm-card{background:#fff;padding:50px;border-radius:28px;position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 10px 30px rgba(0,0,0,.04);}
.vm-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px rgba(0,0,0,.08);}
.about-btn{display:inline-flex;align-items:center;gap:8px;margin-top:30px;padding:12px 26px;border:1px solid rgba(84,92,98,.30);border-radius:999px;font-size:.88rem;font-weight:500;color:#545c62;text-decoration:none;transition:all .3s ease;}
.about-btn:hover{background:#545c62;color:#fff;transform:translateY(-2px);}
.cta-dark:hover{background:#3f464d;}
.cta-line:hover{border-color:#545c62;background:rgba(84,92,98,.05);}
.divider-line{transform:scaleX(0);transform-origin:left;transition:transform .8s ease .2s;}
.divider-line.show{transform:scaleX(1);}
.subnav{position:fixed;top:0;left:0;width:100%;z-index:998;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(84,92,98,.12);transform:translateY(-100%);transition:transform .35s ease;}
.subnav.show{transform:translateY(90px);}
.subnav a{color:#545c62;text-decoration:none;font-size:.82rem;letter-spacing:.03em;position:relative;}
.subnav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#545c62;transform:scaleX(0);transition:transform .25s ease;}
.subnav a:hover::after{transform:scaleX(1);}
.map-pin{position:absolute;width:10px;height:10px;border-radius:50%;background:#545c62;}
.map-pin::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(84,92,98,.35);animation:pinPulse 2.6s infinite ease-out;}
@keyframes pinPulse{0%{transform:scale(.6);opacity:1;}100%{transform:scale(2.1);opacity:0;}}
.map-pin .pin-tip{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.72rem;background:#222;color:#fff;padding:5px 10px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.map-pin:hover .pin-tip{opacity:1;}
.ph-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none;}
.ph-track::-webkit-scrollbar{display:none;}
.ph-card{scroll-snap-align:start;flex:0 0 min(78vw,380px);}
.ph-card .ph-img{transition:transform .6s cubic-bezier(.22,1,.36,1);}
.ph-card:hover .ph-img{transform:scale(1.06);}

/* ===== WHO WE ARE ===== */
.btn-primary:hover{background:#444 !important;transform:translateY(-2px);}
.leader-card{cursor:pointer;text-align:center;}
.leader-card img{transition:transform .4s ease;}
.leader-card:hover img{transform:scale(1.08);}
.tl-item{position:relative;padding-left:30px;}
.tl-dot{position:absolute;left:-33px;top:6px;width:14px;height:14px;border-radius:50%;background:#545c62;border:3px solid #fff;box-shadow:0 0 0 1px rgba(84,92,98,.3);}

/* ===== BUSINESSES ===== */
.biz-section{scroll-margin-top:150px;}
.sector-nav{position:sticky;top:90px;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(84,92,98,.12);}
.sector-pill{display:inline-block;padding:9px 18px;border-radius:999px;font-size:.82rem;color:#545c62;text-decoration:none;border:1px solid rgba(84,92,98,.22);white-space:nowrap;transition:all .25s ease;}
.sector-pill:hover{background:#545c62;color:#fff;border-color:#545c62;}
.biz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px;}
.biz-tile{background:#fff;border:1px solid rgba(84,92,98,.12);border-radius:14px;padding:36px 26px;min-height:126px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .35s cubic-bezier(.22,1,.36,1);position:relative;}
.biz-tile:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.08);border-color:rgba(84,92,98,.35);}
.biz-tile img{max-width:150px;max-height:60px;width:auto;height:auto;filter:grayscale(100%);opacity:.72;transition:all .35s ease;}
.biz-tile:hover img{filter:grayscale(0%);opacity:1;transform:scale(1.05);}
.biz-tile .tile-hint{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#a9adb0;opacity:0;transition:opacity .25s ease;}
.biz-tile:hover .tile-hint{opacity:1;}
.sector-head{display:flex;align-items:baseline;gap:20px;margin-bottom:16px;}
.sector-num{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.5rem;color:#a9adb0;}
.biz-modal-backdrop{position:fixed;inset:0;background:rgba(20,23,27,.65);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px;}
.biz-modal-backdrop.open{display:flex;}
.biz-modal{background:#fff;border-radius:14px;padding:46px 44px;max-width:600px;width:100%;max-height:82vh;overflow-y:auto;text-align:left;box-shadow:0 24px 60px rgba(0,0,0,.25);}

/* ===== CAREERS ===== */
.job-card{background:#fff;padding:35px;border-radius:12px;box-shadow:0 5px 18px rgba(0,0,0,.08);transition:all .3s ease;display:flex;flex-direction:column;}
.job-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px rgba(0,0,0,.12);}
.apply-btn:hover{background:#000 !important;}
.seg-opt{cursor:pointer;padding:10px 18px;border-radius:999px;border:1px solid #ddd;background:#fff;color:#545c62;font-size:13px;font-family:inherit;}
.seg-opt.active{border-color:#545c62;background:#545c62;color:#fff;}

/* ===== CONTACT ===== */
.contact-card{background:#fff;padding:40px 30px;border-radius:12px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.06);transition:.35s;}
.contact-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(0,0,0,.08);}
.c-input{padding:14px 16px;border-radius:8px;border:1px solid #ddd;font-size:14px;font-family:inherit;outline:none;transition:.25s;width:100%;}
.c-input:focus{border-color:#545c62;box-shadow:0 0 0 2px rgba(84,92,98,.15);}
.c-input.err{border-color:#c0392b;}
.c-submit{margin-top:10px;padding:13px 22px;border:none;border-radius:30px;background:#545c62;color:#fff;font-size:14px;cursor:pointer;transition:.3s;}
.c-submit:hover{background:#333;}
.success-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:9999;}
.success-overlay.open{display:flex;}
