@font-face{font-family:Archivo;src:url('assets/fonts/archivo-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url('assets/fonts/archivo-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url('assets/fonts/archivo-900-italic.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('assets/fonts/plex-mono-400.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--bg:#101010;--ink:#f5f3ed;--ink-55:rgba(245,243,237,.55);--ink-30:rgba(245,243,237,.30);--red:#ff3b20;--display:Archivo,sans-serif;--body:Archivo,sans-serif;--mono:'IBM Plex Mono',monospace;--h-display:clamp(56px,12vw,176px);--h-type:clamp(22px,2.6vw,40px);--gutter:clamp(20px,4vw,64px);--ease:cubic-bezier(.16,1,.3,1);--tracking-display:-.03em;--leading-display:.86}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.5 var(--body);overflow-x:clip}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:6px}::selection{background:var(--ink);color:var(--bg)}img{display:block;max-width:100%;height:auto}p{margin:0 0 22px;max-width:34ch}h1,h2,h3{margin:0}h2,h3,.hero-name,.price,.cta,.footer-wordmark{font-family:var(--display);font-weight:900;letter-spacing:var(--tracking-display)}h2{font-size:clamp(40px,7.2vw,104px);line-height:.9}em{font-weight:900}h3{font-size:clamp(29px,3.3vw,48px);line-height:.94}section{position:relative;min-height:100svh;padding:120px var(--gutter);scroll-margin-top:0}.mono{font:400 11px/1.6 var(--mono);color:var(--ink-55)}.section-intro>.mono,.chapter-copy>.mono{letter-spacing:.18em;margin-bottom:28px}.section-intro h2{margin-bottom:32px}.section-intro>p:not(.mono){max-width:48ch}.muted{color:var(--ink-55)}.sr-only,.honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:10px;left:60px;z-index:20;background:var(--bg);color:var(--ink);padding:12px;transform:translateY(-200%)}.skip:focus{transform:none}.topbar{position:fixed;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px var(--gutter);background:var(--bg);padding-top:max(22px,env(safe-area-inset-top))}.brand{display:grid;place-items:center;min-width:44px;min-height:44px}.mark{filter:invert(98%) sepia(4%) saturate(355%) hue-rotate(345deg) brightness(99%);width:40px;height:40px;object-fit:contain}.topbar nav{display:flex;align-items:center;gap:28px;font:11px/1.5 var(--mono)}.topbar nav a{min-height:44px;display:flex;align-items:center}.desktop-email{margin-left:38px;color:var(--ink-55)}.nav-cta{color:var(--red)}.index{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:var(--gutter);z-index:8;background:var(--bg);padding:4px 6px 4px 0;letter-spacing:.16em;pointer-events:none}.index span{display:inline-block;transition:opacity .2s}.typewriter{font-size:var(--h-type);font-weight:900;line-height:1.06;letter-spacing:-.02em;min-height:2.12em;max-width:25ch;margin:22px 0 12px}.caret{display:inline-block;width:2px;height:.85em;background:var(--red);margin-left:6px;vertical-align:baseline;animation:blink 1s steps(1) infinite}.caret[hidden]{display:none}@keyframes blink{50%{opacity:0}}h1{font-size:17px;font-weight:400;line-height:1.5;color:var(--ink-55);max-width:30ch;margin:0 0 28px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;line-height:1.3;letter-spacing:.06em;color:var(--red);border:0;background:none;padding:10px 0;text-decoration:none}.cta:hover{text-decoration:underline;text-underline-offset:6px}.email-fallback{font-size:10px;min-height:44px;display:flex;align-items:center}.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);text-align:center;transition:opacity .3s;line-height:1}@keyframes nudge{50%{transform:translateY(4px)}}.chapters{margin-top:100px}.chapter{display:grid;grid-template-columns:40% 60%;align-items:center;gap:0;margin-bottom:120px}.chapter:last-child{margin-bottom:0}.chapter-copy{padding-right:12%;min-width:0}.chapter-copy h3{margin-bottom:28px}.chapter-copy p:not(.mono){font-size:16px;max-width:34ch}.work-link{display:inline-flex;align-items:center;min-height:44px}.screenshot-band{--delay:120ms;margin:0 calc(-1 * var(--gutter)) 0 0;aspect-ratio:16/10;border:1px solid var(--ink-30);overflow:hidden}.screenshot-band img{width:100%;height:100%;object-fit:cover;object-position:top;filter:none;transition:filter .4s}.screenshot-band:hover img,.screenshot-band:focus-within img{filter:grayscale(0)}.chapter-type-proof{font-size:clamp(40px,7vw,110px);font-weight:900;line-height:.9;letter-spacing:-.04em;color:var(--ink-30);border-top:1px solid var(--ink-30);padding:60px 0}.legacy-anchor{position:absolute;top:0}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:72px}.offer{border-top:1px solid var(--ink-30);padding-top:22px;display:flex;flex-direction:column;min-width:0}.offer>.mono:first-child{margin-bottom:36px;letter-spacing:.18em}.offer h3{font-size:clamp(24px,2.4vw,36px);max-width:12ch;min-height:2em;line-height:1}.price-label{margin:28px 0 8px}.price{font-size:clamp(40px,4.3vw,66px);line-height:1;white-space:normal;overflow-wrap:normal;min-height:2em;margin-bottom:20px}.promise{font-size:17px;min-height:3em}.offer ul{list-style:none;padding:0;margin:0 0 30px;flex:1}.offer li{position:relative;padding-left:16px;margin-bottom:14px;font-size:16px;line-height:1.5;max-width:34ch}.offer li:before{content:'·';position:absolute;left:0;color:var(--ink-55)}.offer .cta{align-self:flex-start}.price-footnote{max-width:105ch;margin-top:44px;font-size:11px}.faq{margin-top:64px;max-width:900px}.faq details{border-top:1px solid var(--ink-30)}.faq details:last-child{border-bottom:1px solid var(--ink-30)}summary{padding:22px 30px 22px 0;cursor:pointer;list-style:none;position:relative;color:var(--ink);font-size:12px!important}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0}details[open] summary:after{content:'−'}details>p{max-width:64ch;font-size:16px;color:var(--ink-55);padding-bottom:14px}#contact{padding-bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center}#contact:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red)}.contact-inner{max-width:880px;width:100%;text-align:center}.contact-inner>.mono{max-width:none;letter-spacing:.18em;margin-bottom:28px}#contact-heading{font-size:clamp(40px,4.1vw,58px);line-height:1.02}.someday{display:inline-block;position:relative;color:var(--ink)}.strike-line{position:absolute;top:calc(50% - .009em);translate:0 -50%;height:.08em;background:var(--red);left:0;width:100%;transform-origin:left}.old-question{display:none}.replacement{display:inline-block;margin-left:.18em}.contact-body{margin:24px auto 30px;max-width:45ch;font-size:16px}.motion-ready .someday{color:var(--ink)}.motion-ready .strike-line{transform:scaleX(0)}.motion-ready .old-question{display:inline}.motion-ready .replacement{visibility:hidden}.motion-ready.striking .strike-line{transform:scaleX(1);transition:transform .42s var(--ease)}.motion-ready.striking .someday{color:var(--ink)}.motion-ready.striking .old-question{opacity:0;transition:opacity .12s}.motion-ready.typing-replacement .old-question{display:none}.motion-ready.typing-replacement .replacement{visibility:visible}#form-area{max-width:620px;margin:0 auto;min-height:360px}form{text-align:left}form label,legend{font:11px/1.5 var(--mono);color:var(--ink-55)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}input[type=text],input[type=email],textarea{display:block;border:1px solid var(--ink-30);border-radius:0;background:transparent;color:var(--ink);width:100%;font:400 16px/1.5 var(--body);padding:12px;margin-top:8px;min-height:52px}textarea{resize:vertical;height:86px}textarea::placeholder{color:var(--ink-55);opacity:1}fieldset{border:0;padding:0;margin:20px 0}legend{padding:0;margin-bottom:8px}.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.chip{position:relative;cursor:pointer}.chip input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.chip span{display:grid;place-items:center;min-height:44px;border:1px solid var(--ink-30);color:var(--ink-55);font-size:11px;pointer-events:none}.chip input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}form>.cta{display:flex;margin:22px auto 0}form>.cta:disabled{opacity:.55;cursor:wait}.form-status{text-align:center;max-width:none;margin-top:20px;color:var(--ink-55)}.form-status a{text-decoration:underline}.confirmation{padding:64px 0;color:var(--ink-55)}.confirmation p{margin:0 auto 24px;max-width:50ch}.confirmation a{color:var(--ink);min-height:44px;display:inline-flex;align-items:center}.contact-email{max-width:none;margin:14px 0 0}footer{text-align:center;width:100%;margin-top:90px;padding:0 0 52px}footer>.mark{margin:0 auto 12px}.footer-wordmark{font-size:28px;letter-spacing:-.04em}footer .mono{margin:12px auto 0;max-width:none;font-size:10px}footer .copyright{margin-top:22px}.reveal,.body-reveal{opacity:1}.js-motion .reveal.awaiting{clip-path:inset(100% 0 0 0)}.js-motion .body-reveal.awaiting{opacity:0;transform:translateY(12px)}.js-motion .reveal.visible{animation:wipe .7s var(--ease) both;animation-delay:var(--delay,0ms)}.js-motion .body-reveal.visible{animation:rise .5s var(--ease) .08s both}@keyframes wipe{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.tile main{padding:var(--gutter)}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin:40px 0 100px}.tile .hero-name{font-size:clamp(56px,7vw,104px)}.tile-coin{width:100%}.tile-strike{font-size:48px;font-weight:900;position:relative;display:inline-block;color:var(--ink-30)}.tile-strike i{position:absolute;left:0;right:0;top:50%;height:6px;background:var(--red)}.tile-band{margin-top:36px;border:1px solid var(--ink-30);filter:grayscale(1)}.maintenance{min-height:100svh;display:grid;align-content:center;justify-content:center;padding:24px}
@media(max-width:900px) and (min-width:701px){.topbar nav{gap:18px}.desktop-email{display:none}.offer-grid{gap:24px}.chapter-copy{padding-right:9%}.chapter-copy h3{font-size:32px}.offer h3{font-size:24px}.price{font-size:40px}}
@media(max-width:700px){:root{--h-type:22px}.topbar{padding:10px 20px;padding-top:max(10px,env(safe-area-inset-top));height:calc(64px + env(safe-area-inset-top));}.topbar .mark{width:36px;height:36px}.topbar nav{font-size:11px}.topbar .desktop-link,.topbar .desktop-email{display:none}section{padding:90px var(--gutter);min-height:100svh}.typewriter{margin:20px 0 10px;min-height:2.12em;max-width:27ch}h1{font-size:16px;max-width:34ch;margin-bottom:10px}.scroll-cue{bottom:16px;font-size:10px}.index{bottom:max(16px,env(safe-area-inset-bottom));font-size:10px}.section-intro h2{font-size:clamp(40px,10.8vw,66px);margin-bottom:26px}.section-intro>p:not(.mono){font-size:16px}.section-intro>.mono{margin-bottom:24px}.chapters{margin-top:60px}.chapter{display:flex;flex-direction:column;align-items:stretch;margin-bottom:80px;gap:28px}.chapter-copy{padding:0}.chapter-copy h3{font-size:clamp(32px,8.5vw,48px);max-width:15ch}.chapter-copy p:not(.mono){font-size:16px;max-width:36ch}.screenshot-band{--delay:120ms;margin:0 calc(-1 * var(--gutter));aspect-ratio:16/10}.chapter-type-proof{font-size:18vw;padding:28px 0}.offer-grid{grid-template-columns:1fr;gap:52px;margin-top:48px}.offer>.mono:first-child{margin-bottom:24px}.offer h3{font-size:32px;max-width:14ch;min-height:0}.price-label{margin-top:26px}.price{font-size:clamp(40px,10.4vw,54px);min-height:0;white-space:nowrap;margin:4px 0 24px}.promise{min-height:0;font-size:17px}.offer li{max-width:38ch}.offer ul{margin-bottom:14px}.price-footnote{margin-top:34px;font-size:10px;line-height:1.7}.faq{margin-top:44px}.faq summary{font-size:11px!important;line-height:1.7}.faq p{font-size:16px}#contact{padding-top:86px}#contact-heading{font-size:clamp(34px,9.4vw,46px);line-height:1.05;letter-spacing:-.035em}.replacement{display:block;margin:5px 0 0}.contact-body{font-size:16px;margin:22px auto 26px}.form-pair{grid-template-columns:1fr;gap:14px}.chips{gap:6px}.chip span{font-size:10px;min-height:44px}fieldset{margin:16px 0}textarea{height:80px}form>.cta{margin-top:18px}.contact-email{font-size:10px;margin-top:16px}.contact-inner>.mono{margin-bottom:24px}footer{margin-top:70px;padding-bottom:70px}footer .mono{max-width:34ch;font-size:9px}.tile-grid{grid-template-columns:1fr;gap:30px}.tile .hero-name{font-size:17vw}#form-area{min-height:410px}}
@media(max-height:740px) and (max-width:700px){.typewriter{margin-top:14px;margin-bottom:4px;min-height:1.1em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.caret{display:none!important}.reveal,.body-reveal{opacity:1!important;clip-path:none!important;transform:none!important}.someday{color:var(--ink)!important}.strike-line{transform:none!important}.old-question{display:none!important}.replacement{visibility:visible!important}}

/* Static identity: a red strike through someday, italic sooner. */
.brand-wordmark{display:inline-flex;align-items:baseline;gap:.26em;font-family:var(--display);font-weight:900;letter-spacing:-.04em;line-height:1;white-space:nowrap}
.brand-wordmark:hover{text-decoration:none}
.brand-wordmark em{padding-right:.12em}
.wordmark-day{position:relative;display:inline-block}
.wordmark-day::after{content:'';position:absolute;left:0;right:0;top:52%;height:.085em;background:var(--red)}
.topbar .brand-wordmark{font-size:20px;min-height:44px;align-items:center}
.hero{display:flex;align-items:center;justify-content:center;min-height:88svh;padding:120px var(--gutter) 90px;overflow:clip;text-align:center}
.hero-type{width:100%;min-width:0}
.hero-name{font-size:clamp(56px,8.5vw,160px);justify-content:center;max-width:100%}
.descriptor{max-width:none;margin:24px 0 12px;font-size:12px;letter-spacing:.14em}
.hero h1{max-width:none;margin:0 0 16px}
.hero .actions{justify-content:center}
.hero .email-fallback{font-size:12px}
.scroll-cue span{display:block;font-size:18px;margin-top:9px}
.footer-wordmark{font-size:clamp(22px,4vw,32px)}
@media(max-width:900px){.topbar .desktop-email{display:none}.topbar nav{gap:18px}}
@media(max-width:700px){
 .topbar .brand-wordmark{font-size:16px}
 .hero{min-height:82svh;padding:calc(96px + env(safe-area-inset-top)) var(--gutter) 76px}
 .hero-name{display:flex;flex-direction:column;align-items:center;gap:.1em;font-size:17.5vw;line-height:.94}
 .hero-name em{padding-right:.12em;padding-left:.12em}
 .descriptor{font-size:12px;letter-spacing:.06em;line-height:1.7;margin:20px auto 12px;max-width:30ch}
 .hero h1{font-size:16px;max-width:29ch;margin:0 auto 14px}
 .hero .actions{gap:4px 16px}
 .hero .email-fallback{display:none}
}

/* Display the supplied artwork unchanged, framing out its empty canvas padding. */
.logo-image-frame{display:block;position:relative;aspect-ratio:2172 / 250;overflow:hidden}
.logo-image-frame .logo-image{position:absolute;width:100%;max-width:none;height:auto;left:0;top:-96%}
.hero-logo{width:100%;max-width:1600px;margin:0 auto}
.footer-logo{width:min(300px,100%);margin:0 auto}

/* Compact work list; native disclosures work with keyboard and without JavaScript. */
#work{min-height:0}
#work .chapters{margin-top:44px}
.portfolio-project{border-top:1px solid var(--ink-30)}
.portfolio-project:last-child{border-bottom:1px solid var(--ink-30)}
.portfolio-summary{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:20px;min-height:96px;padding:24px 0;list-style:none;font-size:inherit!important;color:var(--ink)}
.portfolio-summary::after{content:none}
.portfolio-summary::-webkit-details-marker{display:none}
.project-number{font-size:12px;letter-spacing:.12em}
.project-name{font-family:var(--display);font-weight:900;font-size:clamp(24px,3vw,40px);line-height:1.1;letter-spacing:-.03em;overflow-wrap:anywhere}
.project-toggle{position:relative;width:20px;height:20px;color:var(--red)}
.project-toggle::before,.project-toggle::after{content:'';position:absolute;left:0;top:9px;width:20px;height:2px;background:currentColor}
.project-toggle::after{transform:rotate(90deg)}
.portfolio-project[open]>.portfolio-summary .project-toggle::after{display:none}
.portfolio-summary:hover .project-name{color:var(--red)}
.portfolio-project>.chapter{margin:0;padding:12px 0 40px}
.portfolio-project .screenshot-band{margin:0}
.portfolio-project .screenshot-band>a{display:block;width:100%;height:100%}
@media(max-width:700px){
 #work .chapters{margin-top:32px}
 .portfolio-summary{grid-template-columns:28px minmax(0,1fr) 20px;gap:12px;min-height:80px;padding:22px 0}
 .project-name{font-size:clamp(22px,6vw,30px)}
 .portfolio-project>.chapter{padding:8px 0 28px;gap:24px}
 .portfolio-project .chapter-copy h3{font-size:clamp(28px,7.5vw,40px)}
}

.email-draft-note{max-width:none;text-align:center;margin:8px 0 0;font-size:12px;line-height:1.6}
