@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/source-sans-3-ro.woff2)format("woff2-variations"),url(/fonts/source-sans-3-ro.woff2)format("woff2")}@font-face{font-family:Bricolage Fallback;font-style:normal;font-weight:200 900;src:url(/fonts/source-sans-3-ro.woff2)format("woff2-variations"),url(/fonts/source-sans-3-ro.woff2)format("woff2");size-adjust:112%}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin-ext.woff2)format("woff2-variations"),url(/fonts/bricolage-grotesque-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2-variations"),url(/fonts/bricolage-grotesque-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#fbfaf6;--paper-2:#f3f0e8;--paper-3:#e9e4d8;--surface:#fff;--line:#e4dfd3;--line-2:#cfc8b8;--line-3:#a9a190;--ink:#14262f;--ink-2:#3a505d;--muted:#5b6d77;--faint:#8a979e;--blue-50:#eef5fe;--blue-100:#d7e7fb;--blue-300:#7db6f0;--blue-500:#1f6fd1;--blue-700:#17539e;--blue-900:#0e3a73;--amber-50:#fdf6e3;--amber-100:#fae7bd;--amber-200:#f8dd9c;--amber-400:#f2b544;--amber-800:#7a4f00;--night:#10232c;--night-2:#1b3542;--night-3:#24434f;--night-line:#eef4f229;--on-night:#eef4f2;--on-night-2:#b3c5cb;--on-night-3:#9fb2bb;--on-night-link:#9ccbf6;--night-0:#0b1820;--danger:#b3261e;--danger-ink:#8c1d18;--danger-50:#fbe9e7;--bg:var(--paper);--sunk:var(--paper-2);--blue:var(--blue-500);--blue-dark:var(--blue-700);--blue-tint:var(--blue-50);--amber:var(--amber-400);--amber-ink:var(--amber-800);--amber-tint:var(--amber-50);--focus:var(--blue-500);--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--radius:var(--r-md);--radius-sm:var(--r-sm);--shadow-xs:0 1px 2px #14262f0f;--shadow-sm:0 1px 2px #14262f0d, 0 4px 12px #14262f0f;--shadow-md:0 2px 4px #14262f0d, 0 12px 32px #14262f17;--shadow-lg:0 4px 8px #14262f0f, 0 28px 60px #14262f24;--shadow:var(--shadow-md);--ring:0 0 0 3px #1f6fd152;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-1:.15s;--dur-2:.25s;--dur-3:.45s;--wrap:1180px;--gutter:16px;--font:"Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Bricolage Grotesque", "Bricolage Fallback", var(--font)}@media (width>=768px){:root{--gutter:28px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{background:var(--bg);color:var(--ink);font-family:var(--font);text-rendering:optimizelegibility;margin:0;font-size:1.125rem;line-height:1.6}img,video{max-width:100%;height:auto;display:block}a{color:var(--blue-dark);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--blue);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}main:focus{outline:none}h1,h2,h3,h4{letter-spacing:-.012em;text-wrap:balance;margin:0 0 .5em;font-weight:700;line-height:1.15}h1,h2{font-family:var(--font-display)}h1{letter-spacing:-.026em;font-size:clamp(2.2rem,1.45rem + 3.1vw,3.6rem);font-weight:700;line-height:1.08}.page-hero h1{font-size:clamp(2.05rem,1.4rem + 2.6vw,3.2rem)}h2{letter-spacing:-.02em;font-size:clamp(1.65rem,1.3rem + 1.4vw,2.35rem);font-weight:650;line-height:1.12}h3{letter-spacing:-.01em;font-size:1.3rem;font-weight:650}p{margin:0 0 1em}p,li{text-wrap:pretty}ul,ol{margin:0 0 1em;padding-left:1.2em}li+li{margin-top:.35em}strong{font-weight:700}.ext{margin-left:.15em;font-size:.8em}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:10px 16px;position:absolute;top:-60px;left:12px}.skip:focus{color:#fff;top:12px}.wrap{max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}.wrap.narrow>*{max-width:780px}.section{padding:clamp(56px,7.5vw,104px) 0}.section-tight{padding:clamp(40px,5vw,64px) 0}.page-hero+.section-tight{padding-top:clamp(8px,1.5vw,16px)}.section-tight:not(.section-alt)+.section-tight:not(.section-alt),.section:not(.section-alt)+.section-tight:not(.section-alt){padding-top:0}.section-alt{background:var(--sunk);box-shadow:inset 0 1px var(--line), inset 0 -1px var(--line)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);align-items:center;gap:10px;margin-bottom:.9em;font-size:.8rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:2px;flex:none;width:22px;height:2px}.lead{color:var(--ink-2);max-width:40em;font-size:clamp(1.18rem,1.05rem + .5vw,1.4rem);line-height:1.5}.section-head{max-width:760px;margin-bottom:clamp(24px,4vw,44px)}.section-head p{color:var(--ink-2)}.btn{min-height:48px;font:inherit;cursor:pointer;transition:background-color var(--dur-1), color var(--dur-1), border-color var(--dur-1), box-shadow var(--dur-2), transform var(--dur-2) var(--ease-out);border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.45em;padding:.7em 1.25em;font-size:1.05rem;font-weight:700;line-height:1.1;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(180deg, #2876d9, var(--blue-500));color:#fff;box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff24}.btn-primary:hover{background:var(--blue-700);color:#fff;box-shadow:var(--shadow-md)}.btn-ghost{border-color:var(--line-2);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-xs)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm)}.btn-light{color:var(--blue-dark);box-shadow:var(--shadow-md);background:#fff}.btn-light:hover{background:var(--amber-400);color:var(--ink)}@media (hover:hover) and (pointer:fine){.btn-primary:hover,.btn-ghost:hover,.btn-light:hover{transform:translateY(-1px)}}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:0 0 0 2px var(--paper), 0 0 0 5px var(--blue-500);outline:0}.btn-small{min-height:40px;padding:.45em 1em;font-size:.98rem}.btn-row{flex-wrap:wrap;gap:12px;margin-top:1.4em;display:flex}.arrow-link{font-weight:700;text-decoration:none}.arrow-link:after{content:"→";transition:transform var(--dur-2) var(--ease-out);margin-left:.3em;display:inline-block}.arrow-link:hover:after{transform:translate(3px)}.site-header{z-index:50;backdrop-filter:saturate(1.6)blur(14px);transition:box-shadow var(--dur-2) ease, background-color var(--dur-2) ease, border-color var(--dur-2) ease;background:#fbfaf6cc;border-bottom:1px solid #0000;position:sticky;top:0}.header-row{align-items:center;gap:20px;min-height:68px;transition:min-height .25s;display:flex}.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-sm);background:#fbfaf6e6}.site-header.is-scrolled .header-row{min-height:58px}.brand{color:var(--ink);flex-shrink:0;text-decoration:none}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{filter:drop-shadow(0 1px 1.5px #14262f2e);flex:none}.logo-text{flex-direction:column;line-height:1;display:flex}.logo-top{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.2rem;font-weight:700}.logo-bottom{color:var(--muted);letter-spacing:.02em;margin-top:3px;font-size:.82rem;font-weight:600}.nav-desktop{margin-left:auto;display:none}.nav-desktop ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-desktop li+li{margin:0}.nav-desktop a{color:var(--ink-2);transition:background-color var(--dur-1), color var(--dur-1);border-radius:999px;padding:8px 13px;font-size:1.02rem;font-weight:600;text-decoration:none;display:block}.nav-desktop a:hover{color:var(--ink);background:#14262f0d}.nav-desktop a[aria-current],.nav-desktop a[aria-current]:hover{color:var(--blue-700);background:var(--blue-50)}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.lang{border:1px solid var(--line-2);letter-spacing:.05em;min-width:44px;min-height:40px;color:var(--ink);background:var(--surface);transition:border-color var(--dur-1), box-shadow var(--dur-1);border-radius:999px;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.lang:hover{border-color:var(--ink);color:var(--ink);box-shadow:var(--shadow-xs)}.header-cta{display:none}.nav-mobile{position:relative}.nav-mobile summary{cursor:pointer;background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:.98rem;font-weight:700;list-style:none;display:inline-flex}.nav-mobile summary::-webkit-details-marker{display:none}.burger{flex-direction:column;gap:3px;display:inline-flex}.burger span{background:currentColor;border-radius:2px;width:16px;height:2px}.nav-mobile nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:min(84vw,320px);box-shadow:var(--shadow-lg);transform-origin:100% 0;padding:8px;position:absolute;top:calc(100% + 10px);right:0}.nav-mobile[open] nav{animation:menu-in .2s var(--ease-out)}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.nav-mobile ul{margin:0;padding:0;list-style:none}.nav-mobile li+li{margin:2px 0 0}.nav-mobile a{border-radius:var(--r-sm);color:var(--ink);align-items:center;gap:7px;padding:14px 12px;font-weight:600;text-decoration:none;display:flex}.nav-mobile a:after{content:"›";color:var(--faint);margin-left:auto;font-size:1.3em;line-height:1}.nav-mobile a:hover{background:var(--paper-2)}.nav-mobile a[aria-current]{color:var(--blue-700);background:var(--blue-50)}@media (width>=1024px){.nav-desktop{display:block}.header-actions{margin-left:8px}.header-cta{display:inline-flex}.nav-mobile{display:none}}@media (width<=380px){.logo-bottom{display:none}}.crumbs{padding-top:18px;font-size:.95rem}.crumbs ol{color:var(--muted);flex-wrap:wrap;gap:4px 0;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li{margin:0}.crumbs li+li:before{content:"›";color:var(--line-3);margin:0 9px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--blue-700);text-decoration:underline}.hero{padding:clamp(36px,6vw,80px) 0 clamp(40px,6vw,72px)}.hero-grid{align-items:center;gap:clamp(28px,4vw,56px);display:grid}.hero h1{max-width:15em}.hero-proof{color:var(--ink-2);flex-wrap:wrap;gap:8px;margin-top:1.6em;padding:0;font-size:.95rem;list-style:none;display:flex}.hero-proof li{border:1px solid var(--line);box-shadow:var(--shadow-xs);background:#ffffffbf;border-radius:999px;align-items:center;gap:8px;margin:0;padding:6px 13px 6px 11px;line-height:1.35;display:flex}.hero-proof li:before{content:"";background:var(--amber);border-radius:50%;flex:none;width:7px;height:7px}@media (width>=1024px){.hero-grid{grid-template-columns:1.02fr 1fr}.hero-grid.hero-text-only{grid-template-columns:1fr}}.page-hero{padding:clamp(24px,4vw,48px) 0 clamp(28px,4vw,48px)}.page-hero .lead{margin-top:.4em}.hero-price{color:var(--muted);margin-top:1em;font-size:.98rem}.hero-price strong{color:var(--blue-dark)}.hero-price a{white-space:nowrap}.hero,.page-hero{isolation:isolate;position:relative}.hero:before,.page-hero:before,.hero:after,.page-hero:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.hero:before,.page-hero:before{background:radial-gradient(50% 60% at 82% 38%,#1f6fd11a,#0000 70%),radial-gradient(32% 42% at 66% 88%,#f2b5441f,#0000 70%)}.page-hero:before{background:radial-gradient(42% 70% at 90% 48%,#1f6fd117,#0000 70%),radial-gradient(28% 50% at 72% 62%,#f2b5441a,#0000 70%)}.hero:after,.page-hero:after{background:radial-gradient(circle at 1px 1px,#14262f17 1px,#0000 0) 0 0/22px 22px;-webkit-mask-image:radial-gradient(55% 70% at 85% 35%,#000,#0000 75%);mask-image:radial-gradient(55% 70% at 85% 35%,#000,#0000 75%)}.page-hero:after{-webkit-mask-image:radial-gradient(38% 60% at 92% 48%,#000,#0000 75%);mask-image:radial-gradient(38% 60% at 92% 48%,#000,#0000 75%)}.screen{margin:0}.screen-frame{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);overflow:hidden}.screen-desktop .screen-frame{box-shadow:var(--shadow-md), 0 0 0 1px #14262f14;border:0;border-radius:12px}.screen-bar{background:var(--paper-2);border-bottom:1px solid var(--line);gap:7px;padding:10px 13px;display:flex}.screen-bar span{background:#e9a99f;border-radius:50%;width:9px;height:9px}.screen-bar span:nth-child(2){background:#ecd08e}.screen-bar span:nth-child(3){background:#9fcfb8}.screen-phone .screen-frame{background:linear-gradient(145deg, #2c4c59, var(--ink) 55%);max-width:300px;box-shadow:var(--shadow-lg);border:0;border-radius:30px;margin:0 auto;padding:6px}.screen-phone .screen-frame picture{border-radius:24px;overflow:hidden}.screen-frame img{width:100%}.screen-frame picture{background:var(--paper-3);display:block}.screen figcaption,.pair figcaption,.video figcaption{color:var(--ink-2);margin-top:14px;font-size:1rem;line-height:1.5}.screen figcaption:before,.pair>figcaption:before,.hero-caption:before{content:"";vertical-align:.3em;background:var(--blue-500);border-radius:2px;width:14px;height:2px;margin-right:8px;display:inline-block}.pair{margin:0}.pair-shots{grid-template-columns:1fr;align-items:end;gap:20px;display:grid}.pair-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:10px;font-size:.76rem;font-weight:700;display:block}.pair-phone .screen-phone .screen-frame{max-width:250px;margin:0}@media (width>=768px){.pair-shots{grid-template-columns:1fr 240px;gap:28px}}.video{max-width:380px;margin:0}.video-frame{background:var(--ink);box-shadow:0 0 0 6px var(--night), 0 0 0 7px #ffffff0f, var(--shadow-lg);aspect-ratio:9/16;border-radius:22px;overflow:hidden}.video-frame-feed{aspect-ratio:4/5}.video-frame video{object-fit:cover;background:var(--ink);width:100%;height:100%}.video-title{color:var(--ink);margin:6px 0 4px;font-size:1.1rem}.video-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 6px;font-size:.9rem}.video-label{margin:0 0 6px;font-size:.95rem}.video-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:32px;display:grid}.video-grid .video{max-width:none}.transcript summary{cursor:pointer;color:var(--blue-dark);font-weight:700}.transcript ol{margin-top:10px;font-size:.98rem}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:18px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:border-color var(--dur-2), box-shadow var(--dur-2), transform var(--dur-2) var(--ease-out);flex-direction:column;gap:8px;padding:24px 24px 22px;display:flex;position:relative}.card h3{margin:0;font-size:1.18rem}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.card:has(h3 a) h3{padding-right:26px}.card:has(h3 a):after{content:"→";color:var(--blue-500);opacity:0;transition:opacity var(--dur-2), transform var(--dur-2) var(--ease-out);pointer-events:none;font-weight:700;position:absolute;top:22px;right:22px;transform:translate(-6px)}.card:has(h3 a):hover:after,.card:focus-within:after{opacity:1;transform:none}.card:has(h3 a):hover{border-color:var(--blue-100);box-shadow:var(--shadow-md)}@media (hover:hover) and (pointer:fine){.card:has(h3 a):hover{transform:translateY(-3px)}}.card:focus-within{outline:3px solid var(--focus);outline-offset:2px}.card h3 a:focus-visible{outline:none}.card p{color:var(--ink-2);margin:0;font-size:1.02rem}.card p:has(+.price-tag){margin-bottom:10px}.card .price-tag{border-top:1px dashed var(--line-2);font-family:var(--font-display);color:var(--blue-dark);font-variant-numeric:tabular-nums;margin-top:auto;padding-top:12px;font-size:1.05rem;font-weight:650}.card-icon{background:var(--blue-tint);width:40px;height:40px;color:var(--blue-dark);border-radius:10px;place-items:center;font-weight:800;display:grid}.group-title{font-family:var(--font-display);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:44px 0 18px;font-size:1.35rem;font-weight:650;display:flex}.group-title:after{content:"";background:var(--line);flex:40px;align-self:center;height:1px}.group-title:first-child{margin-top:0}.group-title small{font-family:var(--font);color:var(--muted);letter-spacing:0;font-size:1rem;font-weight:500}.feature{align-items:center;gap:28px;padding-block:clamp(28px,4vw,48px);display:grid}.feature+.feature{border-top:1px solid var(--line)}@media (width>=960px){.feature{grid-template-columns:.9fr 1.1fr;gap:56px}.feature.flip .feature-text{order:2}}.feature-text h3{font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem)}@media (width>=960px){.feature:has(>.video){align-items:start}.feature:has(>.video) .feature-text{padding-top:24px;position:sticky;top:110px}}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);gap:24px;padding:clamp(20px,3vw,36px);display:grid}.project-card>.screen{border-radius:var(--r-md);background:linear-gradient(135deg, var(--blue-50), var(--amber-50));padding:clamp(16px,2.6vw,32px)}@media (width>=960px){.project-card{grid-template-columns:1fr 1.1fr;align-items:center;gap:44px}}.project-card+.project-card{margin-top:28px}.tags{flex-wrap:wrap;gap:6px;margin:0 0 1em;padding:0;list-style:none;display:flex}.tags li{background:var(--blue-tint);color:var(--blue-dark);border-radius:999px;margin:0;padding:3px 10px;font-size:.88rem;font-weight:600}.badge{background:var(--amber-tint);color:var(--amber-ink);border:1px solid var(--amber-200);border-radius:999px;padding:3px 11px;font-size:.82rem;font-weight:700;display:inline-block}.checks{padding:0;list-style:none}.checks li{padding-left:30px;position:relative}.checks li:before{content:"";width:18px;height:18px;box-shadow:inset 0 0 0 1px var(--blue-100);background:var(--blue-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.5L12 5.5' fill='none' stroke='%2317539e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;border-radius:50%;position:absolute;top:.36em;left:1px}.dashes{padding:0;list-style:none}.dashes li{color:var(--ink-2);padding-left:22px;position:relative}.dashes li:before{content:"–";color:var(--muted);position:absolute;left:4px}.steps{counter-reset:step;gap:14px;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs);margin:0;padding:20px 22px 20px 70px;position:relative}.steps li:before{content:counter(step);background:var(--blue-50);width:34px;height:34px;color:var(--blue-700);box-shadow:inset 0 0 0 1px var(--blue-100);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:1rem;font-weight:800;display:grid;position:absolute;top:18px;left:20px}.steps strong{margin-bottom:2px;font-size:1.1rem;display:block}.steps p{color:var(--ink-2);margin:0}.svc-grid{gap:clamp(28px,4vw,56px);display:grid}@media (width>=1024px){.svc-grid{grid-template-columns:minmax(0,1fr) 320px}}.svc-main>section{border-bottom:1px solid var(--line);margin-bottom:clamp(28px,4vw,44px);padding-bottom:clamp(28px,4vw,44px)}.svc-main>section:last-child{border-bottom:0}.svc-aside{align-self:start;gap:16px;display:grid;position:sticky;top:92px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);padding:24px}.panel:has(>.pick-list){background:var(--blue-50);border-color:var(--blue-100);box-shadow:none;padding:clamp(22px,3vw,32px) clamp(22px,3vw,32px) clamp(22px,3vw,32px) clamp(26px,3.4vw,36px);position:relative;overflow:hidden}.panel:has(>.pick-list):before{content:"";background:var(--blue-500);width:4px;position:absolute;inset:0 auto 0 0}.panel:has(>.pick-list) h2{margin-bottom:14px;font-size:1.25rem}.pick-list a{text-decoration-style:dotted;text-decoration-thickness:1.5px}.pick-list a:hover{text-decoration-style:solid}.panel h2,.panel h3{margin-bottom:8px;font-size:1.1rem}.panel .price{color:var(--blue-dark);font-size:1.9rem;font-weight:700;line-height:1.1;font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 8px}.panel p{color:var(--ink-2);font-size:1rem}.panel ul{font-size:1rem}.panel-accent{background:radial-gradient(120% 90% at 100% 0%, #1f6fd173, transparent 60%), var(--night);color:#fff;border-color:var(--night);box-shadow:var(--shadow-md)}.panel-accent p{color:var(--on-night-2)}.two-col{gap:24px;display:grid}@media (width>=768px){.two-col{grid-template-columns:1fr 1fr}}.example{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);padding:clamp(18px,3vw,30px)}.example .screen{margin-top:18px}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--dur-2), box-shadow var(--dur-2);padding:0 20px}.faq details+details{margin-top:10px}.faq details[open]{border-color:var(--blue-100);box-shadow:var(--shadow-sm)}.faq summary{cursor:pointer;padding:17px 44px 17px 0;font-size:1.1rem;font-weight:700;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";background:var(--blue-50);width:30px;height:30px;color:var(--blue-700);border-radius:50%;place-items:center;margin-top:-15px;font-size:1.3rem;font-weight:600;line-height:1;transition:transform .25s,background-color .25s;display:grid;position:absolute;top:50%;right:0}.faq summary:hover:after{background:var(--blue-100)}.faq details[open] summary:after{transform:rotate(45deg)}:root{interpolate-size:allow-keywords}.faq details::details-content{block-size:0;transition:block-size .3s ease, content-visibility .3s allow-discrete;overflow:hidden}.faq details[open]::details-content{block-size:auto}.faq details>div{color:var(--ink-2);padding:0 0 18px}.cta-band{color:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Crect x='11.64' y='8.19' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='25.46' y='8.19' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='8.19' y='11.64' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='11.64' y='11.64' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='25.46' y='11.64' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='28.91' y='11.64' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='4.73' y='15.09' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='8.19' y='15.09' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='18.55' y='15.09' width='2.90' height='2.90' rx='0.64' fill='%23F2B544' fill-opacity='.14'/%3E%3Crect x='28.91' y='15.09' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='32.37' y='15.09' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='1.28' y='18.55' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='4.73' y='18.55' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='15.09' y='18.55' width='2.90' height='2.90' rx='0.64' fill='%23F2B544' fill-opacity='.14'/%3E%3Crect x='18.55' y='18.55' width='2.90' height='2.90' rx='0.64' fill='%23F2B544' fill-opacity='.14'/%3E%3Crect x='22.00' y='18.55' width='2.90' height='2.90' rx='0.64' fill='%23F2B544' fill-opacity='.14'/%3E%3Crect x='32.37' y='18.55' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='35.82' y='18.55' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='4.73' y='22.00' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='8.19' y='22.00' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='18.55' y='22.00' width='2.90' height='2.90' rx='0.64' fill='%23F2B544' fill-opacity='.14'/%3E%3Crect x='28.91' y='22.00' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='32.37' y='22.00' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='8.19' y='25.46' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='11.64' y='25.46' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='25.46' y='25.46' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='28.91' y='25.46' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='11.64' y='28.91' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='25.46' y='28.91' width='2.90' height='2.90' rx='0.64' fill='%23fff' fill-opacity='.07'/%3E%3C/svg%3E") right -110px bottom -120px / 340px no-repeat, radial-gradient(80% 130% at 100% 0%, #1f6fd18c, transparent 62%), var(--night);gap:20px;padding:clamp(28px,5vw,60px);display:grid}.cta-band h2{color:#fff;margin:0}.cta-band p{color:var(--on-night-2);max-width:40em;margin:0}@media (width>=900px){.cta-band{grid-template-columns:1fr auto;align-items:center}}.prose{max-width:740px}.prose h2{margin-top:2.1em;font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem)}.prose h3{margin-top:1.4em}.prose figure{margin:1.6em 0}.prose table{border-collapse:collapse;width:100%;margin:1em 0 1.6em;font-size:1rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.prose th,.data-table th{background:var(--sunk);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.8rem;font-weight:700}.prose tbody tr:nth-child(2n),.data-table tbody tr:nth-child(2n){background:#14262f05}.table-scroll{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin:1em 0 1.6em;overflow-x:auto}.table-scroll>table{margin:0}.table-scroll tr:last-child>td{border-bottom:0}.meta-line{color:var(--muted);font-size:.98rem}.checklist{background:var(--amber-tint);border:1px solid var(--amber-200);box-shadow:inset 4px 0 var(--amber-400);border-radius:var(--r-md);margin:2em 0;padding:24px 26px 24px 30px}.checklist h2{margin-top:0;font-size:1.3rem}.checklist ul{margin:0}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:18px;display:grid}.tech-grid .panel ul{margin:0}.tech-chips{flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.tech-chips li{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-xs);border-radius:999px;margin:0;padding:5px 12px;font-size:.93rem;font-weight:600}.panel .tech-chips li{background:var(--paper-2);box-shadow:none}.facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.facts li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin:0;padding:22px 22px 20px}.facts li:before{content:"";background:var(--amber);border-radius:2px;width:24px;height:3px;margin-bottom:14px;display:block}.facts b{color:var(--ink);font-size:clamp(2rem,1.5rem + 1.6vw,2.7rem);font-weight:700;line-height:1;font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-bottom:8px;display:block}.facts span{color:var(--muted);font-size:.98rem;line-height:1.45;display:block}.flow{counter-reset:flow;gap:10px;margin:1em 0 1.4em;padding:0;list-style:none;display:grid}.flow li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-xs);margin:0;padding:12px 16px 12px 19px;position:relative;overflow:hidden}.flow li:before{content:"";background:linear-gradient(180deg, var(--blue-500), var(--blue-300));width:3px;position:absolute;inset:0 auto 0 0}.flow li{counter-increment:flow}.flow li b{display:block}.flow li b:before{content:counter(flow, decimal-leading-zero);letter-spacing:.12em;color:var(--blue-500);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:.74rem;font-weight:700;display:block}.flow li span{color:var(--ink-2);font-size:1rem}@media (width>=640px){.flow.flow-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.flow.flow-row li{padding:17px 16px 14px}.flow.flow-row li:before{background:linear-gradient(90deg, var(--blue-500), var(--blue-300));width:auto;height:3px;inset:0 0 auto}}@media (width>=1100px){.flow.flow-row{grid-template-columns:none;grid-auto-columns:1fr;grid-auto-flow:column}}.form{gap:18px;display:grid}.field label,.field legend{margin-bottom:6px;font-weight:700;display:block}.field .hint{color:var(--muted);font-size:.95rem;font-weight:400;display:block}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--radius-sm);min-height:48px;padding:12px 14px;font-size:1.05rem}.field textarea{resize:vertical;min-height:160px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:var(--ring);outline:0}.field [aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin-top:6px;font-size:.98rem;font-weight:600}.form-row{gap:18px;display:grid}@media (width>=640px){.form-row{grid-template-columns:1fr 1fr}}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{border-radius:var(--radius-sm);padding:14px 16px 14px 20px;font-weight:600;box-shadow:inset 4px 0}.form-status[data-kind=error]{background:var(--danger-50);color:var(--danger-ink)}.form-status[data-kind=ok]{background:var(--blue-tint);color:var(--blue-dark)}.form-status:empty{display:none}.contact-grid{gap:clamp(28px,4vw,56px);display:grid}@media (width>=1024px){.contact-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}main:has(>.section:last-child,>.section-tight:last-child,>.pres-section:last-child)+.site-footer{margin-top:0}.site-footer{background:var(--night);color:var(--on-night-2);margin-top:clamp(48px,7vw,96px);padding:64px 0 28px;font-size:.98rem;box-shadow:inset 0 1px #ffffff0f}.site-footer a{color:var(--on-night-2);transition:color var(--dur-1);text-decoration:none}.site-footer a:hover{color:#fff}.site-footer nav a{display:inline-block;position:relative}.site-footer nav a:after{content:"→";opacity:0;transition:opacity var(--dur-2), transform var(--dur-2) var(--ease-out);margin-left:6px;position:absolute;top:0;left:100%;transform:translate(-4px)}.site-footer nav a:hover:after,.site-footer nav a:focus-visible:after{opacity:1;transform:none}.site-footer h2{font-family:var(--font);color:var(--blue-300);text-transform:uppercase;letter-spacing:.14em;margin:0 0 14px;font-size:.74rem;font-weight:700}.site-footer ul{margin:0 0 28px;padding:0;list-style:none}.site-footer li+li{margin-top:5px}.footer-brand .logo-top{color:#fff}.site-footer .logo-bottom,.site-footer .muted{color:var(--on-night-3)}.footer-grid{grid-template-columns:1fr;gap:28px;display:grid}@media (width>=720px){.footer-grid{grid-template-columns:1fr 1fr}}@media (width>=1100px){.footer-grid{grid-template-columns:1.3fr 1.2fr 1fr .8fr}}.footer-brand p{max-width:30em;margin:14px 0 0}.footer-bottom{color:var(--on-night-3);border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:16px;padding-top:22px;font-size:.88rem;display:flex}.footer-bottom p{margin:0}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.section-head,.cards>*,.project-card,.flow li,.facts li,.steps li,.cta-band,.faq details,.video-jump li{animation:linear both rise view();animation-range:entry entry 30%}.cards>:nth-child(3n+2),.flow li:nth-child(2n),.facts li:nth-child(2n){animation-range:entry 4% entry 34%}.cards>:nth-child(3n){animation-range:entry 8% entry 38%}}.hero-watch .play-mark{animation:2.6s ease-out 1.2s infinite play-pulse}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}@keyframes play-pulse{0%{box-shadow:0 4px 12px #f2b54473,0 0 #f2b54480}70%,to{box-shadow:0 4px 12px #f2b54473,0 0 0 12px #f2b54400}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero-visual{position:relative}.hero-desktop{margin-right:0}.hero-phone{display:none}.hero-caption{color:var(--muted);margin:14px 0 0;font-size:.95rem}@media (width>=640px){.hero-visual{padding-bottom:28px}.hero-desktop{margin-right:18%}.hero-phone{width:30%;max-width:190px;display:block;position:absolute;bottom:40px;right:0}.hero-caption{margin-right:34%}.hero-phone .screen-frame{border-radius:22px;padding:5px;box-shadow:0 2px 6px #14262f1f,0 24px 48px #14262f47}.hero-phone .screen-frame picture{border-radius:17px}}.project-title{font-family:var(--font-display);letter-spacing:-.02em;margin:12px 0 8px;font-size:clamp(1.6rem,1.3rem + 1.2vw,2.2rem);font-weight:650}.project-title a{color:var(--ink);text-decoration:none}.project-title a:hover{color:var(--blue-dark);text-decoration:underline}.two-col-list{columns:1}@media (width>=900px){.two-col-list{columns:2;column-gap:40px}.two-col-list li{break-inside:avoid}}.pick-list li{margin-top:.5em}.small-card{max-width:520px}.card-shot .screen-frame{max-width:420px;margin:0 auto}.feature .video{justify-self:center}p.narrow{max-width:760px}.inquiry{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-md);gap:30px;padding:clamp(20px,3.6vw,40px);display:grid}.form-section{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.form-section>legend{color:var(--ink);align-items:center;gap:10px;margin-bottom:4px;padding:0;font-size:1.15rem;font-weight:700;display:flex}.form-divider{border:0;border-top:1px solid var(--line);margin:0}.step-num{background:var(--blue-tint);width:30px;height:30px;color:var(--blue-dark);box-shadow:inset 0 0 0 1px var(--blue-100);border-radius:50%;place-items:center;font-size:.95rem;font-weight:800;display:inline-grid}.inquiry .field{min-width:0;margin:0}.inquiry fieldset.field{border:0;padding:0}.label-row{justify-content:space-between;align-items:baseline;gap:12px;width:100%;margin-bottom:8px;padding:0;font-size:1rem;font-weight:650;display:flex!important}.optional{color:var(--muted);font-size:.85rem;font-weight:500}.inquiry input[type=text],.inquiry input[type=email],.inquiry select,.inquiry textarea{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-sm);min-height:50px;box-shadow:var(--shadow-xs);background:#fff;padding:12px 14px;font-size:1.02rem;transition:border-color .15s,box-shadow .15s}.inquiry select{appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23172b35' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center/16px no-repeat;padding-right:42px}.inquiry textarea{resize:vertical;min-height:170px;line-height:1.5}.inquiry ::placeholder{color:var(--faint)}.inquiry input:hover,.inquiry select:hover,.inquiry textarea:hover{border-color:var(--line-3)}.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{border-color:var(--blue);box-shadow:var(--ring);outline:none}.inquiry [aria-invalid=true]{box-shadow:0 0 0 3px #b3261e1f;border-color:var(--danger)!important}.field-foot{color:var(--muted);justify-content:space-between;gap:16px;margin-top:6px;font-size:.9rem;display:flex}.counter{white-space:nowrap;font-variant-numeric:tabular-nums}.counter.near{color:var(--danger-ink);font-weight:600}.inquiry .hint{color:var(--muted)}.choice-group{flex-wrap:wrap;gap:8px;display:flex}.choice{position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice span{border:1px solid var(--line-2);min-height:42px;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:999px;align-items:center;padding:8px 16px;font-size:.97rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.choice:hover span{border-color:var(--blue)}.choice input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:var(--shadow-sm)}.choice input:checked+span:before{content:"✓";margin-right:6px;font-weight:800}.choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.form-submit{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px 22px;padding-top:24px;display:flex}.form-submit .btn{min-width:240px}.form-submit p{flex:260px;margin:0;font-size:.93rem}.contact-aside{align-self:start;gap:18px;display:grid;position:sticky;top:92px}.contact-aside .panel h2{margin-bottom:14px;font-size:1.15rem}.contact-aside .panel p,.contact-aside .checks li{font-size:.98rem}.next-steps{counter-reset:ns;gap:16px;margin:0;padding:0;list-style:none;display:grid}.next-steps li{counter-increment:ns;margin:0;padding-left:42px;position:relative}.next-steps li:before{content:counter(ns);background:var(--blue-50);width:28px;height:28px;color:var(--blue-700);box-shadow:inset 0 0 0 1px var(--blue-100);border-radius:50%;place-items:center;font-size:.9rem;font-weight:800;display:grid;position:absolute;top:0;left:0}.next-steps strong{font-size:1rem;display:block}.next-steps span{color:var(--ink-2);font-size:.95rem}@media (width<=1023px){.contact-aside{position:static}}.hero-grid{grid-template-areas:"text""visual""proof"}.hero-text{grid-area:text}.hero-visual{grid-area:visual}.hero-grid>.hero-proof{grid-area:proof;margin-top:0}@media (width<=479px){.hero .btn-row .btn,.page-hero .btn-row .btn{flex:100%}}@media (width<=639px){.hero-grid>.hero-proof{grid-template-columns:1fr 1fr;display:grid}.hero-proof li{border-radius:var(--r-sm);align-items:flex-start;padding:9px 11px;font-size:.9rem}.hero-proof li:before{margin-top:.45em}.hero-desktop{border-radius:var(--r-md);background:linear-gradient(135deg, var(--blue-50), var(--amber-50));padding:14px}.hero{padding-top:28px}.hero .lead{font-size:1.12rem}.hero .btn-row{margin-top:1.1em}}@media (width>=1024px){.hero-grid{grid-template-areas:"text visual""proof visual";align-items:start;row-gap:22px}.hero-text{align-self:end}.hero-visual{align-self:center}}.video-primary{justify-self:center;width:100%;max-width:420px}.video-primary .video{max-width:none}.video-secondary{justify-self:center;width:100%;max-width:300px}.video-secondary .video{max-width:none}.data-table{border-collapse:collapse;background:var(--surface);width:100%;margin:1em 0 1.6em;font-size:1rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.data-table th{background:var(--sunk)}code{background:var(--paper-3);border-radius:var(--r-xs);overflow-wrap:anywhere;padding:1px 6px;font-size:.92em}.data-table code,.cmd-list code{background:var(--sunk)}.ad-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:20px;margin:1.4em 0;display:grid}.ad-grid .screen-frame{max-width:360px;margin:0 auto}.cmd-list{padding:0;list-style:none}.cmd-list li{border-bottom:1px solid var(--line);padding:8px 0}.cmd-list code{max-width:100%;margin-right:8px;display:inline-block}.tool-shot{margin-top:1.4em}.tools-title{margin-top:clamp(40px,5vw,64px)}.tools-intro{color:var(--ink-2);max-width:46em;margin-bottom:24px}.screen-frame[data-zoom][role=button]{cursor:zoom-in;transition:box-shadow .2s,transform .2s}@media (hover:hover) and (pointer:fine){.screen-frame[data-zoom][role=button]:hover{box-shadow:0 2px 4px #172b3514,0 16px 36px #172b3529}}.screen-frame[data-zoom]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.zoom-lock,.zoom-lock body{overflow:hidden}.zoom{z-index:300;background:#172b3500;flex-direction:column;transition:background-color .22s;display:flex;position:fixed;inset:0}.zoom[hidden]{display:none}.zoom.is-peek{pointer-events:none}.zoom.is-peek.is-visible{background:#172b3580}.zoom.is-open.is-visible{background:#0f1e26f0}.zoom-stage{overscroll-behavior:contain;flex:1;justify-content:center;align-items:center;min-height:0;padding:64px 16px 16px;display:flex;overflow:hidden}@media (width>=768px){.zoom-stage{padding:72px 40px 24px}}.zoom.is-open .zoom-stage{cursor:zoom-out}.zoom-frame{background:var(--surface);transform-origin:50%;border-radius:12px;flex-direction:column;max-width:100%;max-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #0006}.zoom-frame .screen-bar{flex:none}.zoom-frame:not([data-device=desktop]) .screen-bar{display:none}.zoom-frame[data-device=phone]{border:8px solid var(--ink);border-radius:34px;box-shadow:0 0 0 1px #ffffff24,0 30px 80px #00000073}.zoom-img{object-fit:contain;width:auto;max-width:100%;height:auto;min-height:0;display:block}.zoom:not(.is-detail) .zoom-img{max-height:calc(100dvh - 150px)}.zoom-frame[data-device=desktop] .zoom-img{max-height:calc(100dvh - 182px)}.zoom.is-open:not(.is-detail) .zoom-img{cursor:zoom-in}.zoom.is-detail .zoom-stage{-webkit-overflow-scrolling:touch;justify-content:flex-start;align-items:flex-start;padding:68px 0 72px;overflow:auto}.zoom.is-detail .zoom-frame{border-radius:6px;flex:none;max-width:none;max-height:none;margin:auto}.zoom.is-detail .zoom-frame[data-device=phone]{border-width:0}.zoom.is-detail .zoom-img{cursor:grab;max-width:none}.zoom.is-detail .zoom-img:active{cursor:grabbing}.zoom-hint{color:var(--ink);text-align:center;background:#fffffff0;border-radius:999px;flex:none;max-width:calc(100% - 32px);margin:0 auto 18px;padding:7px 14px;font-size:.95rem;font-weight:600;box-shadow:0 6px 20px #0003}.zoom-hint[hidden]{display:none}.zoom.is-detail .zoom-hint{margin:0;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.zoom-close{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-weight:700;display:inline-flex;position:fixed;top:12px;right:12px;box-shadow:0 6px 20px #00000040}.zoom-close:hover{background:var(--amber-tint)}.zoom-close:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.zoom.is-peek .zoom-close{display:none}.zoom.is-visible .zoom-hint,.zoom.is-visible .zoom-close{animation:.25s .1s both zoom-ui}@keyframes zoom-ui{0%{opacity:0;transform:translateY(6px)}}.zoom.is-detail.is-visible .zoom-hint{animation:none}.walk{gap:24px;display:grid}.walk-steps{counter-reset:none;gap:8px;margin:0;padding:0;list-style:none;display:grid}.walk-step{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:14px;margin:0;padding:14px 16px;display:flex}.walk-num{background:var(--blue-tint);width:30px;height:30px;color:var(--blue-dark);border-radius:50%;flex:none;place-items:center;font-size:.95rem;font-weight:800;display:inline-grid}.walk-body{flex-direction:column;gap:2px;min-width:0;display:flex}.walk-title{font-size:1.06rem}.walk-text{color:var(--ink-2);font-size:1rem;line-height:1.5}.walk-shots{display:grid}.walk-shot{grid-area:1/1;min-width:0}.walk-shot:not([data-first]),.walk-progress{display:none}@media (width>=960px){.walk{grid-template-columns:minmax(300px,.75fr) 1.5fr;align-items:start;gap:40px}.walk-stage{position:sticky;top:96px}}.walk.is-live .walk-step{cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}.walk.is-live .walk-step:hover{border-color:var(--blue)}.walk.is-live .walk-step:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.walk.is-live .walk-step.is-active{border-color:var(--blue-100);box-shadow:var(--shadow-md)}.walk.is-live .walk-num{transition:background-color .2s,color .2s}.walk.is-live .walk-step.is-active .walk-num{background:var(--blue);color:#fff}.walk.is-live .walk-step.is-done .walk-num{background:var(--blue-dark);color:#fff}.walk.is-live .walk-text{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .3s,opacity .25s;display:grid}.walk.is-live .walk-text>span{overflow:hidden}.walk.is-live .is-active .walk-text{opacity:1;grid-template-rows:1fr}.walk.is-live .walk-shot{opacity:0;visibility:hidden;transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .35s;display:block;transform:translate(24px)}.walk.is-live .walk-shot[data-from=left]{transform:translate(-24px)}.walk.is-live .walk-shot.is-active{opacity:1;visibility:visible;transition-delay:0s;transform:none}.walk.is-live .walk-progress{background:var(--line);border-radius:4px;height:4px;margin-bottom:12px;display:block;overflow:hidden}.walk-progress span{height:100%;width:calc(var(--walk-p,0) * 100%);background:var(--blue);border-radius:inherit;transition:width .4s cubic-bezier(.2,.8,.2,1);display:block}.walk-nav{display:none}.walk-nav button{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:inline-grid}.walk-nav button:disabled{opacity:.35;cursor:default}.walk-nav button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.walk-caption{color:var(--ink-2);flex:1;margin:0;font-size:1rem;line-height:1.5}.walk-caption b{color:var(--ink);display:block}@media (width<=959px){.walk.is-live{gap:14px}.walk.is-live .walk-steps{scroll-snap-type:x proximity;margin:0 calc(var(--gutter) * -1);padding:2px 2px 8px;padding-inline:var(--gutter);scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.walk.is-live .walk-steps::-webkit-scrollbar{display:none}.walk.is-live .walk-step{scroll-snap-align:center;border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 14px 8px 8px}.walk.is-live .walk-num{width:28px;height:28px}.walk.is-live .walk-title{white-space:nowrap;font-size:.98rem}.walk.is-live .walk-step.is-active{background:var(--blue-500);border-color:var(--blue-500);color:#fff}.walk.is-live .walk-step.is-active .walk-num{color:var(--blue-700);background:#fff}.walk.is-live .walk-text{display:none}.walk.is-live .walk-shots{touch-action:pan-y}.walk.is-live .walk-nav:not([hidden]){align-items:flex-start;gap:12px;margin-top:14px;display:flex}}.feature-compare{padding-top:0}.compare{justify-self:center;width:min(100%,460px);margin:0}.compare-frame{--pos:50%;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);user-select:none;background:#fff;position:relative;overflow:hidden}.compare-img img,.compare-img{width:100%;height:auto;display:block}.compare-after{clip-path:inset(0 0 0 var(--pos));position:absolute;inset:0}.compare-handle{top:0;bottom:0;left:var(--pos);pointer-events:none;place-items:center;width:0;display:grid;position:absolute}.compare-handle:before{content:"";background:#fff;width:3px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 0 1px #172b3540}.compare-handle svg{background:var(--ink);color:#fff;border-radius:50%;flex:none;width:44px;height:44px;padding:10px;position:relative;transform:translate(-.5px);box-shadow:0 4px 14px #172b3559}.compare-tag{color:#fff;pointer-events:none;background:#172b35d1;border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:700;transition:opacity .2s;position:absolute;bottom:12px}.compare-tag-before{left:12px}.compare-tag-after{top:12px;bottom:auto;right:12px}.compare-range{opacity:0;cursor:ew-resize;touch-action:pan-y;width:100%;height:100%;margin:0;position:absolute;inset:0}.compare-range[hidden]{display:none}.compare-frame:has(.compare-range:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.compare figcaption{color:var(--ink-2);margin-top:12px;font-size:1rem;line-height:1.5}.project-card{transition:border-color .2s,box-shadow .2s}.project-card:focus-within{border-color:var(--blue)}.project-card .screen-frame{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}@media (hover:hover) and (pointer:fine){.project-card:hover{border-color:var(--blue-100);box-shadow:var(--shadow-lg)}.project-card:hover .screen-frame{transform:translateY(-4px)}.project-card:hover .project-title a{color:var(--blue-dark)}}.compare-frame.hide-before .compare-tag-before,.compare-frame.hide-after .compare-tag-after{opacity:0}.walk-section{overflow-x:clip}.toc{margin-top:28px}.toc ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.toc li{margin:0}.toc a{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs);transition:border-color var(--dur-1), color var(--dur-1), background-color var(--dur-1);border-radius:999px;padding:7px 15px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.toc a:hover{border-color:var(--blue-100);background:var(--blue-50);color:var(--blue-dark)}main [id]{scroll-margin-top:84px}.pres{background:var(--night);color:var(--on-night);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);margin:0;padding:clamp(8px,1.4vw,14px);container-type:inline-size}.pres :focus-visible,.screening :focus-visible{outline-color:var(--amber)}.pres-screen{background:var(--night-0);aspect-ratio:16/9;border-radius:11px;overflow:hidden}.pres-screen video{object-fit:contain;background:var(--night-0);width:100%;height:100%}.pres-screen video::cue{color:#fff;font-family:var(--font);background:#0a161ce0}.pres-rail{padding:12px 4px 0}.pres-now{color:var(--on-night-2);flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0 0 2px;font-size:.95rem;display:flex}.pres-now-name{color:var(--on-night);font-weight:600}.pres-chapters{gap:6px;margin:0;padding:0;list-style:none;display:flex}.pres-chapters li{flex:var(--span,1) 1 0;min-width:0;margin:0}.pres-chapters button{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:12px 0 6px;display:block}.pres-seg{background:var(--night-line);border-radius:3px;height:5px;transition:background-color .15s;display:block;overflow:hidden}.pres-fill{height:100%;width:calc(var(--p,0) * 100%);background:var(--amber);display:block}.pres-chapters button:hover .pres-seg{background:#eef4f24d}.pres-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@container (width>=620px){.pres-now{display:none}.pres-label{clip:auto;white-space:normal;width:auto;height:auto;color:var(--on-night-2);text-wrap:balance;margin-top:9px;font-size:.86rem;line-height:1.35;display:block;position:static;overflow:visible}.pres-time{font-variant-numeric:tabular-nums;opacity:.7;margin-bottom:1px;font-size:.75rem;display:block}.pres-chapters button[aria-current] .pres-label,.pres-chapters button:hover .pres-label{color:#fff}.pres-chapters button[aria-current] .pres-label{font-weight:600}}.pres-caption{color:var(--on-night-2);padding:10px 4px 4px;font-size:.95rem;line-height:1.5}.pres-title{color:#fff;margin:0 0 4px;font-size:1.12rem}.pres-meta{color:var(--on-night);flex-wrap:wrap;gap:2px 16px;margin:0 0 4px;font-weight:600;display:flex}.pres-label-text{margin:0}.pres .transcript summary{color:var(--on-night-link)}.transcript section h3,.transcript section h4{margin:1em 0 .2em;font-size:1rem}.transcript section p{margin:0;font-size:.98rem}.screening{isolation:isolate;color:var(--on-night);background:radial-gradient(60% 55% at 15% 0%, #1f6fd14d, transparent 70%), radial-gradient(45% 50% at 100% 100%, #f2b54414, transparent 70%), var(--night);padding:clamp(56px,7vw,96px) 0;position:relative}.screening:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 1px 1px,#eef4f20f 1px,#0000 0) 0 0/22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}.screening .pres-screen{border-radius:14px;box-shadow:0 30px 80px #0006,0 0 0 1px #ffffff12}.screening h2{color:#fff}.screening-head{max-width:760px;margin-bottom:clamp(20px,3vw,32px)}.screening-head p{color:var(--on-night-2);margin:0}.screening a{color:var(--on-night-link)}.screening a:hover{color:#fff}.screening .pres{box-shadow:none;background:0 0;border-radius:0;padding:0}.screening-body{gap:28px;display:grid}.screening-panel[hidden]{display:none}.screening-links{margin:10px 4px 0}.screening-pick{color:#fff;margin:0 0 10px;font-weight:700}.reel{gap:6px;display:grid}.reel-item{color:var(--on-night);border:1px solid #0000;border-radius:12px;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px 8px 8px;text-decoration:none;transition:background-color .15s,border-color .15s;display:grid;position:relative}.screening .reel-item{color:var(--on-night)}@media (width<=639px){.reel-item{grid-template-columns:80px minmax(0,1fr) auto;padding:7px 10px 7px 7px}.reel-item img{width:80px;height:45px}}.reel-item img{object-fit:cover;border-radius:7px;width:96px;height:54px;box-shadow:0 0 0 1px #ffffff1a}.reel-item:hover{background:var(--night-2)}.reel-item[aria-selected=true]{background:var(--night-3);box-shadow:inset 3px 0 var(--amber), 0 8px 24px #0003;border-color:#0000}.reel-name{font-family:var(--font-display);font-weight:700;line-height:1.2;display:block}.reel-kind{color:var(--on-night-2);font-size:.88rem;line-height:1.3;display:block}.reel-time{color:var(--on-night-2);font-variant-numeric:tabular-nums;font-size:.88rem}.reel-progress{opacity:0;background:linear-gradient(var(--amber), var(--amber)) left / calc(var(--p,0) * 100%) 100% no-repeat;border-radius:2px;height:2px;position:absolute;bottom:3px;left:10px;right:10px}.reel-item[aria-selected=true] .reel-progress{opacity:1}.reel-foot{color:var(--on-night-2);gap:4px;margin:14px 0 0;font-size:.92rem;display:grid}@media (width>=1024px){.screening-body{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:32px}}.play-mark{background:var(--amber);width:1.9em;height:1.9em;color:var(--ink);transition:transform var(--dur-2) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:inline-grid}.hero-watch .play-mark{box-shadow:0 4px 12px #f2b54473}.hero-watch:hover .play-mark{transform:scale(1.08)}.play-mark svg{width:.75em;height:.75em;margin-left:.12em}.hero-watch{color:var(--ink);align-items:center;gap:10px;margin-top:1.1em;font-weight:700;text-decoration:none;display:inline-flex}.hero-watch:hover{color:var(--blue-dark);text-decoration:underline}.hero-watch small{color:var(--muted);font-size:.92em;font-weight:600}.nav-desktop a.nav-video,.nav-mobile a.nav-video{align-items:center;gap:7px;display:flex}.nav-desktop a.nav-video:not([aria-current]):hover{background:var(--amber-50)}.nav-video .play-mark{width:1.35em;height:1.35em}.video-jump ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:10px;margin:1.6em 0 0;padding:0;list-style:none;display:grid}.video-jump li{margin:0}.video-jump a{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs);transition:border-color var(--dur-2), box-shadow var(--dur-2);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 12px 6px 6px;text-decoration:none;display:grid}.video-jump a:hover{border-color:var(--blue-100);box-shadow:var(--shadow-md)}.video-jump img{object-fit:cover;border-radius:6px;width:72px;height:40px}.jump-name{font-weight:700;line-height:1.2}.jump-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.pres-section{padding:clamp(40px,6vw,80px) 0}.pres-section-grid{gap:24px;display:grid}.pres-section-text h2{font-size:clamp(1.45rem,1.2rem + 1vw,2rem)}.pres-kind{color:var(--blue-dark);margin:0 0 .4em;font-weight:700}.pres-links{margin:0 0 1em;padding:0;list-style:none}@media (width>=1024px){.pres-section-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:44px}.pres-section-grid>.pres{grid-area:1/1}}
