:root{--black:#050505;--black2:#0d0d0d;--gold:#f5b900;--gold2:#ffd24b;--white:#fff;--cream:#f8f6ef;--ink:#151515;--muted:#686868;--line:#dedbd1;--success:#147a4b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);overflow-x:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.wrap{width:min(1240px,92%);margin-inline:auto}.topbar{background:#000;color:#ddd;font-size:.83rem;border-bottom:1px solid rgba(245,185,0,.18)}.topbarInner{display:flex;justify-content:space-between;gap:18px;padding:8px 0}.topbar a{color:var(--gold2)}.header{position:sticky;top:0;z-index:100;background:rgba(5,5,5,.97);border-bottom:1px solid rgba(245,185,0,.24);backdrop-filter:blur(14px)}.navrow{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;min-width:210px;color:#fff}.brandLogo{width:58px;height:58px;border-radius:50%;overflow:hidden;border:1px solid rgba(245,185,0,.6);background:#000;display:grid;place-items:center}.brandLogo img{width:100%;height:100%;object-fit:cover}.brandText strong{display:block;font-size:1.02rem;letter-spacing:.02em}.brandText small{display:block;margin-top:3px;color:var(--gold);font-size:.69rem;letter-spacing:.12em}.nav{display:flex;align-items:center;gap:17px}.nav>a:not(.navCta){color:#f1f1f1;font-size:.88rem;font-weight:700;position:relative}.nav>a:not(.navCta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--gold);transition:.25s}.nav>a:not(.navCta):hover:after{right:0}.navCta{background:var(--gold);color:#050505!important;padding:10px 15px;border-radius:8px;font-weight:900;white-space:nowrap}.menu{display:none;background:transparent;color:var(--gold);border:1px solid rgba(245,185,0,.45);border-radius:8px;padding:9px 11px;font-size:1.2rem}.langSwitch{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(245,185,0,.45);border-radius:7px;padding:4px 5px}.langSwitch a{color:#fff;font-size:.76rem;font-weight:900;padding:5px 7px;border-radius:4px}.langSwitch a.active{background:var(--gold);color:#000}.langSwitch b{color:#6d5b17}.hero{position:relative;min-height:760px;height:calc(100vh - 102px);max-height:880px;background:#000;overflow:hidden;isolation:isolate}.heroSlides{position:absolute;inset:0;z-index:-3}.heroSlide{position:absolute;inset:-4%;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1.25s ease;will-change:transform,opacity}.heroSlide.active{opacity:1;animation-duration:8s;animation-fill-mode:both;animation-timing-function:ease-out}.heroSlide:nth-child(5n+1).active{animation-name:k1}.heroSlide:nth-child(5n+2).active{animation-name:k2}.heroSlide:nth-child(5n+3).active{animation-name:k3}.heroSlide:nth-child(5n+4).active{animation-name:k4}.heroSlide:nth-child(5n+5).active{animation-name:k5}@keyframes k1{from{transform:scale(1.03) translateX(-1%)}to{transform:scale(1.15) translateX(2%)}}@keyframes k2{from{transform:scale(1.14) translateX(3%)}to{transform:scale(1.05) translateX(-3%)}}@keyframes k3{from{transform:scale(1.04) translateY(2%)}to{transform:scale(1.16) translateY(-2%)}}@keyframes k4{from{transform:scale(1.15) translateY(-2%)}to{transform:scale(1.05) translateY(2%)}}@keyframes k5{from{transform:scale(1.03) translate(1%,1%)}to{transform:scale(1.17) translate(-2%,-1%)}}.heroOverlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.66) 43%,rgba(0,0,0,.28) 72%,rgba(0,0,0,.46) 100%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 45%);z-index:-1}.heroLayout{height:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr);gap:54px;align-items:center;padding-bottom:116px}.heroCopy{max-width:720px}.eyebrow,.tag{display:inline-block;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}.hero h1{font-size:clamp(3.5rem,7.2vw,6.8rem);line-height:.95;color:#fff;margin:18px 0 22px;letter-spacing:-.05em;max-width:760px}.hero h1 em{font-style:normal;color:var(--gold)}.heroLead{font-size:clamp(1.04rem,1.5vw,1.25rem);line-height:1.75;color:#eee;max-width:670px;text-shadow:0 3px 20px rgba(0,0,0,.6)}.heroActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:13px 19px;font-weight:900;cursor:pointer;transition:.2s;min-height:48px}.btn.gold,.gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#000}.btn.gold:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(245,185,0,.25)}.btn.outline{border:1px solid rgba(245,185,0,.75);color:#fff;background:rgba(0,0,0,.3)}.heroPanel{justify-self:end;width:min(360px,100%);background:rgba(0,0,0,.74);border:1px solid rgba(245,185,0,.38);border-radius:24px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.4);backdrop-filter:blur(8px)}.heroPanel img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.08)}.heroPanel div{padding:14px 4px 2px}.heroPanel strong{display:block;color:#fff;font-size:1.35rem}.heroPanel span{display:block;color:var(--gold);margin-top:4px}.sliderArrow{position:absolute;top:48%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid rgba(245,185,0,.5);background:rgba(0,0,0,.42);color:var(--gold);cursor:pointer}.sliderArrow.prev{left:18px}.sliderArrow.next{right:18px}.sliderDots{position:absolute;z-index:6;bottom:126px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.sliderDot{width:8px;height:8px;border:0;border-radius:99px;background:rgba(255,255,255,.55);cursor:pointer;transition:.2s}.sliderDot.active{width:27px;background:var(--gold)}.heroStats{position:absolute;left:0;right:0;bottom:0;background:rgba(5,5,5,.92);border-top:1px solid rgba(245,185,0,.28);z-index:4}.statsGrid{display:grid;grid-template-columns:repeat(4,1fr)}.statsGrid div{text-align:center;padding:20px 10px;border-right:1px solid rgba(245,185,0,.18)}.statsGrid div:last-child{border-right:0}.statsGrid strong{display:block;color:var(--gold);font-size:1.65rem}.statsGrid span{display:block;color:#ddd;font-size:.79rem;margin-top:5px}.section{padding:88px 0}.lightSection{background:#fff}.darkSection{background:var(--cream)}.blackSection{background:#070707;color:#fff}.goldSection{background:linear-gradient(135deg,#e1a800,#ffd146);color:#111}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.contentBlock h2,.joinIntro h2,.contactCard h2,.head h2{font-size:clamp(2.15rem,4.4vw,4rem);line-height:1.05;margin:12px 0 18px;letter-spacing:-.035em}.contentBlock p,.joinIntro p,.head p,.contactCard p{line-height:1.8;color:#6d6d6d}.blackSection .head p,.blackSection .contactCard p{color:#aaa}.visualCard{min-height:460px;border-radius:28px;background:#050505;border:1px solid rgba(245,185,0,.36);display:grid;place-items:center;position:relative;overflow:hidden;padding:36px}.visualCard:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(245,185,0,.28),transparent 70%);right:-120px;top:-90px}.visualLogo{width:min(330px,82%);aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid rgba(245,185,0,.35);z-index:1}.visualLogo img{width:100%;height:100%;object-fit:cover}.visualCard>span{position:absolute;bottom:28px;left:32px;color:var(--gold);font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}.progress{height:9px;background:#eee8d8;border-radius:99px;overflow:hidden;margin-top:25px}.progress i{display:block;height:100%;background:linear-gradient(90deg,#d79d00,var(--gold2))}.miniStats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.miniStat{background:#090909;color:#fff;border-radius:14px;padding:18px;border:1px solid rgba(245,185,0,.22)}.miniStat strong{display:block;color:var(--gold);font-size:1.8rem}.miniStat span{font-size:.8rem;color:#ccc}.aboutSplit{grid-template-columns:1.1fr .7fr}.quoteCard{background:#050505;color:#fff;border-radius:28px;padding:46px;min-height:390px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 30px 70px rgba(0,0,0,.15);border-bottom:5px solid var(--gold)}.quoteCard>span{color:var(--gold);font-size:6rem;line-height:.6}.quoteCard p{font-size:clamp(1.6rem,3vw,2.7rem);font-weight:800;line-height:1.2}.quoteCard small{color:var(--gold);font-weight:900;letter-spacing:.14em}.checks{display:grid;gap:12px;margin-top:25px}.check{display:flex;align-items:center;gap:11px;font-weight:800}.check i{font-style:normal;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#000}.head{text-align:center;max-width:790px;margin:0 auto 44px}.darkHead h2{color:#111}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:linear-gradient(180deg,#111,#090909);border:1px solid rgba(245,185,0,.28);border-radius:18px;padding:28px;min-height:240px;transition:.25s}.card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 18px 50px rgba(245,185,0,.08)}.icon{width:50px;height:50px;border-radius:14px;background:var(--gold);display:grid;place-items:center;color:#000;font-size:1.45rem;font-weight:900}.card h3{color:#fff;margin:18px 0 9px}.card p{color:#aaa;line-height:1.65;margin:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery figure{margin:0;min-height:270px;border-radius:18px;overflow:hidden;position:relative;background:#151515}.gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.35s}.gallery figure:hover img{transform:scale(1.05)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 16px 16px;color:#fff;font-weight:800;background:linear-gradient(transparent,rgba(0,0,0,.88))}.emptyGallery{grid-column:1/-1;text-align:center;padding:50px;border:1px dashed #bbb;border-radius:16px;color:#777}.joinSplit{grid-template-columns:.8fr 1.2fr}.darkTag{color:#111}.joinIntro p{color:#3a2d00}.joinPills{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.joinPills span{background:rgba(0,0,0,.88);color:#fff;border-radius:99px;padding:10px 14px;font-weight:800;font-size:.82rem}.formBox{background:#fff;border:1px solid #dedede;border-radius:22px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.12)}.darkForm{background:#080808;border-color:rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.28)}.formGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.84rem}.darkForm .field label{color:#fff}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #d9d9d9;border-radius:9px;background:#fff;color:#111;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#c69500;box-shadow:0 0 0 3px rgba(245,185,0,.13)}.field textarea{min-height:116px;resize:vertical}.notice{margin-top:13px;padding:12px;border-radius:8px;background:#e6f6ee;color:var(--success);font-weight:800}.contactSplit{grid-template-columns:.7fr 1.1fr}.contactCard{padding:20px 12px}.contactCard h2{color:#fff}.contactCard a{color:var(--gold2)}.socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.socials a{border:1px solid rgba(245,185,0,.38);padding:9px 12px;border-radius:8px;color:#fff}.footer{background:#000;color:#aaa;padding:54px 0 18px;border-top:1px solid rgba(245,185,0,.22)}.footerGrid{display:grid;grid-template-columns:1.4fr .7fr .7fr .8fr;gap:28px}.footer h3{color:#fff}.footer a{display:block;margin:9px 0}.footer a:hover{color:var(--gold)}.footerBrand{display:flex;align-items:center;gap:15px}.footerBrand img{width:78px;height:78px;object-fit:cover;border-radius:50%;border:1px solid rgba(245,185,0,.35)}.footerBrand h3,.footerBrand p{margin:0}.footerBrand p{color:var(--gold);margin-top:5px}.copy{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:17px;text-align:center;font-size:.82rem}.blackSection .tag{color:var(--gold)}
@media(max-width:1100px){.wrap{width:min(960px,94%)}.nav{gap:11px}.nav>a:not(.navCta){font-size:.8rem}.navCta{padding:9px 10px;font-size:.78rem}.brand{min-width:180px}.hero{min-height:700px}.heroLayout{grid-template-columns:1fr .48fr;gap:28px}.heroPanel{max-width:300px}.hero h1{font-size:clamp(3.2rem,6.5vw,5.2rem)}.split{gap:40px}.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.topbar{display:none}.header{top:0}.navrow{min-height:70px}.brandLogo{width:50px;height:50px}.menu{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#080808;border-top:1px solid rgba(245,185,0,.2);padding:18px 4%;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100vh - 70px);overflow:auto}.nav.open{display:flex}.nav>a:not(.navCta),.navCta{padding:11px 10px;font-size:.9rem}.langSwitch{align-self:flex-start;margin:8px 10px}.hero{height:auto;min-height:760px;max-height:none}.heroLayout{grid-template-columns:1fr;align-content:center;padding-top:70px;padding-bottom:150px}.heroCopy{max-width:660px}.heroPanel{display:none}.sliderDots{bottom:126px}.split,.aboutSplit,.joinSplit,.contactSplit{grid-template-columns:1fr}.executiveSplit .visualCard{order:2}.visualCard{min-height:360px}.cards{grid-template-columns:repeat(2,1fr)}.footerGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.wrap{width:min(100% - 28px,560px)}.brandText strong{font-size:.88rem}.brandText small{font-size:.62rem}.hero{min-height:720px}.heroLayout{padding-top:58px;padding-bottom:150px}.hero h1{font-size:clamp(3rem,15vw,4.5rem)}.heroLead{font-size:1rem}.heroActions{display:grid;grid-template-columns:1fr}.heroActions .btn{width:100%}.sliderArrow{display:none}.statsGrid{grid-template-columns:repeat(2,1fr)}.statsGrid div{padding:13px 7px}.statsGrid div:nth-child(2){border-right:0}.statsGrid div:nth-child(-n+2){border-bottom:1px solid rgba(245,185,0,.18)}.statsGrid strong{font-size:1.35rem}.sliderDots{bottom:121px}.section{padding:64px 0}.cards,.gallery,.formGrid,.miniStats,.footerGrid{grid-template-columns:1fr}.field.full{grid-column:auto}.visualCard{min-height:310px}.quoteCard{min-height:300px;padding:34px 28px}.gallery figure{min-height:260px}.formBox{padding:22px}.footerBrand{align-items:flex-start}.footerGrid{gap:18px}}
@media(max-width:390px){.brandText small{display:none}.hero h1{font-size:2.9rem}.heroLead{line-height:1.6}.statsGrid span{font-size:.7rem}.navrow{gap:8px}}
/* Executive v2: hero is photography only; no text/logo overlay. */
.hero{min-height:620px;height:min(68vw,720px);max-height:720px;background:#000}
.heroSlide{background-size:cover;background-position:center center}
.heroOverlay,.heroLayout,.heroCopy,.heroPanel{display:none!important}
.sliderDots{bottom:118px}
.heroStats{bottom:0}
@media(max-width:900px){
  .hero{min-height:610px;height:72vw;max-height:700px}
  .sliderDots{bottom:122px}
}
@media(max-width:620px){
  .hero{min-height:520px;height:78svh;max-height:650px}
  .heroSlide{background-position:center center}
  .sliderDots{bottom:118px}
}
/* Keep the single Join Us CTA on the far right of navigation. */
.navCta{margin-left:4px;white-space:nowrap}
/* More informative, readable form controls on all screen sizes. */
.field input::placeholder,.field textarea::placeholder{color:#7b7b7b;opacity:1}
.darkForm .field input::placeholder,.darkForm .field textarea::placeholder{color:#777}
@media(max-width:1100px){
  .nav{gap:9px}
  .navCta{margin-left:auto}
}

/* Current Campaign: three-image executive gallery. */
.campaignMedia{display:grid;grid-template-columns:1.35fr .85fr;grid-template-rows:1fr 1fr;gap:12px;min-height:470px}
.campaignPhoto{position:relative;overflow:hidden;border-radius:22px;background:#080808;border:1px solid rgba(245,185,0,.28);box-shadow:0 24px 60px rgba(0,0,0,.13)}
.campaignPhoto1{grid-row:1/3}
.campaignPhoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.campaignPhoto:hover>img{transform:scale(1.035)}
.campaignPlaceholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;background:radial-gradient(circle at 50% 35%,rgba(245,185,0,.13),transparent 45%),#080808;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.campaignPlaceholder img{width:110px!important;height:110px!important;border-radius:50%;object-fit:cover!important;border:1px solid rgba(245,185,0,.32)}
@media(max-width:900px){.campaignMedia{min-height:430px;order:2}}
@media(max-width:620px){.campaignMedia{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px;min-height:0;gap:10px}.campaignPhoto1{grid-column:1/3;grid-row:auto}.campaignPhoto2,.campaignPhoto3{grid-row:2}.campaignPhoto{border-radius:16px}.campaignPlaceholder img{width:78px!important;height:78px!important}}

/* Governance bilingual update */
.governanceSection{background:linear-gradient(180deg,#fffdf5 0%,#fff 100%);color:#111}.governanceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}.governanceCard{background:#0b0b0b;color:#fff;border:1px solid rgba(217,171,49,.42);border-radius:22px;padding:28px;box-shadow:0 18px 42px rgba(0,0,0,.12)}.governanceCard h3{margin:10px 0 12px;color:#e0b83f;font-size:1.35rem}.governanceCard p{margin:0;color:#dedede;line-height:1.75}.govIcon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e0b83f;color:#090909;font-weight:900;font-size:1.35rem}.governanceSection .darkHead h2,.governanceSection .darkHead p{color:#111}.governanceSection .darkHead p{max-width:780px;margin-left:auto;margin-right:auto}@media(max-width:800px){.governanceGrid{grid-template-columns:1fr}.governanceCard{padding:22px}}

/* ==========================================================
   CINEMATIC HERO V3 — adaptive viewport + premium photo render
   ========================================================== */
/* The hero occupies the visible screen below the top bar/header, including its stats strip. */
.hero{
  height:calc(100vh - 112px);
  min-height:560px;
  max-height:none;
  background:#000;
  overflow:hidden;
}
@supports (height:100dvh){.hero{height:calc(100dvh - 112px)}}
.heroSlides{overflow:hidden;background:#000}
.heroSlide{
  inset:-5%;
  background-size:cover;
  background-position:center center;
  image-rendering:auto;
  opacity:0;
  transition:opacity 1.65s cubic-bezier(.22,.61,.36,1),filter 1.65s ease;
  filter:saturate(1.035) contrast(1.035) brightness(1.015);
  transform-origin:center center;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:transform,opacity,filter;
}
.heroSlide.active{opacity:1;animation-duration:9s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.18,.68,.22,1)}
/* Slide 1 — cinematic push-in */
.heroSlide:nth-child(5n+1).active{animation-name:ccPushIn}
@keyframes ccPushIn{0%{transform:scale(1.015) translate3d(-.7%,.25%,0)}100%{transform:scale(1.145) translate3d(1.7%,-.45%,0)}}
/* Slide 2 — horizontal parallax drift */
.heroSlide:nth-child(5n+2).active{animation-name:ccParallaxDrift}
@keyframes ccParallaxDrift{0%{transform:scale(1.13) translate3d(2.7%,0,0)}45%{transform:scale(1.095) translate3d(.3%,-.4%,0)}100%{transform:scale(1.07) translate3d(-2.5%,.35%,0)}}
/* Slide 3 — reveal & focus: subtle focus settling + upward camera motion */
.heroSlide:nth-child(5n+3){filter:saturate(1.02) contrast(1.02) brightness(1.01) blur(.35px)}
.heroSlide:nth-child(5n+3).active{animation-name:ccRevealFocus}
@keyframes ccRevealFocus{0%{transform:scale(1.105) translate3d(0,1.7%,0);filter:saturate(.98) contrast(1.01) brightness(.99) blur(.45px)}20%{filter:saturate(1.035) contrast(1.04) brightness(1.015) blur(0)}100%{transform:scale(1.16) translate3d(0,-1.5%,0);filter:saturate(1.04) contrast(1.045) brightness(1.015) blur(0)}}
/* Slide 4 — cinematic pull-out */
.heroSlide:nth-child(5n+4).active{animation-name:ccPullOut}
@keyframes ccPullOut{0%{transform:scale(1.17) translate3d(-.7%,-1.2%,0)}100%{transform:scale(1.055) translate3d(.9%,1.05%,0)}}
/* Slide 5 — floating diagonal panorama */
.heroSlide:nth-child(5n+5).active{animation-name:ccFloatingPanorama}
@keyframes ccFloatingPanorama{0%{transform:scale(1.045) translate3d(1.7%,1.25%,0)}50%{transform:scale(1.105) translate3d(0,0,0)}100%{transform:scale(1.15) translate3d(-1.8%,-1.15%,0)}}
/* Keep controls clear of the stats strip. */
.sliderDots{bottom:112px}
.sliderArrow{top:46%}
/* Wide/short laptop displays: always fit the complete hero panel before scroll. */
@media (min-width:901px) and (max-height:760px){
  .hero{height:calc(100vh - 112px);min-height:470px}
  .statsGrid div{padding:14px 8px}
  .statsGrid strong{font-size:1.42rem}
  .sliderDots{bottom:94px}
}
/* Tablet/mobile. Desktop-site mode still gets viewport-aware sizing through the rules above. */
@media(max-width:900px){
  .hero{height:calc(100vh - 70px);min-height:540px;max-height:none}
  @supports (height:100svh){.hero{height:calc(100svh - 70px)}}
  .heroSlide{inset:-6%}
  .sliderDots{bottom:112px}
}
@media(max-width:620px){
  .hero{height:calc(100vh - 70px);min-height:500px;max-height:none}
  @supports (height:100svh){.hero{height:calc(100svh - 70px)}}
  .heroSlide{inset:-7%;background-position:center center}
  .sliderDots{bottom:108px}
}
@media(max-width:390px){.hero{min-height:480px}}
/* Respect users who request reduced motion. */
@media(prefers-reduced-motion:reduce){
  .heroSlide.active{animation:none!important;transform:scale(1.035)}
  .heroSlide{transition:opacity .35s ease;filter:none}
}


/* ==========================================================
   MOBILE HERO V4 — compact phone view, desktop unchanged
   ========================================================== */
/* Phones/tablets: reduce only the hero/slider footprint so the next website
   heading becomes visible sooner. Desktop rules above remain untouched. */
@media (max-width:900px){
  .hero{
    height:58vh;
    min-height:430px;
    max-height:560px;
  }
  @supports (height:100svh){
    .hero{height:58svh}
  }
  .heroSlide{inset:-5.5%}
  .heroStats .statsGrid div{padding:11px 6px}
  .heroStats .statsGrid strong{font-size:1.22rem}
  .heroStats .statsGrid span{font-size:.72rem}
  .sliderDots{bottom:101px}
}

@media (max-width:620px){
  .hero{
    height:54vh;
    min-height:390px;
    max-height:500px;
  }
  @supports (height:100svh){
    .hero{height:54svh}
  }
  .heroSlide{
    inset:-5.5%;
    background-position:center center;
  }
  .heroStats .statsGrid div{padding:9px 5px}
  .heroStats .statsGrid strong{font-size:1.12rem}
  .heroStats .statsGrid span{font-size:.68rem;line-height:1.2}
  .sliderDots{bottom:94px}
}

@media (max-width:390px){
  .hero{
    height:52vh;
    min-height:360px;
    max-height:460px;
  }
  @supports (height:100svh){
    .hero{height:52svh}
  }
  .heroStats .statsGrid strong{font-size:1.04rem}
  .heroStats .statsGrid span{font-size:.64rem}
  .sliderDots{bottom:90px}
}

/* Most mobile browsers keep coarse touch input even when “Desktop site” is
   requested. This keeps the slider compact on a phone without changing PCs. */
@media (hover:none) and (pointer:coarse) and (max-height:950px){
  .hero{
    height:58vh;
    min-height:390px;
    max-height:560px;
  }
  @supports (height:100svh){
    .hero{height:58svh}
  }
}

/* ==========================================================
   MOBILE HERO V5 — half-screen phone slider, PC/Desktop unchanged
   ========================================================== */
/* Normal mobile/tablet widths: keep the complete hero compact. */
@media (max-width:900px){
  .hero{
    height:56svh;
    min-height:360px;
    max-height:540px;
  }
  .heroSlide{inset:-4.5%;background-position:center center}
  .heroStats .statsGrid div{padding:8px 4px}
  .heroStats .statsGrid strong{font-size:1.08rem}
  .heroStats .statsGrid span{font-size:.64rem;line-height:1.15}
  .sliderDots{bottom:84px}
  .sliderArrow{top:43%;width:38px;height:38px}
}

@media (max-width:620px){
  .hero{
    height:54svh;
    min-height:330px;
    max-height:500px;
  }
  .heroSlide{inset:-4%;background-position:center center}
  .sliderDots{bottom:78px}
}

@media (max-width:390px){
  .hero{
    height:52svh;
    min-height:310px;
    max-height:455px;
  }
  .heroStats .statsGrid strong{font-size:1rem}
  .heroStats .statsGrid span{font-size:.6rem}
  .sliderDots{bottom:74px}
}

/* Critical phone rule: this still applies when the user enables "Desktop site"
   on a phone, because touch/coarse-pointer capability remains detectable even
   when the browser reports a wide desktop-style viewport. PC/laptop layouts
   with a normal mouse/fine pointer are not affected. */
@media (hover:none) and (pointer:coarse){
  .hero{
    height:56svh !important;
    min-height:340px !important;
    max-height:560px !important;
  }
  .heroSlide{inset:-4.5% !important;background-position:center center}
  .heroStats .statsGrid div{padding:8px 4px}
  .heroStats .statsGrid strong{font-size:1.08rem}
  .heroStats .statsGrid span{font-size:.64rem;line-height:1.15}
  .sliderDots{bottom:82px}
}

@media (hover:none) and (pointer:coarse) and (orientation:landscape){
  .hero{
    height:72svh !important;
    min-height:300px !important;
    max-height:520px !important;
  }
}
