/* Layout: ADNOC-style full-bleed photo hero with timed slide tabs, then M42 corporate rhythm:
   light/navy bands, pill labels, light-weight display type, accordion + media, image card carousels.
   Single committed look (navy + teal), every color set explicitly. */
:root{
  --navy:#071a35;
  --navy-2:#0c2547;
  --deep:#04112a;
  --brand:#002774;
  --teal:#3cc4cc;
  --teal-ink:#0f7d86;
  --paper:#f2f5f9;
  --white:#ffffff;
  --ink:#0a1b33;
  --slate:#56677e;
  --mist:#a9bad0;
  --line-d:rgba(255,255,255,.14);
  --line-l:#d9e1ea;
  --warn:#ff8a3d;
  --f-display:"Sora","Segoe UI",system-ui,sans-serif;
  --f-body:"Manrope","Segoe UI",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --gut-l:max(clamp(16px,4.5vw,64px), env(safe-area-inset-left,0px));
  --gut-r:max(clamp(16px,4.5vw,64px), env(safe-area-inset-right,0px));
  --ease:cubic-bezier(.7,0,.2,1);
  --out:cubic-bezier(.16,1,.3,1);
  --slide:7s;
  --max:1360px;
  --nav-h:88px;
  color-scheme:dark;
}
@media (min-width:1800px){:root{--max:1560px}}
@media (max-width:640px){:root{--nav-h:72px}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--navy);color:var(--white);font-family:var(--f-body);font-size:16px;line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit}
p{margin:0}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;text-wrap:balance}
::selection{background:var(--teal);color:var(--navy)}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.band{position:relative;isolation:isolate;overflow:hidden}
.dark{background:var(--navy);color:var(--white)}
.light{background:var(--paper);color:var(--ink)}
.white{background:var(--white);color:var(--ink)}
.sec{padding-block:clamp(80px,10vw,150px)}
.h2{font-weight:300;font-size:clamp(32px,4.4vw,64px);line-height:1.06;letter-spacing:-.025em}
.h2 strong{font-weight:600}
.lead{font-size:clamp(16px,1.25vw,18px);max-width:58ch}
.dark .lead{color:var(--mist)}
.light .lead,.white .lead{color:var(--slate)}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid currentColor;width:max-content}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal)}
.light .pill,.white .pill{color:var(--slate)}
.dark .pill{color:var(--mist)}
.more{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;min-height:44px}
.dark .more{color:var(--teal)}
.light .more,.white .more{color:var(--teal-ink)}
.more svg{transition:transform .35s var(--ease)}
.more:hover svg{transform:translateX(5px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:700 15px/1 var(--f-body);text-decoration:none;cursor:pointer;border:0;position:relative;overflow:hidden;isolation:isolate}
.btn-teal{background:var(--teal);color:var(--navy)}
.btn-teal::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--white);transform:translateX(-101%);transition:transform .5s var(--ease)}
.btn-teal:hover::before{transform:none}
.btn-glass{color:var(--white);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.18)}

/* ---------- header ---------- */

.nav{position:sticky;top:0;z-index:60;margin-bottom:calc(-1 * var(--nav-h));padding-top:env(safe-area-inset-top,0px);transition:background .4s,box-shadow .4s}
.nav.solid{background:rgba(7,26,53,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-d)}
.nav .in{max-width:var(--max);margin:0 auto;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-height:44px;color:var(--white)}
.brand img{width:44px;height:44px;background:var(--white);border-radius:50%;padding:3px}
.brand span{font-family:var(--f-display);font-size:15px;letter-spacing:.16em;font-weight:300}
.brand b{font-weight:700}
.nav-links{display:flex;gap:4px}
.nav-links a{font-size:14px;font-weight:600;text-decoration:none;color:rgba(255,255,255,.86);padding:12px 14px;border-radius:999px;transition:background .3s}
.nav-links a:hover{background:rgba(255,255,255,.12);color:var(--white)}
.nav-r{display:flex;align-items:center;gap:8px}
.burger{width:50px;height:50px;border:1px solid rgba(255,255,255,.35);background:rgba(7,26,53,.2);color:var(--white);cursor:pointer;display:grid;place-items:center;border-radius:50%;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.burger:hover{background:rgba(255,255,255,.14)}
.burger i{display:block;width:20px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
@media (max-width:1080px){.nav-links{display:none}}
@media (max-width:560px){.nav .btn{display:none}}

.menu{position:fixed;inset:0;z-index:80;background:var(--navy);display:grid;grid-template-rows:auto 1fr;overflow-y:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.menu .top{max-width:var(--max);width:100%;margin:0 auto;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.menu .close{width:50px;height:50px;border-radius:50%;border:1px solid var(--line-d);background:transparent;color:var(--white);cursor:pointer;font-size:24px;line-height:1}
.menu .close:hover{border-color:var(--teal);color:var(--teal)}
.menu .body{max-width:var(--max);width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-content:center;padding-block:32px 48px;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.menu nav{display:grid}
.menu nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;font-family:var(--f-display);font-weight:300;font-size:clamp(30px,4.6vw,60px);line-height:1.1;padding-block:12px;border-bottom:1px solid var(--line-d);transition:color .3s,padding .4s var(--ease)}
.menu nav a span{font-family:var(--f-mono);font-size:12px;color:var(--mist);letter-spacing:.1em}
.menu nav a:hover{color:var(--teal);padding-left:14px}
.menu aside{display:grid;gap:18px;align-content:end;color:var(--mist)}
.menu aside h4{font-weight:400;color:var(--teal);font-size:18px}
.menu .mimg{border-radius:8px;overflow:hidden;aspect-ratio:16/10;max-width:100%}
.menu .mimg img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.menu .body{grid-template-columns:minmax(0,1fr);align-content:start}.menu .mimg{display:none}}

/* ---------- HERO (ADNOC-style) ---------- */
.hero{min-height:clamp(640px,100svh,1000px);display:flex;flex-direction:column;justify-content:flex-end;background:var(--deep)}
.slides{position:absolute;inset:0;z-index:-2}
.slide{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 0 100%);transition:clip-path 1.25s var(--ease)}
.slide.on{clip-path:inset(0 0 0 0);z-index:2}
.slide.was{clip-path:inset(0 0 0 0);z-index:1}
.slide img{width:100%;height:100%;object-fit:cover;object-position:var(--fo,50% 50%);transform:scale(1.14);transform-origin:var(--fo,60% 50%)}
.slide.on img{animation:kb calc(var(--slide) + 2s) linear forwards}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1.02)}}
.hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,17,42,.88) 0%,rgba(4,17,42,.55) 38%,rgba(4,17,42,.08) 70%),
    linear-gradient(0deg,rgba(4,17,42,.95) 0%,rgba(4,17,42,.2) 38%,transparent 60%),
    linear-gradient(180deg,rgba(4,17,42,.6) 0%,transparent 22%)}
.hero-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:4px 4px;mix-blend-mode:overlay}
.hero-body{width:100%;padding-block:clamp(110px,14vw,170px) 0}
@media (max-width:640px){
  .hero{min-height:max(600px,100svh)}
  .copy{gap:18px}
  .copy .sub{gap:16px}
  .copy .sub .cta,.copy .sub .cta .btn{width:100%}
}
@media (max-height:500px) and (orientation:landscape){
  .hero{min-height:560px}
  .hero-body{padding-top:100px}
  .copy h1,.copy h2{font-size:clamp(32px,5.4vw,56px)}
}
.copies{display:grid}
.copy{grid-area:1/1;display:grid;gap:26px;align-content:end;max-width:980px;visibility:hidden}
.copy.on{visibility:visible}
.copy .eyebrow{display:flex;align-items:center;gap:14px;color:var(--teal)}
.copy .eyebrow i{width:42px;height:1px;background:currentColor}
.copy h1,.copy h2{font-weight:200;font-size:clamp(38px,7.6vw,112px);line-height:.98;letter-spacing:-.035em}
.copy h1 b,.copy h2 b{font-weight:600}
.copy .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.copy .ln > span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--out)}
.copy.on .ln > span{transform:none}
.copy.on .ln:nth-child(2) > span{transition-delay:.08s}
.copy.on .ln:nth-child(3) > span{transition-delay:.16s}
.copy .sub{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;opacity:0;transform:translateY(16px);transition:opacity .8s .35s,transform .9s .35s var(--out)}
.copy.on .sub{opacity:1;transform:none}
.copy .sub p{color:rgba(255,255,255,.82);font-size:clamp(16px,1.25vw,19px);max-width:46ch;flex:1 1 320px;min-width:0}
.copy .sub .cta{display:flex;flex-wrap:wrap;gap:12px}
.copy .eyebrow{opacity:0;transition:opacity .6s .1s}
.copy.on .eyebrow{opacity:1}

.tabs-bar{margin-top:clamp(44px,6vw,80px);border-top:1px solid var(--line-d);background:linear-gradient(0deg,rgba(4,17,42,.5),transparent);padding-bottom:env(safe-area-inset-bottom,0px)}
.tabs-bar .wrap{display:flex;align-items:stretch;gap:clamp(12px,2vw,28px)}
.tabs{flex:1;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,28px)}
.tab{position:relative;text-align:left;background:none;border:0;color:rgba(255,255,255,.62);cursor:pointer;padding:22px 0 26px;display:grid;gap:6px;font:inherit;min-width:0;transition:color .3s}
.tab:hover,.tab.on{color:var(--white)}
.tab .track{position:absolute;left:0;right:0;top:-1px;height:2px;background:transparent;overflow:hidden}
.tab .fill{position:absolute;inset:0;background:var(--teal);transform-origin:0 50%;transform:scaleX(0)}
.tab.on .fill{animation:fill var(--slide) linear forwards}
.tab.done .fill{transform:scaleX(1);opacity:.35}
.hero.paused .tab.on .fill{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.tab small{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--teal)}
.tab span{font-family:var(--f-display);font-weight:400;font-size:clamp(14px,1.15vw,17px);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-ctrl{display:flex;align-items:center;gap:8px;flex:none}
.hero-ctrl button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:var(--white);cursor:pointer;display:grid;place-items:center;transition:background .3s,border-color .3s}
.hero-ctrl button:hover{background:rgba(255,255,255,.12);border-color:var(--white)}
.hero-ctrl .pp .i-play{display:none}
.hero.paused .hero-ctrl .pp .i-play{display:block}
.hero.paused .hero-ctrl .pp .i-pause{display:none}
.counter{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;color:var(--mist);padding-inline:6px;font-variant-numeric:tabular-nums}
.counter b{color:var(--white);font-weight:500}
@media (max-width:760px){
  .tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .tab span{display:none}
  .tab{padding:18px 0 20px}
  .counter{display:none}
}
.scroll-cue{position:absolute;right:var(--gut-r);top:44%;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--mist);writing-mode:vertical-rl}
.scroll-cue i{width:1px;height:60px;background:var(--line-d);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--teal);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{to{top:110%}}
@media (max-width:900px){.scroll-cue{display:none}}

/* ---------- intro ---------- */
.intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,6vw,104px);align-items:center}
.intro-copy{display:grid;gap:26px;min-width:0}
.intro .h2 .w{display:inline-block;transition:opacity .25s}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-l);border-block:1px solid var(--line-l);margin-top:8px}
.pillars div{background:var(--white);padding:18px 16px 18px 0;display:grid;gap:4px}
.pillars div + div{padding-left:16px}
.pillars b{font-family:var(--f-display);font-weight:600;font-size:15px;color:var(--ink)}
.pillars small{color:var(--slate);font-size:14px;line-height:1.45}
.stack{position:relative;aspect-ratio:5/6;max-width:100%;min-width:0}
.stack .a{position:absolute;inset:0 18% 14% 0;border-radius:10px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(7,26,53,.55)}
.stack .b{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:4/5;border-radius:10px;overflow:hidden;border:8px solid var(--white);box-shadow:0 30px 60px -30px rgba(7,26,53,.6)}
.stack img{width:100%;height:118%;object-fit:cover;will-change:transform}
.stack .tagline{position:absolute;left:18px;top:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(7,26,53,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--white);font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.stack .tagline i{width:7px;height:7px;border-radius:50%;background:#3ddc97;box-shadow:0 0 10px #3ddc97}
@media (max-width:900px){.intro{grid-template-columns:minmax(0,1fr)}.stack{width:min(100%,520px)}}
@media (max-width:520px){.pillars{grid-template-columns:minmax(0,1fr)}.pillars div + div{padding-left:0}}

/* ---------- stats ---------- */
.stats-band{background:radial-gradient(60% 80% at 85% 10%,rgba(60,196,204,.16),transparent 60%),radial-gradient(50% 60% at 0% 100%,rgba(0,39,116,.7),transparent 60%),var(--navy)}
.stats-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(48px,7vw,96px)}
.stats-head p{font-family:var(--f-display);font-weight:300;font-size:clamp(24px,2.8vw,40px);line-height:1.2;max-width:28ch}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(40px,5vw,72px) clamp(20px,3vw,48px)}
.stat{display:grid;gap:16px;align-content:start;border-top:1px solid var(--line-d);padding-top:28px;min-width:0}
.stat b{font-family:var(--f-display);font-weight:300;font-size:clamp(52px,8.6vw,124px);line-height:.85;letter-spacing:-.06em;font-variant-numeric:tabular-nums;white-space:nowrap;
  background:linear-gradient(180deg,var(--white) 30%,#7fdbe0 120%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.stat b sup{font-size:.38em;font-weight:400;vertical-align:1.05em;margin-left:.06em;letter-spacing:0;-webkit-text-fill-color:var(--teal);color:var(--teal)}
.stat > span{font-weight:600;font-size:clamp(14px,1.25vw,18px);line-height:1.35;color:var(--mist);max-width:24ch}
.stat .tbc{font-family:var(--f-mono);font-size:10.5px;color:var(--warn);letter-spacing:.08em;text-transform:uppercase;font-style:normal}
@media (max-width:620px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat b{font-size:clamp(48px,16vw,96px)}}

/* ---------- solutions: accordion + photo ---------- */
.sol-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(40px,5vw,72px)}
.sol-head > div{display:grid;gap:18px;min-width:0;max-width:780px}
.sol{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
.acc{border-top:1px solid var(--line-l);min-width:0}
.acc-item{border-bottom:1px solid var(--line-l)}
.acc-btn{width:100%;display:flex;align-items:center;gap:18px;background:none;border:0;cursor:pointer;color:var(--ink);text-align:left;padding:22px 4px;font:500 15px var(--f-display);letter-spacing:.05em;text-transform:uppercase;min-height:66px}
.acc-btn .n{font-family:var(--f-mono);font-size:11px;color:var(--slate);letter-spacing:.1em;flex:none;width:24px}
.acc-btn .t{flex:1;min-width:0}
.acc-btn .pm{width:18px;height:18px;position:relative;flex:none}
.acc-btn .pm::before,.acc-btn .pm::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:var(--slate);transition:transform .4s var(--ease),background .3s}
.acc-btn .pm::after{transform:rotate(90deg)}
.acc-btn[aria-expanded=true]{font-size:clamp(19px,1.7vw,24px);letter-spacing:.01em;text-transform:none;font-weight:400}
.acc-btn[aria-expanded=true] .n{color:var(--teal-ink)}
.acc-btn[aria-expanded=true] .pm::after{transform:rotate(0)}
.acc-btn[aria-expanded=true] .pm::before,.acc-btn[aria-expanded=true] .pm::after{background:var(--ink)}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.acc-panel > div{overflow:hidden}
.acc-item.open .acc-panel{grid-template-rows:1fr}
.acc-panel p{color:var(--slate);padding:0 4px 8px 46px;max-width:52ch}
.acc-panel .more{padding:0 4px 18px 46px}
.acc-panel .mob{display:none;margin:4px 4px 18px 46px;border-radius:8px;overflow:hidden;aspect-ratio:16/10;max-width:100%}
.acc-panel .mob img{width:100%;height:100%;object-fit:cover}
.photo{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:7/6;max-width:100%;min-width:0;background:var(--navy);box-shadow:0 40px 80px -40px rgba(7,26,53,.55);position:sticky;top:120px}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 0 100%);transform:scale(1.08);transition:clip-path 1s var(--ease),transform 1.6s var(--out)}
.photo img.on{clip-path:inset(0);transform:none;z-index:1}
.photo img.was{clip-path:inset(0);transform:none}
.photo::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(4,17,42,.75),transparent 45%);pointer-events:none}
.photo .cap{position:absolute;left:22px;right:22px;bottom:20px;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;color:var(--white)}
.photo .cap b{font-family:var(--f-display);font-weight:300;font-size:clamp(20px,2vw,28px);line-height:1.15}
.photo .cap span{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--teal);white-space:nowrap}
@media (max-width:900px){.sol{grid-template-columns:minmax(0,1fr)}.photo{display:none}.acc-panel .mob{display:block}}

.strip{margin-top:clamp(56px,7vw,96px);border-block:1px solid var(--line-l);overflow:hidden;padding-block:24px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.strip .mq{display:flex;width:max-content;animation:mq 40s linear infinite}
.strip span{display:inline-flex;align-items:center;gap:14px;padding-right:56px;font-family:var(--f-display);font-weight:600;font-size:clamp(17px,1.6vw,22px);color:#8797ad;white-space:nowrap}
.strip span::before{content:"";width:9px;height:9px;background:var(--teal);border-radius:50%}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- feature banner ---------- */
.feature{min-height:clamp(520px,70vw,760px);display:flex;align-items:flex-end}
.feature .bg{position:absolute;inset:-12% 0;z-index:-2}
.feature .bg img{width:100%;height:100%;object-fit:cover;will-change:transform}
.feature::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,17,42,.92),rgba(4,17,42,.5) 50%,rgba(4,17,42,.15)),linear-gradient(0deg,rgba(4,17,42,.7),transparent 50%)}
.feature .wrap{width:100%;padding-block:clamp(72px,9vw,128px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end}
.feature .l{display:grid;gap:24px;min-width:0}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line-d);min-width:0}
.checks li{display:flex;gap:16px;align-items:baseline;padding-block:16px;border-bottom:1px solid var(--line-d);color:rgba(255,255,255,.88)}
.checks li span{font-family:var(--f-mono);font-size:11px;color:var(--teal);letter-spacing:.1em;flex:none}
@media (max-width:900px){.feature .wrap{grid-template-columns:minmax(0,1fr)}}

/* ---------- industries carousel ---------- */
.ind-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px}
.ind-head > div{display:grid;gap:18px;min-width:0;max-width:740px}
.arrows{display:flex;gap:10px;flex:none}
.arrows button{width:54px;height:54px;border-radius:50%;border:1px solid var(--line-l);background:var(--white);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:all .3s}
.arrows button:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
.car{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px;cursor:grab;padding-left:var(--gut-l);padding-right:var(--gut-r);scroll-padding-left:var(--gut-l)}
.car-outer{max-width:var(--max);margin:0 auto}
.car::-webkit-scrollbar{display:none}
.car.drag{scroll-snap-type:none;cursor:grabbing;user-select:none}
.icard{flex:0 0 min(80vw,400px);scroll-snap-align:start;display:grid;gap:16px;align-content:start;text-decoration:none;color:var(--ink)}
.icard .img{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/5;max-width:100%;background:var(--navy)}
.icard .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--out)}
.icard:hover .img img{transform:scale(1.07)}
.icard .img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,17,42,.85),transparent 55%)}
.icard .over{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:var(--white);display:grid;gap:6px}
.icard .over small{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.icard .over h3{font-weight:300;font-size:clamp(22px,2vw,28px);line-height:1.15}
.icard .go{position:absolute;right:16px;top:16px;z-index:2;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;color:var(--white);transition:background .35s,transform .5s var(--ease)}
.icard:hover .go{background:var(--teal);color:var(--navy);transform:rotate(-45deg)}
.icard p{color:var(--slate);font-size:15px;max-width:40ch}
.car-prog{max-width:var(--max);margin:36px auto 0;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.car-prog div{height:2px;background:var(--line-l);position:relative;overflow:hidden}
.car-prog i{position:absolute;inset:0 auto 0 0;width:30%;background:var(--navy);transition:left .2s,width .2s}

/* ---------- process ---------- */
.proc-head{display:grid;gap:18px;max-width:760px;margin-bottom:clamp(48px,6vw,88px)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;position:relative}
.rail{position:absolute;left:0;right:0;top:21px;height:1px;background:var(--line-d)}
.rail i{position:absolute;inset:0;background:var(--teal);transform-origin:0 50%;transform:scaleX(var(--p,1));box-shadow:0 0 12px var(--teal)}
.step{display:grid;gap:14px;align-content:start;position:relative;min-width:0}
.step .node{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);border:1px solid var(--teal);color:var(--teal);font-family:var(--f-mono);font-size:13px;position:relative;z-index:1;transition:background .5s,color .5s}
.step.on .node{background:var(--teal);color:var(--navy)}
.step h3{font-weight:400;font-size:clamp(20px,1.8vw,26px)}
.step p{color:var(--mist);font-size:15px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:999px;border:1px solid var(--line-d);color:var(--mist)}
@media (max-width:960px){
  .steps{grid-template-columns:minmax(0,1fr);gap:40px;padding-left:64px}
  .rail{left:21px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .rail i{transform-origin:50% 0;transform:scaleY(var(--p,1))}
  .step .node{position:absolute;left:-64px;top:-6px}
}

/* ---------- contact ---------- */
.contact-band{background:radial-gradient(60% 70% at 100% 0%,rgba(60,196,204,.12),transparent 60%),var(--navy)}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px)}
.contact-l{display:flex;flex-direction:column;gap:24px;min-width:0}
.cinfo{display:grid;margin-top:auto;border-top:1px solid var(--line-d)}
.cinfo div{display:flex;gap:16px;padding-block:14px;border-bottom:1px solid var(--line-d);min-width:0}
.cinfo .mono{width:84px;color:var(--teal);padding-top:3px;flex:none}
.cinfo a{text-decoration:none;color:var(--white)}
.cinfo a:hover{color:var(--teal)}
.cinfo a.dir{color:var(--teal);font-weight:700;display:inline-block;margin-top:6px}
.cinfo .lbl{font-size:12px;color:var(--mist);margin-left:6px}
.menu aside a{text-decoration:none;color:var(--white)}
.menu aside a:hover{color:var(--teal)}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.fld{position:relative;display:block}
.fld.full{grid-column:1/-1}
.fld input,.fld textarea{width:100%;font:400 16px var(--f-body);color:var(--white);background:rgba(255,255,255,.05);border:0;border-bottom:1px solid rgba(255,255,255,.28);border-radius:6px 6px 0 0;padding:26px 14px 10px;outline:none;transition:border-color .25s,background .25s;resize:vertical}
.fld textarea{min-height:130px}
.fld input:focus,.fld textarea:focus{border-color:var(--teal);background:rgba(255,255,255,.08)}
.fld span{position:absolute;left:15px;top:18px;color:var(--mist);font-size:15px;pointer-events:none;transition:all .2s}
.fld input:focus + span,.fld input:not(:placeholder-shown) + span,.fld textarea:focus + span,.fld textarea:not(:placeholder-shown) + span{top:7px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
fieldset{grid-column:1/-1;border:0;margin:0;padding:0}
legend{font-size:14px;color:var(--mist);padding:0;margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.24);font-size:14px;transition:all .25s}
.chips input:checked + span{background:var(--teal);color:var(--navy);border-color:var(--teal);font-weight:700}
.chips input:focus-visible + span{outline:2px solid var(--teal);outline-offset:3px}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.status{font-size:14px;color:var(--teal);min-width:0;flex:1 1 240px}
.status .sel{user-select:all;color:var(--white);font-weight:600}
.copy-enq{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--white);text-decoration:underline;cursor:pointer}
@media (max-width:900px){.contact{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){form{grid-template-columns:minmax(0,1fr)}}

/* ---------- footer ---------- */
footer{background:var(--deep);color:var(--white);padding-block:72px calc(32px + env(safe-area-inset-bottom,0px))}
.foot{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px}
.foot h4{font-weight:400;font-size:17px;color:var(--teal);margin-bottom:14px}
.foot a{display:block;text-decoration:none;padding:5px 0;font-size:15px;color:#d7e0ec}
.foot a:hover{color:var(--teal)}
.foot p{color:var(--mist);font-size:15px;max-width:34ch;margin-top:18px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--mist);font-size:13px;border-top:1px solid var(--line-d);padding-top:24px;margin-top:56px}
@media (max-width:900px){.foot{grid-template-columns:repeat(2,minmax(0,1fr))}.foot > :first-child{grid-column:1/-1}}
@media (max-width:520px){.foot{grid-template-columns:minmax(0,1fr)}.foot a{padding:9px 0}footer{padding-top:56px}.legal{margin-top:40px}}

/* ---------- responsive refinements ---------- */
@media (max-width:640px){
  .sec{padding-block:72px}
  .h2{font-size:clamp(28px,8vw,40px)}
  .stats-head{margin-bottom:40px}
  .pillars div{padding-right:0}
  .acc-btn{padding:18px 4px;min-height:60px;gap:12px}
  .acc-panel p,.acc-panel .more{padding-left:40px}
  .acc-panel .mob{margin-left:40px}
  .feature{min-height:0}
  .ind-head .arrows{display:none}
  .car{gap:16px}
  .icard{flex-basis:78vw}
  .cinfo div{flex-direction:column;gap:4px}
  .cinfo .mono{width:auto}
  .form-foot .btn{width:100%}
  .menu nav a{font-size:clamp(26px,8vw,40px)}
}
@media (min-width:641px) and (max-width:1080px){
  .sec{padding-block:96px}
  .icard{flex-basis:min(44vw,380px)}
  .stack{max-width:560px}
}
@media (hover:none){
  .icard:hover .img img{transform:none}
  .btn-teal:hover::before{transform:translateX(-101%)}
}

/* reveal: only elements below the fold at load get hidden, so the first frame is complete */
.rv{transition:opacity .9s var(--out),transform 1s var(--out)}
.rv.pre{opacity:0;transform:translateY(36px)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .copy .ln > span,.copy .sub{transform:none;opacity:1}
  .slide img{transform:none}
}

/* ---------- WordPress additions ---------- */
body{margin:0}
[hidden]{display:none!important}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.admin-bar .nav{top:32px}
.admin-bar .menu{top:32px}
@media (max-width:782px){.admin-bar .nav{top:46px}.admin-bar .menu{top:46px}}
@media (max-width:600px){.admin-bar .nav{top:0}}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.status.ok{color:var(--teal)}
.status.err{color:var(--warn)}
.status.err .sel{color:var(--white)}
/* ---------- blog cards (home + inner) ---------- */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.post-card{display:grid;gap:12px;align-content:start;text-decoration:none;color:var(--ink);min-width:0}
.post-card .img{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:16/10;max-width:100%;background:var(--navy)}
.post-card .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--out)}
.post-card:hover .img img{transform:scale(1.06)}
.post-card .tag{position:absolute;left:14px;top:14px;padding:6px 10px;border-radius:999px;background:rgba(7,26,53,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--white);font-size:10.5px}
.post-card .meta{font-size:11px;letter-spacing:.1em;color:var(--teal-ink)}
.post-card h3{font-family:var(--f-display);font-weight:400;font-size:clamp(19px,1.6vw,23px);line-height:1.25;color:var(--ink);margin:0}
.post-card p{color:var(--slate);font-size:15px;margin:0}
.post-card .more{color:var(--teal-ink);min-height:auto;font-size:15px}
.post-card:hover .more svg{transform:translateX(5px)}
@media (max-width:960px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.posts{grid-template-columns:minmax(0,1fr)}}
@media (hover:none){.post-card:hover .img img{transform:none}}
.ins-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(36px,5vw,56px)}
.ins-head > div{display:grid;gap:18px;min-width:0}
.foot .social{margin-top:20px}
.foot .social a{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border:1px solid var(--line-d);border-radius:999px;color:#d7e0ec;font-weight:600;transition:background .3s,border-color .3s,color .3s}
.foot .social a:hover{background:#0a66c2;border-color:#0a66c2;color:#fff}