@font-face{font-family:manrope;src:url(/_next/static/media/16cc43ab5736c967-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:manrope;src:url(/_next/static/media/d3c7507158f8c99e-s.p.woff2) format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:manrope;src:url(/_next/static/media/8b37a3177973c49c-s.p.woff2) format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:manrope;src:url(/_next/static/media/e7c69827f337c18f-s.p.woff2) format("woff2");font-display:swap;font-weight:800;font-style:normal}@font-face{font-family:manrope Fallback;src:local("Arial");ascent-override:102.74%;descent-override:28.91%;line-gap-override:0.00%;size-adjust:103.76%}.__className_410299{font-family:manrope,manrope Fallback}.__variable_410299{--font-sans:"manrope","manrope Fallback"}@font-face{font-family:plexMono;src:url(/_next/static/media/9fd53ab2f8808090-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:plexMono;src:url(/_next/static/media/75cd18d1666c83fe-s.p.woff2) format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:plexMono Fallback;src:local("Arial");ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.00%;size-adjust:131.49%}.__className_916c3e{font-family:plexMono,plexMono Fallback}.__variable_916c3e{--font-mono:"plexMono","plexMono Fallback"}:root{--petrol:#0F2E3D;--deep:#081C26;--signal:#2BD98A;--signal-dark:#17A86A;--slate:#5C6B73;--rung:#9FB3BC;--mist:#F3F6F7;--line:#D5DDE0;--paper:#fff;--sans:var(--font-sans),system-ui,-apple-system,sans-serif;--mono:var(--font-mono),ui-monospace,monospace;--gut:clamp(22px,5vw,72px)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--petrol);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.035em;line-height:1.03}p{margin:0 0 1em}a{color:inherit}:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:2px}.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gut)}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:var(--signal);color:var(--petrol);padding:10px 16px;border-radius:4px;font-weight:700}header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--deep);color:#fff}.hdr{justify-content:space-between;gap:24px;padding:16px 0}.hdr,.hdr .mark{display:flex;align-items:center}.hdr .mark{text-decoration:none}.hdr .mark svg{height:42px;width:auto;display:block}.hdr nav{display:flex;align-items:center;gap:30px}.hdr nav a{color:var(--rung);text-decoration:none;font-size:15px;font-weight:500}.hdr nav a:hover{color:#fff}.btn{display:inline-block;background:var(--signal);color:var(--petrol);font-weight:700;font-size:15px;padding:11px 18px;border-radius:4px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}.btn:hover{background:#3EE79A}.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px #fff;background:transparent}@media(max-width:860px){.hdr nav a:not(.btn){display:none}}.hero{background:var(--deep);color:#fff;padding:clamp(56px,9vw,110px) 0 clamp(64px,10vw,120px)}.hero .cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,6vw,80px);gap:clamp(32px,6vw,80px);align-items:center}.hero h1{font-size:clamp(34px,4.6vw,60px);max-width:16ch}.hero .sub{color:var(--rung);font-size:clamp(17px,1.5vw,20px);max-width:44ch;margin:26px 0 34px;line-height:1.55}.hero .acts{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.hero .note{font-family:var(--mono);font-size:12.5px;color:#4E6B78;margin-top:26px;letter-spacing:.02em}@media(max-width:900px){.hero .cols{grid-template-columns:1fr}}.diagram{width:100%;height:auto;overflow:visible}.diagram .node rect{fill:#0F2E3D;stroke:#274653;stroke-width:1.5}.diagram .node text{font-family:var(--mono);font-size:11.5px;fill:#C9D8DE;letter-spacing:.02em}.diagram .link{stroke:var(--signal);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw .85s cubic-bezier(.22,.61,.36,1) forwards;animation-delay:var(--d)}.diagram .bead{fill:var(--signal);opacity:0;animation:pop .3s ease forwards;animation-delay:var(--d)}.diagram .core{fill:#0F2E3D;stroke:var(--signal);stroke-width:2.5}.diagram .corelab{font-family:var(--sans);font-weight:800;font-size:16px;fill:#fff;letter-spacing:-.02em;stroke:none}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{to{opacity:1}}@media(prefers-reduced-motion:reduce){.diagram .link{animation:none;stroke-dashoffset:0}.diagram .bead{animation:none;opacity:1}}.question{background:var(--signal);color:var(--petrol);padding:clamp(44px,6vw,72px) 0}.question p{font-size:clamp(24px,3.4vw,42px);font-weight:800;letter-spacing:-.035em;line-height:1.12;max-width:20ch;margin:0}.question span{display:block;font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:.06em;margin-top:20px;opacity:.72;max-width:52ch;line-height:1.6}.sec{padding:clamp(64px,9vw,120px) 0}.sec.mist{background:var(--mist)}.sec.dark{background:var(--petrol);color:#fff}.sec h2{font-size:clamp(30px,4vw,50px);max-width:17ch}.sec .intro{font-size:clamp(17px,1.5vw,19px);color:var(--slate);max-width:56ch;margin-top:22px}.sec.dark .intro{color:var(--rung)}.symp{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,6vw,72px);gap:clamp(32px,6vw,72px);align-items:start}@media(max-width:860px){.symp{grid-template-columns:1fr}}.symp ul{list-style:none;margin:0;padding:0}.symp li{padding:18px 0 18px 34px;border-top:1px solid var(--line);position:relative;font-size:17px}.symp li:last-child{border-bottom:1px solid var(--line)}.symp li:before{content:"";position:absolute;left:0;top:26px;width:9px;height:9px;border-radius:50%;background:var(--petrol)}.symp li:after{content:"";position:absolute;left:4px;top:35px;height:calc(100% - 26px);width:1.5px;background:var(--line)}.symp li:last-child:after{display:none}.steps{margin-top:clamp(36px,5vw,60px);position:relative}.step{display:grid;grid-template-columns:64px 1fr;grid-gap:clamp(20px,3vw,40px);gap:clamp(20px,3vw,40px);padding-bottom:clamp(34px,5vw,54px)}.step .rail{position:relative}.step .rail b{display:block;width:20px;height:20px;border-radius:50%;background:var(--signal);margin:6px auto 0}.step .rail i{position:absolute;top:26px;bottom:-8px;left:50%;width:2.5px;margin-left:-1.25px;background:linear-gradient(var(--signal),rgba(43,217,138,.35))}.step:last-child{padding-bottom:0}.step:last-child .rail i{display:none}.step .n{font-family:var(--mono);font-size:12px;color:var(--rung);letter-spacing:.08em;display:block;text-align:center;margin-top:8px}.step h3{font-size:clamp(22px,2.4vw,30px);margin-bottom:10px}.step p{color:var(--rung);max-width:58ch;margin:0}.step .ex{font-family:var(--mono);font-size:13px;color:#7FA5B3;margin-top:14px;padding-left:14px;border-left:2px solid #274653;line-height:1.7}@media(max-width:640px){.step{grid-template-columns:40px 1fr}.step .rail b{width:16px;height:16px}.step .n{display:none}}.strands{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:clamp(32px,4vw,48px)}.strands div{background:var(--paper);padding:30px 26px}.strands h3{font-size:21px;margin-bottom:8px}.strands p{font-size:15.5px;color:var(--slate);margin:0}.strands svg{display:block;margin-bottom:18px}@media(max-width:900px){.strands{grid-template-columns:1fr 1fr}}@media(max-width:560px){.strands{grid-template-columns:1fr}}.growth{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(32px,6vw,80px);gap:clamp(32px,6vw,80px);align-items:center}@media(max-width:860px){.growth{grid-template-columns:1fr}}.growth .claim{font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:-.035em;line-height:1.14;margin:0}.growth .claim em{font-style:normal;color:var(--signal)}.before-after{border:1px solid rgba(255,255,255,.14);border-radius:6px;overflow:hidden}.before-after div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:18px;gap:18px;padding:20px 24px}.before-after div+div{border-top:1px solid rgba(255,255,255,.14)}.before-after .was{color:var(--rung);font-size:15.5px}.before-after .now{font-weight:700;font-size:15.5px}.before-after .arw{width:26px;height:2px;background:var(--signal);position:relative}.before-after .arw:after{content:"";position:absolute;right:0;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--signal)}.about{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:clamp(32px,6vw,72px);gap:clamp(32px,6vw,72px);align-items:start}@media(max-width:860px){.about{grid-template-columns:1fr}}.about p{max-width:60ch;color:var(--slate)}.about .facts{list-style:none;margin:26px 0 0;padding:0;font-family:var(--mono);font-size:13.5px;color:var(--slate);line-height:2}.about .facts li{border-top:1px solid var(--line);padding-top:6px;margin-top:6px}.contact{background:var(--deep);color:#fff;padding:clamp(64px,9vw,110px) 0}.contact .cols{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(32px,6vw,80px);gap:clamp(32px,6vw,80px);align-items:start}@media(max-width:860px){.contact .cols{grid-template-columns:1fr}}.contact h2{font-size:clamp(30px,4vw,48px);max-width:15ch}.contact p{color:var(--rung);max-width:46ch;margin-top:22px}.card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:clamp(24px,3vw,34px)}.card h3{font-size:19px;margin-bottom:14px}.card ol{margin:0;padding-left:20px;color:var(--rung);font-size:15.5px;line-height:1.9}.card .line{display:block;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-family:var(--mono);font-size:14px}.card .line a{color:var(--signal);text-decoration:none}.card .line a:hover{text-decoration:underline}footer{background:var(--deep);color:#4E6B78;border-top:1px solid rgba(255,255,255,.1);padding:26px 0 34px;font-family:var(--mono);font-size:12.5px}footer .row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}footer svg{height:26px;width:auto;opacity:.8}.work{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px;margin-top:clamp(32px,4vw,48px)}@media(max-width:820px){.work{grid-template-columns:1fr}}.wcard{display:flex;flex-direction:column;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:clamp(24px,3vw,34px);transition:border-color .15s}.wcard:hover{border-color:var(--petrol)}.wcard .k{font-family:var(--mono);font-size:12px;color:var(--slate);letter-spacing:.06em}.wcard h3{font-size:clamp(21px,2.1vw,26px);margin:10px 0 12px;max-width:22ch}.wcard>p{color:var(--slate);font-size:16px;margin:0 0 18px;max-width:46ch}.wcard ul{list-style:none;margin:0 0 22px;padding:0;font-size:15px}.wcard li{position:relative;padding-left:20px;padding-block:4px;color:var(--petrol)}.wcard li:before{content:"";position:absolute;left:0;top:12px;width:8px;height:8px;border-radius:50%;background:var(--signal)}.wcard .more{margin-top:auto;font-weight:700;font-size:15px;color:var(--petrol);border-bottom:2px solid var(--signal);align-self:flex-start;padding-bottom:2px}.stackline{margin-top:clamp(30px,4vw,44px);padding-top:26px;border-top:1px solid var(--line);color:var(--slate);max-width:76ch;font-size:16px}.casehero{background:var(--deep);color:#fff;padding:clamp(48px,7vw,86px) 0 clamp(34px,4vw,50px)}.casehero .kicker{font-family:var(--mono);font-size:13px;color:var(--signal);letter-spacing:.08em;margin:0 0 16px}.casehero h1{font-size:clamp(32px,4.6vw,58px);max-width:19ch}.meta{display:grid;grid-template-columns:repeat(4,auto);grid-gap:26px 48px;gap:26px 48px;justify-content:start;margin:clamp(30px,4vw,44px) 0 0;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}.meta dt{font-family:var(--mono);font-size:11.5px;color:#4E6B78;letter-spacing:.07em;margin-bottom:5px}.meta dd{margin:0;font-size:15px;color:#D5E2E7;max-width:26ch}@media(max-width:820px){.meta{grid-template-columns:1fr 1fr}}.wrap.narrow{max-width:820px}.sec .pull{font-size:clamp(19px,2vw,24px);font-weight:700;letter-spacing:-.02em;line-height:1.3;border-left:3px solid var(--signal);padding-left:22px;margin:30px 0 0;max-width:34ch}.sec.dark .pull{border-color:var(--signal)}.sec .after{margin-top:26px;color:var(--slate);max-width:78ch}.sec.dark p{color:var(--rung)}.sec.dark .pull{color:#fff}.tablewrap{overflow-x:auto;margin-top:clamp(26px,3vw,36px)}.tablewrap table{border-collapse:collapse;width:100%;min-width:660px;font-size:15.5px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.tablewrap td,.tablewrap th{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top}.tablewrap thead th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);font-weight:500}.tablewrap tbody th{font-weight:700}.tablewrap tbody tr:last-child td,.tablewrap tbody tr:last-child th{border-bottom:0}.badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.05em;padding:4px 9px;border-radius:3px;white-space:nowrap}.badge.keep{background:#DFF7EC;color:#0B6B45}.badge.link{background:#E4EDF1;color:#1C4A5E}.badge.repl{background:#F6E7E6;color:#8E322B}.reuses{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:clamp(26px,3vw,36px)}@media(max-width:820px){.reuses{grid-template-columns:1fr}}.reuse{background:var(--paper);padding:28px 30px}.reuse h3{font-size:19px;margin-bottom:10px;position:relative;padding-left:22px}.reuse h3:before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;background:var(--signal)}.reuse p{margin:0;color:var(--slate);font-size:15.5px;max-width:52ch}details.motor{border:1px solid var(--line);border-radius:6px;background:var(--mist)}details.motor summary{cursor:pointer;list-style:none;padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;gap:6px}details.motor summary::-webkit-details-marker{display:none}details.motor summary span{font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.03em;position:relative;padding-right:40px}details.motor summary span:after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;margin-top:-9px;border-right:2.5px solid var(--petrol);border-bottom:2.5px solid var(--petrol);transform:rotate(45deg);transition:transform .2s}details.motor[open] summary span:after{transform:rotate(-135deg);margin-top:-3px}details.motor summary em{font-style:normal;color:var(--slate);font-size:15.5px}.techs{padding:0 clamp(22px,2.6vw,30px) clamp(22px,2.6vw,30px);display:grid;grid-template-columns:1fr 1fr;grid-gap:26px 40px;gap:26px 40px}@media(max-width:820px){.techs{grid-template-columns:1fr}}.tech h3{font-size:17.5px;margin-bottom:8px;font-family:var(--mono);font-weight:500;letter-spacing:-.01em}.tech p{margin:0;color:var(--slate);font-size:15.5px;max-width:52ch}ul.result{list-style:none;margin:clamp(22px,3vw,32px) 0 0;padding:0}ul.result li{position:relative;padding:14px 0 14px 30px;border-bottom:1px solid var(--line);font-size:16.5px}ul.result li:first-child{border-top:1px solid var(--line)}ul.result li:before{content:"";position:absolute;left:0;top:23px;width:10px;height:10px;border-radius:50%;background:var(--signal)}.todo{display:inline-block;background:#FFF3CD;color:#7A5B00;font-family:var(--mono);font-size:12.5px;padding:3px 10px;border-radius:3px}.nextcase{background:var(--petrol);color:#fff;padding:clamp(40px,5vw,64px) 0}.nextcase .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}.nextcase a:not(.btn){text-decoration:none;display:block;max-width:60ch}.nextcase .lbl{display:block;font-family:var(--mono);font-size:12px;color:var(--signal);letter-spacing:.08em;margin-bottom:8px}.nextcase .ttl{font-size:clamp(20px,2.3vw,28px);font-weight:800;letter-spacing:-.03em;line-height:1.15;border-bottom:2px solid transparent}.nextcase a:hover .ttl{border-bottom-color:var(--signal)}.hdr nav a.cur{color:#fff;border-bottom:2px solid var(--signal);padding-bottom:2px}.sec h2+.intro,.sec h2+p{margin-top:24px}.wrap.narrow h2{margin-bottom:4px}.sec .pull+p{margin-top:26px}.hdr nav a.btn{font-weight:700}.hdr nav a.btn,.hdr nav a.btn:hover{color:var(--petrol)}.hdr .mark svg{height:56px}.hdr{padding:20px 0}footer svg{height:34px}@media(max-width:640px){.hdr .mark svg{height:46px}}.hdr{padding:28px 0;transition:padding .22s ease}.hdr .mark svg{height:76px;transition:height .22s ease}header.shrunk .hdr{padding:12px 0}header.shrunk .hdr .mark svg{height:46px}@media(max-width:640px){.hdr{padding:20px 0}.hdr .mark svg{height:56px}header.shrunk .hdr{padding:10px 0}header.shrunk .hdr .mark svg{height:34px}}@media(prefers-reduced-motion:reduce){.hdr,.hdr .mark svg{transition:none}}