:root{color-scheme:light;--bg: #ffffff;--bg-2: #f5f5f7;--card: #ffffff;--text: #1d1d1f;--text-2: #6e6e73;--link: #0066cc;--link-hover: #0077ed;--btn: #0066cc;--btn-hover: #0055aa;--hairline: #d2d2d7;--fill: rgba(0, 0, 0, .04);--shadow: 0 4px 24px rgba(0, 0, 0, .06);--shadow-lg: 0 18px 60px -24px rgba(0, 0, 0, .28);--on-link: #ffffff;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max: 1120px;--wide: 1440px;--gutter: clamp(20px, 4vw, 40px);--nav-h: 48px;--r: 18px;--r-lg: 28px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #000000;--bg-2: #101012;--card: #1d1d1f;--text: #f5f5f7;--text-2: #a1a1a6;--link: #2997ff;--link-hover: #52aaff;--btn: #0071e3;--btn-hover: #0062c4;--hairline: #38383c;--fill: rgba(255, 255, 255, .06);--shadow: 0 4px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 18px 60px -24px rgba(0, 0, 0, .9);--on-link: #ffffff}}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--bg-2: #101012;--card: #1d1d1f;--text: #f5f5f7;--text-2: #a1a1a6;--link: #2997ff;--link-hover: #52aaff;--btn: #0071e3;--btn-hover: #0062c4;--hairline: #38383c;--fill: rgba(255, 255, 255, .06);--shadow: 0 4px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 18px 60px -24px rgba(0, 0, 0, .9);--on-link: #ffffff}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.47;letter-spacing:-.012em;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .25s ease,color .25s ease}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--link);color:var(--on-link)}:focus-visible{outline:3px solid var(--link);outline-offset:3px;border-radius:6px}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.wrap-wide{max-width:var(--wide)}.section{padding:clamp(64px,9vw,130px) 0}.section-tight{padding:clamp(48px,6vw,88px) 0}.alt{background:var(--bg-2)}.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--text);color:var(--bg);padding:12px 20px;border-radius:0 0 10px}.skip:focus{left:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}h1,h2,h3,h4{font-weight:600;line-height:1.06;letter-spacing:-.028em}.t-hero{font-size:clamp(2.7rem,6.6vw,5.4rem);font-weight:700;letter-spacing:-.035em}.t-xl{font-size:clamp(2rem,4.6vw,3.4rem)}.t-lg{font-size:clamp(1.55rem,3vw,2.3rem)}.t-md{font-size:clamp(1.2rem,2vw,1.5rem)}.eyebrow{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--link);margin-bottom:12px}.sub{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.38;color:var(--text-2);letter-spacing:-.016em}.body{color:var(--text-2);font-size:17px;line-height:1.55}.center{text-align:center}.measure{max-width:34ch;margin-inline:auto}.measure-wide{max-width:62ch;margin-inline:auto}.head{margin-bottom:clamp(40px,5vw,68px)}.head .sub{margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:var(--btn);color:var(--on-link);border:1px solid var(--btn);border-radius:980px;font-size:17px;font-weight:400;letter-spacing:-.016em;text-decoration:none;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover)}.btn:active{transform:scale(.98)}.btn-ghost{background:transparent;color:var(--link)}.btn-ghost:hover{background:var(--btn);color:var(--on-link)}.lnk{display:inline-flex;align-items:center;gap:3px;color:var(--link);text-decoration:none;font-size:17px;letter-spacing:-.016em}.lnk:after{content:"›";font-size:1.25em;line-height:1;transform:translateY(-1px);transition:transform .18s ease}.lnk:hover{text-decoration:underline}.lnk:hover:after{transform:translate(3px,-1px)}.lnk-lg{font-size:clamp(1.05rem,1.5vw,1.25rem)}.actions{display:flex;flex-wrap:wrap;gap:14px 32px;align-items:center}.actions.center{justify-content:center}.nav{position:fixed;inset:0 0 auto;z-index:90;height:var(--nav-h);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color .25s ease,background .25s ease}.nav.scrolled{border-bottom-color:var(--hairline)}.nav-inner{height:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:20px}.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:15px;font-weight:600;letter-spacing:-.02em;flex:0 0 auto}.logo{display:block}.nav-links{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,40px)}.nav-links a{font-size:12px;letter-spacing:-.01em;color:var(--text);opacity:.82;text-decoration:none;transition:opacity .18s ease}.nav-links a:hover{opacity:1}.nav-right{flex:0 0 auto;display:flex;align-items:center;gap:14px}.lang{font-size:12px;color:var(--text);opacity:.82;text-decoration:none}.lang:hover{opacity:1}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:none;border:none;border-radius:50%;color:var(--text);opacity:.82;cursor:pointer;transition:opacity .18s ease,background .18s ease}.theme-toggle:hover{opacity:1;background:var(--fill)}.theme-toggle .i-sun{display:none}.theme-toggle[aria-pressed=true] .i-sun{display:block}.theme-toggle[aria-pressed=true] .i-moon{display:none}.nav-toggle{display:none;width:30px;height:26px;background:none;border:none;cursor:pointer;position:relative;color:var(--text)}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:50%;width:16px;height:1.5px;background:currentColor;transform:translate(-50%);transition:transform .24s ease,opacity .24s ease}.nav-toggle span{top:50%}.nav-toggle span:before{top:-5px;left:0;transform:none}.nav-toggle span:after{top:5px;left:0;transform:none}.nav-toggle[aria-expanded=true] span{background:transparent}.nav-toggle[aria-expanded=true] span:before{transform:translateY(5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:after{transform:translateY(-5px) rotate(-45deg)}.nav-mobile{position:fixed;top:var(--nav-h);left:0;right:0;z-index:85;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hairline);padding:8px var(--gutter) 26px;display:grid;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease,visibility .22s}.nav-mobile.open{opacity:1;visibility:visible;transform:none}.nav-mobile a{padding:15px 0;font-size:20px;font-weight:600;letter-spacing:-.02em;text-decoration:none;border-bottom:1px solid var(--hairline)}.nav-mobile a:last-child{border-bottom:none}.hero{padding-top:calc(var(--nav-h) + clamp(56px,9vw,110px));padding-bottom:clamp(64px,8vw,112px);text-align:center}.hero h1{max-width:22ch;margin-inline:auto}.hero .sub{margin:22px auto 0;max-width:40ch}.hero .actions{margin-top:26px}.grid{display:grid;gap:clamp(14px,1.6vw,20px)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border-radius:var(--r-lg);padding:clamp(28px,3vw,40px);box-shadow:var(--shadow);transition:transform .3s cubic-bezier(.2,.7,.3,1)}.card.alt{background:var(--bg-2);box-shadow:none}.card h3{font-size:clamp(1.3rem,2.1vw,1.7rem);margin-bottom:12px}.card p{color:var(--text-2);font-size:16px;line-height:1.5}.chips{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:7px}.chips li{font-size:12.5px;font-weight:500;color:var(--text);background:var(--fill);border-radius:980px;padding:5px 12px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}.tile{position:relative;display:flex;flex-direction:column;background:var(--card);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease}.tile:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.tile-body{padding:clamp(28px,3vw,44px) clamp(24px,3vw,44px) 0;text-align:center}.tile-kicker{font-size:13px;font-weight:600;color:var(--text-2);letter-spacing:-.008em;margin-bottom:8px}.tile h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:10px}.tile p{color:var(--text-2);font-size:16.5px;line-height:1.45;max-width:36ch;margin-inline:auto}.tile .lnk{margin-top:16px}.tile-shot{margin-top:clamp(26px,3vw,40px);padding:0 clamp(20px,3vw,40px)}.tile-shot img{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:top center;border-radius:12px 12px 0 0;box-shadow:0 -10px 40px -18px #00000080}.badge{display:inline-block;font-size:12px;font-weight:600;color:var(--link);background:color-mix(in srgb,var(--link) 12%,transparent);border-radius:980px;padding:3px 10px;margin-left:8px;vertical-align:2px}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2vw,28px);counter-reset:step}.step{padding-top:22px;border-top:3px solid var(--hairline);transition:border-color .25s ease}.step:hover{border-top-color:var(--link)}.step .n{font-size:13px;font-weight:600;color:var(--link);margin-bottom:8px}.step h3{font-size:1.15rem;margin-bottom:8px}.step p{font-size:15px;line-height:1.45;color:var(--text-2)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(44px,5vw,72px);text-align:center}.stats .v{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;letter-spacing:-.035em;line-height:1}.stats .k{font-size:15px;color:var(--text-2);margin-top:8px}.stack-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}.stack-groups h3{font-size:15px;font-weight:600;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--hairline)}.stack-groups ul{list-style:none;padding:0;display:grid;gap:7px;font-size:15px;color:var(--text-2)}.faq{max-width:760px;margin:0 auto;border-top:1px solid var(--hairline)}.faq details{border-bottom:1px solid var(--hairline)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:600;letter-spacing:-.02em;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";flex:0 0 12px;width:12px;height:12px;border-right:2px solid var(--link);border-bottom:2px solid var(--link);transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s ease}.faq details[open] summary:after{transform:rotate(225deg) translate(-3px,-3px)}.faq summary:hover{color:var(--link)}.faq p{padding:0 40px 24px 0;color:var(--text-2);font-size:16.5px;line-height:1.55}.form{display:grid;gap:16px;max-width:620px;margin:0 auto;text-align:left}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:500;color:var(--text-2);padding-left:2px}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--hairline);border-radius:12px;padding:13px 16px;font-size:16px;width:100%;transition:border-color .18s ease,box-shadow .18s ease}.field textarea{min-height:130px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--text-2)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--link);box-shadow:0 0 0 4px color-mix(in srgb,var(--link) 18%,transparent)}.field select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 24px,calc(100% - 15px) 24px;background-size:5px 5px;background-repeat:no-repeat}.form-foot{display:grid;gap:12px;justify-items:center;margin-top:6px}.form-note{font-size:13px;color:var(--text-2);text-align:center}.contact-data{display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:center;margin-top:clamp(36px,4vw,56px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--hairline)}.contact-data dt{font-size:13px;color:var(--text-2);margin-bottom:3px}.contact-data dd{margin:0;font-size:17px}.contact-data a{color:var(--link);text-decoration:none}.contact-data a:hover{text-decoration:underline}.pending{font-size:11.5px;color:var(--text-2);background:var(--fill);border-radius:980px;padding:2px 9px;margin-left:8px;white-space:nowrap}.case-hero{padding-top:calc(var(--nav-h) + clamp(40px,6vw,80px));padding-bottom:clamp(32px,4vw,52px);text-align:center}.back{display:inline-flex;align-items:center;gap:4px;font-size:15px;color:var(--link);text-decoration:none;margin-bottom:clamp(24px,3vw,40px)}.back:hover{text-decoration:underline}.case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:clamp(36px,4vw,56px);padding-top:clamp(24px,3vw,34px);border-top:1px solid var(--hairline);text-align:left}.case-meta dt{font-size:13px;color:var(--text-2);margin-bottom:4px}.case-meta dd{margin:0;font-size:16px}.case-meta a{color:var(--link);text-decoration:none}.case-meta a:hover{text-decoration:underline}.case-figure{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.case-figure img{width:100%;height:auto}.prose h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:clamp(40px,5vw,64px) 0 16px}.prose>h2:first-child{margin-top:0}.prose p{color:var(--text-2);font-size:17.5px;line-height:1.55}.checks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}.checks li{display:grid;grid-template-columns:24px 1fr;gap:10px;color:var(--text-2);font-size:16.5px;line-height:1.45}.checks li:before{content:"";width:17px;height:17px;margin-top:4px;border-radius:50%;background:var(--link);clip-path:polygon(21% 52%,10% 63%,41% 88%,90% 28%,79% 19%,40% 68%)}.figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,20px);margin-top:clamp(40px,5vw,64px);text-align:center}.figures>div{background:var(--bg-2);border-radius:var(--r);padding:clamp(24px,3vw,34px) 20px}.figures .v{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}.figures .k{font-size:14.5px;color:var(--text-2);margin-top:8px}.aside-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:clamp(40px,5vw,64px)}.aside-grid h3{font-size:15px;font-weight:600;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--hairline)}.aside-grid ul{list-style:none;padding:0;display:grid;gap:7px;font-size:15.5px;color:var(--text-2)}.case-next{display:block;text-align:center;text-decoration:none}.nf{min-height:74vh;display:grid;align-content:center;text-align:center;padding-top:var(--nav-h)}footer{background:var(--bg-2);padding:clamp(36px,4vw,52px) 0 30px;font-size:13px;color:var(--text-2)}.foot-top{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--hairline)}.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:26px 0;border-bottom:1px solid var(--hairline)}.foot-cols h4{font-size:13px;font-weight:600;color:var(--text);margin-bottom:12px;letter-spacing:-.01em}.foot-cols ul{list-style:none;padding:0;display:grid;gap:9px}.foot-cols a{color:var(--text-2);text-decoration:none}.foot-cols a:hover{color:var(--text);text-decoration:underline}.foot-bottom{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-top:18px}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}[data-reveal].on{opacity:1;transform:none}@media(max-width:1000px){.steps,.stack-groups,.grid-4,.case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.nav-links{display:none}.nav-toggle{display:block}.nav-inner{justify-content:space-between}.work-grid,.grid-2{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.figures,.aside-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.steps,.stack-groups,.grid-4,.form-row,.foot-cols{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:minmax(0,1fr);gap:28px}.btn{width:100%}.actions{flex-direction:column;align-items:stretch;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
