:root{--canvas:#f1efe8;--surface:#fbfaf7;--ink:#14161a;--muted:#5e626b;--rule:#e1ddd4;--accent:#2544ce;--accent-ink:#fff;--accent-deep:#152a8a;--accent-grad:linear-gradient(135deg,#2544ce 0%,#152a8a 100%);--placeholder:#e7e4db;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--radius:10px;--container:1080px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:var(--canvas);color:var(--ink);font-size:17px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--container);padding:0 var(--s3);margin:0 auto}section{padding:var(--s7) 0}section+section{border-top:1px solid var(--rule)}h1,h2,h3{color:var(--ink);font-weight:900}h1{letter-spacing:-.035em;font-size:clamp(34px,5.4vw,54px);line-height:1.04}h2{letter-spacing:-.02em;font-size:clamp(22px,4vw,34px);line-height:1.12}h3{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.25}p{max-width:68ch}.label{letter-spacing:.08em;color:var(--muted);margin-bottom:var(--s2);font-size:13px;font-weight:600}.turn{display:block}.turn+.turn{color:var(--muted)}.head{margin-bottom:var(--s5)}.head h2{max-width:22ch}.head p{margin-top:var(--s3);color:var(--muted)}.lede{color:var(--muted);font-size:17px}.small{color:var(--muted);font-size:15px}header{z-index:50;background:var(--canvas);border-bottom:1px solid var(--rule);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:var(--s4);height:72px;display:flex}.brand{letter-spacing:.18em;font-size:15px;font-weight:900}.nav-links{gap:var(--s4);font-size:15px;list-style:none;display:flex}.nav-links a{color:var(--muted);transition:color .15s}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.btn{background:var(--accent-grad);color:var(--accent-ink);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:12px 24px;font-size:15px;font-weight:600;transition:filter .15s,transform .15s;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn:active{transform:translateY(1px)}.btn-text{color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px;font-size:15px;font-weight:600;transition:border-color .15s}.btn-text:hover{border-color:var(--ink)}.hero-grid{gap:var(--s6);grid-template-columns:1fr 1fr;align-items:center;display:grid}.hero h1{max-width:15ch}.hero-grid p{margin-top:var(--s3)}.actions{align-items:center;gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap;display:flex}.shot{background:var(--placeholder);border:1px solid var(--rule);border-radius:var(--radius);aspect-ratio:16/9;text-align:center;color:var(--muted);justify-content:center;align-items:center;font-size:15px;display:flex;overflow:hidden}.shot img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.proof{padding:var(--s5) 0}.proof h2{letter-spacing:-.01em;max-width:52ch;font-size:22px;font-weight:700}.proof .small{margin-top:var(--s1)}.logos{justify-content:space-between;align-items:center;gap:var(--s4) var(--s3);margin-top:var(--s4);flex-wrap:wrap;display:flex}.logos img{width:130px;height:auto;display:block}.cols{gap:var(--s5);grid-template-columns:repeat(3,1fr);display:grid}.col h3{color:var(--accent);margin-bottom:var(--s2);font-size:17px;font-weight:600}.col .claim{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.25}.col p{color:var(--muted);margin-top:var(--s2);font-size:15px}.build-grid{gap:var(--s5) var(--s6);grid-template-columns:1fr 1fr;display:grid}.build-item{padding-left:var(--s3);border-left:1px solid var(--rule);transition:border-color .2s}.build-item:hover{border-color:var(--accent)}.build-item h3{margin-bottom:var(--s1);transition:color .2s}.build-item:hover h3{color:var(--accent)}.build-item p{color:var(--muted);font-size:15px}.work-grid{gap:var(--s6);grid-template-columns:1fr;display:grid}.work-grid .shot{aspect-ratio:16/9;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .2s}.work-item:hover .shot{border-color:var(--muted);transform:translateY(-4px)}.work-item h3{margin-top:var(--s2);font-size:17px;font-weight:600;transition:color .2s}.work-item:hover h3{color:var(--accent)}.work-item p{color:var(--muted);max-width:68ch;margin-top:4px;font-size:15px}.marquee{padding:4px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 56px calc(100% - 56px),#0000);mask-image:linear-gradient(90deg,#0000,#000 56px calc(100% - 56px),#0000)}.track{gap:var(--s3);width:max-content;animation:37s linear infinite slide;display:flex}.marquee:hover .track,.marquee:focus-within .track{animation-play-state:paused}@keyframes slide{0%{transform:translate(0)}to{transform:translateX(calc(-50% - (var(--s3) / 2)))}}.review{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--s3);flex-direction:column;flex:0 0 400px;transition:border-color .2s;display:flex}.review:hover{border-color:var(--muted)}.stars{margin-bottom:var(--s2);gap:3px;display:flex}.stars svg{width:13px;height:13px;fill:var(--accent)}.review blockquote{max-width:none;color:var(--ink);flex:1;font-size:15px;line-height:1.6}.who{gap:var(--s1);margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;align-items:baseline;font-size:13px;display:flex}.who strong{color:var(--ink);font-weight:600}.who span:before{content:"·";margin-right:var(--s1)}@media (width<=768px){.review{flex:0 0 300px}}@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.track{animation:none}}.phase{gap:var(--s4);padding:var(--s4) var(--s3);margin:0 calc(var(--s3) * -1);border-radius:var(--radius);grid-template-columns:140px 1fr;transition:background .2s;display:grid;position:relative}.phase:before,.phase:last-child:after{content:"";left:var(--s3);right:var(--s3);background:var(--rule);height:1px;position:absolute}.phase:before{top:0}.phase:last-child:after{bottom:0}.phase:hover{background:var(--surface)}.when{color:var(--muted);font-size:15px;font-weight:600;transition:color .2s}.phase:hover .when{color:var(--accent)}.phase p{color:var(--muted);margin-top:var(--s1);font-size:15px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}th,td{text-align:left;padding:14px var(--s2);border-top:1px solid var(--rule)}thead th{letter-spacing:.04em;color:var(--muted);border-top:0;font-size:13px;font-weight:600}thead th:first-child{width:38%}tbody th{color:var(--ink);font-weight:400}.yes{color:var(--accent);font-weight:600}.no{color:var(--muted)}tbody tr{transition:background .2s}tbody tr:hover{background:var(--surface)}.fit-grid{gap:var(--s6);grid-template-columns:1fr 1fr;display:grid}.fit-grid h3{margin-bottom:var(--s3)}.fit-grid ul{font-size:15px;list-style:none}.fit-grid li{border-top:1px solid var(--rule);color:var(--muted);padding:10px 0;transition:color .2s,border-color .2s}.fit-grid li:hover{color:var(--ink);border-color:var(--muted)}.stack p{color:var(--ink);font-size:17px;line-height:1.9}details{border-top:1px solid var(--rule)}details:last-of-type{border-bottom:1px solid var(--rule)}summary{cursor:pointer;padding:var(--s3) 0;justify-content:space-between;align-items:flex-start;gap:var(--s3);font-size:17px;font-weight:600;list-style:none;transition:color .2s;display:flex}summary::-webkit-details-marker{display:none}summary:hover{color:var(--accent)}.mark{flex:0 0 14px;height:14px;margin-top:6px;position:relative}.mark:before,.mark:after{content:"";background:var(--muted);transition:transform .2s,background .2s;position:absolute}.mark:before{width:14px;height:2px;top:6px;left:0}.mark:after{width:2px;height:14px;top:0;left:6px}details[open] .mark:after{transform:rotate(90deg)}summary:hover .mark:before,summary:hover .mark:after{background:var(--accent)}details>div{padding:0 0 var(--s3);color:var(--muted);max-width:68ch;font-size:15px}.js details[open]>div{animation:.3s both fade}:root{--wa:#25d366;--wa-deep:#1ea855}.wa{right:var(--s3);bottom:var(--s3);z-index:60;background:var(--surface);border:1px solid var(--rule);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;transition:border-color .2s,transform .25s cubic-bezier(.22,1,.36,1);display:flex;position:fixed}.wa:hover{border-color:var(--wa);transform:translateY(-2px)}.wa-face{background:var(--placeholder);width:38px;height:38px;color:var(--muted);border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:relative}.wa-face img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.wa-face:after{content:"";background:var(--wa);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.wa-text{min-width:0;display:block}.wa-name{align-items:center;gap:5px;font-size:13px;font-weight:700;line-height:1.3;display:flex}.wa-name svg{width:12px;height:12px;fill:var(--wa);flex:0 0 12px}.wa-role{color:var(--muted);font-size:13px;line-height:1.3;display:block}.js .wa{animation:.5s cubic-bezier(.22,1,.36,1) 1.2s both enter}@media (width<=768px){.wa{right:var(--s2);bottom:var(--s2);background:var(--wa);border-color:var(--wa);justify-content:center;align-items:center;gap:0;width:52px;height:52px;padding:0}.wa:hover{transform:none}.wa-face,.wa-role,.wa-name span{display:none}.wa-name svg{fill:#fff;flex:0 0 24px;width:24px;height:24px}}.prose h3{margin-top:var(--s5)}.prose p{margin-top:var(--s2)}.prose .actions{margin-top:var(--s3)}.prose a{border-bottom:1px solid var(--rule)}.prose a:hover{border-color:var(--ink)}.prose code{background:var(--placeholder);border-radius:4px;padding:2px 6px;font-size:14px}.consent{left:var(--s3);bottom:var(--s3);z-index:55;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);max-width:380px;padding:var(--s3);position:fixed}.consent p{color:var(--muted);max-width:none;font-size:15px}.consent p a{border-bottom:1px solid var(--rule)}.consent p a:hover{color:var(--ink)}.consent-actions{justify-content:flex-end;align-items:center;gap:var(--s2);margin-top:var(--s3);display:flex}.consent button{font:inherit;cursor:pointer;border:0}.consent .btn-text{color:var(--ink);border-bottom:1px solid var(--rule);background:0 0;padding-bottom:2px}.consent .btn-text:hover{border-color:var(--ink)}@media (width<=768px){.consent{left:var(--s2);right:var(--s2);max-width:none;bottom:calc(52px + var(--s2) + var(--s2))}}footer{border-top:1px solid var(--rule);padding:var(--s6) 0 var(--s4)}.foot-grid{gap:var(--s5) var(--s4);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.foot-brand .brand{margin-bottom:var(--s2);display:inline-block}.foot-brand p{max-width:30ch}.foot-contact{gap:var(--s1);margin-top:var(--s3);color:var(--muted);font-size:15px;list-style:none;display:grid}.foot-contact a{border-bottom:1px solid var(--rule);transition:color .15s,border-color .15s}.foot-contact a:hover{color:var(--ink);border-color:var(--ink)}.foot-h{letter-spacing:.08em;color:var(--ink);margin-bottom:var(--s2);font-size:13px;font-weight:600}.foot-col ul{gap:var(--s1);color:var(--muted);font-size:15px;list-style:none;display:grid}.foot-col a{transition:color .15s}.foot-col a:hover{color:var(--ink)}.foot{justify-content:space-between;gap:var(--s4);color:var(--muted);margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--rule);flex-wrap:wrap;font-size:15px;display:flex}.foot a:hover{color:var(--ink)}.foot-links{gap:var(--s3);flex-wrap:wrap;display:flex}@media (width<=900px){.foot-grid{gap:var(--s5) var(--s4);grid-template-columns:1fr 1fr}}@media (width<=768px){.foot-grid{gap:var(--s4);grid-template-columns:1fr}.foot-brand p{max-width:none}}@media (width<=480px){.foot-grid{text-align:center;justify-items:center}.foot-contact{justify-items:center}.foot{text-align:center;justify-content:center}.foot-links{justify-content:center}}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.js .hero-grid>div:first-child>*{animation:.55s cubic-bezier(.22,1,.36,1) both enter}.js .hero-grid>div:first-child>:first-child{animation-delay:40ms}.js .hero-grid>div:first-child>:nth-child(2){animation-delay:.12s}.js .hero-grid>div:first-child>:nth-child(3){animation-delay:.2s}.js .hero-grid>div:first-child>:nth-child(4){animation-delay:.28s}.js .hero-grid>.shot{animation:.6s cubic-bezier(.22,1,.36,1) .16s both enter}.js .head.settle{opacity:.55;transition:opacity .45s,transform .45s cubic-bezier(.22,1,.36,1);transform:translateY(8px)}.js .head.settle.in{opacity:1;transform:none}@media (width<=900px){.hero-grid,.cols,.work-grid,.build-grid,.fit-grid{gap:var(--s5);grid-template-columns:1fr}.logos{justify-content:center}}@media (width<=768px){section{padding:var(--s6) 0}.nav-links{display:none}.phase{gap:var(--s1);padding:var(--s4) var(--s2);margin:0 calc(var(--s2) * -1);grid-template-columns:1fr}.phase:before,.phase:last-child:after{left:var(--s2);right:var(--s2)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.js .head.settle{opacity:1;transform:none}}
