/* ============================================
   1XSPARK — Stylesheet
   Black / white / orange. Sharp corners.
   Full-width. Generous space. No decoration.
   ============================================ */

/* Reset */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{font-family:var(--font-body);font-size:var(--size-body);line-height:1.7;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit}

/* Layout */
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);width:100%}
.wrap--wide{max-width:var(--max-w-wide)}
.section{padding:var(--section-pad) 0}
.section--sm{padding:var(--section-pad-sm) 0}
.section--black{background:var(--black);color:var(--white)}
.section--gray{background:var(--gray-100)}

/* Type */
.label{display:inline-block;font-size:var(--size-label);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:1.25rem}
h1,.h1{font-family:var(--font-heading);font-size:var(--size-h1);font-weight:500;line-height:1.1;letter-spacing:.02em}
h2,.h2{font-family:var(--font-heading);font-size:var(--size-h2);font-weight:500;line-height:1.15;letter-spacing:.01em}
h3,.h3{font-family:var(--font-heading);font-size:var(--size-h3);font-weight:500;line-height:1.3;letter-spacing:.01em}
.section--black h1,.section--black h2,.section--black h3{color:var(--white)}
.section--black p{color:var(--gray-300)}
.section--black .label{color:var(--orange-light)}
.text-sub{color:var(--gray-500)}
p+p{margin-top:1rem}

/* Buttons — pill shape kept because Wix + Source One both use it */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 2rem;font-size:var(--size-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:0;cursor:pointer;transition:all var(--dur-fast) var(--ease)}
.btn--primary{background:var(--orange);color:var(--white)}
.btn--primary:hover{background:var(--orange-light)}
.btn--white{background:var(--white);color:var(--black)}
.btn--white:hover{background:var(--gray-100)}
.btn--outline{background:none;color:var(--white);border:1.5px solid rgba(255,255,255,.4)}
.btn--outline:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn--outline-dark{background:none;color:var(--black);border:1.5px solid var(--gray-300)}
.btn--outline-dark:hover{border-color:var(--orange);color:var(--orange)}

/* Reveal (CSS-only, simple) */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* Preloader */
.preloader{position:fixed;inset:0;background:var(--black);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s,visibility .5s}
.preloader.done{opacity:0;visibility:hidden;pointer-events:none}
.preloader__logo{height:24px;opacity:0;animation:fadeUp .8s var(--ease) .2s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ── NAV ─────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);transition:background .4s,box-shadow .4s}
.nav.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--max-w-wide);padding:0 var(--gutter)}
.nav__logo{display:flex;align-items:center;position:relative}
.nav__logo img{height:16px;width:auto;transition:opacity .3s}
.nav__logo .logo-dark{position:absolute;top:50%;left:0;transform:translateY(-50%);opacity:0}
.nav.scrolled .logo-light{opacity:0}
.nav.scrolled .logo-dark{opacity:1}
.nav__links{display:flex;align-items:center;gap:2.5rem}
.nav__links a{font-size:var(--size-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75);transition:color .2s}
.nav__links a:hover,.nav__links a.active{color:var(--white)}
.nav.scrolled .nav__links a{color:var(--gray-500)}
.nav.scrolled .nav__links a:hover,.nav.scrolled .nav__links a.active{color:var(--black)}
.nav.scrolled .nav__cta .btn{color:var(--white)}
.nav__cta{margin-left:.5rem}
.nav__cta .btn{padding:.55rem 1.3rem}
.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:1001}
.nav__toggle span{display:block;width:22px;height:1.5px;background:var(--white);transition:all .25s}
.nav.scrolled .nav__toggle span{background:var(--black)}

/* ── FOOTER ──────────────────────────────── */
.footer{background:var(--black);color:var(--white);padding:5rem 0 2rem}
.footer__top{text-align:center;padding-bottom:4rem;margin-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer__top h2{margin-bottom:1.5rem;color:var(--white)}
.footer__grid{display:flex;justify-content:space-between;align-items:flex-start;gap:3rem}
.footer__brand{display:flex;flex-direction:column;gap:.75rem}
.footer__brand img{height:14px}
.footer__tagline{color:var(--gray-500);font-size:var(--size-sm)}
.footer__nav{display:flex;gap:4rem}
.footer__col h4{font-size:var(--size-label);font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}
.footer__col a{display:block;font-size:var(--size-sm);color:var(--gray-500);margin-bottom:.4rem;transition:color .2s}
.footer__col a:hover{color:var(--white)}
.footer__bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);text-align:center;color:var(--gray-500);font-size:var(--size-label)}

/* ── VIDEO HERO ──────────────────────────── */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.hero__content{position:relative;z-index:1;text-align:left;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}
.hero__content h1{font-size:var(--size-display);color:var(--white);margin-bottom:1.25rem;max-width:780px}
.hero__content p{font-size:var(--size-body-lg);color:rgba(255,255,255,.7);margin-bottom:2rem;line-height:1.6;max-width:520px}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}

/* ── PAGE HERO (inner pages) ─────────────── */
.page-hero{padding:calc(var(--nav-h) + 3.5rem) 0 var(--section-pad-sm);background:var(--black);color:var(--white);text-align:center}
.page-hero h1{color:var(--white);margin-bottom:1rem;max-width:800px;margin-left:auto;margin-right:auto}
.page-hero__sub{font-size:var(--size-body-lg);color:var(--gray-300);max-width:600px;margin:0 auto;line-height:1.65}
.page-hero .label{color:var(--orange-light)}
.page-hero__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}

/* (old cap-hero-section removed — replaced by cap-hero-v2 below) */

/* ── SECTION INTRO ──────────────────────── */
.section-intro{text-align:center;max-width:600px;margin:0 auto 3rem}
.section-intro h2{margin-bottom:.75rem}
.section-intro p{color:var(--gray-500);font-size:var(--size-body-lg);line-height:1.6}

/* ── SCROLL TEXT ─────────────────────────── */
.scroll-text{padding:var(--section-pad) 0}
.scroll-text__inner{font-family:var(--font-heading);font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:700;line-height:1.8;max-width:900px;margin:0 auto;text-align:center}
.scroll-text__inner .word{display:inline-block;color:rgba(255,255,255,.1);transition:color .3s var(--ease);margin-right:.28em}
.scroll-text__inner .word.lit{color:var(--white)}

/* ── HOVER CARDS ─────────────────────────── */
.cards{display:flex;width:100%;height:75vh;min-height:500px;gap:3px}
.cards__item{flex:1;background-size:cover;background-position:center;position:relative;overflow:hidden;cursor:pointer;transition:flex .6s var(--ease);display:flex;align-items:flex-end}
.cards__item.active{flex:3.5}
.cards__item::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.65);transition:background .5s var(--ease);z-index:1}
.cards__item.active::before{background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 65%)}
.cards__item-body{position:relative;z-index:2;width:100%;padding:2rem 1.5rem}
.cards__item-vert{font-family:var(--font-heading);font-size:var(--size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--white);writing-mode:vertical-lr;transform:rotate(180deg);position:absolute;bottom:2rem;left:50%;margin-left:-.5em;transition:opacity .2s;white-space:nowrap}
.cards__item.active .cards__item-vert{opacity:0}
.cards__exp{opacity:0;transform:translateY(14px);transition:opacity .3s,transform .3s}
.cards__item.active .cards__exp{opacity:1;transform:none;transition-delay:.2s}
.cards__exp h3{color:var(--white);margin-bottom:.4rem}
.cards__exp p{font-size:var(--size-sm);color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:.75rem}
.cards__link{display:inline-flex;align-items:center;gap:6px;font-size:var(--size-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-light);transition:gap .2s}
.cards__link:hover{gap:12px}
.cards__link svg{width:14px;height:14px}

/* ── STATS ───────────────────────────────── */
.stats{background:var(--white);color:var(--black);border-bottom:1px solid var(--gray-100)}
.stats__row{display:flex;justify-content:center;gap:clamp(3rem,8vw,8rem)}
.stat{text-align:center}
.stat__num{display:block;font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,4.2rem);font-weight:500;line-height:1;color:var(--black)}
.stat__label{display:block;margin-top:.4rem;font-size:var(--size-label);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gray-500)}

/* ── APPROACH ────────────────────────────── */
.approach__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:stretch}
.approach__img img{width:100%;height:100%;max-height:800px;object-fit:cover;object-position:top}
.approach__content{display:flex;flex-direction:column;justify-content:space-between;padding:0}
.approach__header .label{margin-bottom:.75rem}
.approach__header h2{margin-bottom:0}
.approach__cards{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem 4rem}
.approach__card h4{font-family:var(--font-heading);font-size:var(--size-body-lg);font-weight:600;margin-bottom:.5rem}
.approach__card p{font-size:var(--size-body);color:var(--gray-700);line-height:1.8}
.approach__icon{width:96px;height:96px;margin-bottom:1.25rem}
.approach__icon svg{width:100%;height:100%;overflow:visible}

/* === 1 — DESIGN: bicycle wireframe drawing itself + wheel spin === */
.ai-bike-scan{stroke-dasharray:60;stroke-dashoffset:60;stroke-width:1.8;animation:bikeDraw 5s ease-in-out infinite}
.ai-bike-scan--d1{animation-delay:.4s}
.ai-bike-scan--d2{animation-delay:.8s}
.ai-bike-scan--d3{animation-delay:1.4s}
@keyframes bikeDraw{0%{stroke-dashoffset:60;stroke-opacity:0}15%{stroke-opacity:1}40%{stroke-dashoffset:0;stroke-opacity:1}70%{stroke-dashoffset:0;stroke-opacity:1}90%{stroke-dashoffset:-60;stroke-opacity:0}100%{stroke-dashoffset:-60;stroke-opacity:0}}
.ai-spoke-spin{stroke-opacity:.15;transform-box:fill-box;transform-origin:center;animation:spokeRotate 3s linear infinite}
.ai-spoke-spin--2{animation-delay:0s;animation-duration:3s}
.ai-spoke-spin--3{animation-delay:.1s}
.ai-spoke-spin--4{animation-delay:.1s;animation-duration:3s}
@keyframes spokeRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.ai-pen{offset-path:path('M18,13 L22,18 L12,32 A9,9 0 1,0 21,32 L22,32 L30,18 L36,32 A9,9 0 1,0 27,32 L30,18 L22,18 L20,13 L18,13');offset-rotate:auto;animation:penFly 5s linear infinite}
@keyframes penFly{from{offset-distance:0%}to{offset-distance:100%}}

/* === 2 — MANUFACTURING: mini globe + network ping === */
.ai-meridian{transform-origin:24px 24px;animation:meridianSpin 5s linear infinite}
@keyframes meridianSpin{0%{transform:scaleX(1)}25%{transform:scaleX(0)}50%{transform:scaleX(-1)}75%{transform:scaleX(0)}100%{transform:scaleX(1)}}
.ai-link{stroke-dasharray:40;stroke-dashoffset:40;animation:linkPing 3s ease-in-out infinite}
.ai-link--1{animation-delay:0s}
.ai-link--2{animation-delay:.8s}
.ai-link--3{animation-delay:1.6s}
@keyframes linkPing{0%{stroke-dashoffset:40;opacity:0}20%{stroke-dashoffset:0;opacity:.8}70%{stroke-dashoffset:0;opacity:.8}100%{stroke-dashoffset:-40;opacity:0}}
.ai-node{opacity:.3;animation:nodeBeacon 3s ease-out infinite}
.ai-node--1{animation-delay:0s}
.ai-node--2{animation-delay:.8s}
.ai-node--3{animation-delay:1.6s}
@keyframes nodeBeacon{0%{opacity:.3;transform:scale(1)}15%{opacity:1;transform:scale(1.6)}30%{opacity:.3;transform:scale(1)}100%{opacity:.3;transform:scale(1)}}
.ai-node{transform-box:fill-box;transform-origin:center}

/* === 3 — PRODUCTION: bars grow + sweep dot === */
.ai-bar{transform-box:fill-box;transform-origin:bottom center;animation:barGrow 3.5s ease-in-out infinite}
.ai-bar--1{animation-delay:0s}
.ai-bar--2{animation-delay:.25s}
.ai-bar--3{animation-delay:.5s}
@keyframes barGrow{0%{transform:scaleY(0);opacity:.15}25%{transform:scaleY(1);opacity:1}65%{transform:scaleY(1);opacity:1}80%{transform:scaleY(0);opacity:.15}100%{transform:scaleY(0);opacity:.15}}
.ai-sweep-dot{offset-path:path('M6,44 L6,8 L44,8');animation:sweepPath 3.5s ease-in-out infinite}
@keyframes sweepPath{0%{offset-distance:0%;opacity:0}20%{offset-distance:0%;opacity:1}65%{offset-distance:100%;opacity:1}80%{offset-distance:100%;opacity:0}100%{offset-distance:0%;opacity:0}}

/* === 4 — SOURCING: diamond + spokes + orbit tracer === */
.ai-diamond{transform-origin:24px 24px;animation:diamondBreathe 4s ease-in-out infinite}
@keyframes diamondBreathe{0%,100%{transform:scale(1);stroke-opacity:1}50%{transform:scale(.88);stroke-opacity:.4}}
.ai-spoke{stroke-dasharray:8;stroke-dashoffset:8;animation:spokeShoot 4s ease-in-out infinite}
@keyframes spokeShoot{0%{stroke-dashoffset:8;opacity:0}20%{stroke-dashoffset:0;opacity:1}70%{stroke-dashoffset:0;opacity:1}90%{stroke-dashoffset:-8;opacity:0}100%{stroke-dashoffset:8;opacity:0}}
.ai-snode{transform-box:fill-box;transform-origin:center;opacity:0;animation:snodeAppear 4s ease-out infinite}
.ai-snode--1{animation-delay:.5s}
.ai-snode--2{animation-delay:.5s}
.ai-snode--3{animation-delay:.5s}
.ai-snode--4{animation-delay:.5s}
@keyframes snodeAppear{0%{opacity:0;transform:scale(0)}20%{opacity:1;transform:scale(1)}30%{opacity:.2;transform:scale(1.8)}40%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}90%{opacity:0;transform:scale(0)}100%{opacity:0;transform:scale(0)}}
.ai-diamond-tracer{offset-path:path('M24,6 L42,24 L24,42 L6,24 Z');animation:diamondOrbit 4s linear infinite}
@keyframes diamondOrbit{from{offset-distance:0%}to{offset-distance:100%}}

/* ── INDUSTRIES WE SERVE ────────────────── */
.industries{padding:var(--section-pad) 0}

.industries__body{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}

.industries__sidebar{position:sticky;top:calc(var(--nav-h) + 3rem)}
.industries__header{margin-bottom:2rem}
.industries__header h2{color:var(--white);max-width:520px;margin-bottom:1rem}
.industries__header p{color:var(--gray-500);font-size:var(--size-body-lg);line-height:1.7;max-width:420px}

.industries__media img{width:100%;border-radius:1rem;object-fit:cover}

.industries__cards{display:flex;flex-direction:column}

.industries__card{position:sticky;top:calc(var(--nav-h) + 3rem);background:var(--white);padding:2.5rem;border-radius:1rem;margin-bottom:2rem}
.industries__card:last-child{margin-bottom:0}

.industries__num{width:3.5rem;height:3.5rem;border-radius:50%;background:rgba(175,97,24,0.1);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.industries__num span{font-family:var(--font-heading);font-size:1.5rem;color:var(--orange);line-height:1}

.industries__icon{width:64px;height:64px;margin-bottom:1.25rem}
.industries__icon svg{width:100%;height:100%;overflow:visible}

.industries__card h4{font-family:var(--font-heading);font-size:var(--size-body-lg);font-weight:600;color:var(--black);margin-bottom:.5rem}
.industries__card p{font-size:var(--size-body);color:var(--gray-700);line-height:1.8}

/* Industry icon animations */
.ind-scan{transform-box:fill-box;animation:indScan 3s ease-in-out infinite}
@keyframes indScan{0%,100%{transform:translateY(0);stroke-opacity:0}10%{stroke-opacity:1}50%{transform:translateY(16px);stroke-opacity:1}60%{stroke-opacity:0}}

.ind-glow{transform-box:fill-box;transform-origin:center;animation:indGlow 3s ease-in-out infinite}
@keyframes indGlow{0%,100%{fill-opacity:0;transform:scale(1)}50%{fill-opacity:.35;transform:scale(1.8)}}

.ind-bubble{transform-box:fill-box;transform-origin:center;opacity:0;animation:indBubble 3s ease-out infinite}
.ind-bubble--1{animation-delay:0s}
.ind-bubble--2{animation-delay:.8s}
.ind-bubble--3{animation-delay:1.6s}
@keyframes indBubble{0%{opacity:0;transform:translateY(0) scale(1)}20%{opacity:.8}100%{opacity:0;transform:translateY(-14px) scale(.5)}}

.ind-pulse{transform-box:fill-box;transform-origin:center;animation:indPulse 2.5s ease-out infinite}
@keyframes indPulse{0%{transform:scale(.6);stroke-opacity:.8;stroke-width:2}100%{transform:scale(1.3);stroke-opacity:0;stroke-width:.5}}

.ind-win{opacity:0;animation:indWin 4s ease-in-out infinite}
.ind-win--1{animation-delay:0s}
.ind-win--2{animation-delay:.4s}
.ind-win--3{animation-delay:.8s}
.ind-win--4{animation-delay:1.2s}
.ind-win--5{animation-delay:1.6s}
.ind-win--6{animation-delay:2s}
@keyframes indWin{0%,20%{opacity:0}30%,65%{opacity:.7}75%,100%{opacity:0}}

/* ── CTA ─────────────────────────────────── */
.cta{padding:var(--section-pad) 0}
.cta h2{margin-bottom:.75rem}
.cta p{color:var(--gray-500);margin-bottom:2rem;font-size:var(--size-body-lg)}

/* ── CAPABILITIES HUB ────────────────────── */
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:3rem}
.cap-card{position:relative;overflow:hidden;aspect-ratio:3/2;display:flex;align-items:flex-end;background-size:cover;background-position:center;text-decoration:none;transition:opacity .3s}
.cap-card:hover{opacity:.92}
.cap-card::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.1) 50%);z-index:1}
.cap-card__body{position:relative;z-index:2;padding:2rem;width:100%}
.cap-card__num{font-family:var(--font-heading);font-weight:800;font-size:var(--size-h2);color:var(--orange);opacity:.5;line-height:1;margin-bottom:.4rem}
.cap-card__body h3{color:var(--white);margin-bottom:.25rem}
.cap-card__body p{font-size:var(--size-sm);color:rgba(255,255,255,.55);line-height:1.5}
.cap-card__arrow{position:absolute;top:1.25rem;right:1.25rem;z-index:2;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);transition:background .2s}
.cap-card:hover .cap-card__arrow{background:var(--orange)}
.cap-card__arrow svg{width:16px;height:16px;color:var(--white)}

/* ── CAPABILITY DETAILS ─────────────────── */
.cap-detail{padding:var(--section-pad-sm) 0}
.cap-detail__row{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.cap-detail--reverse .cap-detail__img{order:-1}
.cap-detail__num{display:block;font-family:var(--font-heading);font-size:var(--size-h2);font-weight:800;color:var(--orange);opacity:.5;line-height:1;margin-bottom:1rem}
.cap-detail__text h3{font-size:var(--size-h2);margin-bottom:1rem}
.cap-detail__text p{color:var(--gray-700);line-height:1.8;margin-bottom:1.5rem}
.cap-detail__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--orange);text-decoration:none;font-weight:600;transition:gap .3s var(--ease)}
.cap-detail__link:hover{gap:.75rem}
.cap-detail__link svg{flex-shrink:0}
.cap-detail__img img{width:100%;border-radius:1rem;object-fit:cover;aspect-ratio:4/3}

/* ── CAPABILITY PAGE ─────────────────────── */
.cap-hero{padding:calc(var(--nav-h) + 5rem) 0 var(--section-pad-sm);background:var(--black);color:var(--white);text-align:center}
.cap-hero__num{font-family:var(--font-heading);font-weight:800;font-size:clamp(5rem,10vw,9rem);color:var(--orange);opacity:.1;line-height:1;margin-bottom:-1.5rem}
.cap-hero h1{color:var(--white);margin-bottom:1rem;position:relative}
.cap-hero__sub{font-size:var(--size-body-lg);color:var(--gray-300);max-width:640px;margin:0 auto;line-height:1.7}

/* Process */
.process-step{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:var(--section-pad-sm) 0;border-bottom:1px solid var(--gray-100)}
.process-step:last-child{border-bottom:none}
.process-step:nth-child(even) .process-step__img{order:-1}
.process-step__label{font-size:var(--size-label);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:1rem}
.process-step__text h2{margin-bottom:1rem}
.process-step__text p{color:var(--gray-700);line-height:1.8}
.process-step__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.process-step__img .img-placeholder{width:100%;aspect-ratio:4/3;background:var(--gray-100);display:flex;align-items:center;justify-content:center}
.process-step__img .img-placeholder::after{content:attr(data-label);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);opacity:.5}

/* Highlights */
.highlights__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.hl-card{overflow:hidden;background:var(--white);border-radius:.75rem;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.hl-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.hl-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s var(--ease)}
.hl-card:hover img{transform:scale(1.03)}
.hl-card .img-placeholder{width:100%;aspect-ratio:3/2;background:var(--gray-100);display:flex;align-items:center;justify-content:center}
.hl-card .img-placeholder::after{content:attr(data-label);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);opacity:.5}
.hl-card__info{padding:1rem 1.25rem}
.hl-card__name{font-size:var(--size-body);font-weight:600}
.hl-card__cap{font-size:var(--size-sm);color:var(--gray-500);margin-top:.2rem}

/* ── SERVICE PAGE — shared sections ─────── */
/* ── SERVICE PAGE HERO — background image ─ */
.svc-page-hero{position:relative;min-height:75vh;display:flex;align-items:center;background-size:cover;background-position:center;overflow:hidden}
.svc-page-hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.75) 0%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.3) 100%)}
.svc-page-hero__content{position:relative;z-index:1;padding-top:calc(var(--nav-h) + 3rem);padding-bottom:var(--section-pad-sm)}
.svc-page-hero__content .label{color:var(--orange-light)}
.svc-page-hero__content h1{color:var(--white);margin-bottom:1.25rem;max-width:700px}
.svc-page-hero__content p{font-size:var(--size-body-lg);color:rgba(255,255,255,.75);line-height:1.65;max-width:520px}
.svc-page-hero__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}

/* ── PROJECT SHOWCASE — scroll-synced ──── */
.showcase-section{padding:var(--section-pad) 0}
.showcase{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start;margin-top:3rem}
.showcase__text{position:sticky;top:calc(var(--nav-h) + 3rem);min-height:250px}
.showcase__project{position:absolute;top:0;left:0;right:0;opacity:0;transform:translateY(12px);transition:opacity .4s var(--ease),transform .4s var(--ease);pointer-events:none}
.showcase__project.active{opacity:1;transform:translateY(0);pointer-events:auto}
.showcase__num{display:block;font-family:var(--font-heading);font-size:var(--size-sm);color:var(--orange);opacity:.6;margin-bottom:1rem;letter-spacing:.05em}
.showcase__project h3{color:var(--white);font-size:var(--size-h2);margin-bottom:1rem}
.showcase__project p{color:var(--gray-300);line-height:1.8;font-size:var(--size-body-lg)}
.showcase__images{display:flex;flex-direction:column;padding-bottom:22rem}
.showcase__img{position:sticky;top:calc(var(--nav-h) + 3rem);margin-bottom:14rem;border-radius:.5rem;overflow:hidden}
.showcase__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.showcase__img .img-placeholder{width:100%;aspect-ratio:4/3;background:var(--gray-700);display:flex;align-items:center;justify-content:center}
.showcase__img .img-placeholder::after{content:attr(data-label);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);opacity:.5}
.showcase--product .showcase__img{background:transparent;border-radius:0;overflow:visible}
.showcase--product .showcase__img img{aspect-ratio:auto;height:auto;object-fit:contain;display:block}
.showcase--product .showcase__img[data-project="aeris"] img{filter:saturate(0.55) brightness(1.04) contrast(1.02)}

.svc-text{max-width:780px;margin:0 auto}
.svc-text h2{margin-bottom:1.25rem}
.svc-text p{color:var(--gray-700);line-height:1.85;font-size:var(--size-body-lg);margin-bottom:1rem}
.svc-text p:last-child{margin-bottom:0}

.svc-features{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.svc-feat h3{font-size:var(--size-body-lg);font-weight:600;margin-bottom:.75rem}
.svc-feat p{color:var(--gray-700);line-height:1.75;font-size:var(--size-body)}

/* ── ABOUT — INTRO ──────────────────────── */
.about-intro{padding:calc(var(--nav-h) + 8rem) 0 var(--section-pad);min-height:75vh;display:flex;align-items:center}
.about-intro .wrap{width:100%}
.about-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-intro__left h1{color:var(--white);max-width:480px}
.about-intro__right{padding-top:0}
.about-intro__right p{color:var(--gray-300);line-height:1.8;font-size:var(--size-body)}
.about-intro__mark{margin-top:4rem}
.about-intro__mark img{height:48px;filter:invert(1)}

/* ── ABOUT — TEAM ───────────────────────── */
.team{padding:var(--section-pad) 0}
.team-member{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-bottom:var(--section-pad);max-width:1200px;margin-left:auto;margin-right:auto}
.team-member:last-child{margin-bottom:0}
.team-member--reverse .team-member__photo{order:-1}
.team-member__photo{display:flex;justify-content:center}
.team-member__info .label{margin-bottom:.4rem}
.team-member__title{font-size:var(--size-sm);color:var(--gray-300);margin-bottom:1.5rem}
.team-member__line{border:none;border-top:1px solid rgba(255,255,255,.15);margin-bottom:2rem}
.team-member__info p{color:var(--gray-300);line-height:1.8;font-size:var(--size-body);margin-bottom:1rem}
.team-member__detail{margin-top:1.5rem}
.team-member__detail h5{font-size:var(--size-label);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--white);margin-bottom:.4rem}
.team-member__detail p{color:var(--gray-500);font-size:var(--size-sm);line-height:1.6;margin-bottom:0}
.team-member__photo img,.team-member__photo .img-placeholder{width:100%;max-width:520px;aspect-ratio:3/4;object-fit:cover}
.img-placeholder--portrait{width:100%;aspect-ratio:3/4;background:var(--gray-700);display:flex;align-items:center;justify-content:center}
.img-placeholder--portrait::after{content:attr(data-label);font-size:var(--size-label);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);opacity:.5}

/* ── ABOUT — DIVIDER ────────────────────── */
.about-divider{width:100%;overflow:hidden}
.about-divider img{width:100%;height:280px;object-fit:cover;object-position:center 40%;display:block}

/* ── ABOUT — MISSION & VALUES ───────────── */
.mission__grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.mission__left .label{margin-bottom:2rem}
.mission__statement{font-family:var(--font-body);font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:300;font-style:italic;color:var(--white);line-height:1.6;margin:0 0 2rem;padding:0;border:none}
.mission__note{color:var(--gray-500);font-size:var(--size-sm);line-height:1.7;margin-bottom:3rem}
.mission__mark{height:40px;filter:invert(1);opacity:.6}
.mission__right .label{margin-bottom:2rem}
.mission__value{margin-bottom:2.5rem}
.mission__value:last-child{margin-bottom:0}
.mission__value h3{color:var(--white);margin-bottom:.5rem}
.mission__value p{color:var(--gray-300);line-height:1.8;font-size:var(--size-body)}

/* Legacy about styles (kept for reference) */
.about__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start}
.about__portrait img{width:100%;aspect-ratio:3/4;object-fit:cover}
.about__content p{margin-bottom:1rem;line-height:1.85;color:var(--gray-700)}
.about__content em{color:var(--black);font-style:italic}
.press-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px;margin-top:2rem}
.press-card{background:var(--gray-100);padding:2rem;transition:background .2s}
.press-card:hover{background:var(--gray-300)}
.press-card__src{font-size:var(--size-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:.75rem}
.press-card__quote{font-size:var(--size-body);color:var(--gray-700);font-style:italic;line-height:1.7}

/* ── CONTACT ─────────────────────────────── */
.contact__inner{max-width:540px;margin:0 auto}
.contact__form{display:flex;flex-direction:column;gap:1.25rem}
.form__group{display:flex;flex-direction:column;gap:.35rem}
.form__group label{font-size:var(--size-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500)}
.form__group input,.form__group textarea{background:var(--gray-100);border:1px solid var(--gray-100);padding:.8rem 1rem;font-family:var(--font-body);font-size:var(--size-body);color:var(--black);transition:border-color .2s}
.form__group input:focus,.form__group textarea:focus{outline:none;border-color:var(--orange)}
.form__group input::placeholder,.form__group textarea::placeholder{color:var(--gray-500)}
.form__group textarea{resize:vertical}
.contact__form .btn{align-self:flex-start;margin-top:.5rem}

/* ── GLOBE ───────────────────────────────── */
.globe-wrap{position:relative;width:100%;max-width:1400px;margin:3rem auto 0;height:550px;overflow:hidden}
.globe-wrap svg{position:absolute;top:0;left:0;width:100%;height:250%;overflow:hidden}

/* ── CAPABILITIES V2 — HERO ─────────────── */
.cap-hero-v2{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:calc(var(--nav-h) + 4rem) 0 var(--section-pad)}
.cap-hero-v2__canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cap-hero-v2__content{position:relative;z-index:1;max-width:700px;margin:0 auto}
.cap-hero-v2__content h1{color:var(--white);margin-bottom:1.25rem}
.cap-hero-v2__content .label{color:var(--orange-light)}
.cap-hero-v2__sub{font-size:var(--size-body-lg);color:var(--gray-300);line-height:1.65;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}

/* ── CAPABILITIES V2 — SECTION INTRO DARK ── */
.section-intro--dark h2{color:var(--white)}
.section-intro--dark p{color:var(--gray-300)}

/* ── CAPABILITIES V2 — SERVICE STACK + PORTRAIT PREVIEW ─────── */
.svc-section{padding-top:0}
.svc-split{display:grid;grid-template-columns:1fr .8fr;gap:3rem;align-items:stretch}
.svc-stack{display:flex;flex-direction:column;gap:.75rem}
.svc-tile{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;padding:2.25rem 1.5rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);text-decoration:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.svc-tile:hover,.svc-tile.is-active{background:rgba(255,255,255,.08);border-color:rgba(175,97,24,.45)}
.svc-tile__num{font-family:var(--font-heading);font-size:var(--size-sm);font-weight:700;color:var(--orange);opacity:.6;letter-spacing:.05em;align-self:flex-start;padding-top:.25rem}
.svc-tile__body{min-width:0}
.svc-tile__title{font-size:var(--size-body-lg);font-weight:600;color:var(--white);line-height:1.3;margin-bottom:.4rem}
.svc-tile__desc{font-size:var(--size-sm);color:var(--gray-500);line-height:1.55;margin:0}
.svc-tile__arrow{font-size:var(--size-body-lg);color:var(--orange);opacity:.35;transform:translateX(-4px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.svc-tile:hover .svc-tile__arrow,.svc-tile.is-active .svc-tile__arrow{opacity:1;transform:translateX(0)}

.svc-preview{position:relative;height:100%}
.svc-preview__sticky{position:relative;height:100%;border:1px solid rgba(255,255,255,.08);overflow:hidden;background:#111}
.svc-preview__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s var(--ease),transform 6s var(--ease);transform:scale(1.02)}
.svc-preview__img.is-active{opacity:1;transform:scale(1)}

/* ── CAPABILITIES V2 — INDUSTRY GRID ─────── */
.ind-section{background:var(--white)}
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem 2rem}
.ind-item h4{font-size:var(--size-body-lg);font-weight:600;color:var(--black);margin-bottom:.5rem;line-height:1.3}
.ind-item p{font-size:var(--size-sm);color:var(--gray-700);line-height:1.7}

/* ── BUILD SECTION — stacking cards ─────── */
.build-section{padding:var(--section-pad) 0}
.build-body{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.build-sidebar{position:sticky;top:calc(var(--nav-h) + 3rem)}
.build-sidebar h2{color:var(--white);max-width:520px;margin-bottom:1rem}
.build-sidebar p{color:var(--gray-500);font-size:var(--size-body-lg);line-height:1.7;max-width:420px}
.build-cards{display:flex;flex-direction:column}
.build-card{position:sticky;top:calc(var(--nav-h) + 3rem);background:var(--white);padding:2.5rem;border-radius:1rem;margin-bottom:2rem}
.build-card:last-child{margin-bottom:0}
.build-card h4{font-family:var(--font-heading);font-size:var(--size-body-lg);font-weight:600;color:var(--black);margin-bottom:.5rem}
.build-card p{font-size:var(--size-body);color:var(--gray-700);line-height:1.8}

/* ── RESPONSIVE ──────────────────────────── */
@media(max-width:1024px){
  .about-intro__grid{grid-template-columns:1fr;gap:2rem}
  .team-member{grid-template-columns:1fr;gap:2.5rem}
  .team-member--reverse .team-member__photo{order:0}
  .team-member__photo img,.img-placeholder--portrait{max-height:500px}
  .mission__grid{grid-template-columns:1fr;gap:3rem}
  .about__grid{grid-template-columns:1fr;gap:2rem}
  .about__portrait{max-width:400px}
  .approach__grid{grid-template-columns:1fr;gap:2rem}
  .approach__img img{aspect-ratio:16/9}
  .process-step{grid-template-columns:1fr;gap:2rem}
  .process-step:nth-child(even) .process-step__img{order:0}
  .svc-features{grid-template-columns:1fr}
  .svc-page-hero{min-height:60vh}
  .svc-page-hero__overlay{background:rgba(0,0,0,.65)}
  .showcase{grid-template-columns:1fr;gap:2rem}
  .showcase__text{position:sticky;top:var(--nav-h);min-height:auto;margin-bottom:1.5rem;background:var(--black);padding:1.5rem 0 1rem;z-index:5}
  .showcase__project{position:relative;display:none;opacity:1;transform:none}
  .showcase__project.active{display:block}
  .showcase__img{position:relative;top:auto;margin-bottom:1.5rem}
  .cards{height:auto;flex-direction:column}
  .cards__item{min-height:160px}
  .cards__item.active{min-height:300px}
  .cards__item-vert{writing-mode:horizontal-tb;transform:none;position:static;margin-left:0;padding:1.5rem}
  .cards__item.active .cards__item-vert{opacity:0;position:absolute}
  .svc-split{grid-template-columns:1fr;gap:2rem}
  .svc-preview{height:auto}
  .svc-preview__sticky{height:auto;aspect-ratio:4/3;max-height:60vh}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .build-body{grid-template-columns:1fr}
  .build-sidebar{position:relative;top:auto;margin-bottom:2.5rem}
  .build-card{position:relative;top:auto;margin-bottom:1.5rem;border-radius:.75rem}
  .cap-grid{grid-template-columns:1fr 1fr}
  .cap-detail__row{gap:3rem}
  .industries__body{grid-template-columns:1fr}
  .industries__sidebar{position:relative;top:auto;order:-1;margin-bottom:2.5rem}
  .industries__card{position:relative;top:auto;margin-bottom:1.5rem;border-radius:.75rem}
}
@media(max-width:768px){
  .nav__links{position:fixed;top:0;right:0;width:100%;height:100vh;height:100dvh;background:var(--black);flex-direction:column;align-items:center;justify-content:center;gap:2rem;transform:translateX(100%);transition:transform .4s var(--ease)}
  .nav__links.open{transform:none}
  .nav__links a{color:rgba(255,255,255,.7)!important;font-size:var(--size-body)}
  .nav__links a:hover,.nav__links a.active{color:var(--white)!important}
  .nav__toggle{display:flex}
  .nav__toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
  .nav__toggle.active span:nth-child(2){opacity:0}
  .nav__toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
  .nav__cta{margin-left:0}
  .footer__grid{flex-direction:column;text-align:center;align-items:center}
  .footer__nav{flex-direction:column;gap:2rem}
  .stats__row{flex-wrap:nowrap;gap:1.5rem}
  .approach__cards{grid-template-columns:1fr}
  .scroll-text__inner{text-align:left;font-size:1.15rem;line-height:1.7}
  .hero__actions{flex-direction:column;align-items:flex-start}
  .globe-section{overflow:hidden}
  .globe-section .wrap{overflow:visible}
  .globe-wrap{position:static;transform:translateX(-50%);max-width:none;width:180vw;height:auto;margin-left:0;overflow:visible}
  .globe-wrap svg{position:static;width:100%;height:auto;aspect-ratio:1;overflow:visible}
  .svc-tile{grid-template-columns:auto 1fr;gap:1rem;padding:1.25rem}
  .svc-tile__arrow{display:none}
  .svc-preview__sticky{aspect-ratio:1/1;max-height:50vh;height:auto}
  .ind-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem}
  .cap-hero-v2{min-height:80vh;padding:calc(var(--nav-h) + 3rem) 0 var(--section-pad-sm)}
  .cap-grid{grid-template-columns:1fr}
  .cap-detail__row{grid-template-columns:1fr;gap:2rem}
  .cap-detail--reverse .cap-detail__img{order:0}
  .highlights__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .stats__row{flex-wrap:nowrap;gap:1rem}
  .stat__num{font-size:clamp(1.8rem,8vw,2.5rem)}
  .highlights__grid{grid-template-columns:1fr}
}
