/* MADA — site.css · v5 · built on the MADA Visual Language:
   the Stripe (1u·1u·1u, the vest's reflective bands) · the MADA corner (top-right + bottom-left, from the «م» counter)
   · the Void (echo-void frames) · Reach Lines / Façade / Bend patterns · Columns · one mint glow per composition. */
@font-face{font-family:Rubik;src:url(/assets/fonts/Rubik-var.woff) format("woff");font-weight:300 900;font-display:swap}
@font-face{font-family:Estedad;src:url(/assets/fonts/Estedad-var.woff) format("woff");font-weight:100 900;font-display:swap}
:root{
  --petrol:#063A48;--mint:#9BF0B9;--forest:#1F5A4C;--mist:#E1EEE7;--blue:#3F598C;--navy:#0B1F3A;--ink:#0B1215;--charcoal:#2A3346;--stone:#C7D3CC;--paper:#F4F8F5;--white:#fff;
  --deep-petrol:#032731;--deep-navy:#061427;--line-petrol:#1B6577;--line-navy:#2B4569;
  --bg:var(--petrol);--fg:#fff;--fg2:rgba(255,255,255,.68);--line:rgba(225,238,231,.16);--accent:var(--mint);
  --u:clamp(3px,.36vw,6px);--r:clamp(14px,1.4vw,22px);--rl:clamp(28px,4vw,72px);
  --ease:cubic-bezier(.22,1,.36,1);--pad:clamp(20px,4.4vw,72px);--maxw:1600px;
  --f-xs:12px;--f-s:15px;--f-m:clamp(16px,1.15vw,19px);--f-l:clamp(19px,1.6vw,26px);
  --h1:clamp(50px,8.4vw,156px);--h2:clamp(38px,5.4vw,92px);--h3:clamp(21px,1.8vw,30px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{font-family:Rubik,Estedad,system-ui,sans-serif;background:var(--petrol);color:var(--fg);font-size:var(--f-m);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-loading{overflow:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
figure{margin:0}
.ar{font-family:Estedad,Rubik,sans-serif;direction:rtl;letter-spacing:0!important;unicode-bidi:isolate;font-weight:600}
.num{font-variant-numeric:tabular-nums}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);position:relative;z-index:2}
.lbl{font-size:var(--f-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.lbl .ar{text-transform:none;margin-inline-start:.6em;opacity:.75;font-size:13px}
/* ---------- the MADA corner */
.mc{border-radius:0 var(--r) 0 var(--r)}.mc-lg{border-radius:0 var(--rl) 0 var(--rl)}
.mc-rtl{border-radius:var(--r) 0 var(--r) 0}
/* ---------- themes */
[data-theme]{background:var(--bg);color:var(--fg)}
[data-theme=petrol]{--bg:var(--petrol);--fg:#fff;--fg2:rgba(255,255,255,.7);--line:rgba(225,238,231,.16);--accent:var(--mint);--deep:var(--deep-petrol);--tone:#0A4A5B}
[data-theme=navy]{--bg:var(--navy);--fg:#fff;--fg2:rgba(255,255,255,.68);--line:rgba(225,238,231,.14);--accent:var(--mint);--deep:var(--deep-navy);--tone:#152C4B}
[data-theme=ink]{--bg:var(--ink);--fg:#fff;--fg2:rgba(255,255,255,.7);--line:rgba(225,238,231,.14);--accent:var(--mint);--deep:#05090B;--tone:#162026}
[data-theme=light]{--bg:#fff;--fg:var(--ink);--fg2:rgba(11,18,21,.64);--line:rgba(6,58,72,.14);--accent:var(--forest);--deep:var(--mist);--tone:var(--mist)}
[data-theme=paper]{--bg:var(--paper);--fg:var(--ink);--fg2:rgba(11,18,21,.64);--line:rgba(6,58,72,.14);--accent:var(--forest);--deep:var(--mist);--tone:var(--mist)}
[data-theme=mist]{--bg:var(--mist);--fg:var(--petrol);--fg2:rgba(6,58,72,.72);--line:rgba(6,58,72,.16);--accent:var(--petrol);--deep:#CFE2D8;--tone:#C2D9CD}
section{position:relative}
.glow{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 78% 22%,rgba(155,240,185,.30) 0,rgba(155,240,185,.10) 22%,rgba(155,240,185,0) 62%),linear-gradient(160deg,transparent 0,rgba(0,0,0,.28) 100%)}
.glow.g2{background:radial-gradient(circle at 72% 30%,rgba(155,240,185,.22) 0,rgba(155,240,185,.07) 24%,rgba(155,240,185,0) 60%),linear-gradient(160deg,transparent,rgba(0,0,0,.3))}
.glow.g3{background:radial-gradient(circle at 80% 55%,rgba(155,240,185,.24) 0,rgba(155,240,185,0) 55%)}
/* ---------- eyebrow: square marker + label */
.eyebrow{display:inline-flex;align-items:center;gap:.8em;font-size:var(--f-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.eyebrow::before{content:"";width:9px;height:9px;background:var(--accent);flex:none}
.eyebrow .ar{font-size:14px;text-transform:none;opacity:.85;font-weight:700}
.eyebrow .dot{display:none}
.h2{font-size:var(--h2);line-height:.96;letter-spacing:-.045em;font-weight:700}
.sec-head{display:grid;gap:22px;margin-bottom:clamp(40px,6vw,96px)}.sec-p{max-width:640px;color:var(--fg2);font-size:var(--f-l);line-height:1.45;font-weight:300}
.sec-ar{font-size:clamp(20px,1.9vw,30px);color:var(--accent);font-weight:700;text-align:left}
/* ---------- the Stripe */
.st{display:flex;align-items:center;gap:18px;color:var(--accent)}
.st-l{font-size:var(--f-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.st-a{font-size:15px;font-weight:700;white-space:nowrap}
.st-b{position:relative;flex:1;display:block;height:calc(var(--u)*3);min-width:40px}
.st-b i{position:absolute;left:0;right:0;height:var(--u);background:currentColor;transform-origin:left center}
.st-b i:first-child{top:0}.st-b i:last-child{bottom:0}
.st-c{flex:none;width:clamp(64px,7vw,124px);margin:0 auto;color:var(--accent)}
.edge{position:absolute;left:0;right:0;bottom:clamp(18px,2.6vw,40px);z-index:3;color:var(--mint);--u:clamp(4px,.5vw,9px)}
.edge .st-b{width:100%}
.sbar{--f:0;position:relative;display:block;height:calc(var(--u)*3);width:100%}
.sbar::before,.sbar::after{content:"";position:absolute;left:0;right:0;height:var(--u);background:var(--line)}
.sbar::before{top:0}.sbar::after{bottom:0}
.sbar i{position:absolute;left:0;height:var(--u);width:calc(var(--f)*100%);background:var(--accent);z-index:1;transition:width .4s var(--ease)}
.sbar i:first-child{top:0}.sbar i:last-child{bottom:0}
/* ---------- buttons: MADA corner */
.btn{--b:var(--mint);--t:var(--petrol);display:inline-flex;align-items:center;gap:14px;height:58px;padding:0 28px;border-radius:0 16px 0 16px;background:var(--b);color:var(--t);font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}
.btn:hover::before{transform:none}.btn b{font-weight:400;font-size:18px;transition:transform .5s var(--ease)}.btn:hover b{transform:translateX(5px)}
[data-theme=light] .btn,[data-theme=paper] .btn,[data-theme=mist] .btn{--b:var(--petrol);--t:#fff}[data-theme=light] .btn::before,[data-theme=paper] .btn::before,[data-theme=mist] .btn::before{background:var(--forest)}
.btn-ghost{--b:transparent;--t:var(--fg);box-shadow:inset 0 0 0 2px currentColor}
.btn-ghost::before{background:var(--mint)}.btn-ghost:hover{color:var(--petrol)}
[data-theme=light] .btn-ghost,[data-theme=paper] .btn-ghost,[data-theme=mist] .btn-ghost{--b:transparent;--t:var(--petrol)}
.btn-sm{height:44px;padding:0 20px;font-size:11.5px;border-radius:0 12px 0 12px}
.btn-mint{--b:var(--mint);--t:var(--petrol)}
/* badges (icons) */
.bdg{display:inline-flex;align-items:center;justify-content:center;flex:none;width:64px;height:64px;border-radius:0 18px 0 18px;background:rgba(155,240,185,.12);color:#fff;transition:background .4s,transform .6s var(--ease)}
[data-theme=light] .bdg,[data-theme=paper] .bdg,[data-theme=mist] .bdg{background:var(--petrol);color:#fff}
/* ---------- grain + cursor */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,-4%)}80%{transform:translate(4%,2%)}100%{transform:translate(0)}}
.cursor{position:fixed;left:0;top:0;z-index:95;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;background:var(--mint);mix-blend-mode:difference;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),border-radius .4s;display:flex;align-items:center;justify-content:center}
.cursor i{font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol);opacity:0;transition:opacity .3s;font-weight:700}
.cursor.big{width:92px;height:92px;margin:-46px 0 0 -46px;mix-blend-mode:normal;border-radius:0 24px 0 24px}.cursor.big i{opacity:1}
.cursor.hide{width:0;height:0;margin:0}
@media (hover:none){.cursor{display:none}}
/* ---------- nav */
.nav{position:fixed;z-index:80;top:0;left:0;right:0;display:flex;align-items:center;gap:32px;padding:22px var(--pad);transition:transform .6s var(--ease),background .4s,padding .4s;color:#fff}
.nav.scrolled{background:rgba(6,58,72,.84);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:14px;padding-bottom:14px}
.nav.up{transform:translateY(-110%)}
.nav.on-light{color:var(--petrol)}.nav.on-light.scrolled{background:rgba(255,255,255,.88)}
.brand{display:block;width:96px}.nav-logo{width:100%;height:auto}.nav-logo .lg-m{fill:var(--mint)}.nav-logo .lg-t{fill:#fff}.nav.on-light .nav-logo .lg-m,.nav.on-light .nav-logo .lg-t{fill:var(--petrol)}
.links{display:flex;gap:4px;margin-left:auto}.nl{position:relative;padding:10px 16px;font-size:14px;font-weight:500;letter-spacing:.02em;overflow:hidden}
.nl span{display:inline-block;transition:transform .5s var(--ease)}
.nl::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:6px;background:linear-gradient(currentColor 0 2px,transparent 2px 4px,currentColor 4px);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nl:hover::after,.nl.on::after{transform:scaleX(1);transform-origin:left}
.nav .btn-sm{--b:var(--mint);--t:var(--petrol)}
.burger{display:none;width:44px;height:44px;margin-left:auto;position:relative}.burger i{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .5s var(--ease)}
.burger i:first-child{top:18px}.burger i:last-child{top:24px}
.menu-open .burger i:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .burger i:last-child{transform:translateY(-3px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:70;background:var(--navy);clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease);display:flex;align-items:flex-end;padding:var(--pad);--line:rgba(225,238,231,.14)}
.menu-open .menu{clip-path:inset(0)}.menu-in{width:100%}.ml{display:flex;align-items:baseline;gap:18px;font-size:clamp(44px,12vw,88px);font-weight:700;line-height:1.05;letter-spacing:-.04em;color:#fff;border-bottom:1px solid var(--line);padding:6px 0}
.ml small{font-size:13px;color:var(--mint);letter-spacing:.1em}.menu-foot{display:flex;flex-direction:column;gap:6px;margin-top:30px;color:var(--mint)}
/* ---------- page wipe */
.wipe{position:fixed;inset:0;z-index:99;pointer-events:none;background:var(--navy);transform:translateY(100%);display:flex;align-items:center;justify-content:center}
.wipe-in{display:flex;flex-direction:column;align-items:center;gap:26px;color:var(--mint)}.wipe-logo{width:min(220px,40vw)}.wipe-logo .lg-m{fill:var(--mint)}.wipe-logo .lg-t{fill:var(--mint)}
.wipe-st{position:relative;width:120px;height:15px;display:block}.wipe-st i{position:absolute;left:0;right:0;height:5px;background:var(--mint)}.wipe-st i:first-child{top:0}.wipe-st i:last-child{bottom:0}
/* ---------- loader */
.loader{position:fixed;inset:0;z-index:100;background:var(--petrol);display:flex;align-items:center;justify-content:center}
.loader-in{width:min(380px,66vw);text-align:center}.loader-logo{width:100%;height:auto;overflow:visible}.loader-logo .lg-m{fill:var(--mint);clip-path:inset(0 100% 0 0)}
.loader-st{position:relative;display:block;height:18px;margin-top:38px}.loader-st i{position:absolute;left:0;height:6px;width:0;background:var(--mint)}.loader-st i:first-child{top:0}.loader-st i:last-child{bottom:0}
.loader-st::before,.loader-st::after{content:"";position:absolute;left:0;right:0;height:6px;background:rgba(225,238,231,.12)}.loader-st::before{top:0}.loader-st::after{bottom:0}
.loader-n{margin-top:16px;font-size:12px;letter-spacing:.2em;color:var(--mist);font-variant-numeric:tabular-nums}
/* ---------- split text */
.line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}.line>div,.line>span{display:inline-block}
/* ---------- echo-void frame */
.vf{position:relative;width:100%}
.vf-rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.ring{transform-box:view-box;transform-origin:50% 50%}
.vf-photo{position:absolute;overflow:hidden;background:var(--deep)}
.vf-photo img{width:100%;height:100%;object-fit:cover}
/* callouts: square marker + leader + label */
.co{position:absolute;height:0;z-index:3;color:var(--mint);pointer-events:none}
.co-a,.co-b{position:absolute;top:-5px;width:10px;height:10px;background:currentColor}
.co.r .co-a{left:-5px}.co.r .co-b{right:-5px}.co.l .co-a{right:-5px}.co.l .co-b{left:-5px}
.co::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:currentColor;transform-origin:var(--o,left)}
.co.l::before{--o:right}
.co-l{position:absolute;top:0;transform:translateY(-50%);white-space:nowrap;background:var(--mint);color:var(--petrol);font-size:13px;font-weight:700;letter-spacing:.02em;padding:7px 12px;border-radius:0 10px 0 10px}
.co-l b{font-weight:800}
.co.r .co-l{left:calc(100% + 10px)}.co.l .co-l{right:calc(100% + 10px)}
/* ---------- hero */
.hero{min-height:100svh;overflow:hidden;padding-top:clamp(110px,14vh,160px);display:flex;flex-direction:column}
.hero-grid{flex:1;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(20px,4vw,60px);align-items:center}
.hero-copy{position:relative;z-index:3}
.hero-h{font-size:var(--h1);line-height:.9;letter-spacing:-.055em;font-weight:700;margin:26px 0 18px}
.hero-ar{font-size:clamp(26px,3vw,50px);color:var(--mint);font-weight:800;text-align:left;display:block}
.hero-p{max-width:540px;color:var(--fg2);margin-top:22px;font-size:var(--f-l);line-height:1.45;font-weight:300}
.hero-btns{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.hero-visual{position:relative;z-index:2;align-self:stretch;display:flex;align-items:center}
.hero-vf{width:min(100%,calc((100svh - 200px) * .9),640px);margin-left:auto}
.hero-foot{position:relative;z-index:3;display:flex;align-items:center;gap:40px;padding-bottom:clamp(54px,6vw,90px)}
.scroll-cue{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg2)}
.scroll-cue i{width:2px;height:46px;background:linear-gradient(var(--mint),transparent);animation:cue 2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* ---------- intro */
.intro{padding:clamp(100px,13vw,200px) 0 clamp(80px,10vw,160px)}
.intro-t{font-size:clamp(28px,3.5vw,60px);line-height:1.12;letter-spacing:-.03em;font-weight:500;max-width:1300px;margin-top:40px}
.intro-t .w{opacity:.14;transition:opacity .2s}
.intro-imgs{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:clamp(60px,8vw,120px);align-items:start}
.ii{overflow:hidden;border-radius:0 var(--rl) 0 var(--rl)}.ii img{width:100%;height:120%;object-fit:cover}
.ii-1{grid-column:1/5;aspect-ratio:3/4}.ii-2{grid-column:6/10;aspect-ratio:4/5;margin-top:120px}.ii-3{grid-column:10/13;aspect-ratio:2.6/6.3;margin-top:-40px}
/* ---------- numbers (Columns) */
.numbers{padding:clamp(100px,12vw,190px) 0;overflow:hidden}
.num-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,120px);align-items:end}
.big-n{font-size:clamp(120px,15vw,260px);line-height:.82;letter-spacing:-.065em;font-weight:700;margin-top:30px;font-variant-numeric:tabular-nums}
.num-t{font-size:clamp(22px,2vw,32px);font-weight:600;line-height:1.2;margin-top:22px;max-width:440px}
.num-ar{font-size:clamp(18px,1.6vw,24px);color:var(--mint);margin-top:12px;text-align:left}
.num-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:50px;border-top:1px solid var(--line);padding-top:26px}
.num-row b{display:block;font-size:clamp(40px,4vw,68px);font-weight:700;letter-spacing:-.05em;line-height:1}.num-row b small{font-size:.3em;letter-spacing:.06em;margin:0 .35em;vertical-align:.3em;font-weight:700;color:var(--mint)}
.num-row .lbl{display:block;color:var(--fg2);margin-top:10px}.num-row .lbl .ar{display:block;margin:6px 0 0;text-align:left}
.cols{position:relative;width:100%;margin-bottom:96px;margin-top:60px}.cols svg{position:absolute;inset:0;width:100%;height:100%}
.col{transform-box:fill-box;transform-origin:50% 100%}
.cv{position:absolute;transform:translateY(calc(-100% - 10px));text-align:center}.cv b{font-size:clamp(18px,2vw,32px);font-weight:700}.cv.hot b{color:var(--mint)}
.cl{position:absolute;top:calc(100% + 14px);font-size:11.5px;line-height:1.25;color:var(--fg2)}.cl .ar{display:block;font-size:12px;margin-top:3px;text-align:left}
.cap{color:var(--fg2);margin-top:20px}
/* ---------- services */
.services{padding:clamp(100px,12vw,200px) 0}
.svc-list{position:relative;border-top:1px solid var(--line)}
.svc{display:grid;grid-template-columns:80px 1.3fr 64px 1fr;gap:30px;align-items:center;padding:40px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .6s var(--ease)}
.svc::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(155,240,185,.09),transparent);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.svc:hover::before{transform:none}.svc:hover{padding-left:24px}.svc:hover .bdg{background:var(--mint);color:var(--petrol);transform:rotate(-6deg)}
.svc-n{font-size:15px;font-weight:700;color:var(--mint);letter-spacing:.1em}.svc-t{font-size:clamp(26px,3vw,52px);letter-spacing:-.035em;line-height:1;font-weight:700}
.svc-t small{display:block;font-size:.42em;color:var(--mint);margin-top:12px;font-weight:700;text-align:left}
.svc-l{color:var(--fg2);font-size:var(--f-s);line-height:1.6;max-width:460px}
.svc-float{position:absolute;top:0;left:0;width:280px;aspect-ratio:2.6/4.6;overflow:hidden;pointer-events:none;opacity:0;z-index:3;transform:translate(-50%,-50%) scale(.6);border-radius:0 40px 0 40px}
.svc-float img{width:100%;height:100%;object-fit:cover}
/* ---------- horizontal projects */
.hproj{overflow:hidden}.hproj-pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:110px 0 50px}
.hproj-head{display:grid;grid-template-columns:auto 1fr auto;gap:20px 60px;align-items:end;margin-bottom:50px}.hproj-head .eyebrow{grid-column:1/-1}
.hproj-track{display:flex;gap:28px;padding:0 var(--pad);will-change:transform;width:max-content}
.hp-card{flex:0 0 auto;width:clamp(300px,30vw,520px);display:flex;flex-direction:column;gap:20px}
.hp-img{aspect-ratio:4/3;overflow:hidden;background:var(--deep);border-radius:0 var(--rl) 0 var(--rl)}
.hp-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.2s var(--ease)}.hp-card:hover .hp-img img{transform:scale(1)}
.hp-meta h3{font-size:var(--h3);letter-spacing:-.025em;line-height:1.1;font-weight:700;margin-top:8px}.hp-meta .ar{color:var(--mint);font-size:16px;margin-top:6px;text-align:left;font-weight:700}
.hp-meta .lbl{color:var(--mint)}.hp-row{display:flex;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--fg2)}
.hp-end{justify-content:center;align-items:flex-start;border:2px solid var(--line);padding:40px;font-size:clamp(28px,2.6vw,44px);font-weight:700;line-height:1.05;letter-spacing:-.035em;width:clamp(260px,22vw,380px);border-radius:0 var(--rl) 0 var(--rl)}
.hp-end b{font-weight:300;font-size:60px;color:var(--mint)}
.hproj-prog{margin-top:44px}
/* ---------- blank (slogan) pages: centred, English bold, Arabic small below */
.blank{min-height:clamp(520px,82vh,900px);display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}
.blank-in{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:60px;padding-bottom:60px}
.blank-en{font-size:clamp(42px,6.6vw,124px);line-height:1;letter-spacing:-.05em;font-weight:700;max-width:1300px;margin-top:clamp(28px,3vw,48px)}
.blank-ar{font-size:clamp(17px,2.1vw,36px);color:var(--accent);margin-top:clamp(16px,1.8vw,30px);font-weight:600}
.blank-bg{position:absolute;inset:0;z-index:0}.blank-bg svg{width:100%;height:100%;display:block}
.blank-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 42% at 50% 50%,var(--bg) 30%,transparent 100%);opacity:.85}
.blank-facade .blank-bg::after{background:radial-gradient(ellipse 55% 50% at 50% 50%,var(--bg) 25%,transparent 100%);opacity:1}
.blank .blank-bg .pat{opacity:.95}
.lit{transform-box:fill-box;transform-origin:50% 100%}
.blank-photo{min-height:110vh}
.bp-img{position:absolute;inset:0;z-index:0}.bp-img img{width:100%;height:100%;object-fit:cover}
.blank-photo::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(5,9,11,.78),rgba(5,9,11,.35))}
.nf-n{font-size:clamp(90px,12vw,200px);font-weight:700;letter-spacing:-.06em;line-height:.85;color:var(--mint);margin-top:30px}
/* ---------- lifecycle */
.life-pin{min-height:100vh;display:flex;align-items:center;padding:120px 0 80px}
.life-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,8vw,140px)}
.life-l p{color:var(--fg2);font-size:var(--f-l);font-weight:300;margin-top:24px;max-width:460px}
.life-meter{margin-top:60px;display:flex;flex-direction:column;gap:14px;color:var(--petrol);max-width:460px}.life-meter b{font-size:44px;font-weight:700;letter-spacing:-.04em}
.life-meter .sbar{--accent:var(--petrol)}
.life-r{list-style:none;position:relative}
.stg{display:grid;grid-template-columns:70px 1fr;gap:4px 20px;padding:22px 0;border-top:1px solid var(--line);opacity:.28;transition:opacity .5s}
.stg.on{opacity:1}.stg.done{opacity:.55}.stg-n{grid-row:1/3;font-size:14px;font-weight:700;color:var(--forest);padding-top:8px}
.stg h4{font-size:clamp(22px,2vw,34px);font-weight:700;letter-spacing:-.025em}.stg p{color:var(--fg2);font-size:var(--f-s);max-width:520px;max-height:0;overflow:hidden;transition:max-height .6s var(--ease)}.stg.on p{max-height:120px}
/* ---------- why */
.whys{padding:clamp(100px,12vw,200px) 0}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.why{padding:44px 36px 48px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.why:not(:nth-child(3n+1)){padding-left:36px;border-left:1px solid var(--line)}
.why .bdg{margin-bottom:14px}.why:hover .bdg{background:var(--mint);color:var(--petrol);transform:rotate(-6deg)}
.why .lbl{color:var(--forest)}.why h4{font-size:var(--h3);font-weight:700;letter-spacing:-.025em;line-height:1.1}.why p{color:var(--fg2);font-size:var(--f-s)}
/* ---------- marquee over Reach Lines */
.marq{padding:clamp(90px,10vw,160px) 0;overflow:hidden}
.marq-bg{position:absolute;inset:0;z-index:0;opacity:.9}.marq-bg svg{width:100%;height:100%;display:block}
.marq-row{white-space:nowrap;overflow:hidden;position:relative;z-index:2}.marq-in{display:inline-flex;will-change:transform}.marq-in span{font-size:clamp(44px,7vw,128px);letter-spacing:-.05em;line-height:1.12;padding-right:.4em;font-weight:700}
.marq-2 .marq-in span{color:transparent;-webkit-text-stroke:1.5px rgba(155,240,185,.7);font-weight:800}
.marq-2 .marq-in{direction:ltr}
.clients{padding:clamp(80px,10vw,150px) 0;overflow:hidden}.cl-row{margin-top:40px;white-space:nowrap;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cl-in{display:inline-flex;align-items:center;will-change:transform;padding:28px 0}.cl-in span{font-size:clamp(18px,1.6vw,26px);font-weight:500;color:var(--petrol);padding:0 28px;letter-spacing:-.01em}.cl-in .sq{width:8px;height:8px;background:var(--forest);flex:none}
/* ---------- footer */
.foot{padding-top:clamp(110px,12vw,190px);overflow:hidden;position:relative}
.foot>.edge{top:0;bottom:auto}
.foot-bend{position:absolute;right:-8vw;top:0;width:min(78vw,1200px);aspect-ratio:16/9;z-index:0;opacity:.35;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 65% 40%,#000 40%,transparent 80%);mask-image:radial-gradient(ellipse 60% 70% at 65% 40%,#000 40%,transparent 80%)}.foot-bend svg{width:100%;height:100%}
.foot-big{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:clamp(40px,6.4vw,120px);line-height:.95;letter-spacing:-.05em;font-weight:700;margin-top:30px;padding-bottom:60px;border-bottom:1px solid var(--line)}
.foot-big .arrow{flex:0 0 auto;width:clamp(80px,9vw,150px);height:clamp(80px,9vw,150px);border-radius:0 clamp(22px,2.4vw,40px) 0 clamp(22px,2.4vw,40px);background:var(--mint);color:var(--petrol);display:flex;align-items:center;justify-content:center;font-size:.5em;transition:transform .7s var(--ease)}
.foot-big:hover .arrow{transform:rotate(-45deg) scale(1.06)}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-top:60px;padding-bottom:40px}.foot-grid .lbl{color:var(--mint);margin-bottom:14px}.foot-grid p{color:var(--fg2);font-size:var(--f-s);line-height:1.7}.foot-grid a:hover{color:#fff}
.foot-grid .ar{text-align:left}
.foot-logo{margin-top:30px}.fl{width:100%;height:auto;display:block}.fl-v{transform-box:fill-box;transform-origin:50% 100%}
.foot-base{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding-top:40px;padding-bottom:30px;font-size:13px;color:var(--fg2)}
/* ---------- page hero */
.phero{padding:clamp(160px,22vh,240px) 0 clamp(80px,10vw,140px);overflow:hidden}
.ph-pat{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.95}
.phero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 18%,transparent 75%)}
.ph-in{position:relative;z-index:2}
.ph-h{font-size:clamp(46px,7.4vw,136px);line-height:.92;letter-spacing:-.055em;font-weight:700;margin-top:24px;max-width:1500px}
.ph-p{max-width:640px;color:var(--fg2);font-size:var(--f-l);font-weight:300;margin-top:30px}
.ph-ar{font-size:clamp(22px,2.4vw,40px);color:var(--mint);margin-top:18px;text-align:left;font-weight:800}
.ph-ar2{font-size:17px;color:var(--fg2);margin-top:12px;text-align:left;max-width:640px}
.ph-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px 60px;margin-top:60px;max-width:1200px;color:var(--fg2)}
.ph-cols .ph-ar{grid-column:1/-1;font-size:clamp(20px,2vw,30px)}
.ph-img{margin:clamp(60px,7vw,110px) var(--pad) 0;height:78vh;overflow:hidden;position:relative;z-index:2}
.ph-company{padding-bottom:0}.ph-company .ph-pat{bottom:auto;height:min(100vh,1000px)}.ph-company .ph-cols{max-width:min(980px,52%)}
.ph-company::after{background:linear-gradient(90deg,var(--bg) 40%,rgba(11,31,58,.25) 80%)}
.ph-img img{width:100%;height:100%;object-fit:cover}
.ph-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(30px,5vw,90px);margin-top:56px}
.ph-stats b{display:block;font-size:clamp(44px,5vw,84px);font-weight:700;letter-spacing:-.05em;line-height:1}.ph-stats b small{font-size:.3em;letter-spacing:.06em;margin:0 .35em;vertical-align:.3em;color:var(--mint)}
.ph-stats .lbl{display:block;color:var(--fg2);margin-top:10px}
.u{border-bottom:2px solid var(--mint);color:var(--mint)}
/* ---------- company */
.contract,.vm,.prin,.quality,.hse,.org,.ceo{padding:clamp(90px,11vw,180px) 0}
.ct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px);margin-top:50px}
.ct{display:flex;flex-direction:column;gap:12px;color:var(--petrol);background:var(--paper);padding:clamp(26px,3vw,44px);border-radius:0 var(--rl) 0 var(--rl)}
.ct-n{font-size:14px;font-weight:700;color:var(--forest)}.ct h3{font-size:var(--h3);font-weight:700;letter-spacing:-.025em;color:var(--ink)}.ct .ar{color:var(--forest);text-align:left;font-weight:700}.ct p{color:var(--fg2);font-size:var(--f-s)}
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px)}.vm-t{font-size:clamp(26px,2.8vw,46px);line-height:1.12;letter-spacing:-.03em;margin-top:30px;font-weight:500}.vm-t .w{opacity:.15}
.vm-ar{font-size:clamp(17px,1.4vw,21px);line-height:1.8;color:var(--forest);margin-top:20px;text-align:right}
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}.val{padding:36px 30px 40px 0;border-bottom:1px solid var(--line)}.val .lbl{color:var(--forest)}.val h4{font-size:var(--h3);font-weight:700;margin:10px 0;letter-spacing:-.02em}.val h4 .ar{font-size:.7em;color:var(--forest);margin-inline-start:.4em}.val p{color:var(--fg2);font-size:var(--f-s);max-width:380px}
.prin{overflow:hidden}.prin-bg{position:absolute;inset:0;z-index:0;opacity:.8}.prin-bg svg{width:100%;height:100%}
.prin-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,120px)}.pr-list{list-style:none;border-top:1px solid var(--line)}.pr-list li{display:grid;grid-template-columns:80px 1fr;padding:34px 0;border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--bg),rgba(11,31,58,.6))}.pr-n{font-size:40px;font-weight:700;color:var(--mint);line-height:1;letter-spacing:-.04em}.pr-list h4{font-size:var(--h3);font-weight:700;letter-spacing:-.025em}.pr-ar{color:var(--mint);font-size:17px;margin-top:6px;text-align:left}.pr-list p:not(.ar){color:var(--fg2);margin-top:8px;font-size:var(--f-s)}
.loop{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.lp{position:relative;padding:22px 16px 28px 0;color:var(--petrol);--accent:var(--forest)}
.lp-st{position:relative;display:block;height:calc(var(--u)*3)}.lp-st i{position:absolute;left:0;right:0;height:var(--u);background:var(--forest);transform-origin:left}.lp-st i:first-child{top:0}.lp-st i:last-child{bottom:0}
.lp:last-child .lp-st i{background:var(--mint)}
.lp-n{display:block;font-size:13px;font-weight:700;color:var(--forest);margin-top:18px}.lp-t{font-size:clamp(20px,2vw,32px);font-weight:700;letter-spacing:-.025em}
.hse{overflow:hidden}.hse-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,90px);align-items:center}
.hse-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.hs{padding:28px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:0 var(--r) 0 var(--r)}.hs .lbl{color:var(--mint)}.hs h4{font-size:clamp(19px,1.5vw,24px);font-weight:700;margin:10px 0 6px}.hs p{color:var(--fg2);font-size:var(--f-s)}
.hse-r{position:sticky;top:120px}
.org-chart{text-align:center}.oc-top{display:inline-block;background:var(--petrol);color:#fff;padding:18px 34px;font-weight:700}.oc-line{width:2px;height:40px;background:var(--petrol);margin:0 auto}
.oc-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:10px;border-top:2px solid var(--petrol);padding-top:20px}.oc{background:var(--mist);color:var(--petrol);padding:18px 10px;font-size:13.5px;font-weight:600;line-height:1.3;display:flex;align-items:center;justify-content:center;min-height:86px}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;border-top:1px solid var(--line)}.tm{padding:28px 24px 30px 0;border-bottom:1px solid var(--line)}.tm h4{font-size:19px;font-weight:700}.tm p{color:var(--fg2);font-size:14px;margin-top:6px}
.ceo-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:clamp(40px,6vw,100px);align-items:center}.ceo-q{font-size:clamp(26px,3vw,50px);line-height:1.12;letter-spacing:-.03em;margin-top:30px;font-weight:500}.ceo-q .w{opacity:.15}
.sig{margin-top:40px;display:flex;flex-direction:column;gap:6px}.sig b{font-size:22px;font-weight:700}.sig .ar{text-align:left;color:var(--forest)}
.ceo-img{aspect-ratio:2.6/4.2;overflow:hidden;border-radius:0 var(--rl) 0 var(--rl)}.ceo-img img{width:100%;height:115%;object-fit:cover}
/* ---------- services page */
.sv-index{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:70px}
.sv-index a{background:rgba(255,255,255,.05);border:1px solid var(--line);padding:22px;font-size:var(--f-l);font-weight:700;line-height:1.15;letter-spacing:-.02em;transition:background .3s,color .3s;backdrop-filter:blur(6px)}
.sv-index a span{display:block;font-size:13px;color:var(--mint);margin-bottom:10px}.sv-index a small{display:block;font-size:14px;color:var(--mint);margin-top:10px;text-align:left}.sv-index a:hover{background:var(--mint);color:var(--petrol)}.sv-index a:hover span,.sv-index a:hover small{color:var(--petrol)}
.sv{padding:clamp(90px,11vw,170px) 0;overflow:hidden}.sv-head{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:start;margin-bottom:70px}.sv-n{font-size:clamp(60px,8vw,140px);line-height:.8;font-weight:700;color:var(--accent);letter-spacing:-.06em}.sv-ar{font-size:clamp(20px,2vw,32px);color:var(--accent);margin-top:14px;text-align:left;font-weight:800}
.sv-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:clamp(40px,6vw,110px)}.sv-lead p{font-size:var(--f-l);line-height:1.45;font-weight:300}
.sv-vf{margin-top:clamp(100px,10vw,150px);max-width:520px}
.sv-body .lbl{color:var(--accent)}.sv-scope{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:16px}.sv-scope li{padding:14px 0 14px 20px;border-bottom:1px solid var(--line);font-size:var(--f-s);position:relative}
.sv-scope li::before{content:"";position:absolute;left:0;top:22px;width:8px;height:8px;background:var(--accent)}
.sv-app{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.sv-app>div{padding:22px;background:var(--deep);border-radius:0 var(--r) 0 var(--r)}.sv-app span{font-size:13px;font-weight:700;color:var(--accent)}.sv-app h4{font-size:19px;font-weight:700;margin:6px 0;letter-spacing:-.01em}.sv-app p{color:var(--fg2);font-size:14px}
.sv-two{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:50px}.ticks{list-style:none;margin-top:14px}.ticks li{position:relative;padding:9px 0 9px 26px;font-size:14px;color:var(--fg2);border-bottom:1px dashed var(--line)}.ticks li::before{content:"";position:absolute;left:0;top:15px;width:12px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.sv-typ{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}.sv-typ span,.chip{display:inline-block;padding:8px 14px;background:var(--deep);color:var(--fg);font-size:13px;font-weight:600}
.chip{background:var(--mist);color:var(--petrol)}
[data-theme=navy] .sv-typ span{background:rgba(155,240,185,.12)}
/* ---------- projects page */
.reg{padding:60px 0 140px}.reg-tools{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;margin-bottom:40px;position:sticky;top:76px;z-index:5;background:#fff;padding:16px 0}
.filters{display:flex;flex-wrap:wrap;gap:8px}.f{padding:10px 16px;box-shadow:inset 0 0 0 1.5px var(--line);font-size:13.5px;font-weight:600;transition:background .3s,color .3s}.f sup{font-size:10px;opacity:.6}.f.on,.f:hover{background:var(--petrol);color:#fff;box-shadow:none}
.search input{width:min(360px,80vw);height:46px;border:1.5px solid var(--line);padding:0 20px;font:inherit;font-size:14px;outline:none;background:var(--paper)}.search input:focus{border-color:var(--forest)}
.reg-h,.pr{display:grid;grid-template-columns:110px 60px 2.2fr 1.1fr 1fr 150px;gap:20px;align-items:center}
.reg-h{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--fg2);padding:0 0 14px;border-bottom:none;position:relative}
.reg-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:linear-gradient(var(--petrol) 0 3px,transparent 3px 6px,var(--petrol) 6px)}
.reg-list{margin-top:4px}
.pr{padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:background .3s,padding .5s var(--ease)}.pr:hover,.pr:focus{background:var(--paper);outline:none;padding-left:10px}
.pr-th{width:110px;aspect-ratio:4/3;overflow:hidden;background:var(--mist)}.pr-th img{width:100%;height:100%;object-fit:cover}.pr-ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:var(--petrol)}.pr-lg{width:60%}.pr-lg .lg-m{fill:var(--mint);opacity:.7}
.pr-no{font-size:13px;font-weight:700;color:var(--forest)}.pr-nm h3{font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.2}.pr-nm span{font-size:13px;color:var(--fg2)}.pr-loc{font-size:14px;color:var(--fg2)}.pr-val{text-align:right;font-size:15px;font-weight:600}
.pr.hide{display:none}.reg-empty{padding:60px 0;color:var(--fg2)}
.modal{position:fixed;inset:0;z-index:85;display:flex;align-items:center;justify-content:center;pointer-events:none;visibility:hidden}.modal.open{pointer-events:auto;visibility:visible}
.modal-bg{position:absolute;inset:0;background:rgba(4,20,30,.72);backdrop-filter:blur(6px);opacity:0;transition:opacity .5s}.modal.open .modal-bg{opacity:1}
.modal-in{position:relative;width:min(1200px,94vw);max-height:90vh;overflow:auto;background:#fff;color:var(--ink);transform:translateY(40px);opacity:0;transition:transform .7s var(--ease),opacity .5s;--fg:var(--ink);--fg2:rgba(11,18,21,.6);--line:rgba(6,58,72,.14)}.modal.open .modal-in{transform:none;opacity:1}
.modal-x{position:absolute;top:14px;right:14px;z-index:2;width:46px;height:46px;background:var(--mint);color:var(--petrol);font-size:26px;line-height:1}
.mb{display:grid;grid-template-columns:1.25fr 1fr}.mb-g{background:var(--navy);display:grid;gap:4px;grid-template-columns:1fr 1fr;align-content:start}.mb-g img{width:100%;aspect-ratio:4/3;object-fit:cover}.mb-g img:first-child{grid-column:1/-1;aspect-ratio:16/10}
.mb-g.none{display:flex;align-items:center;justify-content:center;min-height:360px}.mb-d{padding:44px}.mb-d .lbl{color:var(--forest)}.mb-d h3{font-size:clamp(26px,2.4vw,40px);letter-spacing:-.03em;line-height:1.05;font-weight:700;margin:10px 0 6px}.mb-d .ar{color:var(--forest);text-align:left;font-size:18px;font-weight:700}
.mb-d p.d{color:var(--fg2);margin-top:16px;font-size:var(--f-s)}.mb-t{margin-top:26px;border-top:1px solid var(--line)}.mb-t div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}.mb-t dt{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);padding-top:3px}
.mb-v{font-size:36px;font-weight:700;letter-spacing:-.04em;color:var(--petrol);margin-top:24px}.mb-v small{font-size:12px;letter-spacing:.14em;margin-right:8px;color:var(--forest)}
.mb-g img:nth-child(2):last-child{grid-column:1/-1;aspect-ratio:16/10}.mb-g img:nth-child(3):last-child{grid-column:auto}
/* ---------- contact */
.ph-contact::after{background:linear-gradient(90deg,var(--bg) 30%,rgba(6,58,72,.4) 100%)}
.ct-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,130px)}.ct-info{display:flex;flex-direction:column;gap:6px;margin-top:50px}.ci{display:flex;gap:18px;align-items:center;padding:20px 0;border-top:1px solid var(--line);font-size:var(--f-l);font-weight:400}.ci small{display:block;color:var(--mint);margin-bottom:4px}.ci .ar{font-size:16px;color:var(--fg2);display:block;text-align:left}
.ci .bdg{width:54px;height:54px;border-radius:0 14px 0 14px}
.form{align-self:end;background:rgba(3,39,49,.82);border:1px solid var(--line);padding:clamp(24px,3vw,48px);display:flex;flex-direction:column;gap:18px;backdrop-filter:blur(8px);position:relative}
.form-st{color:var(--mint);margin-bottom:4px}.form-st .st-b{width:90px}
.fld{position:relative}.fld input,.fld textarea{width:100%;font:inherit;font-size:17px;color:#fff;background:transparent;border:0;border-bottom:1.5px solid var(--line);padding:26px 0 10px;outline:none;resize:vertical;transition:border-color .3s}
.fld label{position:absolute;left:0;top:24px;color:var(--fg2);font-size:16px;pointer-events:none;transition:all .35s var(--ease)}
.fld input:focus,.fld textarea:focus{border-color:var(--mint)}.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label{top:2px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);font-weight:700}
.fld2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fld-lbl{color:var(--mint);margin-top:8px}.pills{display:flex;flex-wrap:wrap;gap:8px}.pills input{position:absolute;opacity:0}.pills span{display:inline-block;padding:10px 16px;box-shadow:inset 0 0 0 1.5px var(--line);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .3s}.pills input:checked+span{background:var(--mint);color:var(--petrol);box-shadow:none}.pills input:focus-visible+span{outline:2px solid var(--mint)}
.hp{position:absolute;left:-9999px}.form .btn{align-self:flex-start;margin-top:10px}.form-msg{font-size:14px;color:var(--mint);min-height:1.4em}
.fld.err input,.fld.err textarea{border-color:#ff8a7a}
/* ---------- reveal helpers */
[data-rise]{opacity:0;transform:translateY(30px)}
.no-js [data-rise]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-rise]{opacity:1;transform:none}.intro-t .w,.vm-t .w,.ceo-q .w{opacity:1}.loader{display:none}.grain{display:none}.marq-in{transform:none}}
.capture .cursor,.capture .grain,.capture .wipe,.capture .menu{display:none}
.capture [data-rise]{opacity:1;transform:none}.capture .intro-t .w,.capture .vm-t .w,.capture .ceo-q .w{opacity:1}
[data-page="/contact/"] .foot-cta{display:none}[data-page="/contact/"] .foot{padding-top:80px}
/* ---------- responsive */
@media (max-width:1100px){.ph-company .ph-cols{max-width:none}.links,.nav-cta{display:none}.burger{display:block}.svc{grid-template-columns:50px 1fr 64px}.svc-l{grid-column:2/-1}
.hero-grid{grid-template-columns:1fr}.hero-visual{margin-top:20px}.hero-vf{width:min(520px,86%);margin:0 auto}
.num-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr 1fr}.why:nth-child(n){padding-left:0;border-left:0}.why:nth-child(2n){padding-left:30px;border-left:1px solid var(--line)}
.life-grid,.prin-grid,.vm-grid,.ceo-grid,.ct-wrap,.sv-grid,.hse-wrap{grid-template-columns:1fr}.hse-r{position:relative;top:0;max-width:520px}.oc-grid{grid-template-columns:repeat(3,1fr)}.team{grid-template-columns:1fr 1fr}.loop{grid-template-columns:repeat(3,1fr);row-gap:20px}.foot-grid{grid-template-columns:1fr 1fr}
.reg-h{display:none}.pr{grid-template-columns:90px 1fr auto;gap:14px}.pr-no,.pr-loc,.pr-sec{display:none}.pr-th{width:90px}.mb{grid-template-columns:1fr}.reg-tools{position:static}.sv-index{grid-template-columns:1fr 1fr}.hproj-head{grid-template-columns:1fr}
.phero::after{background:linear-gradient(180deg,var(--bg) 30%,rgba(0,0,0,0) 100%)}.cl .ar{display:none}}
@media (max-width:900px){.stg{opacity:1}.stg p{max-height:none}.life-meter{display:none}}
@media (max-width:640px){.why-grid,.val-grid,.ct-grid,.hse-grid,.team,.sv-scope,.sv-app,.sv-two,.fld2,.ph-cols,.num-row{grid-template-columns:1fr}.why:nth-child(2n){padding-left:0;border-left:0}
.intro-imgs{grid-template-columns:1fr 1fr}.ii-1{grid-column:1/2}.ii-2{grid-column:2/3;margin-top:60px}.ii-3{display:none}.foot-grid{grid-template-columns:1fr}.foot-base{grid-template-columns:1fr}.loop{grid-template-columns:1fr 1fr}.oc-grid{grid-template-columns:1fr 1fr}
.hero{padding-top:100px}.hero-h{font-size:clamp(46px,14vw,76px)}.pr-val{font-size:13px}.btn{height:52px}.mb-d{padding:26px}.ph-stats{grid-template-columns:1fr 1fr}.sv-head{grid-template-columns:1fr}.sv-head .bdg{display:none}.sv-index{grid-template-columns:1fr}
.co-l{font-size:11px;padding:5px 9px}.cl{font-size:9.5px}.cv b{font-size:15px}.blank-en{font-size:clamp(36px,11vw,60px)}.hp-card{width:82vw}}
.nf{padding-top:110px}
@media (max-width:640px){.cl{display:none}.cols{margin-bottom:30px}.hero-vf .co.l,.hse-vf .co.l{display:none}.hse-vf{margin-top:40px}}
