@font-face{font-family:'Euclid Flex';src:url('assets/EuclidFlex-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#111;--black:#080808;--paper:#fff;--line:#ddd;--grey:#777;--soft:#666;--gutter:4.5%;--col:80px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.5 'Euclid Flex',sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
h1,h2,h3,p,ol,ul{margin:0;font-weight:400}
ol,ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit;font-weight:400}
button{border:0;background:none;cursor:pointer;padding:0}
a,button{transition:opacity .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a:hover,button:hover{opacity:.6}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:1px solid currentColor;outline-offset:5px}
::selection{background:var(--ink);color:#fff}
[hidden]{display:none!important}
.skip{position:fixed;top:15px;left:-9999px;padding:15px;background:var(--ink);color:#fff;z-index:100}.skip:focus{left:30px}

/* Header */
header{height:96px;margin:0 var(--gutter);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:20}
header .logo{width:230px}
header nav{display:flex;gap:34px;font-size:13px}
header nav a[aria-current=page]{border-bottom:1px solid var(--ink);padding-bottom:3px}
#menu-button{display:none;font-size:12px;gap:14px}
#menu-button span{font-size:16px;line-height:1}
#mobile-nav{position:fixed;inset:0;background:var(--paper);z-index:19;padding:100px 6% 40px;overflow:auto}
#mobile-nav nav{display:flex;flex-direction:column}
#mobile-nav a{font-size:24px;padding:16px 0;border-bottom:1px solid var(--line)}
#mobile-nav a[aria-current=page]{color:var(--grey)}

/* Page heads */
h1{font-size:clamp(26px,2.5vw,38px);letter-spacing:-.02em;line-height:1.3;max-width:680px}
.page-head{padding:70px var(--gutter) 40px;display:grid;grid-template-columns:var(--col) 1fr auto;column-gap:20px;row-gap:14px;align-items:baseline}
.page-head>span{color:var(--grey);font-size:11px;padding-top:14px}
.page-head p{grid-column:2;font-size:14px;color:var(--soft);max-width:560px}
.page-head .switch{grid-column:3;grid-row:1}
.body{padding:0 var(--gutter) 90px}

/* Lab */
.intro{padding:56px var(--gutter);display:grid;grid-template-columns:1fr 280px;gap:60px;align-items:end}
.intro>p{font-size:14px;color:var(--soft)}
.exp-index{font-size:13px}
.exp-index a{display:flex;gap:28px;padding:10px 0;border-top:1px solid var(--line)}
.exp-index li:last-child a{border-bottom:1px solid var(--line)}
.exp-index span,.exp-head>span{color:var(--grey);font-size:11px;padding-top:2px}
.exp{padding:64px var(--gutter);border-top:1px solid var(--line)}
.exp-head{display:grid;grid-template-columns:var(--col) 1fr auto;gap:20px;align-items:baseline;margin-bottom:24px}
.exp-head h2{font-size:22px;letter-spacing:-.015em}
.exp-head p{font-size:12px;color:var(--grey)}
.exp-body{display:grid;grid-template-columns:1fr 300px;border:1px solid var(--line)}
.screen{position:relative;min-height:460px;overflow:hidden}
.screen.dark{background:var(--black)}
.screen.light{background:var(--paper);border-right:1px solid var(--line)}
.screen canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
#span-canvas{cursor:crosshair}#span-canvas.grab{cursor:grab}#span-canvas.grabbing{cursor:grabbing}
.panel{padding:28px;font-size:11px;display:flex;flex-direction:column}
.panel label{display:block}
.panel label.range{margin-top:22px;display:grid;grid-template-columns:1fr auto;row-gap:10px}
.panel label.range input{grid-column:1/3}
.panel input:not([type=range]){display:block;border:0;border-bottom:1px solid #ccc;border-radius:0;background:transparent;width:100%;padding:12px 0;font-size:16px;margin-top:4px}
.panel input[type=range]{width:100%;accent-color:var(--ink);margin:0}
.panel .spec{font-size:10px;color:var(--grey);margin-top:26px}
.panel .actions{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:28px}
.panel .actions button{font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:4px}

/* Clients */
#client-list{border-bottom:1px solid var(--line)}
#client-list li{display:grid;grid-template-columns:var(--col) minmax(0,1fr) minmax(0,38%);gap:20px;align-items:center;height:62px;border-top:1px solid var(--line);outline-offset:-1px}
#client-list .n{font-size:11px;color:var(--grey)}
#client-list .name{font-size:19px;letter-spacing:-.015em;white-space:nowrap;transform-origin:left center;transform:scale(var(--s,1));transition:transform .35s cubic-bezier(.2,.7,.2,1)}
#client-list .scope{font-size:12px;color:var(--soft);opacity:0;transition:opacity .3s}
#client-list li.active .scope,#client-list li:focus .scope{opacity:1}
#client-list li.active .n{color:var(--ink)}

/* Services and consulting */
.capabilities{border-bottom:1px solid var(--line)}
.capabilities>li{display:grid;grid-template-columns:var(--col) minmax(0,1fr) minmax(0,1fr);gap:20px;padding:26px 0 30px;border-top:1px solid var(--line)}
.capabilities .n{font-size:11px;color:var(--grey);padding-top:6px}
.capabilities h2{font-size:20px;letter-spacing:-.015em}
.capabilities ul{font-size:13px;line-height:1.5}
.capabilities ul li+li{margin-top:9px}
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--ink);padding:26px 0 70px}
.terms span{font-size:11px;color:var(--grey)}
.terms p{font-size:14px;line-height:1.65;margin-top:12px;max-width:360px}
.terms .fee{font-size:clamp(26px,2.5vw,38px);letter-spacing:-.02em;line-height:1.2;margin-top:8px}
.cross{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:40px;font-size:14px}
.cross>a:not(.button){border-bottom:1px solid var(--ink);padding-bottom:4px}
.button{background:var(--ink);color:#fff;padding:14px 20px;display:inline-flex;gap:80px;justify-content:space-between;font-size:12px}

/* Insights */
.filters{display:flex;gap:26px;margin-bottom:22px;font-size:11px}
.filters button{color:var(--grey);font-size:11px;padding:4px 0}
.filters button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid var(--ink)}
#insight-list{border-bottom:1px solid var(--line)}
#insight-list li>*{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,26%) 24px;gap:20px;padding:22px 0;border-top:1px solid var(--line);align-items:baseline}
#insight-list .type,#insight-list .where{font-size:11px;color:var(--grey)}
#insight-list .title{font-size:18px;letter-spacing:-.01em;line-height:1.4}
.empty{font-size:13px;color:var(--grey);border-top:1px solid var(--line);padding-top:22px}

/* About */
.about-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding:28px 0 50px}
.about-row h2{font-size:20px;letter-spacing:-.015em}
.about-row p{font-size:15px;line-height:1.7;max-width:560px}
.about-row p+p{margin-top:16px}
.about-row .links{display:flex;gap:30px;font-size:13px;margin-top:28px}
.about-row .links a{border-bottom:1px solid var(--ink);padding-bottom:4px}

/* Contact */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);padding-top:30px}
.email-link{display:inline-block;font-size:20px;letter-spacing:-.01em;border-bottom:1px solid var(--ink);padding-bottom:6px}
form label{display:block;font-size:11px}
form>label:not(:first-child),.form-row{margin-top:24px}
form input,form textarea,form select{width:100%;border:0;border-bottom:1px solid #ccc;border-radius:0;background:none;padding:10px 0;font-size:15px;resize:vertical}
form select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23111'/%3E%3C/svg%3E") no-repeat right center;cursor:pointer}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}
form button[type=submit]{margin-top:26px;background:var(--ink);color:#fff;padding:14px 20px;display:flex;gap:80px;justify-content:space-between;font-size:12px}
form button:disabled{opacity:.4}
#form-status{font-size:12px;line-height:1.6;margin-top:15px}
#form-status a{text-decoration:underline}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Footer */
footer{padding:40px var(--gutter) 34px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center}
footer>a{display:block;width:200px}
footer nav{display:flex;justify-content:flex-end;gap:26px;font-size:12px;flex-wrap:wrap}
footer>div{grid-column:1/3;border-top:1px solid var(--line);padding-top:22px;display:flex;gap:30px;font-size:10px;color:var(--grey)}
footer>div>span:first-child{margin-right:auto}
footer button{font-size:10px;color:var(--grey)}

dialog{width:100%;height:100dvh;max-width:none;max-height:none;inset:0;border:0;margin:0;padding:0;background:var(--paper);color:var(--ink);overscroll-behavior:contain}
dialog::backdrop{background:#0009}
.close-dialog{position:fixed;top:25px;right:var(--gutter);background:var(--ink);color:#fff;padding:12px 20px;font-size:12px}
.privacy-content{max-width:720px;padding:100px 7%}
.privacy-content h2{font-size:28px;margin-bottom:30px}
.privacy-content p{font-size:14px;line-height:1.8;margin-bottom:20px}

@media(max-width:1050px){:root{--col:60px}.exp-body{grid-template-columns:1fr 260px}.intro{grid-template-columns:1fr 240px}header nav{gap:24px}header .logo{width:200px}.terms{gap:28px}}
@media(max-width:860px){header>nav{display:none}#menu-button{display:flex}}
@media(max-width:700px){
:root{--gutter:6%;--col:44px}
header{height:72px}header .logo{width:150px}
h1{font-size:26px;line-height:1.35}
.intro{display:block;padding:44px var(--gutter) 48px}.exp-index{margin-top:36px}
.page-head{padding:44px var(--gutter) 40px;row-gap:12px}.page-head>span{padding-top:10px}.page-head p{font-size:13px}
.body{padding-bottom:60px}
.exp{padding:44px var(--gutter)}
.exp-head{row-gap:6px;grid-template-columns:var(--col) 1fr}.exp-head p{grid-column:2}
.exp-body{grid-template-columns:1fr}.screen{min-height:300px}.screen.light{border-right:0;border-bottom:1px solid var(--line)}
.panel{padding:22px}
#client-list li{grid-template-columns:var(--col) 1fr;height:auto;padding:16px 0;row-gap:4px}
#client-list .name{font-size:17px;white-space:normal;transform:none}
#client-list .scope{grid-column:2;opacity:1;font-size:11px}
.capabilities>li{grid-template-columns:var(--col) 1fr;row-gap:14px;padding:22px 0 26px}
.capabilities h2{font-size:18px}.capabilities ul{grid-column:2;font-size:12px}
.terms{grid-template-columns:1fr;gap:26px;padding-bottom:50px}
.cross{flex-direction:column;align-items:flex-start;gap:18px;font-size:13px}
#insight-list li>*{grid-template-columns:1fr 20px;gap:6px 12px}#insight-list .type{grid-column:1/3}#insight-list .title{font-size:16px;grid-column:1}#insight-list .where{grid-column:1}#insight-list .arrow{grid-column:2;grid-row:2}
.about-row{grid-template-columns:1fr;gap:18px;padding:24px 0 36px}.about-row p{font-size:14px}
.contact-layout{grid-template-columns:1fr;gap:36px}.email-link{font-size:17px}.form-row{gap:20px}
footer{display:block}footer nav{justify-content:flex-start;gap:14px 20px;margin-top:26px}footer>div{margin-top:26px;flex-wrap:wrap;gap:14px 22px}footer>div>span:first-child{flex-basis:100%}
.privacy-content{padding:90px 6%}.close-dialog{right:6%;top:20px}}
@media(hover:none){#client-list .scope{opacity:1}#client-list .name{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}#client-list .name{transform:none}}

/* ---------- Interactive system ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.touch-only{display:none}
@media(hover:none),(pointer:coarse){.fine-only{display:none}.touch-only{display:inline}}
.hero{position:relative;height:min(86vh,820px);min-height:460px;background:var(--black);color:#fff;margin-top:-1px}
.hero canvas,.stage canvas{display:block;width:100%;touch-action:pan-y}
.hero canvas{position:absolute;inset:0;height:100%}
.stage{position:relative;border:1px solid var(--line);overflow:hidden;background:var(--black)}
.stage canvas.tall{height:min(76vh,720px);min-height:420px}
.stage canvas.mid{height:min(52vh,480px);min-height:300px}
.stage canvas.short{height:min(44vh,380px);min-height:260px}
.stage:has(canvas.light){background:var(--paper)}
.hud{position:absolute;font-size:10px;color:#888;pointer-events:none;letter-spacing:.01em}
.hero .hud{color:#9a9a9a}
.hud.tl{top:18px;left:20px}.hud.tr{top:18px;right:20px;text-align:right}.hud.bl{bottom:18px;left:20px}.hud.br{bottom:18px;right:20px}
.stage .hud.bl{bottom:16px}
.hud-button{position:absolute;top:14px;right:16px;font-size:11px;color:#fff;border-bottom:1px solid #fff;padding:2px 0}
canvas.grab{cursor:grab}canvas.grabbing{cursor:grabbing}
.controls{display:flex;gap:28px;padding:18px 0 0;font-size:12px;flex-wrap:wrap}
.controls button{border-bottom:1px solid transparent;padding-bottom:3px;color:var(--soft)}
.controls button:hover,.controls button[aria-pressed=true]{color:var(--ink);border-color:var(--ink);opacity:1}
.controls.wrap{gap:12px 26px}
.controls .hint{margin-left:auto;font-size:11px;color:var(--grey)}
.info{bottom:16px}
.switch{display:flex;gap:20px;font-size:12px}
.switch button{color:var(--grey);padding:3px 0;border-bottom:1px solid transparent}
.switch button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}
.info{position:absolute;left:16px;bottom:44px;width:min(360px,calc(100% - 32px));background:var(--paper);border:1px solid var(--ink);padding:18px 40px 18px 18px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s,transform .25s}
.info.right{left:auto;right:16px;top:16px;bottom:auto;width:min(300px,calc(100% - 32px))}
.info.on{opacity:1;transform:none;pointer-events:auto}
.info>span{font-size:10px;color:var(--grey)}
.info p:first-of-type{font-size:18px;letter-spacing:-.01em;margin-top:6px}
.info p+p{font-size:12px;color:var(--soft);margin-top:8px;line-height:1.6}
.info ul{margin-top:12px;font-size:12px;line-height:1.5}.info ul li+li{margin-top:6px}
.info>button{position:absolute;top:10px;right:14px;font-size:18px}
#clients-index{border-top:1px solid var(--line)}
.terms{border-top:0;padding-top:40px}
.groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding-top:26px}
.groups [role=tablist]{display:flex;flex-direction:column;align-items:flex-start}
.groups [role=tab]{font-size:20px;letter-spacing:-.015em;padding:8px 0;color:#aaa;display:flex;gap:22px;align-items:baseline;text-align:left}
.groups [role=tab] span{font-size:11px}
.groups [role=tab][aria-selected=true]{color:var(--ink)}
#group-list{font-size:14px}
#group-list li{display:flex;gap:22px;padding:12px 0;border-bottom:1px solid var(--line)}
#group-list li:first-child{border-top:1px solid var(--line)}
#group-list span{font-size:10px;color:var(--grey);padding-top:4px}
.about{margin-top:50px}
#insight-filters{margin-top:40px}#insight-list,#insight-empty{margin-top:0}.empty{margin-top:40px}
.contact-layout{margin-top:40px}
.cross{border-top:1px solid var(--line);margin-top:50px}

/* Page transition */
.veil{position:fixed;inset:0;z-index:90;display:grid;grid-template-columns:repeat(12,1fr);pointer-events:none}
.veil i{background:var(--black);transform:scaleY(1);transform-origin:top;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.veil.open i{transform:scaleY(0)}
.veil.closing i{transform:scaleY(1);transform-origin:bottom}
.veil i:nth-child(1){transition-delay:0ms}.veil i:nth-child(2){transition-delay:20ms}.veil i:nth-child(3){transition-delay:40ms}.veil i:nth-child(4){transition-delay:60ms}.veil i:nth-child(5){transition-delay:80ms}.veil i:nth-child(6){transition-delay:100ms}.veil i:nth-child(7){transition-delay:120ms}.veil i:nth-child(8){transition-delay:140ms}.veil i:nth-child(9){transition-delay:160ms}.veil i:nth-child(10){transition-delay:180ms}.veil i:nth-child(11){transition-delay:200ms}.veil i:nth-child(12){transition-delay:220ms}
.progress{position:fixed;top:0;left:0;right:0;height:1px;background:var(--ink);transform-origin:left;transform:scaleX(0);z-index:80;mix-blend-mode:difference;background:#fff}

/* Cursor */
html.has-cursor,html.has-cursor *{cursor:none!important}
html.has-cursor input,html.has-cursor textarea{cursor:text!important}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:100;mix-blend-mode:difference;opacity:0;transition:opacity .2s}
html.cursor-on .cursor-dot,html.cursor-on .cursor-ring{opacity:1}
.cursor-dot{width:4px;height:4px;margin:-2px 0 0 -2px;background:#fff;border-radius:50%}
.cursor-ring{width:30px;height:30px;margin:-15px 0 0 -15px;border:1px solid #fff;border-radius:50%;transition:opacity .2s,border-color .2s}
.cursor-ring span{position:absolute;left:36px;top:9px;font-size:8px;color:#fff;white-space:nowrap;letter-spacing:.04em;transition:opacity .2s}
.cursor-ring.lock span,.cursor-ring.text span{opacity:0}
.cursor-ring.text{opacity:.3}
.cursor-ring.down{border-width:2px}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].in{opacity:1;transform:none}

@media(max-width:700px){
.hero{height:78vh;min-height:420px}
.page-head{grid-template-columns:var(--col) 1fr;padding:40px var(--gutter) 28px}.page-head .switch{grid-column:2;grid-row:auto}
.stage canvas.tall{height:68vh;min-height:380px}.stage canvas.mid{height:44vh}.stage canvas.short{height:36vh;min-height:240px}
.intro>p{font-size:13px}
.groups{grid-template-columns:1fr;gap:20px}.groups [role=tablist]{flex-direction:row;flex-wrap:wrap;gap:6px 18px}.groups [role=tab]{font-size:15px;gap:8px}
.info.right{top:auto;bottom:16px;right:16px}
.controls{gap:16px 22px}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}.veil{display:none}}

.terms.four{grid-template-columns:1.3fr .9fr 1fr 1fr;gap:36px}
.terms .fee-alt{font-size:14px;color:var(--soft);margin-top:10px}
@media(max-width:1050px){.terms.four{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.terms.four{grid-template-columns:1fr}}

.promise{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:56px 0 20px;align-items:end}
.promise .big{font-size:clamp(24px,2.4vw,36px);letter-spacing:-.02em;line-height:1.3;max-width:620px}
.promise p:not(.big){font-size:15px;line-height:1.7;color:var(--soft);max-width:520px}
@media(max-width:700px){.promise{grid-template-columns:1fr;padding-top:40px}.promise p:not(.big){font-size:14px}}
.nw{white-space:nowrap}

/* Consulting */
.c-hero{padding:70px var(--gutter) 0}
.c-kicker{font-size:12px;color:var(--grey);display:flex;gap:20px;margin-bottom:26px}
.c-hero h1{font-size:clamp(30px,3.4vw,52px);line-height:1.18;letter-spacing:-.025em;max-width:900px}
.c-sub{font-size:clamp(15px,1.25vw,19px);line-height:1.6;color:var(--soft);max-width:760px;margin-top:26px}
.c-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:30px;align-items:start;border-top:1px solid var(--ink);margin-top:56px;padding:24px 0 0}
.c-facts span{font-size:11px;color:var(--grey)}
.c-facts p{font-size:clamp(20px,1.8vw,28px);letter-spacing:-.015em;margin-top:8px}
.c-facts small{display:block;font-size:12px;color:var(--soft);margin-top:4px}
.c-sec{padding:96px var(--gutter) 0}
.c-head{display:flex;justify-content:space-between;align-items:baseline;gap:30px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:0}
.c-head h2{font-size:clamp(22px,2vw,30px);letter-spacing:-.02em}
.c-head p{font-size:12px;color:var(--grey)}
.c-problems{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.plist li{border-bottom:1px solid var(--line)}
.plist button{width:100%;display:grid;grid-template-columns:44px 150px minmax(0,1fr);gap:16px;align-items:baseline;padding:20px 0;text-align:left;color:#9a9a9a;transition:color .2s,padding .3s}
.plist button:hover{opacity:1;color:var(--ink)}
.plist .n{font-size:10px}
.plist .pname{font-size:13px}
.plist .pq{font-size:17px;line-height:1.4;letter-spacing:-.01em}
.plist button[aria-pressed=true]{color:var(--ink);padding-left:12px;box-shadow:inset 2px 0 0 var(--ink)}
.ppanel{position:sticky;top:24px;padding-top:20px;scroll-margin-top:20px}
.ppanel canvas{height:300px}
.pdetail{padding-top:24px}
.pdetail .label{font-size:11px;color:var(--grey);margin-top:18px}
.pdetail .label:first-child{margin-top:0}
.outcome{font-size:19px;line-height:1.45;letter-spacing:-.01em;margin-top:8px;max-width:560px}
#group-list{font-size:13px;margin-top:8px}
#group-list li{display:flex;gap:18px;padding:9px 0;border-bottom:1px solid var(--line)}
#group-list li:first-child{border-top:1px solid var(--line)}
#group-list span{font-size:10px;color:var(--grey);padding-top:3px}
.c-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;padding-top:28px}
.c-grid article>span{font-size:10px;color:var(--grey)}
.c-grid h3{font-size:18px;letter-spacing:-.01em;margin:14px 0 10px;line-height:1.3}
.c-grid p{font-size:13px;line-height:1.7;color:var(--soft)}
.c-why{background:var(--black);color:#fff;margin-top:96px;padding-bottom:90px}
.c-why .c-head{border-color:#333}.c-why .c-grid p{color:#aaa}.c-why .c-grid article>span{color:#777}
.c-why+.c-sec{padding-top:90px}
.c-end{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:96px}
.c-end>div{border-top:1px solid var(--ink);padding-top:22px;flex:1}
.c-end h2{font-size:clamp(22px,2vw,30px);letter-spacing:-.02em}
.c-end p{font-size:13px;color:var(--soft);margin-top:8px}
.c-end .button{align-self:flex-end}
@media(max-width:900px){.c-problems{grid-template-columns:1fr;gap:10px}.ppanel{position:static}.c-grid{grid-template-columns:1fr 1fr}.c-facts{grid-template-columns:1fr 1fr}.c-cta{grid-column:1/-1}}
@media(max-width:700px){.c-hero{padding-top:40px}.c-facts{margin-top:36px;gap:22px}.c-sec{padding-top:64px}.plist button{grid-template-columns:30px minmax(0,1fr);row-gap:4px}.plist .pq{grid-column:2;font-size:15px}.c-grid{grid-template-columns:1fr;gap:28px}.c-why{margin-top:64px;padding-bottom:60px}.c-end{flex-direction:column;align-items:flex-start;padding-bottom:64px}.c-end>div{width:100%}.c-head{flex-direction:column;gap:6px}.ppanel canvas{height:240px}}
@media(max-width:700px){.c-facts>div:first-child{grid-column:1/-1}}
.c-cta{align-self:center}
.c-stage{margin-top:56px}
.c-stage+.c-facts{margin-top:0;border-top:0}
.ppanel{top:40px}
.ppanel .pdetail{padding-top:0}
