:root { --bg:#080b0e; --panel:#11171d; --panel-soft:rgba(13,18,23,.78); --text:#f4f7f4; --muted:#9ba7ac; --soft:#c4cdcf; --line:rgba(236,243,239,.15); --lime:#c9ff3f; --blue:#86cfff; --max:1260px; --radius:28px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--text); background:var(--bg); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
body::before { content:''; position:fixed; z-index:-2; inset:0; background:radial-gradient(circle at 78% 5%,rgba(201,255,63,.08),transparent 25rem),radial-gradient(circle at 8% 48%,rgba(80,145,180,.13),transparent 28rem),var(--bg); pointer-events:none; }
body::after { content:''; position:fixed; z-index:-1; inset:0; opacity:.24; background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(180deg,black,transparent 80%); pointer-events:none; }
.site-noise { position:fixed; z-index:10; inset:0; opacity:.035; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
img { display:block; max-width:100%; }
.section-shell { width:min(calc(100% - 48px),var(--max)); margin:0 auto; }
.site-header { position:fixed; z-index:20; top:16px; left:0; right:0; }
.site-header__inner { width:min(calc(100% - 48px),var(--max)); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:12px 14px 12px 16px; border:1px solid var(--line); border-radius:18px; background:rgba(8,11,14,.78); backdrop-filter:blur(18px); }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:15px; font-weight:800; letter-spacing:.16em; }
.brand__mark { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:#0a0d0f; background:var(--lime); font-size:14px; letter-spacing:0; }
.site-nav { display:flex; align-items:center; gap:28px; color:#b6c0c3; font-size:16px; font-weight:600; }
.site-nav a,.site-footer__links a { transition:color .2s ease; }
.site-nav a:hover,.site-footer__links a:hover { color:var(--lime); }
.header-action,.button { display:inline-flex; align-items:center; justify-content:center; gap:13px; border-radius:999px; font-size:16px; font-weight:800; }
.header-action { padding:12px 17px; color:#0a0d0f; background:var(--lime); }
.header-action span,.button span { font-size:15px; line-height:1; }
.menu-toggle { display:none; border:0; color:var(--text); background:transparent; cursor:pointer; }
.hero { position:relative; min-height:calc(100svh - 24px); padding-top:112px; padding-bottom:62px; display:flex; align-items:center; overflow:visible; }
.hero__halo { position:absolute; width:42vw; height:42vw; border-radius:50%; filter:blur(3px); pointer-events:none; will-change:transform; }
.hero__halo,.hero__visual,.approach__visual { transform:translate3d(0,var(--parallax-y,0),0); }
.hero__halo--one { top:80px; right:-18vw; background:radial-gradient(circle,rgba(201,255,63,.12),transparent 66%); }
.hero__halo--two { left:-20vw; bottom:-20vw; background:radial-gradient(circle,rgba(87,163,196,.16),transparent 68%); }
.hero__layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.91fr) minmax(500px,1.09fr); gap:22px; align-items:center; width:100%; }
.eyebrow,.section-kicker { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow::before,.section-kicker::before { content:''; display:inline-block; width:34px; height:1px; margin:0 10px 3px 0; background:currentColor; }
.hero h1 { max-width:760px; margin:22px 0 20px; font-size:clamp(46px,5vw,72px); font-weight:620; line-height:1.06; letter-spacing:-.035em; }
.hero h1 > span { display:block; white-space:nowrap; }
h1 em,h2 em { color:var(--lime); font-style:normal; }
.hero__lead { max-width:600px; margin:0; color:#d0d8d7; font-size:17px; line-height:1.68; }
.hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.button { min-height:50px; padding:0 20px; border:1px solid var(--line); transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); border-color:rgba(201,255,63,.65); }
.button--lime { color:#0a0d0f; background:var(--lime); border-color:var(--lime); }
.button--ghost { color:var(--text); background:rgba(255,255,255,.04); }
.hero__facts { display:flex; flex-wrap:wrap; gap:30px; margin-top:36px; }
.hero__facts div { display:grid; gap:6px; }
.hero__facts strong { color:#edf4f1; font-size:16px; letter-spacing:.01em; }
.hero__facts span { color:#aebabc; font-size:13px; }
.hero__visual { position:relative; min-height:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.hero__visual-top { display:flex; justify-content:space-between; gap:10px; padding:2px 5px 14px; color:#c6d0d0; font:700 14px monospace; letter-spacing:.11em; }
.status-dot::before { content:''; display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 13px var(--lime); }
.hero__image { position:relative; height:clamp(500px,68vh,700px); overflow:visible; border-radius:0; background:radial-gradient(ellipse at 52% 54%,rgba(201,255,63,.16) 0%,rgba(201,255,63,.07) 28%,transparent 68%); }
.hero__image img { display:block; width:100%; height:100%; max-width:none; object-fit:contain; object-position:center; transform:translate(0,-2%); filter:saturate(1.04) contrast(1.04) drop-shadow(0 24px 35px rgba(0,0,0,.3)); }
.hero__readout { position:absolute; z-index:2; display:grid; grid-template-columns:auto 1fr; gap:5px 9px; min-width:175px; padding:12px 14px; border:1px solid rgba(255,255,255,.2); border-radius:13px; color:#e8efec; background:rgba(7,11,14,.77); backdrop-filter:blur(12px); font:700 14px monospace; }
.hero__readout span { color:var(--lime); grid-row:span 2; }
.hero__readout small { color:#93a0a3; font-size:13px; font-weight:400; }
.hero__readout--top { top:104px; left:-26px; }
.hero__readout--bottom { right:-24px; bottom:55px; }
.hero__axis { position:absolute; z-index:2; opacity:.55; background:rgba(201,255,63,.55); pointer-events:none; }
.hero__axis--x { top:45%; right:35px; left:35px; height:1px; }
.hero__axis--y { top:65px; bottom:55px; left:56%; width:1px; }
.scroll-cue { position:absolute; bottom:30px; display:flex; align-items:center; gap:12px; color:#889397; font:700 14px monospace; letter-spacing:.08em; text-transform:uppercase; }
.scroll-cue span { width:34px; height:1px; background:var(--lime); }
.signal-strip { overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.signal-strip__track { display:flex; justify-content:space-between; gap:35px; width:max-content; min-width:100%; padding:20px 24px; color:#909da1; font-size:15px; font-weight:800; letter-spacing:.16em; white-space:nowrap; }
.signal-strip i { color:var(--lime); font-style:normal; }
.intro,.approach,.services,.contact { padding-top:145px; padding-bottom:145px; }
.intro__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:100px; margin-top:30px; }
.intro h2,.section-head h2,.approach h2,.contact h2 { margin:0; font-size:clamp(40px,6vw,78px); line-height:.97; letter-spacing:-.075em; }
.intro h2,.contact h2 { font-size:clamp(42px,5.2vw,72px); font-weight:650; line-height:1.02; letter-spacing:-.055em; }
.intro__copy { color:var(--muted); font-size:21px; line-height:1.75; }
.intro__copy p { margin:0 0 18px; }
.text-link { display:inline-flex; gap:12px; margin-top:14px; color:var(--text); font-size:17px; font-weight:800; }
.text-link span { color:var(--lime); }
.proof-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:90px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.proof-grid>div { display:grid; gap:10px; padding:26px 24px 25px 0; border-right:1px solid var(--line); }
.proof-grid>div+div { padding-left:24px; }
.proof-grid>div:last-child { border-right:0; }
.proof-grid b,.product-panel__index,.process-step>span,.service-card>span { color:var(--lime); font:700 14px monospace; letter-spacing:.12em; }
.proof-grid strong { font-size:24px; }
.proof-grid span { max-width:290px; color:var(--muted); font-size:17px; line-height:1.55; }

/* Products are one sticky visual stage, not a grid of image cards. */
.product-story { position:relative; overflow:clip; background:#06090c; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.product-story__intro { padding-top:145px; padding-bottom:82px; }
.product-story__heading { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:end; margin-top:28px; }
.product-story__heading h2 { margin:0; font-size:clamp(48px,5.2vw,76px); font-weight:650; line-height:1.02; letter-spacing:-.055em; }
.product-story__heading p { max-width:420px; margin:0 0 5px; color:var(--muted); font-size:20px; line-height:1.65; }
.product-story__stage { position:relative; height:420vh; }
.product-story__sticky { position:sticky; top:0; height:100svh; min-height:660px; overflow:hidden; background:#080c10; }
.product-story__backdrop { position:absolute; z-index:0; inset:0; background:#0a0e12; }
.product-story__backdrop::before { content:''; position:absolute; z-index:2; inset:0; background:radial-gradient(circle at 50% 43%,transparent 15%,rgba(3,5,7,.34) 70%,rgba(3,5,7,.88) 100%); pointer-events:none; }
.product-story__backdrop::after { content:''; position:absolute; z-index:3; inset:0; background:linear-gradient(90deg,rgba(4,7,9,.85),transparent 40%,rgba(4,7,9,.2) 70%,rgba(4,7,9,.78)),linear-gradient(0deg,rgba(4,7,9,.9),transparent 28%,rgba(4,7,9,.34)); pointer-events:none; }
.product-scene { position:absolute; inset:0; visibility:hidden; opacity:0; background:#0a0e12; transition:opacity .85s ease,visibility .85s ease; }
.product-scene.is-active { visibility:visible; opacity:1; }
.product-scene img { position:absolute; inset:0; width:100%; height:100%; padding:clamp(18px,4vw,70px); object-fit:contain; object-position:center; filter:saturate(.82) contrast(1.08); }
.product-scene--generation { background:radial-gradient(circle at 66% 44%,#102c50 0,#070b10 58%); }
.product-scene--style { background:radial-gradient(circle at 62% 45%,#3e3442 0,#110f14 60%); }
.product-scene--tribri { background:radial-gradient(circle at 60% 45%,#3c3027 0,#100f0e 62%); }
.product-scene--xspace { background:radial-gradient(circle at 62% 45%,#1b2743 0,#080b11 60%); }
.product-scene__veil { position:absolute; z-index:1; inset:0; background:linear-gradient(115deg,rgba(4,7,9,.9) 0%,rgba(4,7,9,.25) 38%,transparent 64%,rgba(4,7,9,.66) 100%); pointer-events:none; }
.product-scene__code { position:absolute; z-index:4; top:calc(50% + 18px); right:5vw; color:rgba(240,246,242,.67); font:700 14px monospace; letter-spacing:.16em; writing-mode:vertical-rl; transform:rotate(180deg); }
.product-story__grid { position:relative; z-index:5; height:100%; display:grid; grid-template-columns:1fr minmax(420px,540px) 1fr; grid-template-rows:auto 1fr auto; gap:25px; padding-top:116px; padding-bottom:44px; pointer-events:none; }
.product-story__eyebrow { grid-column:1/-1; display:flex; justify-content:space-between; color:#d2dcda; font:700 14px monospace; letter-spacing:.15em; }
.product-story__counter b { color:var(--lime); }
.product-story__copy { display:grid; grid-area:2/1/3/3; align-self:center; width:min(540px,44vw); pointer-events:auto; }
.product-panel { grid-area:1/1; visibility:hidden; opacity:0; transform:translate3d(0,44px,0) scale(.97); padding:32px 34px 30px; border:1px solid rgba(255,255,255,.2); border-radius:22px; background:rgba(7,11,15,.74); box-shadow:0 25px 70px rgba(0,0,0,.34); backdrop-filter:blur(18px); cursor:pointer; transition:opacity .72s ease,transform .72s cubic-bezier(.2,.75,.2,1),visibility .72s ease,border-color .25s ease,box-shadow .25s ease; }
.product-panel.is-active { visibility:visible; opacity:1; transform:none; }
.product-panel.is-active:hover { border-color:rgba(201,255,63,.65); box-shadow:0 28px 80px rgba(0,0,0,.48); }
.product-panel:focus-visible { outline:2px solid var(--lime); outline-offset:6px; }
.product-panel h3 { max-width:460px; margin:17px 0 14px; font-size:clamp(42px,5vw,72px); line-height:.88; letter-spacing:-.08em; }
.product-panel p { max-width:470px; margin:0; color:#c3cdcf; font-size:15px; line-height:1.7; }
.product-panel__chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:25px; }
.product-panel__chips span { padding:8px 10px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#dfe8e4; background:rgba(255,255,255,.06); font:700 13px monospace; letter-spacing:.06em; }
.product-panel__link { display:inline-flex; gap:11px; margin-top:29px; color:var(--lime); font-size:17px; font-weight:800; }
.product-panel__link span { font-size:16px; line-height:1; }
.product-story__aside { grid-column:3; grid-row:3; display:flex; align-items:center; justify-content:flex-end; gap:13px; color:#9fa9ab; font:700 13px monospace; letter-spacing:.1em; }
.product-story__line { position:relative; width:120px; height:1px; background:rgba(255,255,255,.2); }
.product-story__line i { position:absolute; top:0; left:0; width:25%; height:1px; background:var(--lime); transition:width .35s ease; }
.product-story__gridlines { position:absolute; z-index:4; inset:0; opacity:.19; background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.35) 50%,transparent calc(50% + 1px)); pointer-events:none; }
.product-story__mobile-cards { display:none; }
.product-mobile-card__image { height:220px; overflow:hidden; }
.product-mobile-card__image--style { background:radial-gradient(circle at 62% 45%,#3e3442 0,#110f14 60%); }
.product-mobile-card__image--generation { background:radial-gradient(circle at 66% 44%,#102c50 0,#070b10 58%); }
.product-mobile-card__image--tribri { background:radial-gradient(circle at 60% 45%,#3c3027 0,#100f0e 62%); }
.product-mobile-card__image--xspace { background:radial-gradient(circle at 62% 45%,#1b2743 0,#080b11 60%); }
.product-mobile-card__image img { display:block; width:100%; height:100%; object-fit:cover; }
.product-mobile-card__body { padding:24px 21px 25px; }
.product-mobile-card__body h3 { margin:15px 0 12px; font-size:clamp(36px,11vw,54px); line-height:.92; letter-spacing:-.06em; }
.product-mobile-card__body p { margin:0; color:#c3cdcf; font-size:15px; line-height:1.65; }
.product-mobile-card__body .product-panel__chips { margin-top:18px; }
.product-mobile-card__body .product-panel__link { margin-top:21px; }

.approach { display:block; max-width:1120px; }
.approach__content { max-width:1040px; }
.approach__visual { position:sticky; top:110px; height:590px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#10161b; will-change:transform; }
.approach__visual img { width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.08); }
.approach__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(7,10,13,.75)); }
.approach__visual span { position:absolute; z-index:1; bottom:24px; left:24px; color:#f2f6f2; font:700 10px monospace; letter-spacing:.12em; }
.approach__content h2 { margin-top:20px; }
.approach__lead { max-width:720px; margin:22px 0 48px; color:var(--muted); font-size:21px; line-height:1.65; }
.approach__metrics { display:flex; flex-wrap:wrap; gap:10px 34px; margin:0 0 48px; padding:19px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:#c4cdcf; font:700 14px monospace; letter-spacing:.1em; }
.approach__metrics b { margin-right:8px; color:var(--lime); font-weight:700; }
.process-list { border-top:1px solid var(--line); }
.process-step { display:grid; grid-template-columns:45px 1fr 25px; gap:18px; align-items:start; padding:24px 0; border-bottom:1px solid var(--line); }
.process-step h3 { margin:0 0 7px; font-size:19px; }
.process-step p { margin:0; color:var(--muted); font-size:18px; line-height:1.55; }
.process-step>b { color:var(--lime); font-size:20px; font-weight:400; }
.process-step { cursor:pointer; transition:background .25s ease,padding .28s ease; }
.process-step__body { min-width:0; }
.process-step__detail { max-height:0; overflow:hidden; margin-top:0; color:#c8d1d1; font-size:16px; line-height:1.65; opacity:0; transform:translateY(-7px); transition:max-height .32s ease,margin-top .32s ease,opacity .24s ease,transform .32s ease; }
.process-step.is-open { padding-top:28px; padding-bottom:28px; background:linear-gradient(90deg,rgba(201,255,63,.055),transparent 72%); }
.process-step.is-open .process-step__detail { max-height:220px; margin-top:17px; opacity:1; transform:none; }
.process-step.is-open>b { transform:rotate(45deg); }
.process-step>b { transition:transform .25s ease; }
.services { border-top:1px solid var(--line); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:55px; }
.section-head h2 { margin-top:20px; }
.section-head>p { max-width:420px; margin:0; color:var(--muted); font-size:20px; line-height:1.65; }
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { min-height:230px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.018); transition:background .25s ease,transform .25s ease; }
.service-card:hover { background:rgba(201,255,63,.05); transform:translateY(-3px); }
.service-card h3 { margin:38px 0 12px; font-size:25px; letter-spacing:-.035em; }
.service-card p { margin:0; color:var(--muted); font-size:17px; line-height:1.58; }
.service-card { position:relative; z-index:1; cursor:pointer; }
.service-card__detail { position:absolute; z-index:8; top:calc(100% - 1px); right:-1px; left:-1px; padding:20px 25px 23px; border:1px solid rgba(201,255,63,.3); border-top:0; color:#d7dfdd; background:rgba(12,18,21,.98); box-shadow:0 24px 45px rgba(0,0,0,.35); font-size:16px; line-height:1.65; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px); transition:opacity .24s ease,transform .24s ease,visibility .24s ease; }
.service-card.is-open { z-index:10; background:rgba(201,255,63,.06); }
.service-card.is-open .service-card__detail { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
@media (hover:hover) and (pointer:fine) {
  .process-step:hover .process-step__detail { max-height:220px; margin-top:17px; opacity:1; transform:none; }
  .process-step:hover { background:linear-gradient(90deg,rgba(201,255,63,.055),transparent 72%); }
  .service-card:hover { z-index:10; }
  .service-card:hover .service-card__detail { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
}
.contact { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; border-top:1px solid var(--line); }
.contact h2 { margin-top:20px; }
.contact__intro>p { max-width:430px; margin-top:24px; color:var(--muted); line-height:1.7; }
.feedback-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:30px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel-soft); }
.field { display:grid; gap:8px; }
.field--wide,.consent,.feedback-form>.button,.form-status { grid-column:1/-1; }
.field label { color:var(--muted); font-size:14px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.field input,.field textarea { width:100%; border:1px solid rgba(255,255,255,.14); border-radius:11px; outline:none; padding:14px; color:var(--text); background:rgba(255,255,255,.04); }
.field input:focus,.field textarea:focus { border-color:rgba(201,255,63,.7); }
.field textarea { min-height:140px; resize:vertical; }
.consent { display:flex; align-items:flex-start; gap:9px; color:var(--muted); font-size:16px; line-height:1.5; }
.consent input { margin-top:3px; accent-color:var(--lime); }
.consent a { text-decoration:underline; }
.feedback-form>.button { border:0; cursor:pointer; }
.form-status { margin:0; color:var(--lime); font-size:17px; line-height:1.5; }
.form-status[hidden],.cookie-banner[hidden] { display:none; }
.qoyo-toast { position:fixed; z-index:1000; top:24px; left:50%; width:min(520px,calc(100% - 32px)); padding:18px 48px 18px 20px; border:1px solid rgba(238,205,91,.55); border-radius:18px; background:linear-gradient(135deg,rgba(34,29,13,.98),rgba(12,13,15,.98)); box-shadow:0 18px 55px rgba(0,0,0,.45),0 0 28px rgba(226,191,64,.18); color:#fff8df; opacity:0; transform:translate(-50%,-18px); pointer-events:none; transition:opacity .28s ease,transform .28s ease; }
.qoyo-toast.is-visible { opacity:1; transform:translate(-50%,0); pointer-events:auto; }
.qoyo-toast__title,.qoyo-toast__message { display:block; }
.qoyo-toast__title { color:#f2d36f; font-size:16px; font-weight:700; }
.qoyo-toast__message { margin-top:4px; color:rgba(255,255,255,.78); font-size:14px; line-height:1.45; }
.qoyo-toast__close { position:absolute; top:10px; right:12px; border:0; background:none; color:#f2d36f; font-size:24px; line-height:1; cursor:pointer; }
.site-footer { padding:30px 24px 42px; border-top:1px solid var(--line); color:var(--muted); font-size:15px; }
.site-footer__top,.site-footer__bottom { width:min(100%,var(--max)); margin:0 auto; display:flex; justify-content:space-between; gap:25px; flex-wrap:wrap; }
.site-footer__links { display:flex; flex-wrap:wrap; gap:18px; }
.site-footer__bottom { margin-top:28px; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); font-size:14px; }
.cookie-banner { position:fixed; z-index:30; right:20px; bottom:20px; display:flex; align-items:center; gap:18px; max-width:620px; padding:16px 18px; border:1px solid var(--line); border-radius:16px; color:#dce2ea; background:rgba(12,16,23,.95); box-shadow:0 20px 50px rgba(0,0,0,.35); font-size:16px; line-height:1.45; }
.cookie-banner p { margin:0; }.cookie-banner a { color:var(--lime); }.cookie-banner button { flex:none; border:0; border-radius:999px; padding:11px 16px; color:#080b0e; background:var(--lime); cursor:pointer; font-size:15px; font-weight:800; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease,transform .75s ease; }
.reveal.is-visible { opacity:1; transform:none; }
.reveal.is-visible[data-parallax] { transform:translate3d(0,var(--parallax-y,0),0); }

@media (max-width:1100px) {
  .hero__layout { grid-template-columns:1fr; gap:55px; }.hero__copy { max-width:800px; }.hero__visual { max-width:760px; width:100%; margin:0 auto; }.intro__grid { gap:55px; }.proof-grid { grid-template-columns:repeat(2,1fr); }.proof-grid>div:nth-child(2) { border-right:0; }.proof-grid>div:nth-child(3) { padding-left:0; }.product-story__grid { grid-template-columns:1fr minmax(360px,48vw) 1fr; }.product-story__copy { width:min(500px,48vw); }.approach,.contact { grid-template-columns:1fr; gap:55px; }.approach__visual { position:relative; top:auto; max-width:760px; height:510px; }.contact__intro { max-width:700px; }.services-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .section-shell { width:min(calc(100% - 28px),var(--max)); }.site-header { top:8px; }.site-header__inner { width:min(calc(100% - 28px),var(--max)); }.site-nav,.header-action { display:none; }.menu-toggle { display:block; font-size:0; }.menu-toggle::after { content:'☰'; font-size:20px; }.site-header.is-open .site-nav { position:absolute; top:calc(100% + 8px); left:0; right:0; display:grid; gap:0; padding:8px; border:1px solid var(--line); border-radius:15px; background:rgba(9,12,15,.97); }.site-header.is-open .site-nav a { padding:13px; }.site-header.is-open .header-action { position:absolute; top:220px; left:8px; right:8px; display:flex; }.hero { min-height:auto; padding-top:125px; padding-bottom:75px; }.hero h1 { font-size:clamp(50px,15vw,80px); }.hero__lead { font-size:15px; }.hero__facts { gap:18px; margin-top:40px; }.hero__visual { min-height:430px; padding:11px; }.hero__image { height:350px; }.hero__readout--top { left:8px; top:75px; }.hero__readout--bottom { right:8px; bottom:34px; }.hero__axis--x { right:20px; left:20px; }.hero__axis--y { left:58%; }.scroll-cue { bottom:28px; font-size:8px; }.intro,.approach,.services,.contact { padding-top:92px; padding-bottom:92px; }.intro__grid,.product-story__heading { grid-template-columns:1fr; gap:34px; }.intro__grid { margin-top:25px; }.proof-grid { grid-template-columns:1fr; margin-top:52px; }.proof-grid>div,.proof-grid>div+div { padding:20px 0; border-right:0; }.product-story__intro { padding-top:92px; padding-bottom:55px; }.product-story__heading h2 { font-size:clamp(42px,12vw,62px); font-weight:650; line-height:.98; letter-spacing:-.045em; }.product-story__heading p { max-width:500px; }.product-story__stage { height:420vh; }.product-story__sticky { min-height:100svh; }.product-story__grid { display:block; padding-top:90px; padding-bottom:25px; }.product-story__eyebrow { position:absolute; top:90px; right:14px; left:14px; }.product-story__copy { position:absolute; right:14px; bottom:75px; left:14px; width:auto; }.product-panel { padding:25px 21px 23px; border-radius:18px; }.product-panel h3 { font-size:clamp(40px,13vw,60px); }.product-panel p { font-size:13px; line-height:1.6; }.product-panel__chips { margin-top:19px; }.product-panel__chips span { padding:6px 7px; font-size:8px; }.product-panel__link { margin-top:22px; }.product-story__aside { position:absolute; right:14px; bottom:25px; left:14px; justify-content:space-between; }.product-story__line { flex:1; }.product-scene img { padding:45px 7px 210px; }.product-scene__code { top:155px; right:12px; font-size:8px; }.product-story__gridlines { background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.28) 50%,transparent calc(50% + 1px)); }.approach__visual { height:390px; }.process-step { grid-template-columns:35px 1fr 20px; gap:10px; }.services-grid { grid-template-columns:1fr; }.service-card { min-height:0; padding:23px; }.feedback-form { grid-template-columns:1fr; padding:20px; }.field--wide,.consent,.feedback-form>.button,.form-status { grid-column:auto; }.cookie-banner { right:12px; bottom:12px; left:12px; display:block; }.cookie-banner button { margin-top:12px; }.site-footer__bottom { display:block; }.site-footer__bottom span { display:block; margin-top:8px; }
}
@media (max-width:900px) {
  .eyebrow,.section-kicker { font-size:11px; }
  .hero__visual-top,.hero__readout { font-size:11px; }
  .hero__readout small { font-size:10px; }
  .scroll-cue { font-size:10px; }
  .signal-strip__track { font-size:12px; }
  .intro__copy { font-size:16px; }
  .text-link { font-size:15px; }
  .proof-grid b,.product-panel__index,.process-step>span,.service-card>span { font-size:11px; }
  .proof-grid strong { font-size:19px; }
  .proof-grid span { font-size:15px; }
  .product-story__heading p { font-size:17px; }
  .product-story__eyebrow { font-size:11px; }
  .product-scene__code { font-size:9px; }
  .product-panel p { font-size:16px; }
  .product-panel__chips span { font-size:10px; }
  .product-panel__link { font-size:15px; }
  .product-story__aside { font-size:10px; }
  .approach__lead { font-size:17px; }
  .approach__metrics { font-size:11px; }
  .process-step p { font-size:16px; }
  .section-head>p { font-size:17px; }
  .service-card h3 { font-size:21px; }
  .service-card p { font-size:16px; }
  .field label { font-size:11px; }
  .consent { font-size:14px; }
  .form-status { font-size:15px; }
  .site-footer { font-size:13px; }
  .site-footer__bottom { font-size:12px; }
  .cookie-banner { font-size:14px; }
  .cookie-banner button { font-size:13px; }
}
@media (max-width:1100px) {
  .hero__visual { min-height:0; padding:0; }
  .hero__image { height:clamp(460px,58vw,650px); }
  .hero__image img { width:100%; height:100%; transform:translate(0,-2%); }
}
@media (max-width:900px) {
  .hero h1 { max-width:680px; font-size:clamp(38px,11.2vw,56px); font-weight:620; line-height:1.04; letter-spacing:-.03em; }
  .hero h1 > span { white-space:normal; }
  .hero__lead { font-size:16px; line-height:1.65; }
  .intro h2,.contact h2 { font-size:clamp(38px,11vw,58px); font-weight:650; line-height:1.02; letter-spacing:-.045em; }
  .hero__visual { min-height:0; padding:0; }
  .hero__image { height:clamp(360px,92vw,520px); }
  .hero__image img { width:100%; height:100%; transform:translate(0,-2%); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal,.product-panel,.product-scene { opacity:1; transform:none; transition:none; }.product-scene:not(.is-active),.product-panel:not(.is-active) { opacity:0; }.button,.service-card { transition:none; } }
.site-nav__projects,.site-nav__mobile-cta { display:none; }
@media (max-width:900px) {
  .hero { padding-top:92px; padding-bottom:32px; }
  .hero__layout { gap:20px; }
  .hero__actions { display:none; }
  .hero__facts { display:none; }
  .hero__image { height:clamp(270px,76vw,370px); }
  .product-scene img { padding:0 0 30px; object-position:center top; transform:scale(1.3); transform-origin:center top; }
  .site-header.is-open .site-nav { max-height:calc(100svh - 78px); overflow:auto; }
  .site-header.is-open .header-action { display:none; }
  .site-nav__projects { display:grid; gap:0; margin:7px 0 3px; padding:8px 0 3px; border-top:1px solid var(--line); }
  .site-nav__mobile-label { padding:10px 13px 6px; color:var(--lime); font:700 11px monospace; letter-spacing:.14em; text-transform:uppercase; }
  .site-nav__projects a { padding:11px 13px; color:var(--text); }
  .site-nav__mobile-cta { display:flex; align-items:center; justify-content:space-between; margin:8px 0 0; padding:14px 13px; border-radius:11px; color:#0a0d0f; background:var(--lime); font-weight:800; }
}

@media (max-width:900px) {
  .product-story__stage { display:none; }
  .product-story__mobile-cards { display:grid; gap:18px; padding-bottom:92px; }
  .product-mobile-card { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025)); box-shadow:0 20px 55px rgba(0,0,0,.24); }
  .product-mobile-card__image { height:clamp(210px,58vw,330px); }
  .product-mobile-card__image img { object-fit:cover; }
  .product-mobile-card__body { padding:23px 20px 24px; }
  .product-mobile-card__body h3 { font-size:clamp(36px,11vw,56px); }
  .product-mobile-card__body p { font-size:15px; }
  .product-mobile-card__body .product-panel__chips span { padding:7px 8px; font-size:9px; }
}
