@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/ibm-plex-sans-latin-400-BUjEsRx4.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/ibm-plex-sans-latin-500-B2CuUu4P.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/ibm-plex-mono-latin-500-DSY6xOcd.woff2)format("woff2")}:root{--brand-mark:oklch(20% 0 0);--brand-mark-foreground:oklch(100% 0 0);--destructive:oklch(55% .2 25);--ground:oklch(95.5% .02 88);--accent:oklch(86% .17 90);--accent-ink:oklch(20% 0 0);--tile-1:oklch(89% .1 92);--tile-2:oklch(88% .07 155);--tile-3:oklch(88% .07 300);--spatial-berth-free:oklch(74% .15 150);--spatial-berth-occupied:oklch(57% .075 250);--spatial-berth-booked:oklch(78% .14 75);--spatial-berth-blocked:oklch(58% .17 25);--motion-duration:.3s;--motion-duration-pop:.15s;--motion-ease:cubic-bezier(.32, .72, 0, 1);--motion-stagger:40ms;--radius:.75rem;--radius-md:calc(var(--radius) - 2px);--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.lamp-faro,footer,.scale{--brand-mark:oklch(100% 0 0);--brand-mark-foreground:oklch(20% 0 0);--destructive:oklch(65% .2 25);--ground:oklch(17% .012 80);--accent:oklch(84% .16 90);--accent-ink:oklch(20% 0 0);--tile-1:oklch(36% .075 92);--tile-2:oklch(34% .05 155);--tile-3:oklch(35% .06 300);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,footer{--bg:var(--ground);--ink:var(--brand-mark);--soft:color-mix(in oklch, var(--ink) 62%, transparent);--faint:color-mix(in oklch, var(--ink) 46%, transparent);--line:color-mix(in oklch, var(--ink) 14%, transparent);--panel:color-mix(in oklch, var(--ink) 5%, var(--bg))}.scale{--bg:var(--brand-mark-foreground);--ink:var(--brand-mark);--soft:color-mix(in oklch, var(--ink) 62%, transparent);--faint:color-mix(in oklch, var(--ink) 46%, transparent);--line:color-mix(in oklch, var(--ink) 14%, transparent)}.text-brand-mark{color:var(--brand-mark)}.text-brand-mark-foreground{color:var(--brand-mark-foreground)}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:5rem}@supports selector(::-webkit-scrollbar){html::-webkit-scrollbar{width:.875rem;height:.875rem}.sg-scroll::-webkit-scrollbar{width:.875rem;height:.875rem}[data-swipe]::-webkit-scrollbar{width:.875rem;height:.875rem}html::-webkit-scrollbar-track:vertical{border-left:1px solid var(--line);background:0 0}.sg-scroll::-webkit-scrollbar-track:vertical{border-left:1px solid var(--line);background:0 0}[data-swipe]::-webkit-scrollbar-track:vertical{border-left:1px solid var(--line);background:0 0}html::-webkit-scrollbar-track:horizontal{border-top:1px solid var(--line);background:0 0}.sg-scroll::-webkit-scrollbar-track:horizontal{border-top:1px solid var(--line);background:0 0}[data-swipe]::-webkit-scrollbar-track:horizontal{border-top:1px solid var(--line);background:0 0}html::-webkit-scrollbar-thumb{background:var(--faint);background-clip:padding-box;border:3px solid #0000;border-radius:999px;min-width:3rem;min-height:3rem}.sg-scroll::-webkit-scrollbar-thumb{background:var(--faint);background-clip:padding-box;border:3px solid #0000;border-radius:999px;min-width:3rem;min-height:3rem}[data-swipe]::-webkit-scrollbar-thumb{background:var(--faint);background-clip:padding-box;border:3px solid #0000;border-radius:999px;min-width:3rem;min-height:3rem}html::-webkit-scrollbar-thumb:hover{background:var(--soft);background-clip:padding-box}.sg-scroll::-webkit-scrollbar-thumb:hover{background:var(--soft);background-clip:padding-box}[data-swipe]::-webkit-scrollbar-thumb:hover{background:var(--soft);background-clip:padding-box}html::-webkit-scrollbar-thumb:active{background:var(--accent);background-clip:padding-box}.sg-scroll::-webkit-scrollbar-thumb:active{background:var(--accent);background-clip:padding-box}[data-swipe]::-webkit-scrollbar-thumb:active{background:var(--accent);background-clip:padding-box}html::-webkit-scrollbar-corner{background:0 0}.sg-scroll::-webkit-scrollbar-corner{background:0 0}[data-swipe]::-webkit-scrollbar-corner{background:0 0}}@supports not selector(::-webkit-scrollbar){html,.sg-scroll,[data-swipe]{scrollbar-width:thin;scrollbar-color:var(--faint) transparent}}body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.55 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:clip}a{color:inherit}img,video{max-width:100%;display:block}[hidden]{display:none!important}.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}:root{--gutter:1.5rem}@media (width>=78rem){:root{--gutter:5.5rem}}.wrap{width:min(100% - 2 * var(--gutter), 82rem);margin-inline:auto}.label{font:500 .75rem/1.2 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--soft)}.label:has(+.display){display:block}.nb{white-space:nowrap;display:inline-block}.display{font-family:var(--font-sans);letter-spacing:-.045em;text-wrap:balance;font-weight:400;line-height:.98}.display .quiet{color:var(--faint)}.display .px{-webkit-box-decoration-break:clone;box-decoration-break:clone;font-family:var(--font-mono);letter-spacing:-.06em;color:var(--ink);background:linear-gradient(transparent 62%, var(--accent) 62%, var(--accent) 92%, transparent 92%);padding:0 .06em;font-size:.9em;font-weight:500;display:inline}.btn{background:var(--accent);min-height:2.75rem;color:var(--accent-ink);font:500 .8125rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;transition:translate var(--motion-duration-pop) var(--motion-ease), scale var(--motion-duration-pop) var(--motion-ease), opacity var(--motion-duration-pop) var(--motion-ease);border:0;align-items:center;gap:.6rem;padding:.85rem 1.25rem;text-decoration:none;display:inline-flex}.btn:hover{opacity:.86}.btn.ghost{color:var(--ink);border:1px solid var(--ink);transition:background-color var(--motion-duration-pop) var(--motion-ease), color var(--motion-duration-pop) var(--motion-ease);background:0 0}.btn.ghost:hover{background:var(--ink);color:var(--bg);opacity:1}.btn:active{translate:0 1px}.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,[data-swipe]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}[data-swipe]:focus-visible{outline-offset:-2px}.btn .arrow{transition:translate var(--motion-duration-pop) var(--motion-ease)}.btn:hover .arrow{translate:3px}.faro{vertical-align:-.04em;width:auto;height:.86em;display:inline-block}.cursor{animation:1.15s step-end 4 blink;display:inline-flex}@keyframes blink{50%{opacity:0}}.top{z-index:30;position:fixed;inset:0 0 auto}.top .bar{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.1rem 0;display:flex}.top .home{display:block}.wordmark{width:auto;height:1.15rem;display:block}.top nav{align-items:center;gap:1.4rem;display:flex}.langs{gap:.9rem;padding:0;list-style:none;display:flex}.langs a{font:500 .75rem/1 var(--font-mono);letter-spacing:.08em;color:var(--soft);transition:color var(--motion-duration-pop) var(--motion-ease);text-decoration:none}.langs a:hover,.langs a[aria-current]{color:var(--ink)}.top .btn{padding:.7rem 1rem}.top:before{content:"";background:color-mix(in oklch, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:opacity var(--motion-duration) var(--motion-ease);z-index:-1;position:absolute;inset:0}.js .top:not(.solid):before{opacity:0}.js .top.scrolled:before{opacity:1}.scale{mix-blend-mode:difference;z-index:20;pointer-events:none;width:1.6rem;color:var(--line);background:repeating-linear-gradient(currentColor 0 1px,#0000 1px 12px) 0 0/7px 100% repeat-y;display:none;position:fixed;top:5.5rem;bottom:2rem;left:.9rem}.scale:after{content:"";color:var(--faint);background:repeating-linear-gradient(currentColor 0 1px,#0000 1px 60px) 0 0/14px 100% repeat-y;position:absolute;inset:0}.scale .mark{left:.9rem;top:calc(var(--p,0) * 100%);font:500 .625rem/1 var(--font-mono);letter-spacing:.04em;color:var(--soft);white-space:nowrap;align-items:center;gap:.3rem;display:flex;position:absolute;translate:0 -50%}.scale .mark .boat{flex:none;width:1.6rem;height:1.6rem;margin-left:.35rem}.scale.afloat .mark .boat{visibility:hidden}.boat3d{transform-origin:50% 78%;pointer-events:none;width:16rem;height:16rem;position:fixed;top:0;left:0}@media (width<=77.99rem){.boat3d{display:none}}@media (width>=78rem){.js .scale{display:block}}.hero{padding:clamp(7.5rem,17vh,10rem) 0 clamp(3rem,8vh,5.5rem);position:relative}.hero .wrap{align-items:center;gap:clamp(3rem,7vh,4.5rem);display:grid}@media (width>=62rem){.hero .wrap{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2.5rem,4vw,5rem)}}.hero h1{max-width:10ch;font-size:clamp(3.1rem,6.4vw,6.8rem)}.hero .sub{max-width:30rem;color:var(--soft);text-wrap:pretty;margin-top:1.6rem;font-size:clamp(1.05rem,1.35vw,1.3rem)}.hero .row{flex-wrap:wrap;align-items:center;gap:1.2rem 2rem;margin-top:2rem;display:flex}.hero .proof{color:var(--soft);max-width:26rem;font-size:.875rem;line-height:1.5}.diorama{margin:0}.dio-view{aspect-ratio:4/3;display:none;position:relative}.diorama.live .dio-view{display:block}.dio-view canvas{width:100%;height:100%;position:absolute;inset:0}.dio-tags{pointer-events:none;position:absolute;inset:0;overflow:clip}.dio-tag{background:var(--accent);color:var(--accent-ink);font:500 .75rem/1 var(--font-mono);letter-spacing:.05em;white-space:nowrap;opacity:0;transition:opacity var(--motion-duration-pop) var(--motion-ease);border-radius:999px;padding:.35rem .7rem;position:absolute;top:0;left:0;transform:translate(-50%,-100%)}.dio-tag.plate{background:var(--ink);color:var(--bg)}.dio-tag.on{opacity:1}.dio-steps{text-align:center;gap:1rem;margin:0;padding:1rem 0;list-style:none;display:grid}.diorama.live .dio-steps li{display:none}.diorama.live .dio-steps li.on{display:block}.dio-title{font:500 1.125rem/1.3 var(--font-sans);letter-spacing:-.01em}.dio-title b{font:500 1.05rem/1 var(--font-mono)}.dio-title .of{font:500 .75rem/1 var(--font-mono);color:var(--soft);margin-right:.4rem}.dio-text{color:var(--soft);text-wrap:pretty;margin-top:.35rem}.diorama.live .dio-text{min-height:3em}.dio-nav{align-items:center;gap:.6rem;display:flex}.dio-nav[hidden]{display:none}.dio-picks{flex:1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;column-gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.dio-picks li{justify-items:center;display:grid;position:relative}.dio-picks li:not(:last-child):after{content:"";background:var(--line);height:1px;position:absolute;top:1.375rem;left:50%;right:calc(-50% - 1.5rem)}.dio-picks button{z-index:1;min-width:2.75rem;min-height:2.75rem;color:var(--soft);font:500 .75rem/1 var(--font-mono);letter-spacing:.04em;cursor:pointer;transition:color var(--motion-duration-pop) var(--motion-ease);background:0 0;border:0;justify-items:center;gap:.3rem;padding:.375rem 0 0;display:grid;position:relative}.dio-picks .dot{border:1px solid var(--line);background:var(--bg);width:2rem;height:2rem;transition:background-color var(--motion-duration-pop) var(--motion-ease), color var(--motion-duration-pop) var(--motion-ease), border-color var(--motion-duration-pop) var(--motion-ease);border-radius:50%;place-items:center;display:grid}.dio-picks button[aria-current=step]{color:var(--ink)}.dio-picks button[aria-current=step] .dot{border-color:var(--ink);background:var(--ink);color:var(--bg)}.dio-arrow{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);width:2.75rem;height:2.75rem;color:var(--ink);font:500 1rem/1 var(--font-mono);cursor:pointer;flex:none;place-items:center;display:grid}.dio-arrow[data-next]{border-color:var(--ink);background:var(--ink);color:var(--bg)}.dio-pause{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);min-height:2.75rem;color:var(--ink);font:500 .75rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;flex:none;padding:0 1rem}@media (width>=62rem){.hero:has(.diorama.live){align-items:center;min-height:max(52rem,100svh);display:flex}.hero:has(.diorama.live) .wrap{width:min(100% - 2 * var(--gutter), 82rem);display:block}.hero:has(.diorama.live) .copy{z-index:2;max-width:36rem;position:relative}.diorama.live{z-index:0;position:absolute;inset:0}.diorama.live .dio-view{aspect-ratio:auto;position:absolute;inset:0}.diorama.live:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(to right, var(--bg) 18%, color-mix(in oklch, var(--bg) 70%, transparent) 36%, transparent 54%), linear-gradient(to top, var(--bg) 13rem, transparent 22rem), linear-gradient(to bottom, var(--bg) 3.5rem, transparent 8rem);position:absolute;inset:0}.diorama.live .dio-steps,.diorama.live .dio-nav{z-index:2;right:max(var(--gutter), calc(50vw - 41rem));width:min(42rem,48vw);position:absolute}.diorama.live .dio-steps{padding:0;bottom:9.5rem}.diorama.live .dio-nav{bottom:3rem}}@media (width>=62rem) and (width<=84.99rem){.diorama.live .dio-nav{flex-wrap:wrap;row-gap:.75rem;bottom:2.5rem}.diorama.live .dio-picks{flex:1 0 100%;order:-1}.diorama.live .dio-pause{flex:1}.diorama.live .dio-steps{bottom:11.5rem}}@media (width<=34rem){.dio-nav{flex-wrap:wrap;row-gap:.75rem}.dio-picks{flex:1 0 100%;order:-1;column-gap:.5rem;min-width:0}.dio-picks li:not(:last-child):after{right:calc(-50% - .5rem)}.dio-pause{flex:1}.dio-picks .name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:no-preference){.diorama.live .dio-steps li.on{animation:dio-say var(--motion-duration) var(--motion-ease) both}}@keyframes dio-say{0%{opacity:0;translate:0 .5rem}}.does .cards{margin-top:clamp(2.5rem,6vh,4.5rem);display:grid}.does .card{background:var(--bg);box-shadow:0 0 0 1px var(--line), 0 22px 40px -22px color-mix(in oklch, var(--ink) 40%, transparent);border-radius:10px;margin:0;padding:.55rem .55rem 0}.does .card figcaption{text-wrap:balance;padding:.9rem .4rem 1rem;font-size:.9375rem;line-height:1.35}.spec .frame{border-radius:6px}.spec .spot,.spec .lens{display:none}@media (width>=62rem){.does .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,2.6vw,2.5rem)}}@media (width<=61.99rem){.does .cards{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding:.5rem var(--gutter) 2.5rem;scroll-padding-inline:var(--gutter);grid-auto-columns:min(84%,24rem);grid-auto-flow:column;gap:1.25rem;overflow-x:auto}.does .card{scroll-snap-align:start}.spec{--zoom:3;--gap:7cqw;position:relative;container-type:inline-size}.spec .frame video{display:none}.spec .spot{z-index:2;left:calc(var(--fx) * 100cqw);top:calc(var(--fy) * 62.5cqw);width:calc(100cqw / var(--zoom));height:calc(56.25cqw / var(--zoom));border:1.5px solid var(--ink);pointer-events:none;border-radius:3px;display:block;position:absolute}.spec:after{content:"";z-index:1;pointer-events:none;background:color-mix(in oklch, var(--ink) 9%, transparent);clip-path:polygon(calc(var(--fx) * 100cqw) calc(var(--fy) * 62.5cqw + 56.25cqw / var(--zoom)), calc(var(--fx) * 100cqw + 100cqw / var(--zoom)) calc(var(--fy) * 62.5cqw + 56.25cqw / var(--zoom)), 100% calc(62.5cqw + var(--gap)), 0 calc(62.5cqw + var(--gap)));position:absolute;inset:0}.spec .lens{z-index:2;margin-top:var(--gap);aspect-ratio:16/9;border:1.5px solid var(--ink);background:var(--panel);border-radius:6px;display:block;position:relative;overflow:clip}.spec .lens img,.spec .lens video{width:calc(100% * var(--zoom));aspect-ratio:16/10;object-fit:cover;max-width:none;height:auto;translate:calc(var(--fx) * -100%) calc(var(--fy) * -100%);position:absolute;inset:0 auto auto 0}.spec .lens:has(video:focus-visible){outline:2px solid var(--ink);outline-offset:3px}.spec .lens video:focus-visible{outline:0}}@media (width>=62rem){.spec .lens video{display:none}}html:not(.js) .spec .lens video{display:none}@media (width<=44rem){.langs{display:none}.top nav{gap:.6rem}.top .btn{padding:.65rem .8rem;font-size:.75rem}}@media (width<=26rem){.top .btn{letter-spacing:.04em;padding:.6rem .7rem}}@media (width<=22rem){.top .wordmark{height:.95rem}.top .btn{letter-spacing:.02em;padding:.6rem}}@media (width>=60.01rem) and (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()) and (timeline-scope:--a){.js .phone .pocket{--ch:90vh;view-timeline:--pocket block;view-timeline-inset:0;display:grid}.js .phone .pocket .chapters,.js .phone .pocket .deck{grid-area:1/1}.js .phone .pocket .chapters{display:block}.js .phone .pocket .chapter{height:var(--ch);opacity:1;border-top:0;padding:0;transition:none;position:relative;translate:none}.js .phone .pocket .chapter .copy,.js .phone .pocket .chapter .shot{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.js .phone .deck{--dh:min(50rem, calc(100vh - 12.5rem));--sw:calc(var(--dh) * 390 / 844);--u:calc(var(--dh) / 844);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-self:start;align-items:center;column-gap:clamp(2rem,5vw,6rem);height:calc(100vh - 4.9rem);display:grid;position:sticky;top:4.9rem}.js .phone .mid{justify-items:center;display:grid}.js .phone .rail{gap:1.4rem;margin-top:1.4rem;padding:0;list-style:none;display:flex}.js .phone .rail .n{font:500 .9rem/1 var(--font-mono);letter-spacing:.08em;color:var(--soft);justify-items:center;gap:.55rem;display:grid}.js .phone .rail .n i{background:var(--accent);width:2.6rem;height:3px;display:block;scale:.3 1}.js .phone .body{box-sizing:content-box;width:var(--sw);height:var(--dh);border:.5rem solid var(--ink);border-radius:calc(var(--sw) * .12 + .5rem);background:var(--ink);position:relative}.js .phone .screen{border-radius:calc(var(--sw) * .12);background:var(--ground);line-height:0;position:absolute;inset:0;overflow:clip}.js .phone .boot{justify-content:center;align-items:center;gap:calc(12 * var(--u));background:var(--panel);flex-direction:column;animation:linear both boot-out;animation-timeline:--pocket;animation-range:cover 58vh cover 59vh;display:flex;position:absolute;inset:0}.js .phone .boot span{background:var(--line);border-radius:calc(8 * var(--u));width:calc(120 * var(--u));height:calc(14 * var(--u));display:block}.js .phone .boot span:first-child{width:calc(56 * var(--u));height:calc(56 * var(--u));border-radius:calc(14 * var(--u))}.js .phone .boot span:last-child{width:calc(80 * var(--u));height:calc(12 * var(--u))}.js .phone .pg,.js .phone .br{position:absolute;inset:0}.js .phone .pg{opacity:0}.js .phone .br{visibility:hidden}.js .phone .pg img,.js .phone .br img{width:100%;height:100%}.js .phone .br img{clip-path:polygon(0 0,100% 0,100% 7.6%,0 7.6%,0 91.6%,100% 91.6%,100% 100%,0 100%)}.js .phone .heads,.js .phone .says{align-items:center;display:grid}.js .phone .heads{text-align:right;justify-items:end}.js .phone .say{opacity:0;grid-area:1/1}.js .phone .heads .tag{display:block}.js .phone .say h3{max-width:14ch;font:500 clamp(1.8rem, 3vw, 2.8rem)/1.1 var(--font-sans);letter-spacing:-.02em;margin-top:1rem}.js .phone .say p{max-width:24rem;color:var(--soft)}.js .phone .say p+p{margin-top:1.1rem}.js .phone .pg,.js .phone .br,.js .phone .say,.js .phone .rail .n,.js .phone .rail .n i{animation-timeline:--pocket;animation-range:cover calc((var(--k) - 1) * var(--ch) + 42vh) cover calc(var(--k) * var(--ch) + 58vh);animation-fill-mode:both}.js .phone .pg{animation-name:screen-in;animation-timing-function:var(--motion-ease)}.js .phone .br{animation-name:bars-in;animation-timing-function:linear}.js .phone .say{animation-name:say;animation-timing-function:var(--motion-ease)}.js .phone .rail .n{animation-name:lit;animation-timing-function:var(--motion-ease)}.js .phone .rail .n i{animation-name:lit-rule;animation-timing-function:var(--motion-ease)}.js .phone .pg4{animation-name:screen-in-last}.js .phone .br4{animation-name:bars-in-last}.js .phone .say4{animation-name:say-last}.js .phone .rail .n4{animation-name:lit-last}.js .phone .rail .n4 i{animation-name:lit-rule-last}.js .phone .pg1,.js .phone .br1,.js .phone .say1,.js .phone .rail .n1,.js .phone .rail .n1 i{--k:1}.js .phone .pg2,.js .phone .br2,.js .phone .say2,.js .phone .rail .n2,.js .phone .rail .n2 i{--k:2}.js .phone .pg3,.js .phone .br3,.js .phone .say3,.js .phone .rail .n3,.js .phone .rail .n3 i{--k:3}.js .phone .pg4,.js .phone .br4,.js .phone .say4,.js .phone .rail .n4,.js .phone .rail .n4 i{--k:4}}}@keyframes screen-in{0%{opacity:0;translate:0 1.2%}15%,84.9%{opacity:1;translate:0}85%,to{opacity:0;translate:0}}@keyframes screen-in-last{0%{opacity:0;translate:0 1.2%}15%,to{opacity:1;translate:0}}@keyframes bars-in{0%{visibility:hidden}1%,84.9%{visibility:visible}85%,to{visibility:hidden}}@keyframes boot-out{0%{visibility:visible}to{visibility:hidden}}@keyframes bars-in-last{0%{visibility:hidden}1%,to{visibility:visible}}@keyframes say{0%{opacity:0;translate:0 1.2rem}15%,84.9%{opacity:1;translate:0}to{opacity:0;translate:0 -1.2rem}}@keyframes say-last{0%{opacity:0;translate:0 1.2rem}15%,to{opacity:1;translate:0}}@keyframes lit{0%,to{color:var(--soft)}15%,85%{color:var(--ink)}}@keyframes lit-last{0%{color:var(--soft)}15%,to{color:var(--ink)}}@keyframes lit-rule{0%,to{scale:.3 1}15%,85%{scale:1}}@keyframes lit-rule-last{0%{scale:.3 1}15%,to{scale:1}}section{padding:clamp(4rem,min(13vh,11vw),10rem) 0}.head{gap:1.4rem;margin-bottom:clamp(2.5rem,6vh,5rem);display:grid}.head h2:not(.label){max-width:18ch;font-size:clamp(2.3rem,5.4vw,5.2rem)}.lead-in{margin-top:1.4rem}.tax{border-top:1px solid var(--line)}.tax .grid{gap:clamp(2.5rem,6vh,4rem);display:grid}@media (width>=62rem){.tax .grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,6vw,7rem)}.tax .grid>:first-child{grid-area:1/2}.tax .grid>:last-child{grid-area:1/1}}.tax h2.display,.does h2.display{max-width:14ch;font-size:clamp(2.3rem,5vw,4.9rem)}.does h2.display{max-width:22ch}@media (width>=62rem){.does .wrap>.label{text-align:center;display:block}.does h2.display{text-align:center;margin-inline:auto}}.tax .def{max-width:32rem;color:var(--soft);text-wrap:pretty;margin-top:1.6rem;font-size:clamp(1.05rem,1.35vw,1.25rem)}.gaps{font:500 .8125rem/1 var(--font-mono);border-top:1px solid var(--line);padding:0}.gaps li{grid-template-columns:6.6rem 1fr;align-items:baseline;gap:1rem;padding:.95rem 0;list-style:none;display:grid;position:relative}.gaps .when{color:var(--soft)}.gaps .void{border-bottom:1px dashed var(--faint);position:absolute;bottom:-1px;left:0;right:0}.gaps p{font:400 .95rem/1.5 var(--font-sans);color:var(--soft);margin:0}.gaps .track{grid-column:1/-1;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:.35rem;display:grid}.gaps .track i{height:1.7rem;font:500 .75rem/1 var(--font-mono);letter-spacing:.04em;color:var(--soft);border:1px dashed var(--faint);background:repeating-linear-gradient(135deg, var(--faint) 0 1px, transparent 1px 6px);border-radius:3px;place-items:center;font-style:normal;display:grid}.gaps .track i.on{border:1px solid var(--ink);background:var(--ink);color:var(--bg)}.tax .key{font:500 .75rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--soft);flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin-top:1.1rem;display:flex}.tax .key i{border:1px dashed var(--faint);background:repeating-linear-gradient(135deg, var(--faint) 0 1px, transparent 1px 5px);border-radius:2px;width:1.1rem;height:.7rem}.tax .key i.on{border:1px solid var(--ink);background:var(--ink)}.frame{border:1px solid var(--line);background:var(--panel);aspect-ratio:16/10;border-radius:14px;position:relative;overflow:clip}.frame img,.frame video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.frame.app img,.frame.rec video,.frame.rec .still{object-position:0 0}html:not(.js) .frame.rec video{display:none}:is(.frame.rec:has(video:focus-visible),.frame.demo:has(video:focus-visible)){outline:2px solid var(--ink);outline-offset:3px}.frame video:focus-visible{outline:0}.reveal .rise{opacity:0;transition:opacity var(--motion-duration) var(--motion-ease), translate var(--motion-duration) var(--motion-ease);translate:0 1.4rem}.reveal .rise.in{opacity:1;translate:0}@media (width>=62rem){.also .wrap{grid-template-columns:14rem minmax(0,1fr);align-items:start;gap:3rem;display:grid}.also .head{margin:0}}.also ul{flex-wrap:wrap;gap:1.75rem 1.25rem;margin-top:.5rem;padding:0;list-style:none;display:flex}.also li{background:var(--tile-1);color:var(--ink);letter-spacing:-.015em;transition:rotate var(--motion-duration-pop) var(--motion-ease);border-radius:999px;align-items:baseline;gap:.8rem;padding:.9rem 1.4rem;font-size:clamp(1.05rem,1.5vw,1.3rem);display:inline-flex;rotate:-1.4deg}.also li:nth-child(3n+2){background:var(--tile-2);rotate:1.1deg}.also li:nth-child(3n){background:var(--tile-3);rotate:-.6deg}.also li:nth-child(4n){rotate:1.8deg}.also li:hover{rotate:0deg}.also li span{font:500 .75rem/1 var(--font-mono);letter-spacing:.08em}.pay{background:var(--panel)}.pay h2{max-width:17ch;font-size:clamp(2.3rem,5.4vw,5.2rem)}.pay .split{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vh,4rem);display:grid}@media (width>=60.01rem){.pay .split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem)}.pay .split h2{max-width:13ch;font-size:clamp(2.3rem,4.6vw,4.8rem)}.pay .split .ticket{margin-top:3.2rem}}.ticket{max-width:30rem;filter:drop-shadow(0 22px 26px color-mix(in oklch, var(--ink) 22%, transparent));margin:0 0 0 auto;rotate:-1.2deg}.slip{background:var(--bg);-webkit-mask:conic-gradient(from 135deg at top, transparent, var(--ink) 1deg 89deg, transparent 90deg) top / 14px 51% repeat-x, conic-gradient(from -45deg at bottom, transparent, var(--ink) 1deg 89deg, transparent 90deg) bottom / 14px 51% repeat-x;mask:conic-gradient(from 135deg at top, transparent, var(--ink) 1deg 89deg, transparent 90deg) top / 14px 51% repeat-x, conic-gradient(from -45deg at bottom, transparent, var(--ink) 1deg 89deg, transparent 90deg) bottom / 14px 51% repeat-x;padding:2.4rem 2rem 1.6rem;position:relative}.slip:after{content:"";opacity:.85;background:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 4px, var(--ink) 4px 5px, transparent 5px 9px, var(--ink) 9px 12px, transparent 12px 14px, var(--ink) 14px 15px, transparent 15px 18px);height:2.6rem;margin:1.8rem 0 .4rem;display:block}.slip .head{border-bottom:2px dashed var(--faint);font:500 .75rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--soft);text-align:center;justify-items:center;gap:.5rem;margin-bottom:0;padding-bottom:1.2rem;display:grid}.slip .head span:first-child{color:var(--ink);letter-spacing:.22em;font-size:1.05rem}.slip .head span+span:before,.slip .head span+span:after{content:"—";margin:0 .6em}.slip ul{margin:0;padding:0;list-style:none}.slip li{padding:1.1rem 0 0}.slip .row{font:500 .9375rem/1.3 var(--font-mono);letter-spacing:.02em;text-transform:uppercase;align-items:baseline;gap:.7rem;display:flex}.slip .item small{color:var(--soft);font-size:max(.75rem,.8em)}.slip .dots{border-bottom:2px dotted var(--faint);flex:1;min-width:1rem;translate:0 -.25em}.slip .price{white-space:nowrap;color:var(--soft)}.slip li p{max-width:30rem;color:var(--soft);margin-top:.45rem;font-size:.9375rem}@media (width<=26rem){.slip{padding:2.2rem 1.3rem 1.4rem}.slip .row{gap:.5rem;font-size:.8125rem}}.slip .free .price{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:.3rem .8rem;rotate:-5deg}.relay{gap:2.4rem;margin-top:clamp(2.5rem,6vh,4.5rem);padding:0;list-style:none;display:grid;position:relative}.relay li{padding-left:3.8rem;position:relative}.relay:before{content:"";border-left:2px solid var(--ink);position:absolute;top:1.2rem;bottom:1.2rem;left:1.2rem}.relay .n{border:2px solid var(--ink);background:var(--tile-2);width:2.4rem;height:2.4rem;color:var(--ink);font:500 .875rem/1 var(--font-mono);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.relay .propose .n{background:var(--tile-3)}.relay .ledger .n{background:var(--tile-1)}.relay h3{font:500 1.35rem/1.2 var(--font-sans);letter-spacing:-.02em;padding-top:.35rem}.relay p{max-width:24rem;color:var(--soft);margin-top:.7rem}.relay .gate{background:var(--accent);color:var(--accent-ink);font:500 .75rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin:1.2rem 0 0;padding:.5rem 1rem;display:inline-block}.relay .ledger{margin-top:1.2rem}@media (width>=60.01rem){.relay{--g:clamp(1.5rem, 3vw, 3rem);gap:var(--g);grid-template-columns:repeat(3,minmax(0,1fr))}.relay:before{border-left:0;border-top:2px solid var(--ink);inset:1.2rem 0 auto}.relay li{padding:4rem 0 0}.relay .ledger{margin-top:0}.relay .gate{left:calc(50% + var(--g) / 2);z-index:1;margin:0;position:absolute;top:.2rem;translate:-50%}}.assist h2{max-width:18ch;font-size:clamp(2.3rem,5.4vw,5.2rem)}@media (width>=62rem){.assist .wrap{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;column-gap:clamp(2rem,4vw,4rem);display:grid}.assist .wrap>.frame{width:100%;max-width:none;margin-top:0}.assist .wrap>.relay,.assist .wrap>.note{grid-column:1/-1}}.phone h2{max-width:18ch;font-size:clamp(2.3rem,5.4vw,5.2rem)}@media (width>=60rem){.phone .wrap>.label{text-align:center;display:block}.phone h2.display{text-align:center;max-width:26ch;margin-inline:auto}}.phone .pocket{margin-top:clamp(2.5rem,6vh,4.5rem)}.phone .chapters{gap:clamp(3rem,7vw,5rem);padding:0;list-style:none;display:grid}.phone .chapter{border-top:2px solid var(--ink);align-content:start;gap:1.8rem;padding-top:1.4rem;display:grid}.phone .tag{font:500 .75rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}.phone .chapter h3{max-width:18ch;font:500 clamp(1.5rem, 2.6vw, 2.1rem)/1.15 var(--font-sans);letter-spacing:-.02em;margin-top:.9rem}.phone .chapter p{max-width:28rem;color:var(--soft);margin-top:.9rem}.phone .shot{border:1px solid var(--line);background:var(--panel);border-radius:22px;width:min(100%,15rem);margin:0;line-height:0;overflow:clip}.phone .shot img{width:100%;height:auto}.phone .deck{display:none}@media (width>=40rem){.phone .chapters{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,5vw,5rem)}}@media (width<=39.99rem){.phone .chapters{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);grid-auto-columns:84%;grid-auto-flow:column;column-gap:1.25rem;overflow-x:auto}.phone .chapter{scroll-snap-align:start;grid-template-rows:auto 1fr}.phone .shot{width:min(100%,13.5rem)}}.assist .frame{aspect-ratio:5/3;margin-top:clamp(2.5rem,6vh,4.5rem);max-width:calc(166.667svh - 11.6667rem);margin-inline:auto}html:not(.js) .frame.demo video{display:none}.assist .note,.phone .note{font:500 .75rem/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-top:2rem}.open{background:var(--ink);color:var(--bg)}.open .label{color:color-mix(in oklch, var(--bg) 60%, transparent)}.open .licence{font:500 clamp(2.6rem, 9.6vw, 10rem)/.95 var(--font-mono);letter-spacing:-.05em;white-space:nowrap;margin:1.5rem 0 clamp(2.5rem,7vh,5rem)}.open .licence .cursor{vertical-align:-.0377em}.open .licence .cursor .faro{height:.7735em;margin-inline:-.1115em}.open .lines{border-top:1px solid color-mix(in oklch, var(--bg) 18%, transparent);gap:0;display:grid}.open .lines p{border-bottom:1px solid color-mix(in oklch, var(--bg) 18%, transparent);font-family:var(--font-sans);letter-spacing:-.025em;max-width:34ch;padding:1.5rem 0;font-size:clamp(1.3rem,2.3vw,2.1rem);line-height:1.2}.open .lines p+p{color:color-mix(in oklch, var(--bg) 64%, transparent)}.faq details{border-top:1px solid var(--line)}.faq details:last-of-type{border-bottom:1px solid var(--line)}.faq .cols>div+div{counter-reset:q}.faq details{counter-increment:q}.faq summary{cursor:pointer;font-family:var(--font-sans);letter-spacing:-.025em;justify-content:space-between;align-items:baseline;gap:2rem;padding:1.5rem 0;font-size:clamp(1.2rem,2vw,1.75rem);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:counter(q, decimal-leading-zero);content:counter(q, decimal-leading-zero) / "";width:2.6rem;font:500 .75rem/1 var(--font-mono);letter-spacing:.08em;color:var(--soft);flex:none}.faq summary span{flex:1}.faq summary:after{content:"+";content:"+" / "";border:1px solid var(--line);width:2.2rem;height:2.2rem;font:500 1.1rem/1 var(--font-mono);color:var(--ink);transition:rotate var(--motion-duration-pop) var(--motion-ease), background-color var(--motion-duration-pop) var(--motion-ease), border-color var(--motion-duration-pop) var(--motion-ease);border-radius:50%;flex:none;place-items:center;display:grid}.faq summary:hover:after{border-color:var(--ink)}.faq details[open] summary:after{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);rotate:45deg}.faq details p{color:var(--soft);max-width:42rem;padding:0 3.6rem 1.7rem 2.6rem}.faq .cols{gap:3rem;display:grid}@media (width>=62rem){.faq .cols{grid-template-columns:.7fr 1.3fr;gap:6rem}.faq .cols>div:first-child{align-self:start;position:sticky;top:7.5rem}}.faq h2{font-size:clamp(2.3rem,5.4vw,5.2rem)}@media (width<=40rem){.faq summary{gap:1rem;padding:1.25rem 0}.faq summary:before{width:1.6rem}.faq details p{padding:0 0 1.5rem 2.6rem}}.close{--slab:color-mix(in oklch, var(--accent) 9%, var(--bg));isolation:isolate;padding-top:clamp(4rem,11vh,8rem);padding-bottom:calc(clamp(3rem, 8vh, 6rem) + var(--tide,3rem));background:linear-gradient(to bottom, var(--bg), var(--slab) 55%);position:relative;overflow:clip}main:has(.close)~footer{margin-top:calc(var(--tide) * -1)}.close-copy{z-index:1;max-width:min(100%,62rem);position:relative}@media (width>=60.01rem){.close-copy{max-width:64%}}.sweep{pointer-events:none;position:absolute;inset:0}.close{--faro-h:clamp(16rem, 24vw, 27rem)}.lamp-faro{z-index:1;right:calc(max(var(--gutter), (100% - 82rem) / 2) - var(--faro-h) * .232);bottom:calc(var(--faro-h) * -.049);height:var(--faro-h);width:auto;color:var(--ground);position:absolute}main:has(.close)~footer{position:relative}@media (width<=60rem){.close{padding-bottom:calc(clamp(3rem, 8vh, 6rem) + var(--tide,3rem) + 13rem)}}.close{padding-bottom:calc(clamp(3rem, 8vh, 6rem) + var(--tide,3rem) + 7rem)}@media (width<=60rem){.close{--faro-h:12rem}}.close h2{max-width:14ch;font-size:clamp(2.3rem,5.4vw,5.2rem)}.close p{max-width:32rem;color:var(--soft);margin:2rem 0 2.4rem;font-size:clamp(1.05rem,1.35vw,1.3rem)}footer{--tide:3rem;background:var(--bg);color:var(--ink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 40' preserveAspectRatio='none'%3E%3Cpath d='M0 24C100 6 300 6 400 24S700 42 800 24V40H0Z' fill='black'/%3E%3C/svg%3E") top left / 50rem var(--tide) repeat-x, linear-gradient(black, black) bottom / 100% calc(100% - var(--tide) + 1px) no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 40' preserveAspectRatio='none'%3E%3Cpath d='M0 24C100 6 300 6 400 24S700 42 800 24V40H0Z' fill='black'/%3E%3C/svg%3E") top left / 50rem var(--tide) repeat-x, linear-gradient(black, black) bottom / 100% calc(100% - var(--tide) + 1px) no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 40' preserveAspectRatio='none'%3E%3Cpath d='M0 24C100 6 300 6 400 24S700 42 800 24V40H0Z' fill='black'/%3E%3C/svg%3E") top left / 50rem var(--tide) repeat-x, linear-gradient(black, black) bottom / 100% calc(100% - var(--tide) + 1px) no-repeat;overflow:clip}footer.full{padding:calc(clamp(3rem, 8vh, 5.5rem) + var(--tide)) 0 clamp(2rem, 5vh, 3rem)}footer .cols{grid-template-columns:1.6fr repeat(3,1fr);gap:3rem 2rem;display:grid}footer h2{font:500 .75rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-bottom:1.3rem}footer ul{gap:0;padding:0;list-style:none;display:grid}footer li a{padding-block:.55rem;display:inline-block}footer a{color:var(--soft);transition:color var(--motion-duration-pop) var(--motion-ease);text-decoration:none}footer a:hover,footer a[aria-current]{color:var(--ink)}footer .licence-name{font:500 1rem/1 var(--font-mono);align-items:center;gap:.4rem;display:flex}footer .note{max-width:22rem;color:var(--soft);margin-top:.9rem;font-size:.9375rem}footer .base{border-top:1px solid var(--line);font:500 .75rem/1.4 var(--font-mono);letter-spacing:.1em;color:var(--soft);flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;margin-top:clamp(3rem,8vh,5rem);padding-top:1.3rem;display:flex}footer .mark{width:auto;height:1.15rem;margin-bottom:clamp(2rem,5vh,3rem);display:block}@media (width>=60.01rem){footer .cols:not(:has(>:nth-child(4))){grid-template-columns:1.6fr 1fr 1fr}}@media (width<=60rem){footer .cols{grid-template-columns:1fr 1fr}footer .cols>:first-child{grid-column:1/-1}}.partners{border-top:1px solid var(--line)}.partners h2{max-width:14ch;font-size:clamp(2.3rem,5.4vw,5.2rem)}.pair{gap:clamp(1.4rem,3vw,2.4rem) 1.25rem;margin-top:clamp(2.5rem,7vh,5rem);display:grid}@media (width>=48rem){.pair{grid-template-columns:4fr 3fr}}.berth{align-content:start;gap:1.2rem;display:grid}.berth-art{border:1px solid var(--line);border-radius:22px;line-height:0;display:block;position:relative;overflow:clip}.berth-art img{width:100%;height:auto;transition:scale var(--motion-duration) var(--motion-ease)}.berth:hover .berth-art:not(:has(.eye-pupil))>img:first-child{scale:1.035}.berth-art .eye-pupil{width:22.11%;height:auto;transition:width var(--motion-duration-pop) var(--motion-ease), left var(--motion-duration-pop) var(--motion-ease), top var(--motion-duration-pop) var(--motion-ease);position:absolute;top:43.19%;left:38.91%}.berth-art .eye-pupil.wide{width:24.59%;top:41.96%;left:37.68%}.berth-cap{gap:.5rem;display:grid}.berth-name{font-size:clamp(2.3rem,5vw,4.6rem)}.berth-name a{text-decoration:none}.berth-name .arrow{font:500 .4em/1 var(--font-mono);vertical-align:.5em;transition:translate var(--motion-duration-pop) var(--motion-ease);display:inline-block}.berth:hover .berth-name .arrow{translate:3px -3px}.berth-line{font-size:1.125rem}.terms{flex-wrap:wrap;gap:.6rem;margin-top:clamp(2rem,5vh,3.5rem);padding:0;list-style:none;display:flex}.terms li{border:1px solid var(--line);font:500 .75rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.55rem 1rem}@media (width>=48rem) and (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.js .pair .berth{animation:linear both dock;animation-timeline:view();animation-range:entry entry 70%}.js .pair .berth:first-child{--from:-14vw}.js .pair .berth:last-child{--from:14vw}}}@keyframes dock{0%{opacity:0;translate:var(--from) 0}to{opacity:1;translate:0}}.doc{padding-top:clamp(7rem,18vh,11rem);padding-bottom:clamp(5rem,13vh,10rem)}.doc h1{max-width:12ch;font-size:clamp(2.8rem,6.4vw,6.2rem)}.doc .doc-body{width:min(100% - 2 * var(--gutter), 44rem);margin-inline:auto}.prose{counter-reset:part;margin-top:3rem;font-size:1.125rem;line-height:1.65}.prose p{margin-top:1.2rem}.prose h2{font:500 1.5rem/1.2 var(--font-sans);letter-spacing:-.02em;border-top:1px solid var(--line);counter-increment:part;margin-top:3.2rem;padding-top:1.4rem}.prose h2:before{content:counter(part, decimal-leading-zero);font:500 .75rem/1 var(--font-mono);letter-spacing:.08em;color:var(--soft);margin-bottom:.7rem;display:block}.prose a{text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:.2em}.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:.14em}.prose blockquote{border-left:3px solid var(--accent);background:var(--panel);border-radius:0 14px 14px 0;margin-top:2.4rem;padding:1.3rem 1.5rem;font-size:1rem;line-height:1.55}.prose blockquote p{margin-top:0}footer.compact{padding:calc(2.5rem + var(--tide)) 0 2rem}footer.compact .mark{margin-bottom:1.6rem}footer .meta{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-top:1.4rem;display:flex}footer .meta a,footer .meta span{font:500 .75rem/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);text-decoration:none}footer .meta div{flex-wrap:wrap;gap:1.6rem;display:flex}.ask{padding-top:clamp(7rem,18vh,11rem);padding-bottom:clamp(5rem,13vh,10rem)}.ask .cols{gap:3.5rem;display:grid}@media (width>=62rem){.ask .cols{grid-template-columns:.9fr 1.1fr;align-items:start;gap:6rem}.ask .lead{position:sticky;top:7rem}}.ask h1{max-width:10ch;font-size:clamp(2.8rem,6.4vw,6.2rem)}.ask .lead p{color:var(--soft);max-width:26rem;margin-top:1.6rem;font-size:1.125rem}.steps{border-top:1px solid var(--line);margin-top:2.6rem;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--line);color:var(--soft);grid-template-columns:2.4rem 1fr;padding:1rem 0;display:grid}.steps li span{font:500 .75rem/1.8 var(--font-mono);color:var(--soft);letter-spacing:.08em}.ask form{gap:1.6rem;display:grid}.field{gap:.55rem;display:grid}.field label,.ask fieldset legend{font:500 .75rem/1.2 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--soft)}.field input,.field textarea{font:400 1.0625rem/1.4 var(--font-sans);color:var(--ink);border:0;border-bottom:1px solid var(--faint);width:100%;transition:border-color var(--motion-duration-pop) var(--motion-ease);background:0 0;border-radius:0;padding:.7rem 0}.field textarea{resize:vertical;min-height:6.5rem}.field input:focus-visible,.field textarea:focus-visible{border-bottom:2px solid var(--ink);outline:0;padding-bottom:calc(.7rem - 1px)}.field .hint{color:var(--soft);font-size:.875rem}.two{align-items:start;gap:1.6rem;display:grid}@media (width>=40rem){.two{grid-template-columns:1fr 1fr}}.ask fieldset{border:0;gap:.8rem;padding:0;display:grid}.ask fieldset legend{margin-bottom:.9rem}.check{min-height:2.75rem;color:var(--soft);grid-template-columns:1.25rem 1fr;align-items:start;gap:.8rem;display:grid}.check input{appearance:none;border:1px solid var(--faint);cursor:pointer;border-radius:3px;place-items:center;width:1.25rem;height:1.25rem;margin-top:.15rem;display:grid}.check input:checked{background:var(--ink);border-color:var(--ink)}.check input:checked:after{content:"";border-left:2px solid var(--bg);border-bottom:2px solid var(--bg);width:.55rem;height:.3rem;translate:0 -1px;rotate:-45deg}.check input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.consent{border-top:1px solid var(--line);padding-top:1.6rem;font-size:.9375rem}.firstlayer{color:var(--soft);max-width:38rem;font-size:.875rem}.ask form .btn{justify-self:start}.hp{position:absolute;left:-100vw}.captcha{max-width:100%;overflow-x:auto}.captcha:empty{display:none}.field .err,.consent .err{color:var(--destructive);font-size:.875rem}.field.invalid input,.field.invalid textarea{border-bottom-color:var(--destructive)}.consent.invalid .check input{border-color:var(--destructive)}.problem{border:1px solid var(--destructive);border-radius:4px;padding:1.1rem 1.25rem}.problem strong{font:500 .75rem/1.2 var(--font-mono);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.4rem;display:block}.problem ul{color:var(--soft);padding-left:1.1rem}.problem a{color:inherit;text-underline-offset:.2em}.done h2{font-family:var(--font-sans);letter-spacing:-.035em;margin:1rem 0 1.2rem;font-size:clamp(1.9rem,3.4vw,3rem);font-weight:400;line-height:1.05}.done p{color:var(--soft);max-width:30rem}.receipt{border-top:1px solid var(--line);font:500 .8125rem/1 var(--font-mono);margin:2.2rem 0;padding:0;list-style:none}.receipt li{border-bottom:1px solid var(--line);grid-template-columns:8rem 1fr;gap:1rem;padding:.85rem 0;display:grid}.receipt span{color:var(--soft)}.fault{align-items:center;min-height:100vh;padding:8rem 0 5rem;display:flex}.fault h1{max-width:14ch;margin-top:1.4rem;font-size:clamp(2.6rem,6vw,5.6rem)}.fault p{max-width:32rem;color:var(--soft);margin:1.8rem 0 2.4rem;font-size:clamp(1.05rem,1.35vw,1.3rem)}.wd{vertical-align:top;margin:-.12em -.1em -.14em 0;padding:.12em .1em .14em 0;display:inline-block;overflow:clip}.wi{display:inline-block}@media (prefers-reduced-motion:no-preference){.set .hero h1 .wi{animation:set var(--motion-duration) var(--motion-ease) both;animation-delay:calc(var(--motion-duration) + var(--i,0) * var(--motion-stagger))}.js .frame.demo video{opacity:0;transition:opacity var(--motion-duration) var(--motion-ease)}.js .frame.demo video.playing{opacity:1}.js .open .licence .cursor{animation:none}.js .open .licence.read .cursor{animation:1.15s step-end 4 blink}.btn:hover .arrow{animation:pass var(--motion-duration) var(--motion-ease) both}.faq details{interpolate-size:allow-keywords}.faq details::details-content{block-size:0;transition:block-size var(--motion-duration) var(--motion-ease), content-visibility var(--motion-duration) var(--motion-ease) allow-discrete;overflow:clip}.faq details[open]::details-content{block-size:auto}.writing main section .display .wi{transition:translate var(--motion-duration) var(--motion-ease);transition-delay:calc(var(--i,0) * var(--motion-stagger));translate:0 108%}.writing main section .display.in .wi{translate:0}.writing main section .label{clip-path:inset(0 100% 0 0);transition:clip-path var(--motion-duration) steps(18, end)}.writing main section .label.in{clip-path:inset(0)}.writing .tax,.writing .faq details{border-top-color:#0000;position:relative}.writing .tax:before,.writing .faq details:before{content:"";background:var(--line);transform-origin:0;pointer-events:none;height:1px;transition:scale var(--motion-duration) var(--motion-ease);transition-delay:calc(var(--d,0) * var(--motion-stagger));position:absolute;top:-1px;left:0;right:0;scale:0 1}.writing :is(.tax,.faq details).in:before{scale:1}.writing .gaps .void{transform-origin:0;transition:scale var(--motion-duration) var(--motion-ease);transition-delay:calc(var(--d,0) * var(--motion-stagger));scale:0 1}.writing .gaps li.in .void{scale:1}.writing .gaps .track i{transform-origin:50% 100%;transition:scale var(--motion-duration-pop) var(--motion-ease), border-color var(--motion-duration) var(--motion-ease);scale:1 0}.writing .gaps li.in .track i{scale:1}.writing .gaps .track i:nth-child(2){transition-delay:var(--motion-stagger)}.writing .gaps .track i:nth-child(3){transition-delay:calc(var(--motion-stagger) * 2)}.writing .gaps .track i:nth-child(4){transition-delay:calc(var(--motion-stagger) * 3)}.writing .gaps .track i:nth-child(5){transition-delay:calc(var(--motion-stagger) * 4)}.writing .gaps .track i:nth-child(6){transition-delay:calc(var(--motion-stagger) * 5)}.writing .gaps .track i:nth-child(7){transition-delay:calc(var(--motion-stagger) * 6)}.writing .slip .free .price{opacity:0;transition:scale var(--motion-duration-pop) var(--motion-ease), opacity var(--motion-duration-pop) var(--motion-ease);transition-delay:calc(var(--motion-stagger) * 10);scale:1.6}.writing .slip.in .free .price{opacity:1;scale:1}.writing .relay:before{transform-origin:0 0;transition:scale var(--motion-duration) var(--motion-ease);scale:1 0}.writing .relay .n{transition:scale var(--motion-duration-pop) var(--motion-ease);scale:0}.writing .relay li:first-child .n{transition-delay:calc(var(--motion-stagger) * 2)}.writing .relay li:nth-child(2) .n{transition-delay:calc(var(--motion-stagger) * 5)}.writing .relay li:nth-child(3) .n{transition-delay:calc(var(--motion-stagger) * 8)}.writing .relay .gate{opacity:0;transition:opacity var(--motion-duration) var(--motion-ease);transition-delay:calc(var(--motion-stagger) * 10)}.writing .relay.in:before,.writing .relay.in .n{scale:1}.writing .relay.in .gate{opacity:1}@media (width>=60.01rem){.writing .relay:before{transform-origin:0;scale:0 1}}.writing .also li{opacity:0}.writing .also li.in{animation:settle-in var(--motion-duration) var(--motion-ease) both;animation-delay:calc(var(--d,0) * var(--motion-stagger))}@keyframes settle-in{0%{opacity:0;translate:0 .8rem}to{opacity:1;translate:0}}.btn:active{scale:.97}@supports (animation-timeline:view()){.js .open{isolation:isolate;background:var(--panel);view-timeline:--open block;position:relative}.js .open:before{content:"";z-index:-1;background:var(--ink);animation:linear both turn;animation-timeline:--open;animation-range:entry entry 90%;position:absolute;inset:0}.js .frame.app:not(.demo) img{transform-origin:0 0;animation:linear both settle;animation-timeline:view();animation-range:cover cover 45%}}}@keyframes set{0%{translate:0 108%}}@keyframes turn{0%{clip-path:inset(0 var(--gutter) round 28px)}to{clip-path:inset(0)}}@keyframes settle{0%{scale:1.07}}@keyframes pass{45%{opacity:0;translate:.8em}46%{opacity:0;translate:-.8em}to{opacity:1;translate:3px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}*,:before,:after{transition:none!important}.reveal .rise{opacity:1;transition:none;translate:none}.scale{display:none!important}}.sg{padding-bottom:6rem}.sg-radio{opacity:0;pointer-events:none;position:absolute}.sg-top{border-bottom:1px solid var(--line);padding-top:1.4rem}.sg-bar{justify-content:space-between;align-items:center;padding-bottom:1.2rem;display:flex}.sg-nav-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 3rem;padding:1rem 0 1.2rem;display:flex}.sg-nav{font:500 .75rem/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:.5rem 1.4rem;display:flex}.sg-scroll{width:100%;max-height:8rem;padding-right:.5rem;overflow:auto}.sg-nav a{color:var(--soft);text-decoration:none}.sg-nav a:hover{color:var(--ink)}.sg-nav a[aria-current]{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.35em;text-decoration-thickness:2px}.sg-toggles{font:500 .75rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);align-items:center;gap:.6rem;display:flex}.sg-toggles label{border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:.5rem .9rem}:is(.sg:has(#sg-wide:checked) label[for=sg-wide],.sg:has(#sg-narrow:checked) label[for=sg-narrow]){background:var(--ink);color:var(--bg);border-color:var(--ink)}:is(.sg:has(#sg-wide:focus-visible) label[for=sg-wide],.sg:has(#sg-narrow:focus-visible) label[for=sg-narrow]){outline:2px solid var(--ink);outline-offset:3px}.sg:has(#sg-narrow:checked) .sample{max-width:24rem}.sg-main{padding-top:clamp(3rem,8vh,5rem)}.sg h1.display{font-size:clamp(2.8rem,6vw,5.5rem)}.sg-lead{max-width:46rem;color:var(--soft);margin-top:1.4rem;font-size:1.2rem}.sg code{font:500 .85em/1.4 var(--font-mono)}.sg-index{gap:1rem;margin-top:3rem;padding:0;list-style:none;display:grid}@media (width>=48rem){.sg-index{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=70rem){.sg-index{grid-template-columns:repeat(3,minmax(0,1fr))}}.sg-index a{background:var(--panel);height:100%;transition:background-color var(--motion-duration-pop) var(--motion-ease);border-radius:22px;padding:1.6rem;text-decoration:none;display:block}.sg-index a:hover{background:var(--tile-1)}.sg-index h2{font:400 1.6rem/1.15 var(--font-sans);letter-spacing:-.02em}.sg-index p{color:var(--soft);margin-top:.7rem}.sg-count{font:500 .75rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-top:1.2rem;display:block}.sg-component{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:3.5rem}.sg-component h2{font:400 1.9rem/1.1 var(--font-sans);letter-spacing:-.025em}.sg-meta{font:500 .75rem/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-top:.6rem}.sg-note{max-width:46rem;color:var(--soft);margin-top:.8rem}.sg-variants{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));align-items:start;gap:2.2rem 2rem;margin-top:2rem;display:grid}.sg-variant{min-width:0;margin:0}.sg-variant.wide{grid-column:1/-1}.sg-variant .sample{border:1px dashed var(--line);border-radius:14px;padding:1.5rem;overflow:clip}.sg-variant figcaption{font:500 .75rem/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-top:.7rem}.sg-swatches{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1.2rem 1rem;padding:0;list-style:none;display:grid}.sg-swatches .sw{border:1px solid var(--line);background:var(--c);border-radius:14px;height:4.5rem;display:block}.sg-swatches .sw-soft{background:var(--soft)}.sg-swatches .sw-faint{background:var(--faint)}.sg-swatches .sw-line{background:var(--line)}.sg-swatches .sw-panel{background:var(--panel)}.sg-swatches b{font:500 .8rem/1.3 var(--font-mono);margin-top:.6rem;display:block}.sg-swatches code{color:var(--soft);word-break:break-all;margin-top:.3rem;display:block}.sg-spec-xl{font-size:clamp(2.6rem,6vw,5rem)}.sg-spec-l{font-size:clamp(2rem,4vw,3.4rem)}.sg-spec-h3{font:500 1.35rem/1.2 var(--font-sans);letter-spacing:-.02em}.sg-meta-line{font:500 .8125rem/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--soft)}.sg-soft{color:var(--soft)}.sg-steps{gap:.7rem;padding:0;list-style:none;display:grid}.sg-steps li{align-items:center;gap:1rem;display:flex}.sg-steps .bar{height:.7rem;width:var(--s);background:var(--accent);border-radius:999px;flex:none;display:block}.sg-radius{background:var(--tile-1);border:1px solid var(--line);border-radius:var(--r);width:6rem;height:4rem;display:block}.sg-table{border-collapse:collapse;width:100%;font-size:.95rem}.sg-table th,.sg-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.8rem 1rem .8rem 0}.sg-table thead th{font:500 .75rem/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}.sg-table tbody th{white-space:nowrap;font-weight:500}.sg-mark{width:auto;height:1.4rem;display:block}.sg-faro{width:auto;height:2.4rem}.sg-boat{width:1.4rem;height:1.4rem}.btn.is-hover{opacity:.86}.btn.ghost.is-hover{background:var(--ink);color:var(--bg);opacity:1}.btn.is-hover .arrow{translate:3px}.btn.is-active{translate:0 1px}.is-focus{outline:2px solid var(--ink);outline-offset:3px}.field input.is-focus{border-bottom:2px solid var(--ink);outline:0}.top.static{position:relative;inset:auto}.top.static .bar{padding-inline:0}.sg .scale.static{mix-blend-mode:normal;width:3rem;height:4rem;position:relative;inset:auto;display:block!important}.sg .scale.static .mark{top:50%;left:0}.sg .ticket,.sg .relay{margin-top:0}.sg .sg-sec{border-radius:14px;padding-block:2rem;overflow:clip}.sg .open.sg-sec{padding-block:2.5rem}.sg .open .licence{font-size:3rem}.sg .close h2{font-size:clamp(2rem,5vw,4rem)}.sg footer.full,.sg footer.compact{position:static}.sg footer.full{min-height:0;padding-block:2.5rem}.sg-static-tag{display:inline-block;position:static;transform:none}
