*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;}
body{margin:0;font-family:"Archivo",Arial,Helvetica,sans-serif;color:#222;background:#fff;line-height:1.7;overflow-x:hidden;max-width:100%;position:relative;}
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);}
.nav-toggle:hover{opacity:.8;}

/* 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);}
.site-footer{background:#31373b;}
.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);}
.social-follow-btn:hover{background:#545c62;color:#fff;transform:translateY(-2px);}
.ig-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(0,0,0,.1);}
.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);-webkit-backdrop-filter:blur(8px);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);}
.uae-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;}
.uae-pin-dot{position:relative;width:9px;height:9px;border-radius:50%;background:#545c62;display:inline-block;flex-shrink:0;}
.uae-pin-dot::before{content:"";position:absolute;inset:-6px;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;}}
.uae-pin-label{font-size:.78rem;font-weight:500;color:#4a5157;white-space:nowrap;background:rgba(255,255,255,.82);padding:2px 6px;border-radius:3px;}
.uae-pin .uae-pin-tip{position:absolute;bottom:100%;left:14px;margin-bottom:6px;white-space:nowrap;font-size:.7rem;background:#222;color:#fff;padding:5px 10px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.uae-pin:hover .uae-pin-tip{opacity:1;}
.ph-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none;scroll-behavior:smooth;}
.ph-track::-webkit-scrollbar{display:none;}
.ph-card{scroll-snap-align:start;flex:0 0 min(78vw,300px);background:#fff;}
.ph-card .ph-img{transition:transform .6s cubic-bezier(.22,1,.36,1);}
.ph-card:hover .ph-img{transform:scale(1.06);}
.ph-readmore:hover{background:#151718;color:#fff;border-color:#151718;}
.ph-nav-btn:hover{opacity:.85;}

/* ===== WHO WE ARE ===== */
.btn-primary:hover{background:#444 !important;transform:translateY(-2px);}
.leader-card{cursor:pointer;text-align:center;}
.leader-photo-wrap{position:relative;width:220px;height:220px;margin:0 auto;}
.leader-crescent{position:absolute;top:0;right:-14px;width:220px;height:220px;border-radius:50%;background:#151718;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.leader-card:hover .leader-crescent{transform:translateX(10px) scale(1.04);}
.leader-photo{position:relative;width:220px;height:220px;border-radius:50%;overflow:hidden;z-index:1;}
.leader-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.leader-card:hover .leader-photo 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);}

/* ===== NEWSROOM (press release pages) ===== */
.pr-body p{font-size:17px;line-height:1.9;color:#3b4147;margin:0 0 22px;}
.share-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(21,23,24,.15);display:flex;align-items:center;justify-content:center;color:#545c62;transition:all .25s ease;}
.share-btn:hover{background:#151718;color:#fff;border-color:#151718;}
.back-link:hover{color:#151718;}

/* ===== BUSINESSES ===== */
.biz-section{scroll-margin-top:150px;}
.sector-nav{position:sticky;top:90px;z-index:50;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(8px);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;}
.sticky-apply{position:fixed;left:0;right:0;bottom:0;transform:translateY(100%);background:#fff;border-top:1px solid rgba(21,23,24,0.1);box-shadow:0 -6px 24px rgba(0,0,0,0.08);z-index:900;transition:transform .3s ease;}
.sticky-apply.show{transform:translateY(0);}
.sticky-apply-inner{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.sticky-apply-inner span{font-size:14px;color:#3f464d;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sticky-apply-inner .apply-btn{flex-shrink:0;}

/* ---- Life at HYM bento gallery ----
   4 assets, one of them a portrait video (1080x1920) — the old layout
   forced everything into identical 4:3 boxes with object-fit:contain,
   which letterboxed the photos and left the portrait video floating as
   a thin sliver in a mostly-empty tile. This gives each tile a shape
   suited to its content instead. */
.life-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:18px;height:560px;}
.life-tile{position:relative;border-radius:16px;overflow:hidden;background:#eef0f1;}
.life-tile img,.life-tile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1);}
.life-tile:hover img,.life-tile:hover video{transform:scale(1.06);}
.life-caption{position:absolute;left:0;right:0;bottom:0;padding:20px;background:linear-gradient(to top, rgba(20,23,27,.78) 0%, rgba(20,23,27,.15) 65%, transparent 100%);color:#fff;font-size:.88rem;font-weight:600;letter-spacing:.01em;opacity:0;transform:translateY(8px);transition:all .3s ease;pointer-events:none;}
.life-tile:hover .life-caption{opacity:1;transform:none;}
.life-video-tile{grid-row:1 / 3;grid-column:1;}
.life-wide-tile{grid-column:2 / 4;grid-row:2;}
.life-sound-btn{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(20,23,27,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background .25s ease;font-size:14px;}
.life-sound-btn:hover{background:rgba(20,23,27,.82);}

/* ===== 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;}
