:root{--paper:#fbf4e6;--paper-warm:#f5e9d3;--paper-deep:#ecdcc0;--card:#fffaf0;--ink:#1d2b28;--ink-2:#435650;--ink-3:#74877f;--ink-line:#1d2b2824;--dusk:#22303f;--dusk-2:#1a2531;--dusk-ink:#eadfcb;--dusk-ink-2:#eadfcbb8;--dusk-line:#eadfcb2e;--moss:#6e8f5c;--sky:#9cc7dd;--rose:#bc4368;--rose-deep:#9c3454;--blossom:#e8b6bd;--shadow-soft:0 1px 2px #2e21120d, 0 8px 20px -12px #2e211238;--shadow-lift:0 2px 4px #2e211212, 0 22px 48px -22px #2e211266;--shadow-plate:0 4px 10px #2e211214, 0 34px 70px -34px #2e21128c;--blend:clamp(6rem, 14vh, 11rem);--gutter:clamp(1.25rem, 5vw, 4.5rem);--shell:min(76rem, 100% - var(--gutter) * 2);--shell-wide:min(88rem, 100% - var(--gutter) * 2);--section-y:clamp(5.5rem, 13vh, 9.5rem);--radius:clamp(.9rem, 1.6vw, 1.5rem);--radius-lg:clamp(1.25rem, 2.4vw, 2.25rem);--font-display:"Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.22, .68, .28, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.68;overflow-x:hidden}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.022em;text-wrap:balance;margin:0;font-weight:600;line-height:1.02}p{text-wrap:pretty;margin:0}ul{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:4px}::selection{background:#bc43683d}.shell{width:var(--shell);margin-inline:auto}.shell-wide{width:var(--shell-wide);margin-inline:auto}.section{padding-block:var(--section-y);position:relative}.grain{isolation:isolate;position:relative}.grain:after{content:"";z-index:-1;pointer-events:none;opacity:.32;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E");position:absolute;inset:0}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:.6rem;margin:0;font-size:.75rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";opacity:.55;background:currentColor;width:1.75rem;height:1px}.lede{color:var(--ink-2);font-size:clamp(1.05rem,.98rem + .5vw,1.3125rem);line-height:1.6}[data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform 1.05s var(--ease);transition-delay:var(--delay,0s);transform:translateY(1.6rem)}[data-reveal].is-revealed{opacity:1;transform:none}[data-reveal-both]{--shift-y:1;opacity:0;transform:translate3d(var(--shift-x,0rem), calc(var(--shift-y) * 2.1rem), 0);transition:opacity .7s var(--ease), transform .85s var(--ease);transition-delay:var(--delay,0s);will-change:transform, opacity}[data-reveal-both].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal],[data-reveal-both]{opacity:1;transition:none;transform:none}}.btn{--btn-bg:var(--rose);--btn-bg-hover:var(--rose-deep);--btn-ink:#fff8ec;--btn-ink-hover:var(--btn-ink);--btn-border:transparent;--btn-shadow:inset 0 1px 0 #ffffff47, 0 2px 3px #50142824, 0 14px 28px -14px #50142899;--btn-shadow-hover:inset 0 1px 0 #ffffff47, 0 3px 5px #50142829, 0 22px 38px -16px #5014289e;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-ink);font-family:var(--font-body);letter-spacing:.005em;cursor:pointer;box-shadow:var(--btn-shadow);transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease), background-color .35s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:.7rem;padding:.95rem 1.6rem;font-size:.98rem;font-weight:600;display:inline-flex;position:relative}.btn:hover{background:var(--btn-bg-hover);color:var(--btn-ink-hover);box-shadow:var(--btn-shadow-hover);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn svg{flex:none}.btn--ghost{--btn-bg:#fffaf08c;--btn-bg-hover:#fffaf0eb;--btn-ink:var(--ink);--btn-border:var(--ink-line);--btn-shadow:none;--btn-shadow-hover:var(--shadow-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn--ghost:hover{--btn-border:#1d2b2838}.btn--sm{padding:.6rem 1.1rem;font-size:.875rem}.btn--lg{padding:1.1rem 2rem;font-size:1.0625rem}.header{z-index:20;transition:background-color .5s var(--ease), box-shadow .5s var(--ease), transform .5s var(--ease);padding-block:.85rem;position:sticky;top:0}.header.is-hidden{transform:translateY(calc(-100% - .5rem))}.header.is-stuck{-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);box-shadow:0 1px 0 var(--ink-line);background:#fbf4e6db}.header__inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.header__nav{color:var(--ink-2);gap:1.9rem;font-size:.9375rem;display:none}.header__nav a{padding-block:.2rem;position:relative}.header__nav a:after{content:"";background:var(--rose);height:1px;transition:right .4s var(--ease);position:absolute;bottom:0;left:0;right:100%}.header__nav a:hover{color:var(--ink)}.header__nav a:hover:after{right:0}@media (width>=62rem){.header__nav{display:flex}}.wordmark{font-family:var(--font-display);letter-spacing:-.015em;align-items:center;gap:.65rem;font-size:1.2rem;font-weight:600;display:inline-flex}.wordmark__mark{width:2.15rem;height:2.15rem;box-shadow:var(--shadow-soft);border-radius:.62rem;flex:none}.hero{margin-top:calc(var(--header-h) * -1);padding-bottom:calc(clamp(2.5rem, 7vh, 4rem) + var(--blend));isolation:isolate;--band-h:clamp(18rem, 54svh, 30rem);align-content:start;gap:clamp(1.5rem,4vw,2.25rem);display:grid;position:relative;overflow:hidden}.hero__art{height:var(--band-h);display:block;position:relative}.hero__art img{object-fit:cover;object-position:50% 66%;width:100%;height:100%}@media (width>=48rem){.hero__art img{object-position:50% 54%}}.hero__art:after{content:"";background:linear-gradient(to top, var(--paper) 1%, #fbf4e600 46%), linear-gradient(to bottom, #fbf4e699 0%, #fbf4e600 22%);position:absolute;inset:0}.hero__veil{display:none}.petals{height:var(--band-h);z-index:-2;pointer-events:none;position:absolute;inset:0 0 auto;overflow:hidden}.hero__inner{gap:clamp(1.15rem,2.4vw,1.75rem);display:grid}.hero h1{font-size:clamp(2.75rem,1.1rem + 5.6vw,6rem);line-height:.99}.hero h1 br{display:none}.hero h1 em{color:var(--rose-deep);font-style:italic;font-weight:400}.hero__actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.hero__actions .btn{flex:100%}.hero__meta{color:var(--ink-3);flex-wrap:wrap;gap:.55rem 1.4rem;font-size:.875rem;display:flex}.hero__meta li{align-items:center;gap:.5rem;display:flex}.hero__meta li:before{content:"";background:var(--moss);border-radius:50%;width:.34rem;height:.34rem}.hero__cue{display:none}@media (width>=64rem){.hero{min-height:min(94svh,56rem);padding-top:calc(var(--header-h) + clamp(2rem, 6vh, 5rem));padding-bottom:calc(clamp(3rem, 8vh, 6rem) + var(--blend));align-content:end}.hero__art{z-index:-3;height:auto;position:absolute;inset:-3% 0 -9%}.hero__art img{object-position:72% 46%;transform:translate3d(0, calc(var(--progress,0) * -3.5rem), 0) scale(1.06);will-change:transform}.hero__art:after{display:none}.hero__veil{z-index:-2;background:linear-gradient(97deg,#fbf4e6f0 0,#fbf4e6e6 min(28rem,34vw),#fbf4e680 min(42rem,52vw),#fbf4e600 min(60rem,78vw)),linear-gradient(#fbf4e673 0%,#fbf4e600 20%);display:block;position:absolute;inset:0}.petals{height:auto;inset:0}.hero__inner{max-width:min(41rem,52vw)}.hero h1 br{display:inline}.hero__lede{max-width:34rem}.hero__actions .btn{flex:none}.hero__cue{right:var(--gutter);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);writing-mode:vertical-rl;align-items:center;gap:.7rem;font-size:.75rem;display:flex;position:absolute;bottom:clamp(2rem,6vh,3.5rem)}}.hero__cue span{background:linear-gradient(to bottom, var(--ink-3), transparent);width:1px;height:3.5rem;animation:cue 2.6s var(--ease) infinite;display:block}@keyframes cue{0%,to{transform-origin:top;opacity:.4;transform:scaleY(.35)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.hero__cue span{animation:none}.hero__art img{transform:none}}.petal{background:var(--blossom);opacity:0;width:.7rem;height:.5rem;animation:drift var(--dur,16s) linear var(--delay,0s) infinite;border-radius:60% 40% 55% 45%;position:absolute;top:-8%}@keyframes drift{0%{opacity:0;transform:translate(0,0)rotate(0)}8%{opacity:.75}90%{opacity:.5}to{opacity:0;transform:translate3d(calc(var(--drift,6rem) * -1), 110vh, 0) rotate(420deg)}}@media (prefers-reduced-motion:reduce){.petal{display:none}}.download{--edge-mask:linear-gradient(to bottom, #0000 0, #0000000a calc(var(--blend) * .18), #00000029 calc(var(--blend) * .34), #0000006b calc(var(--blend) * .5), #000000b8 calc(var(--blend) * .66), #000000eb calc(var(--blend) * .82), #000 var(--blend), #000 calc(100% - var(--blend) * .92), #000000e6 calc(100% - var(--blend) * .72), #00000094 calc(100% - var(--blend) * .46), #00000038 calc(100% - var(--blend) * .22), #0000 100%);isolation:isolate;color:var(--dusk-ink);margin-top:calc(var(--blend) * -1);padding-top:calc(var(--section-y) + var(--blend));padding-bottom:calc(var(--section-y) + var(--blend));position:relative;overflow:hidden}.download__stage,.download.grain:after{-webkit-mask-image:var(--edge-mask);-webkit-mask-image:var(--edge-mask);mask-image:var(--edge-mask);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.download__stage{z-index:-2;position:absolute;inset:0;overflow:hidden}.download__art{z-index:0;position:absolute;inset:0}.download__art img{object-fit:cover;object-position:72% 52%;width:100%;height:100%;transform:translate3d(0, calc(var(--progress,.5) * -2.5rem + 1.25rem), 0) scale(1.05);will-change:transform}.download__veil{z-index:1;background:linear-gradient(95deg,#1a2531f2 0%,#1a2531e0 34%,#1a253180 62%,#1a25312e 100%),linear-gradient(#1a253159 0%,#1a253100 30%);position:absolute;inset:0}.download .eyebrow{color:#eadfcb9e}.download__head{gap:1.1rem;max-width:38rem;margin-bottom:clamp(2.5rem,5vw,3.75rem);display:grid}.download h2{color:var(--dusk-ink);font-size:clamp(2.15rem,1.4rem + 3.4vw,3.9rem)}.download__lede{color:var(--dusk-ink-2);font-size:clamp(1.02rem,.98rem + .4vw,1.22rem);line-height:1.62}.builds{grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:clamp(1rem,2vw,1.5rem);max-width:58rem;display:grid}.build{border-radius:var(--radius-lg);color:var(--ink);box-shadow:var(--shadow-plate);transition:transform .45s var(--ease), box-shadow .45s var(--ease);background:linear-gradient(168deg,#fffaf0f7,#f5e9d3ed);align-content:start;gap:1.15rem;padding:clamp(1.5rem,3vw,2.1rem);display:grid;position:relative}.build:hover{transform:translateY(-4px);box-shadow:0 6px 14px #0a10163d,0 44px 80px -36px #0a1016cc}.build__top{align-items:center;gap:.85rem;display:flex}.build__glyph{width:2.85rem;height:2.85rem;color:var(--ink);background:#1d2b280f;border-radius:.85rem;flex:none;place-items:center;display:grid}.build__name{font-family:var(--font-display);letter-spacing:-.015em;font-size:1.35rem;font-weight:600;line-height:1.2}.build__format{color:var(--ink-3);font-size:.8125rem}.build__tag{color:#4c6a3c;letter-spacing:.08em;text-transform:uppercase;background:#6e8f5c29;border-radius:999px;margin-left:auto;padding:.3rem .65rem;font-size:.6875rem;font-weight:600}.build__meta{border-top:1px solid var(--ink-line);color:var(--ink-2);gap:.4rem;padding-top:1.1rem;font-size:.875rem;display:grid}.build .btn{width:100%}.build--soon .btn{--btn-bg:transparent;--btn-bg-hover:#bc43681a;--btn-ink:var(--rose-deep);--btn-border:#9c345452;--btn-shadow:none;--btn-shadow-hover:none}.build--soon .btn:hover{--btn-border:#9c34548c}.build__tag--soon{color:var(--rose-deep);background:#bc436829}.download__foot{max-width:44rem;color:var(--dusk-ink-2);gap:.5rem;margin-top:clamp(1.75rem,3vw,2.5rem);font-size:.875rem;display:grid}.download__foot strong{color:var(--dusk-ink);font-weight:600}.download__version{color:#eadfcb80}.features{background:linear-gradient(to bottom, var(--paper) 0%, var(--paper-warm) 55%, var(--paper) 100%)}.features__head{gap:1.15rem;max-width:44rem;margin-bottom:clamp(3.5rem,8vw,6rem);display:grid}.features h2{font-size:clamp(2.15rem,1.4rem + 3.4vw,3.9rem)}.feature-list{gap:clamp(3.75rem,8vw,6.5rem);display:grid}.feature{align-items:center;gap:clamp(1.75rem,4vw,3.5rem);display:grid}@media (width>=56rem){.feature{grid-template-columns:1fr 1fr}.feature--flip .feature__art{--shift-x:2.25rem;order:2}.feature--flip .feature__body{--shift-x:-1.75rem}}.feature__art{--shift-x:-2.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-plate);transform:rotate(var(--tilt,-.5deg));transition:transform .6s var(--ease);position:relative;overflow:hidden}.feature__art:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fffaf066,inset 0 0 60px #2e21121a}.feature__art:hover{transform:rotate(0)scale(1.012)}.feature__art img{aspect-ratio:4/3;object-fit:cover;width:100%}.feature__body{--shift-x:1.75rem;align-content:start;gap:1.15rem;max-width:32rem;display:grid}.feature__index{font-family:var(--font-display);letter-spacing:.14em;color:var(--rose-deep);align-items:center;gap:.75rem;font-size:.8125rem;font-weight:600;display:flex}.feature__index:after{content:"";opacity:.4;background:currentColor;flex:1;max-width:3.5rem;height:1px}.feature h3{font-size:clamp(1.75rem,1.3rem + 1.9vw,2.6rem)}.feature__lede{font-family:var(--font-display);color:var(--ink-2);font-size:clamp(1.1rem,1rem + .5vw,1.35rem);font-style:italic;font-weight:400;line-height:1.45}.feature__text{color:var(--ink-2)}.feature__points{color:var(--ink-2);gap:.6rem;padding-top:.4rem;font-size:.9375rem;display:grid}.feature__points li{grid-template-columns:1.15rem 1fr;align-items:start;gap:.7rem;display:grid}.feature__points svg{color:var(--moss);margin-top:.3rem}.closing{isolation:isolate;text-align:center;position:relative;overflow:hidden}.closing__art{z-index:-3;position:absolute;inset:0}.closing__art img{object-fit:cover;object-position:50% 58%;width:100%;height:100%}.closing__veil{z-index:-2;background:linear-gradient(to bottom, var(--paper) 0%, #fbf4e69e 22%, #fbf4e675 52%, #fbf4e6a8 100%), radial-gradient(120% 70% at 50% 46%, #fbf4e69e 0%, #fbf4e600 62%), linear-gradient(to top, var(--paper) 0%, #fbf4e600 16%);position:absolute;inset:0}.closing__inner{justify-items:center;gap:1.4rem;max-width:40rem;margin-inline:auto;display:grid}.closing h2{font-size:clamp(2.15rem,1.4rem + 3.4vw,3.9rem)}.footer{border-top:1px solid var(--ink-line);background:var(--paper);color:var(--ink-3);padding-block:clamp(2.5rem,5vw,3.5rem);font-size:.875rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem 2rem;display:flex}.footer__links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer__links a:hover{color:var(--ink)}.sr-only{clip-path:inset(50%);white-space:nowrap;-webkit-user-select:none;user-select:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.type__char{opacity:0}.type__char.is-typed{opacity:1}.type__char.is-cursor{position:relative}.type__char.is-cursor:after{content:"";background:var(--rose);border-radius:1px;width:.07em;height:1.02em;animation:.9s step-end infinite caret;position:absolute;top:.16em;left:-.05em}@keyframes caret{0%,55%{opacity:1}56%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.type__char{opacity:1}.type__char.is-cursor:after{display:none}}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--card);box-shadow:var(--shadow-soft);border-radius:999px;margin:.75rem;padding:.5rem 1rem;display:inline-block;position:static}:root{--header-h:4.35rem}@media (width<=47.99rem){.download__art img{object-position:66% 42%}.download__veil{background:linear-gradient(to bottom, #1a25317a 0%, #1a2531c7 34%, #1a2531ed 62%), linear-gradient(to bottom, var(--paper) 0%, #fbf4e600 12%), linear-gradient(to top, var(--paper) 0%, #fbf4e600 12%)}.build .btn{padding-inline:1.1rem}}
