:root{
  color-scheme:light;
  --paper:#F6F7F3; --paper-2:#EDF0E8; --sage:#E3EBD8; --white:#FFFFFF;
  --ink:#101715; --ink-2:#37423D; --muted:#66716B; --line:#D8DDD3;
  --lime:#A6EE1B; --lime-soft:#DDF6A8;
  --deep:#0F1A16; --on-deep:#EAF0E7; --on-deep-muted:#A3B0A8; --line-deep:#26352E;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gutter:clamp(16px,4vw,48px); --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink-2);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0;font-weight:600;letter-spacing:-0.025em;text-wrap:balance}
h1{font-size:clamp(2.7rem,6.4vw,5.3rem);line-height:1.0;letter-spacing:-0.035em}
h2{font-size:clamp(2rem,4.2vw,3.3rem);line-height:1.06}
h3{font-size:1.3rem;line-height:1.2;letter-spacing:-0.015em}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.eyebrow::before{content:"";width:9px;height:9px;background:var(--lime);border:1.5px solid var(--ink);border-radius:2px}
.mark{background:linear-gradient(transparent 63%,var(--lime) 63% 90%,transparent 90%);padding-inline:.05em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.lede{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--ink-2);max-width:56ch}
.mono{font-family:var(--mono)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 24px;border-radius:999px;font:600 15px/1 var(--body);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer}
.btn .arr{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--lime);color:var(--ink);transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}
.btn-primary{background:var(--ink);color:var(--paper);padding-right:14px}
.btn-primary:hover{background:#000}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-lime{background:var(--lime);color:var(--ink);padding-right:14px}
.btn-lime .arr{background:var(--ink);color:var(--lime)}
.btn-lime:hover{background:#B9F54A}
.btn-ghost-light{border-color:#4a5c53;color:var(--on-deep)}
.btn-ghost-light:hover{border-color:var(--on-deep);background:rgba(255,255,255,.06)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(246,247,243,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.brand{display:inline-flex;align-items:center;gap:12px}
.brand img{width:40px;height:40px;border-radius:10px;display:block}
.brand b{font:800 1.05rem/1 var(--display);letter-spacing:.24em;color:var(--ink)}
.nav{display:flex;align-items:center;gap:6px}
.nav>a,.nav .has-menu>a{display:inline-block;padding:10px 14px;font:500 14.5px/1 var(--body);color:var(--ink-2);border-radius:999px;transition:background .2s,color .2s}
.nav>a:hover,.nav .has-menu>a:hover,.nav a.is-active{color:var(--ink);background:var(--paper-2)}
.nav .btn{margin-left:10px;padding:12px 12px 12px 20px;font-size:14px}
.nav>a.btn{display:inline-flex}
.nav a.btn-primary,.nav a.btn-primary:hover{color:var(--paper);background:var(--ink)}
.nav a.btn-primary:hover{background:#000}
.has-menu{position:relative}
.has-menu>a::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.menu{position:absolute;left:50%;top:calc(100% + 10px);width:min(620px,90vw);transform:translate(-50%,6px);opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:4px;box-shadow:0 28px 60px -28px rgba(16,23,21,.35)}
.menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.has-menu:hover .menu,.has-menu:focus-within .menu,.has-menu.open .menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.menu a{display:block;padding:12px 14px;border-radius:12px;transition:background .15s}
.menu a:hover{background:var(--paper)}
.menu a b{display:block;font:600 15px/1.3 var(--display);color:var(--ink)}
.menu a span{display:block;font-size:13px;line-height:1.4;color:var(--muted);margin-top:2px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--white);cursor:pointer;padding:0}
.burger i{display:block;width:18px;height:1.5px;background:var(--ink);margin:5px auto;transition:transform .2s,opacity .2s}
.nav-open .burger i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-open .burger i:nth-child(2){opacity:0}
.nav-open .burger i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-nav{display:none}
@media (max-width:980px){
  .nav{display:none}
  .burger{display:block}
  .nav-open .mobile-nav{display:block;position:fixed;inset:calc(72px + env(safe-area-inset-top,0px)) 0 0 0;background:var(--paper);overflow:auto;padding:12px var(--gutter) 40px;z-index:40}
  .mobile-nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font:600 1.15rem/1.2 var(--display);color:var(--ink)}
  .mobile-nav .sub a{padding:11px 0 11px 16px;font:500 .98rem/1.3 var(--body);color:var(--ink-2)}
  .mobile-nav .btn{margin-top:22px;width:100%;justify-content:center;border:0}
}

/* sections */
.s{padding-block:clamp(64px,9vw,120px)}
.s-tight{padding-block:clamp(40px,6vw,72px)}
.s-alt{background:var(--paper-2);border-block:1px solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 56px;margin-bottom:clamp(32px,5vw,60px)}
.sec-head .lede{max-width:44ch}

/* hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(48px,8vw,104px) clamp(40px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{margin-bottom:26px;font-size:clamp(2.5rem,5.4vw,4.5rem)}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:38px;font:500 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hero-meta span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);border:1px solid var(--ink);margin-right:9px;vertical-align:1px}
.flow-card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:26px;padding:clamp(14px,2vw,22px);box-shadow:0 40px 80px -44px rgba(16,23,21,.35);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:18px 18px}
.flow-card svg{display:block;width:100%;height:auto}
.flow-cap{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fn-box{fill:var(--white);stroke:var(--ink);stroke-width:1.2}
.fn-t{font:600 15.5px var(--display);fill:var(--ink)}
.fn-s{font:400 11.5px var(--mono);fill:var(--muted)}
.fn-dot{fill:var(--lime);stroke:var(--ink);stroke-width:1.2}
.fn-line{fill:none;stroke:#9AA59D;stroke-width:1.4;stroke-dasharray:4 5}
.fn-run{fill:var(--lime);stroke:var(--ink);stroke-width:1.5;offset-path:path("M133 43 H379 Q387 43 387 51 V146 Q387 154 379 154 H141 Q133 154 133 162 V220 Q133 228 141 228 H379 Q387 228 387 236 V294 Q387 302 379 302 H141 Q133 302 133 310 V339");offset-rotate:0deg;animation:run 10s linear infinite}
@keyframes run{0%{offset-distance:0%;opacity:0}6%{opacity:1}94%{opacity:1}100%{offset-distance:100%;opacity:0}}
@media (prefers-reduced-motion:reduce){.fn-run{animation:none;offset-distance:0%;opacity:1}}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}

.trust{border-top:1px solid var(--line);padding-block:26px}
.trust .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px 36px}
.trust p{font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:0 1 auto}
.trust ul{display:flex;flex-wrap:wrap;gap:8px 26px}
.trust li{font:600 1rem/1.3 var(--display);color:var(--ink-2);letter-spacing:-.01em}

/* journey */
.journey{display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.stage{position:relative;padding:34px 22px 8px 0}
.stage::before{content:"";position:absolute;left:0;right:0;top:9px;height:1.5px;background:var(--ink)}
.stage:last-child::before{right:22px}
.stage::after{content:"";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;background:var(--lime);border:1.5px solid var(--ink)}
.stage .n{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stage h3{font-size:1.55rem;margin:8px 0 6px}
.stage p{font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.stage ul{margin-top:14px;display:grid;gap:6px}
.stage li a{font:500 13.5px/1.35 var(--body);color:var(--ink);border-bottom:1px solid var(--lime);padding-bottom:1px}
.stage li a:hover{background:var(--lime-soft)}
@media (max-width:900px){
  .journey{grid-template-columns:1fr;padding-left:6px}
  .stage{padding:0 0 30px 34px}
  .stage::before{left:9px;right:auto;top:20px;bottom:-4px;width:1.5px;height:auto}
  .stage:last-child::before{display:none}
  .stage::after{left:0;top:2px}
}

/* service rows */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) 130px 28px;gap:24px;align-items:center;padding:28px 10px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}
.row:hover{background:linear-gradient(90deg,rgba(166,238,27,.16),transparent 75%);padding-left:22px}
.row h3{font-size:clamp(1.4rem,2.6vw,2rem)}
.row p{font-size:15px;color:var(--ink-2)}
.row .tag{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.row .go{color:var(--ink);transition:transform .25s}
.row:hover .go{transform:translateX(4px)}
@media (max-width:820px){.row{grid-template-columns:1fr;gap:6px;padding:24px 4px}.row:hover{padding-left:4px}.row .go,.row .tag{display:none}}

/* case cards */
.cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:28px 24px}
.case-card{display:flex;flex-direction:column;gap:14px;transition:transform .25s}
.case-card:hover{transform:translateY(-4px)}
.thumb{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--sage);display:grid;place-items:center}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.miniflow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;padding:18px}
.miniflow span{font:500 11px/1 var(--mono);padding:8px 10px;border-radius:999px;background:var(--white);border:1px solid var(--ink);color:var(--ink)}
.miniflow i{width:14px;height:1.5px;background:var(--ink);display:block}
.case-card .meta{font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.case-card h3{font-size:1.5rem}
.case-card p{font-size:14.5px;line-height:1.5}
.case-card .more{font:600 14px/1 var(--body);color:var(--ink);display:inline-flex;gap:8px;align-items:center;border-bottom:1.5px solid var(--lime);padding-bottom:3px;align-self:flex-start}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:500 12.5px/1 var(--body);padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--ink-2)}
button.chip{cursor:pointer;font-family:var(--body)}
button.chip:hover{border-color:var(--ink)}
button.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chip-mono{font-family:var(--mono);font-size:12px;letter-spacing:.02em}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1.5px solid var(--ink)}
.stat{padding:28px 20px 6px 0}
.stat+.stat{padding-left:22px;border-left:1px solid var(--line)}
.stat b{display:block;font:600 clamp(2.6rem,5.5vw,4.4rem)/1 var(--display);letter-spacing:-.04em;color:var(--ink)}
.stat b::after{content:"";display:block;width:34px;height:5px;background:var(--lime);margin-top:12px}
.stat span{display:block;margin-top:12px;font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){padding-left:0;border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line);margin-top:22px}}

/* process */
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px);align-items:start}
.split .sticky{position:sticky;top:110px}
@media (max-width:860px){.split{grid-template-columns:1fr}.split .sticky{position:static}}
.steps{counter-reset:s}
.steps li{position:relative;padding:26px 0 26px 64px;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;top:28px;font:500 13px/1 var(--mono);color:var(--ink);background:var(--lime);border-radius:8px;padding:6px 8px}
.steps h3{margin-bottom:4px}
.steps p{font-size:15.5px}

/* why / value */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.value{padding:22px 24px 8px 0;border-top:1.5px solid var(--ink)}
.value+.value{padding-left:24px}
.value h3{margin-bottom:10px}
.value p{font-size:15px;line-height:1.6}
@media (max-width:980px){.values{grid-template-columns:1fr 1fr;row-gap:36px}.value:nth-child(3){padding-left:0}}
@media (max-width:560px){.values{grid-template-columns:1fr}.value+.value{padding-left:0}}

.stack{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.stack h4{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.stack li{padding:9px 0;border-bottom:1px solid var(--line);font:500 1.02rem/1.3 var(--display);color:var(--ink)}
@media (max-width:820px){.stack{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.stack{grid-template-columns:1fr}}

/* CTA */
.soon{padding-block:clamp(28px,5vw,56px)}
.soon-panel{position:relative;overflow:hidden;background:var(--deep);color:var(--on-deep);border-radius:32px;padding:clamp(32px,6vw,72px);border:1px solid var(--line-deep)}
.soon-panel::before{content:"";position:absolute;left:-10%;top:-40%;width:60%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(166,238,27,.16),transparent 70%);pointer-events:none}
.soon-panel h2{color:var(--on-deep);max-width:18ch;position:relative;margin-top:18px}
.soon-panel .mark{background:linear-gradient(transparent 63%,rgba(166,238,27,.9) 63% 90%,transparent 90%);color:var(--on-deep)}
.soon-panel .lede{color:var(--on-deep-muted);max-width:52ch;margin-top:18px;position:relative}
.soon-panel .btn-row{position:relative;align-items:center;flex-wrap:wrap}
.soon-badge{position:relative;display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);background:rgba(166,238,27,.1);border:1px solid rgba(166,238,27,.35);border-radius:999px;padding:9px 16px}
.soon-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(166,238,27,.6);animation:soon-pulse 1.8s ease-out infinite}
@keyframes soon-pulse{0%{box-shadow:0 0 0 0 rgba(166,238,27,.55)}70%{box-shadow:0 0 0 9px rgba(166,238,27,0)}100%{box-shadow:0 0 0 0 rgba(166,238,27,0)}}
.soon-hint{font:500 13px/1.4 var(--body);color:var(--on-deep-muted)}
.cta{padding-block:clamp(40px,6vw,88px)}
.cta-panel{position:relative;overflow:hidden;background:var(--deep);color:var(--on-deep);border-radius:32px;padding:clamp(32px,6vw,84px)}
.cta-panel::before{content:"";position:absolute;right:-8%;top:-30%;width:70%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(166,238,27,.22),transparent 70%);pointer-events:none}
.cta-panel .wm{position:absolute;right:clamp(-40px,2vw,40px);bottom:-12%;width:min(46%,380px);opacity:.1;pointer-events:none}
.cta-panel h2{color:var(--on-deep);max-width:16ch;position:relative}
.cta-panel .mark{background:linear-gradient(transparent 63%,rgba(166,238,27,.9) 63% 90%,transparent 90%);color:var(--on-deep)}
.cta-panel p{color:var(--on-deep-muted);max-width:46ch;margin-top:20px;position:relative}
.cta-panel .btn-row{position:relative}

/* footer */
.site-foot{border-top:1px solid var(--line);padding-block:56px calc(36px + env(safe-area-inset-bottom,0px))}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;font-size:14.5px}
.foot-grid h4{font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.foot-grid ul{display:grid;gap:9px}
.foot-grid a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px;text-underline-offset:4px}
.foot-grid .about p{margin-top:16px;max-width:34ch;color:var(--ink-2)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:44px;padding-top:20px;border-top:1px solid var(--line);font:400 12px/1.4 var(--mono);color:var(--muted)}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}

/* inner page heroes */
.page-hero{padding-block:clamp(44px,7vw,92px) clamp(28px,4vw,52px)}
.crumbs{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:26px;display:flex;flex-wrap:wrap;gap:8px}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.page-hero h1{font-size:clamp(2.4rem,5.6vw,4.6rem);max-width:18ch}
.page-hero .lede{margin-top:22px}

/* services detail */
.stagebar{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.stagebar span{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:9px 13px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--white)}
.stagebar span.on{background:var(--lime);border-color:var(--ink);color:var(--ink)}
.stagebar small{align-self:center;font:500 12px/1 var(--mono);color:var(--muted);letter-spacing:.06em;margin-right:6px;text-transform:uppercase}
.items{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,5vw,72px)}
.item{padding:24px 0 26px;border-top:1px solid var(--line)}
.item h3{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.item h3::before{content:"";flex:0 0 auto;width:10px;height:10px;background:var(--lime);border:1.5px solid var(--ink);border-radius:2px}
.item p{font-size:15.5px}
@media (max-width:760px){.items{grid-template-columns:1fr}}
.seo-panel{margin-top:clamp(32px,5vw,56px);background:var(--sage);border-radius:26px;padding:clamp(24px,4vw,48px)}
.seo-panel h3{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:22px}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:22px 32px}
.seo-grid b{display:block;font:600 1.02rem/1.3 var(--display);color:var(--ink);margin-bottom:4px}
.seo-grid span{font-size:14.5px;line-height:1.5}
.stat-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(32px,5vw,56px);background:var(--deep);color:var(--on-deep);border-radius:26px;overflow:hidden}
.stat-panel div{padding:clamp(22px,3vw,40px)}
.stat-panel div+div{border-left:1px solid var(--line-deep)}
.stat-panel b{display:block;font:600 clamp(2.4rem,5vw,4rem)/1 var(--display);letter-spacing:-.04em;color:var(--lime)}
.stat-panel span{display:block;margin-top:10px;font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--on-deep-muted)}
@media (max-width:640px){.stat-panel{grid-template-columns:1fr}.stat-panel div+div{border-left:0;border-top:1px solid var(--line-deep)}}
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;font:600 1.15rem/1.35 var(--display);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:18px;font:400 1.6rem/1 var(--mono);color:var(--ink);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 40px 24px 0;max-width:64ch}

/* case study page */
.case-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin-top:34px;border-top:1.5px solid var(--ink)}
.case-meta div{padding:16px 18px 4px 0}
.case-meta div+div{padding-left:18px;border-left:1px solid var(--line)}
.case-meta dt{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.case-meta dd{margin:0;font:600 1.05rem/1.3 var(--display);color:var(--ink)}
.case-meta a{border-bottom:1.5px solid var(--lime)}
.case-stat{margin-top:clamp(28px,4vw,44px);display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.case-stat b{font:600 clamp(3rem,7vw,5.6rem)/1 var(--display);letter-spacing:-.045em;color:var(--ink)}
.case-stat span{font:500 13px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);max-width:26ch}
.sysmap{display:flex;gap:0;counter-reset:m}
.sysmap li{flex:1;position:relative;padding:34px 18px 0 0}
.sysmap li::before{content:"";position:absolute;left:0;right:0;top:9px;height:1.5px;background:var(--ink)}
.sysmap li:last-child::before{right:18px}
.sysmap li::after{content:"";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;background:var(--lime);border:1.5px solid var(--ink)}
.sysmap li b{display:block;font:600 1.15rem/1.25 var(--display);color:var(--ink)}
.sysmap li small{display:block;margin-top:4px;font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.map-panel{background:var(--white);border:1px solid var(--line);border-radius:26px;padding:clamp(22px,3.4vw,44px);margin-top:clamp(28px,4vw,48px)}
.map-panel>.mono{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
@media (max-width:760px){.sysmap{flex-direction:column}.sysmap li{padding:0 0 26px 38px}.sysmap li::before{left:9px;right:auto;top:20px;bottom:-4px;width:1.5px;height:auto}.sysmap li:last-child::before{display:none}.sysmap li::after{top:1px}}
.browser{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 34px 70px -40px rgba(16,23,21,.4)}
.browser .bar{display:flex;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.browser .bar i{width:9px;height:9px;border-radius:50%;background:#c9cfc6}
.browser img{display:block;width:100%;height:auto}
.shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;margin-top:clamp(28px,4vw,48px)}
figure{margin:0}
figcaption{margin-top:12px;font:500 11.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,88px)}
@media (max-width:760px){.two{grid-template-columns:1fr}}
.two h3,.solutions-head{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.plain li{position:relative;padding:14px 0 14px 28px;border-top:1px solid var(--line);font-size:16px}
.plain li:last-child{border-bottom:1px solid var(--line)}
.plain li::before{content:"";position:absolute;left:4px;top:23px;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink)}
.timeline li{position:relative;padding:0 0 26px 44px}
.timeline li::before{content:"";position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:50%;background:var(--lime);border:1.5px solid var(--ink)}
.timeline li::after{content:"";position:absolute;left:9px;top:24px;bottom:-2px;width:1.5px;background:var(--ink)}
.timeline li:last-child::after{display:none}
.timeline b{display:block;font:600 1.15rem/1.35 var(--display);color:var(--ink)}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.checks li{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 18px 18px 52px;position:relative;font-weight:500;color:var(--ink)}
.checks li::before{content:"";position:absolute;left:18px;top:19px;width:22px;height:22px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='%23101715' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.impact{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:var(--deep);color:var(--on-deep);border-radius:30px;overflow:hidden}
.impact>div{padding:clamp(26px,4.4vw,56px)}
.impact .res{border-right:1px solid var(--line-deep)}
.impact h3{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--on-deep-muted);margin-bottom:20px}
.impact li{position:relative;padding:12px 0 12px 30px;font:500 1.15rem/1.4 var(--display);color:var(--on-deep);letter-spacing:-.01em}
.impact li::before{content:"";position:absolute;left:0;top:19px;width:14px;height:14px;border-radius:4px;background:var(--lime)}
.impact blockquote{margin:0;font:500 clamp(1.25rem,2.2vw,1.65rem)/1.35 var(--display);letter-spacing:-.02em;color:var(--on-deep)}
@media (max-width:860px){.impact{grid-template-columns:1fr}.impact .res{border-right:0;border-bottom:1px solid var(--line-deep)}}
.case-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.case-nav a{display:block;border:1px solid var(--line);border-radius:20px;padding:22px 24px;background:var(--white);transition:border-color .2s,transform .2s}
.case-nav a:hover{border-color:var(--ink);transform:translateY(-2px)}
.case-nav small{display:block;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.case-nav b{font:600 1.3rem/1.2 var(--display);color:var(--ink)}
.case-nav a:last-child{text-align:right}
@media (max-width:560px){.case-nav{grid-template-columns:1fr}.case-nav a:last-child{text-align:left}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,4vw,44px)}
.case-card[hidden]{display:none!important}

/* about + team */
.panel-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel-2>div{border-radius:26px;padding:clamp(26px,4vw,52px)}
.panel-2 .v{background:var(--sage);color:var(--ink)}
.panel-2 .m{background:var(--deep);color:var(--on-deep)}
.panel-2 h3{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px;opacity:.75}
.panel-2 p{font:500 clamp(1.3rem,2.4vw,1.85rem)/1.3 var(--display);letter-spacing:-.02em;color:inherit}
@media (max-width:820px){.panel-2{grid-template-columns:1fr}}
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,88px);align-items:center}
.founder img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 15%;border-radius:26px;display:block;border:1px solid var(--line)}
.founder .role{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:14px 0 22px}
.founder p+p{margin-top:14px}
.founder .chips{margin-top:26px}
@media (max-width:820px){.founder{grid-template-columns:1fr}.founder img{max-width:420px}}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:32px 24px}
.member-photo{aspect-ratio:4/5;border-radius:22px;overflow:hidden;border:1px solid var(--line);margin-bottom:18px;background:var(--sage);padding:12px}
.member-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;border-radius:14px;display:block}
.member h3{font-size:1.5rem}
.member .role{font:500 11.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:6px 0 12px}
.member p{font-size:15px;line-height:1.6}
.team-solo{max-width:340px;margin-inline:auto}
.member-solo{text-align:center}
.member-solo .member-photo img{transform:scale(1.16);object-position:center 22%}
.member-solo .role{margin-left:auto;margin-right:auto}

/* get started */
.gs{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:900px){.gs{grid-template-columns:1fr}}
.book{background:var(--white);border:1px solid var(--line);border-radius:28px;padding:clamp(20px,3vw,36px);box-shadow:0 40px 80px -50px rgba(16,23,21,.4)}
.book h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.book-empty{margin-top:22px;border:1.5px dashed var(--ink);border-radius:20px;padding:clamp(24px,4vw,44px);background:var(--paper)}
.book-empty p{max-width:44ch}
.draft-note{margin-top:18px;font:500 11.5px/1.5 var(--mono);color:var(--muted);letter-spacing:.04em}
.contact-list{margin-top:30px;border-top:1px solid var(--line)}
.contact-list li{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.contact-list span{font:500 11.5px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.contact-list a{color:var(--ink);font-weight:600;border-bottom:1.5px solid var(--lime)}
.status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--white);border:1px solid var(--line);padding:12px 16px;border-radius:18px;margin-top:22px}
.dot{width:8px;height:8px;border-radius:50%;background:#B7BEB4}
.dot.open{background:#3DBE6B;box-shadow:0 0 0 4px rgba(61,190,107,.18)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
.form label{display:block;font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.form input,.form select,.form textarea{width:100%;font:400 16px/1.4 var(--body);color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.form textarea{min-height:130px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.call-steps li{padding:18px 0 18px 0;border-top:1px solid var(--line);display:flex;gap:16px}
.call-steps li:last-child{border-bottom:1px solid var(--line)}
.call-steps b{font:600 1.15rem/1.3 var(--display);color:var(--ink);display:block}
.call-steps i{font:500 12px/1 var(--mono);font-style:normal;background:var(--lime);border-radius:8px;padding:6px 8px;height:fit-content;color:var(--ink)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.svc-index{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,72px);padding:44px 0;border-top:1px solid var(--line)}
.svc-index h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.svc-index .tagline{margin:12px 0 22px;font-size:17px;color:var(--ink-2)}
.svc-index .plain li{padding-block:11px;font-size:15.5px}
.svc-index .plain li::before{top:19px}
@media(max-width:820px){.svc-index{grid-template-columns:1fr}}
