:root{--bg:#fff;--ink:#0a0a0a;--mute:#5c5c5c;--line:#d9d9d9;--acc:#2447ff;--acc-ink:#fff;--hb:#0a0a0a;--hi:#fff;--ha:#7d97ff;
--d:'Bricolage Grotesque','Arial Narrow',Arial,sans-serif;--b:'Instrument Sans',system-ui,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);scroll-behavior:smooth}


*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--b);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.w{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--d);font-weight:800;line-height:.95;letter-spacing:-.025em;margin:0;text-transform:uppercase}
h2{font-size:clamp(2.2rem,6vw,4.6rem)}
.mk{width:1em;height:1em;vertical-align:-.12em;color:var(--acc);flex:none}
.hero .mk{color:var(--ha)}
#prog{position:fixed;top:0;left:0;height:3px;width:0;background:var(--ha);z-index:50}
header{view-transition-name:site-header;position:sticky;top:0;z-index:20;background:var(--hb);color:var(--hi);padding-top:env(safe-area-inset-top,0px)}
header .w{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font:800 1.35rem var(--d);text-decoration:none;letter-spacing:-.02em;display:flex;gap:.35em;align-items:center}
nav{display:flex;gap:26px;align-items:center;font-size:.95rem}
nav>a,.dd>button{text-decoration:none;opacity:.8;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}
nav>a:hover,.dd:hover>button{opacity:1}
.dd{position:relative;padding:20px 0}
.dd .m{display:none;position:absolute;top:100%;left:-16px;min-width:300px;background:var(--hb);border:1px solid #2b2b2b;border-radius:16px;padding:8px}
.dd:hover .m,.dd:focus-within .m{display:block}
.m a{display:block;padding:12px 14px;border-radius:10px;text-decoration:none}.m a:hover{background:#1a1a1a}
.m small{display:block;opacity:.6;font-size:.82rem}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.9em 1.5em;border-radius:99px;background:var(--acc);color:var(--acc-ink);font-weight:600;text-decoration:none;border:0;font:600 1rem var(--b);cursor:pointer}
.btn:hover{filter:brightness(1.1)}.btn.o{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
header .btn{padding:.55em 1.1em;font-size:.9rem;background:var(--ha);color:#000}
@media(max-width:760px){nav>a:not(.btn),.dd{display:none}}
.hero{background:var(--hb);color:var(--hi);position:relative;overflow:hidden}
.hero>*,.dark>*{position:relative}
.hero{padding:clamp(56px,10vw,120px) 0 0}
.hero h1{font-size:clamp(3rem,11.5vw,10.5rem);max-width:12ch}
.hero p{max-width:560px;font-size:1.2rem;color:#cfcfcf;margin:32px 0}
.acts{display:flex;gap:14px;flex-wrap:wrap}
.hero .btn{background:var(--ha);color:#000}.hero .btn.o{background:transparent;color:#fff}
.hero .l{opacity:0;transform:translateY(24px);animation:up .8s cubic-bezier(.2,.7,.2,1) forwards}
.hero .l:nth-child(2){animation-delay:.15s}.hero .l:nth-child(3){animation-delay:.3s}
@keyframes up{to{opacity:1;transform:none}}
.tape{margin-top:clamp(48px,8vw,96px);border-top:1px solid #2b2b2b;overflow:hidden;white-space:nowrap;padding:18px 0}
.tape div{display:inline-block;animation:slide 32s linear infinite;font:500 1.15rem var(--d);color:#bdbdbd}
.tape span{margin:0 28px}
@keyframes slide{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.hero .l{animation:none;opacity:1;transform:none}.tape div{animation:none}html{scroll-behavior:auto}}
section{padding:clamp(64px,9vw,120px) 0}
.sub{color:var(--mute);max-width:560px;margin:20px 0 0}

.probs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:48px;border-top:1.5px solid var(--ink)}
.probs div{padding:24px 24px 28px 0;border-bottom:1px solid var(--line)}
.probs h3{font-size:1.5rem;margin-bottom:10px;text-transform:none;letter-spacing:-.015em;line-height:1.05;display:flex;align-items:center;gap:.5em}.ic{width:1.5em;height:1.5em;flex:none;fill:none;stroke:var(--acc);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.probs p{margin:0;color:var(--mute);font-size:.98rem}
/* growth path */
.path{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;position:relative}
.path::before{content:"";position:absolute;left:0;right:0;top:19px;border-top:2px dashed var(--line)}
.path div{position:relative;padding-top:56px}
.path .dot{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--bg);border:2px solid var(--acc);display:grid;place-items:center;color:var(--acc);font:800 1rem var(--d)}
.path h3{font-size:1.8rem;margin-bottom:8px}.path p{margin:0;color:var(--mute);font-size:.97rem}
@media(max-width:760px){.path{grid-template-columns:1fr}.path::before{display:none}}
/* tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.tile{position:relative;overflow:hidden;min-height:340px;border-radius:22px;padding:28px;background:#0a0a0a;border:1px solid #2b2b2b;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s}
.tile>*{position:relative}.tile:hover{transform:translateY(-4px)}
.tile h3{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:14px 0 10px}.tile p{margin:0;color:#c8c8c8;font-size:.97rem}
.tile .t{font-size:.82rem;border:1px solid #555;border-radius:99px;padding:.2em .8em;align-self:flex-start}
.tile .go{font-weight:600;color:var(--ha);margin-top:18px}
.tile.wide{grid-column:1/-1;min-height:0;flex-direction:row;align-items:center;gap:24px;flex-wrap:wrap}
.tile.wide h3{margin:0 0 6px}
@media(max-width:900px){.tiles{grid-template-columns:1fr}}
/* results */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;margin-top:56px}
.stats b{display:block;font:800 clamp(4rem,9vw,7.5rem)/.9 var(--d);letter-spacing:-.04em;color:var(--acc)}
.stats h3{font-size:1.15rem;text-transform:none;letter-spacing:0;margin:14px 0 6px;line-height:1.2}
.stats p{margin:0;color:var(--mute);font-size:.95rem}
.note{color:var(--mute);font-size:.85rem;margin-top:48px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px}
@media(max-width:860px){.two{grid-template-columns:1fr}}
.two p{margin:0 0 16px}
.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1.5px solid var(--ink)}
.faq summary{display:flex;justify-content:space-between;padding:18px 0;font-weight:600;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1}.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 18px;color:var(--mute)}
.cta{background:var(--acc);color:var(--acc-ink)}
.cta h2{font-size:clamp(2.6rem,8vw,7rem);max-width:14ch}
.cta .mk{color:inherit}.cta .btn{background:var(--acc-ink);color:var(--acc);margin-top:36px}
/* service pages */
.back{display:inline-block;margin-bottom:28px;opacity:.75;text-decoration:none}
.ph h1{font-size:clamp(2.6rem,8vw,6.5rem);max-width:15ch}
.ph .tg{display:inline-block;border:1px solid #555;border-radius:99px;padding:.2em .9em;font-size:.85rem;margin-bottom:20px}
.ph{padding:clamp(48px,8vw,96px) 0 clamp(56px,8vw,96px)}
.ph p.lead{font-size:1.25rem;max-width:600px;color:#cfcfcf;margin:28px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px 56px;margin-top:40px}
@media(max-width:760px){.grid2{grid-template-columns:1fr}}
.blk h3{font-size:1.5rem;margin-bottom:14px}
.blk ul{margin:0;padding-left:1.1em}.blk li{margin-bottom:8px}
.blk.no li{color:var(--mute)}
.big{font-size:clamp(1.5rem,3.2vw,2.4rem);font-family:var(--d);font-weight:500;line-height:1.15;letter-spacing:-.02em;max-width:24ch;margin:20px 0 0}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:40px;counter-reset:s}
.steps div{counter-increment:s;border-top:1.5px solid var(--ink);padding-top:16px}
.steps div::before{content:counter(s,decimal-leading-zero);font:500 1rem var(--d);color:var(--acc)}
.steps h3{font-size:1.5rem;margin:8px 0}.steps p{margin:0;color:var(--mute);font-size:.96rem}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.chips span{border:1.5px solid var(--ink);border-radius:99px;padding:.4em 1em;font-size:.95rem}
/* contact dialog */
dialog{border:0;border-radius:24px;padding:0;width:min(560px,calc(100vw - 24px));background:var(--bg);color:var(--ink);max-height:calc(100dvh - 24px)}
dialog::backdrop{background:rgba(0,0,0,.65)}
dialog .in{padding:32px}
dialog h2{font-size:2.4rem;margin-bottom:8px}
dialog .x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:none;color:inherit;font-size:1.3rem;cursor:pointer}
.ways{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.ways .btn{padding:.6em 1.1em;font-size:.92rem}.ways .btn.o{color:var(--ink)}
form{display:grid;gap:10px}
input,textarea{width:100%;font:inherit;padding:14px 16px;border-radius:12px;border:1.5px solid var(--line);background:transparent;color:inherit}
form .btn{justify-self:start}
footer{padding:28px 0;font-size:.9rem;color:#a3a3a3;background:#0a0a0a}
footer .w{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.tabs{display:flex;gap:8px;position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:15;background:var(--bg);padding:10px max(24px,calc((100vw - 1180px)/2 + 24px));overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{flex:none;text-decoration:none;border:1.5px solid var(--ink);border-radius:99px;padding:.5em 1em;font-size:.92rem;font-weight:600;white-space:nowrap}.tabs a:hover{border-color:var(--acc);color:var(--acc)}.tabs a.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.dark{background:#0a0a0a;color:#fff;border-top:0}.dark .sub{color:#b5b5b5}.dark .path::before{border-top-color:#3a3a3a}.dark .path .dot{background:#0a0a0a;border-color:var(--ha);color:var(--ha)}.dark .path p,.dark .stats p{color:#b5b5b5}.dark .stats b{color:var(--ha)}.dark .note{color:#8d8d8d}.dark .blk.no li,.dark .blk p{color:#b5b5b5}.dark .chips span{border-color:#fff}.dark .blk .big{color:var(--ha)}
[hidden]{display:none!important}

html{background:#0a0a0a}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vo .2s ease both}
::view-transition-new(root){animation:vn .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes vo{to{opacity:0}}
@keyframes vn{from{opacity:0;transform:scale(.985)}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
#fs{margin:0;font-size:.95rem;color:var(--mute)}
