:root{--paper:#efeeea;--page:var(--paper);--ink:#111;--mute:#7d7c77;--rule:#1111111f;--gut:clamp(16px, 3vw, 40px);--font:"Host Grotesk", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--page);color:var(--ink);font:400 16px/1.55 var(--font);-webkit-font-smoothing:antialiased;transition:background-color .5s var(--out);margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}h1,h2,h3,p,dl,dd,ol,ul,figure{margin:0;padding:0}ol,ul{list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.wrap{padding-left:var(--gut);padding-right:var(--gut);max-width:1440px;margin-left:auto;margin-right:auto}.label{color:var(--ink);margin-bottom:14px;font-size:15px}.sec{border-bottom:1px solid var(--rule);padding-bottom:14px;font-size:15px;font-weight:400}.top{grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;padding-top:22px;padding-bottom:22px;font-size:15px;line-height:1.3;display:grid}.top .name{font-weight:500}.top a:hover{opacity:.6}.intro{grid-template-columns:140px 1fr;align-items:end;gap:clamp(20px,4vw,48px);padding-top:clamp(80px,13vw,180px);padding-bottom:clamp(70px,10vw,140px);display:grid}.portrait{filter:grayscale();border-radius:10px;width:140px;height:auto}.lede{letter-spacing:-.025em;max-width:26ch;font-size:clamp(26px,3.3vw,46px);font-weight:500;line-height:1.12}.lede strong{font-weight:600}.sub{color:var(--mute);max-width:52ch;margin-top:22px;font-size:17px}.sub a{color:var(--ink);text-underline-offset:3px;text-decoration:underline 1px}.work{gap:clamp(70px,9vw,130px);padding-bottom:clamp(30px,4vw,60px);display:grid}.shelf{gap:clamp(14px,1.6vw,22px);display:grid}.shelf-phone{grid-template-columns:repeat(3,minmax(0,1fr))}.shelf-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{gap:18px;display:grid}.tile-stage{background:var(--tint);border-radius:22px;place-items:center;padding:clamp(28px,4vw,56px) clamp(16px,3vw,44px);transition:box-shadow .4s;display:grid;position:relative;overflow:hidden}.shelf-phone .tile-stage{aspect-ratio:4/5.6}.shelf-wide .tile-stage{aspect-ratio:4/3}.tile-bg{object-fit:cover;opacity:.85;width:100%;height:100%;transition:scale 1.2s var(--out);position:absolute;inset:0}.tile .device{transition:translate .7s var(--out), scale .7s var(--out)}.shelf-phone .dv-iphone{width:min(330px,74%)}.shelf-wide .dv-mac,.shelf-wide .dv-web{width:92%}.shelf-wide .dv-window{width:min(300px,52%)}.tile:hover .device,.tile:focus-visible .device{translate:0 -10px;scale:1.025}.tile:hover .tile-bg{scale:1.04}.tile-soon{color:color-mix(in srgb, var(--ink) 60%, transparent);backdrop-filter:blur(8px);background:#fff9;border-radius:999px;padding:8px 16px;font-size:15px;position:relative}.tile-meta{gap:4px;display:grid}.tname{letter-spacing:-.04em;font-size:clamp(30px,3.4vw,50px);font-weight:600;line-height:1;transition:color .3s}.tile:hover .tname{color:var(--accent)}.tline{max-width:34ch;font-size:17px;line-height:1.35}.tstatus{color:var(--mute);font-size:14px}.topen{color:var(--ink);opacity:0;margin-left:10px;transition:opacity .3s}.tile:hover .topen,.tile:focus-visible .topen{opacity:1}@media (hover:none){.topen{opacity:1}}.stats{flex-wrap:wrap;gap:14px 40px;margin-top:30px;display:flex}.stats dt{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(30px,3vw,42px);font-weight:600;line-height:1}.stats dd{color:var(--mute);margin:6px 0 0;font-size:14px}.stage{min-width:0;position:relative}.track{scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.track::-webkit-scrollbar{display:none}.track.drag{cursor:grabbing;scroll-snap-type:none}.track.drag *{pointer-events:none}.slide{scroll-snap-align:center;flex:0 0 100%;align-content:center;justify-items:center;gap:18px;min-height:clamp(380px,46vw,600px);padding:10px 4px 0;display:grid}.slide figcaption{color:var(--mute);text-align:center;max-width:40ch;min-height:1.5em;font-size:14px}.controls{align-items:center;gap:16px;margin-top:20px;display:flex}.nav{border:1px solid var(--rule);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:16px;transition:background .2s,color .2s;display:grid}.nav:hover{background:var(--ink);color:#fff}.bars{flex:1;gap:6px;display:flex}.pbar{flex:1;align-items:center;height:16px;display:flex}.pbar span{background:color-mix(in srgb, var(--ink) 16%, transparent);border-radius:2px;width:100%;height:2px;display:block;position:relative;overflow:hidden}.pbar span:after{content:"";background:var(--ink);transform-origin:0;transform:scaleX(var(--p,0));transition:transform .1s linear;position:absolute;inset:0}.device{width:100%;position:relative}.bezel{background:#0b0b0c;position:relative;box-shadow:0 40px 70px -30px #00000059,inset 0 0 0 1.5px #2b2b2e}.screen{background:#1a1a1c;width:100%;height:100%;position:relative;overflow:hidden}.screen img,.screen video{object-fit:cover;width:100%;height:100%}.empty{color:#ffffff59;letter-spacing:.02em;place-items:center;font-size:15px;display:grid;position:absolute;inset:0}.dv-iphone{width:min(290px,74%)}.dv-iphone .bezel{aspect-ratio:9/19.5;border-radius:15%/7%;padding:3.2%}.dv-iphone .screen{border-radius:12.5%/5.8%}.dv-iphone .island{background:#000;border-radius:99px;width:30%;height:3.3%;position:absolute;top:4.6%;left:50%;translate:-50%}.dv-iphone-landscape{width:min(620px,100%)}.dv-iphone-landscape .bezel{aspect-ratio:19.5/9;border-radius:7%/15%;padding:1.5%}.dv-iphone-landscape .screen{border-radius:5.8%/12.5%}.dv-iphone-landscape .island{background:#000;border-radius:99px;width:3.3%;height:30%;position:absolute;top:50%;left:3.4%;translate:0 -50%}.dv-mac{width:min(640px,100%)}.dv-mac .bezel{aspect-ratio:16/10.4;border-radius:3.4% 3.4% 0 0/5.2% 5.2% 0 0;padding:2.4% 2.4% 3.4%}.dv-mac .screen{border-radius:.6%}.dv-mac .screen img,.dv-mac .screen video{object-position:top center}.dv-mac .base{background:linear-gradient(#e2e2e5,#a7a7ab);border-radius:0 0 40% 40%/0 0 100% 100%;width:114%;height:0;margin-left:-7%;padding-bottom:3.2%;position:relative;box-shadow:0 30px 50px -24px #00000059}.dv-mac .base:before{content:"";background:#c3c3c7;border-radius:0 0 10px 10px;width:16%;height:40%;position:absolute;top:0;left:50%;translate:-50%}.dv-web{width:min(680px,100%)}.dv-web .bezel{background:#f6f6f4;border-radius:12px;padding:34px 0 0;overflow:hidden;box-shadow:0 40px 70px -30px #0000004d,inset 0 0 0 1px #00000014}.dv-web .screen{aspect-ratio:16/10}.dv-web .bar{gap:7px;display:flex;position:absolute;top:12px;left:14px}.dv-web .bar i{background:#d4d4d0;border-radius:50%;width:10px;height:10px}.dv-window{width:min(380px,80%)}.dv-window .bezel{background:0 0;border-radius:14px;height:100%;overflow:hidden;box-shadow:0 40px 70px -30px #00000073,0 0 0 1px #00000014}.dv-window .screen img{object-fit:contain}.stage-lg .dv-window{width:min(440px,80%)}.stage-lg .slide{min-height:clamp(460px,56vw,760px)}.stage-lg .dv-iphone{width:min(340px,78%)}.stage-lg .dv-mac,.stage-lg .dv-web{width:min(980px,100%)}.stage-lg .dv-iphone-landscape{width:min(860px,100%)}.certified,.clubs{padding-top:clamp(90px,11vw,150px)}.cert-head{grid-template-columns:auto 1fr;align-items:end;gap:clamp(24px,5vw,80px);margin:34px 0 40px;display:grid}.cert-count{color:var(--mute);font-size:15px}.cert-count span{letter-spacing:-.06em;color:var(--ink);font-size:clamp(80px,11vw,160px);font-weight:600;line-height:.85;display:block}.cert-head .sub{margin:0}.certs{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.certs a{min-height:170px;box-shadow:inset 0 0 0 1px var(--rule);transition:background .3s, translate .5s var(--out), box-shadow .3s;background:#ffffff8c;border-radius:16px;grid-template-rows:auto 1fr auto;gap:14px;padding:18px 18px 16px;display:grid}.certs a:hover{box-shadow:inset 0 0 0 1px var(--rule), 0 24px 40px -24px #00000040;background:#fff;translate:0 -4px}.c-group{color:#b5603f;font-size:13px}.c-title{letter-spacing:-.02em;font-size:21px;font-weight:600;line-height:1.15}.c-foot{color:var(--mute);justify-content:space-between;gap:12px;font-size:13px;display:flex}.c-verify{opacity:0;color:var(--ink);transition:opacity .25s}.certs a:hover .c-verify,.certs a:focus-visible .c-verify{opacity:1}@media (hover:none){.c-verify{opacity:1}}.sec-sub{margin-top:60px}.earlier,.more{padding-top:clamp(90px,11vw,150px)}.rows li a,.rows .row{border-bottom:1px solid var(--rule);transition:padding .4s var(--out);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 120px;align-items:baseline;gap:24px;padding:18px 0;display:grid}.rows li a:hover{padding-left:12px}.rname{letter-spacing:-.025em;font-size:clamp(22px,2.2vw,30px);font-weight:600;line-height:1.1}.rline{color:var(--mute)}.ryears{color:var(--mute);white-space:nowrap;text-align:right;font-size:15px}.next{padding-top:clamp(100px,12vw,170px);padding-bottom:clamp(60px,8vw,120px)}.foot{border-top:1px solid var(--rule);margin-top:40px;padding-top:60px;padding-bottom:28px}.big-mail a{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(30px,6.4vw,92px);font-weight:600;line-height:1}.big-mail a:hover{opacity:.6}.foot-row{grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:70px;font-size:15px;display:grid}.foot-row ul{flex-wrap:wrap;gap:6px 22px;display:flex}.foot-row a:hover{opacity:.6}.demo{place-items:center;width:100%;display:grid}.demo .bezel{aspect-ratio:auto;height:auto}.demo .screen{aspect-ratio:var(--aspect);cursor:pointer;height:auto}.dscreen{opacity:0;visibility:hidden;transition:opacity .35s var(--out), visibility 0s .35s;position:absolute;inset:0}.dscreen.on{opacity:1;visibility:visible;transition:opacity .35s var(--out), visibility 0s;z-index:1}.dscreen img,.dscreen video{object-fit:cover;object-position:top center;width:100%;height:100%}.hot{-webkit-tap-highlight-color:transparent;border-radius:12px;position:absolute}.hot:focus-visible{outline:2px solid #fff;box-shadow:0 0 0 4px #00000080}.dscreen.idle .hot:not(.whole),.dscreen.nudge .hot:not(.whole){animation:glow 1.6s var(--out) infinite}.dscreen.nudge .hot:not(.whole){animation-iteration-count:2}@keyframes glow{0%{background:#ffffff38;box-shadow:0 0 #ffffffe6,0 0 #00000040}to{background:#fff0;box-shadow:0 0 0 14px #fff0,0 0 0 16px #0000}}.demo-iphone .device{width:min(390px,45svh - 67.5px);min-width:260px}.demo-mac .device{width:min(1040px,100%)}.demo-web .device{width:min(1080px,100%)}.demo-web .screen{aspect-ratio:var(--aspect)}.demo-window .device{width:min(440px,86%)}.pd{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,70px);min-height:calc(100svh - 70px);padding-top:40px;padding-bottom:40px;display:grid;position:relative}.pd-back{top:0;left:var(--gut);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--rule);border-radius:50%;place-items:center;font-size:18px;transition:background .2s,color .2s;display:grid;position:absolute}.pd-back:hover{background:var(--ink);color:#fff}.pd-name{letter-spacing:-.045em;color:var(--accent);font-size:clamp(40px,4.6vw,64px);font-weight:600;line-height:.95}.pd-facts{gap:10px;margin-top:28px;font-size:15px;display:grid}.pd-facts dt{color:var(--mute);font-size:13px}.pd-try{border-top:1px solid var(--rule);margin-top:32px;padding-top:18px}.pd-hint{min-height:2.8em;font-size:17px;font-weight:500;line-height:1.4}.pd-restart{box-shadow:inset 0 0 0 1px var(--rule);border-radius:999px;margin-top:14px;padding:8px 14px;font-size:14px}.pd-restart:hover{background:var(--ink);color:#fff;box-shadow:none}.pd-down{color:var(--mute);margin-top:34px;font-size:15px;display:inline-block}.pd-down:hover{color:var(--ink)}.pd-stage{place-items:center;min-width:0;display:grid}.pd-soon{aspect-ratio:16/10;border-radius:22px;place-items:end start;width:min(900px,100%);display:grid;position:relative;overflow:hidden}.pd-soon img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pd-soon p{backdrop-filter:blur(10px);background:#ffffffb8;border-radius:14px;max-width:40ch;margin:20px;padding:14px 18px;font-size:15px;position:relative}.p-about{padding-top:clamp(80px,10vw,140px)}.p-line{letter-spacing:-.03em;max-width:22ch;font-size:clamp(30px,3.6vw,52px);font-weight:500;line-height:1.08}.p-body{grid-template-columns:1.4fr 1fr;gap:clamp(40px,8vw,120px);padding-top:clamp(40px,5vw,70px);display:grid}.p-story p{max-width:54ch;font-size:18px;line-height:1.6}.p-story p+p{margin-top:18px}.p-story .stack{color:var(--mute);margin-top:28px;font-size:14px}.p-body .stats{margin-top:0}.ch-links{flex-wrap:wrap;gap:14px 22px;margin-top:24px;font-size:15px;display:flex}.ch-links .ext{border-bottom:1px solid}.ch-links .ext:hover{opacity:.6}.asof{color:var(--mute);margin-top:16px;font-size:13px}.p-screens{padding-top:clamp(90px,11vw,150px)}.p-screens .stage{margin-top:30px}.deep{background:var(--ink);color:#fff;border-radius:22px;gap:14px;margin-top:clamp(90px,11vw,150px);padding:clamp(28px,4vw,56px);transition:background .4s;display:grid}.deep .label{color:#fff9;margin:0}.deep-title{letter-spacing:-.035em;max-width:20ch;font-size:clamp(28px,3.6vw,52px);font-weight:600;line-height:1.05}.deep-go{margin-top:10px;font-size:16px}.deep:hover{background:var(--accent)}.nextp{padding-top:clamp(90px,11vw,150px);padding-bottom:40px}.nextp .pname{letter-spacing:-.04em;font-size:clamp(46px,7.4vw,108px);font-weight:600;line-height:1}.nextp .pname:hover{color:var(--accent)}@media (width<=860px){.top{grid-template-columns:1fr 1fr}.top .blog{display:none}.intro{grid-template-columns:1fr;align-items:start}.portrait{width:96px}.shelf-phone{grid-template-columns:repeat(2,minmax(0,1fr))}.shelf-wide{grid-template-columns:1fr}.pd{grid-template-columns:1fr;min-height:0;padding-top:64px}.pd-stage{order:-1}.demo-iphone .device{width:min(330px,78vw);min-width:0}.rows li a,.rows .row{grid-template-columns:1fr auto}.cert-head{grid-template-columns:1fr}.rows .rline{grid-area:2/1/auto/-1}.rows .rline:empty{display:none}.p-body,.foot-row{grid-template-columns:1fr}}@media (width<=560px){.shelf-phone{grid-template-columns:1fr}.shelf-phone .dv-iphone{width:62%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
