@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter+Tight:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--color-ink: rgba(0,0,0,.95);--color-canvas: #ffffff;--color-surface: #f6f5f4;--color-dark: #31302e;--color-text-secondary: #615d59;--color-text-muted: #a39e98;--color-border: #d1cec9;--color-cta: rgba(0,0,0,.95);--color-cta-text: #ffffff;--color-focus: rgba(0,0,0,.8);--color-brand: #dd5b00;--badge-orange-bg: #fdecd9;--badge-orange-fg: #dd5b00;--font-title: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter Tight", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--section: 128px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--shadow-whisper: 0 0 0 1px rgba(0,0,0,.06);--shadow-card: 0 1px 2px rgba(0,0,0,.04), 0 4px 8px rgba(0,0,0,.03), 0 8px 16px rgba(0,0,0,.02);--shadow-raised: 0 4px 16px rgba(0,0,0,.08), 0 12px 32px rgba(0,0,0,.06), 0 24px 52px rgba(0,0,0,.04);--shadow-focus: 0 0 0 3px rgba(0,0,0,.16);--shadow-button: 0 0 0 1px rgba(0,0,0,.12), 0 2px 4px rgba(0,0,0,.06), 0 4px 8px rgba(0,0,0,.04)}[data-theme=dark]{--color-ink: rgba(255,255,255,.96);--color-canvas: #191817;--color-surface: #232120;--color-dark: #2d2b28;--color-text-secondary: #d9d4ce;--color-text-muted: #9a938c;--color-border: #403e3a;--color-cta: rgba(255,255,255,.94);--color-cta-text: #17120e;--color-focus: rgba(255,255,255,.8);--color-brand: #f5f4f2;--badge-orange-bg: rgba(255,255,255,.12);--badge-orange-fg: #f5f4f2;--shadow-whisper: 0 0 0 1px rgba(255,255,255,.06);--shadow-card: 0 1px 2px rgba(0,0,0,.25), 0 4px 8px rgba(0,0,0,.18), 0 8px 16px rgba(0,0,0,.12);--shadow-raised: 0 4px 16px rgba(0,0,0,.35), 0 12px 32px rgba(0,0,0,.28), 0 24px 52px rgba(0,0,0,.22);--shadow-focus: 0 0 0 3px rgba(255,255,255,.18);--shadow-button: 0 0 0 1px rgba(255,255,255,.1), 0 2px 4px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:#000;overflow-x:hidden;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);color:var(--color-ink)}a{color:inherit;text-decoration:none}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0;display:block}#sections{position:relative;z-index:1}.t-display-hero{font-family:var(--font-title);font-size:clamp(32px,5vw + 8px,64px);font-weight:700;line-height:1;letter-spacing:-.04em;text-transform:uppercase}.t-section{font-family:var(--font-title);font-size:clamp(24px,4vw + 6px,48px);font-weight:700;line-height:1.05;letter-spacing:-.03em;text-transform:uppercase}.t-subheading{font-family:var(--font-title);font-size:clamp(18px,2.5vw + 6px,32px);font-weight:600;line-height:1.15;letter-spacing:-.02em;text-transform:uppercase}.t-card-title{font-family:var(--font-title);font-size:clamp(16px,1.5vw + 6px,22px);font-weight:600;line-height:1.27;letter-spacing:-.01em;text-transform:uppercase}.t-body-large{font-family:var(--font-body);font-size:clamp(17px,1.5vw + 8px,20px);font-weight:400;line-height:1.65}.t-body{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.7}.t-body-em{font-family:var(--font-body);font-size:16px;font-weight:700;line-height:1.6}.t-ui-label{font-family:var(--font-title);font-size:14px;font-weight:500;line-height:1.43;letter-spacing:.01em}.t-caption{font-family:var(--font-title);font-size:12px;font-weight:500;line-height:1.33;letter-spacing:.02em}.t-mono{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}.muted{color:var(--color-text-muted)}.hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.hud>*{position:absolute;pointer-events:auto}.hud-tl{top:var(--space-6);left:var(--space-7)}.hud-tr{top:var(--space-6);right:var(--space-7);text-align:right;display:flex;gap:var(--space-4);align-items:center}.hud-bl{bottom:var(--space-6);left:var(--space-7)}.hud-br{bottom:var(--space-6);right:var(--space-7);text-align:right}.hud-sc{bottom:calc(var(--space-6) + 28px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);opacity:0;transition:opacity .36s ease;pointer-events:none}.hud-sc.is-visible{opacity:1}.hud-sc .arrow{font-size:14px;line-height:1;animation:scrollCueBounce 1.8s ease-in-out infinite}@keyframes scrollCueBounce{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}@media (prefers-reduced-motion: reduce){.hud-sc .arrow{animation:none}}.hud>*{text-shadow:0 1px 18px rgba(0,0,0,.55)}.section-content,.reveal{text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 10px rgba(0,0,0,.55),0 4px 30px rgba(0,0,0,.45)}.wordmark{display:block;font-family:var(--font-title);font-weight:600;font-size:18px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);transition:color .22s ease}.wordmark:hover{color:#5ad1ff}.wordmark+.hud-note{margin-top:var(--space-2);color:var(--color-text-muted)}.wordmark-icon{display:none;width:22px;height:22px;flex-shrink:0}.contact-link{color:var(--color-text-secondary);transition:color .15s ease}.contact-link:hover{color:var(--color-brand)}.nav-link{position:relative;font-family:var(--font-mono);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink);display:inline-flex;align-items:center;gap:4px;padding-bottom:2px;transition:color .22s ease}.nav-link:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#5ad1ff;transform:scaleX(0) translateZ(0);transform-origin:right center;will-change:transform;backface-visibility:hidden;transition:transform .32s cubic-bezier(.7,0,.3,1)}.nav-link:hover:before{transform:scaleX(1) translateZ(0);transform-origin:left center}.nav-link:after{content:"↗";display:inline-block;font-size:12px;line-height:1;color:inherit;transition:transform .22s cubic-bezier(.22,.61,.36,1);transform-origin:center}.nav-link:hover{color:#5ad1ff}.nav-link:hover:after{transform:scale(1.6) translate(2px,-2px)}.nav-link:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-xs)}.hud-readout .num{color:var(--color-ink)}.hud-readout .sep,.hud-readout .total{color:var(--color-text-muted)}.hud-readout .label{color:var(--color-text-muted);margin-left:.6em}.lang-switch{display:inline-flex;align-items:center;gap:.4em}.lang-btn{background:none;border:0;padding:0;margin:0;cursor:pointer;color:var(--color-text-muted);font:inherit;letter-spacing:inherit;text-transform:inherit;transition:color .22s cubic-bezier(.22,.61,.36,1)}.lang-btn:hover,.lang-btn.is-active{color:var(--color-ink)}.lang-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-xs)}.lang-sep{color:var(--color-text-muted)}.progress{position:fixed;left:0;right:0;bottom:0;height:2px;z-index:10;background:var(--color-border)}.progress .fill{height:100%;width:0;background:var(--color-brand);transition:width .2s ease}.snap{height:100vh;display:flex;padding:calc(var(--space-9) + var(--space-2)) clamp(var(--space-6),7vw,var(--space-9))}.section-content{display:flex;flex-direction:column;gap:var(--space-4);max-width:460px}.section-content .eyebrow{color:var(--color-text-muted);transition:opacity .28s ease}#section-3 .section-content:has(.work-list.has-expansion) .eyebrow{opacity:.3}.section-content .sub{color:var(--color-text-secondary);max-width:34ch}.snap[data-align=right]{justify-content:flex-end;align-items:center}.snap[data-align=left]{justify-content:flex-start;align-items:center}.snap[data-align=bottom-left]{justify-content:flex-start;align-items:flex-end}.snap[data-align=bottom-right]{justify-content:flex-end;align-items:flex-end}.snap[data-align=center]{justify-content:center;align-items:flex-end}.snap[data-align=middle]{justify-content:center;align-items:center}.snap[data-align=middle] .section-content{align-items:center;text-align:center}#section-1 .section-content,#section-2 .section-content{max-width:400px}.snap[data-align=split]{justify-content:center;align-items:center}#section-3.snap{padding-top:140px;padding-bottom:140px}#section-3 .section-content{max-width:760px}.work-list{display:flex;flex-direction:column;width:100%}.work-row{display:flex;flex-direction:column;border-bottom:1px solid var(--color-border);position:relative;transition:opacity .3s ease}.work-row:first-of-type{border-top:1px solid var(--color-border)}.work-row-header{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-5);width:100%;padding:var(--space-4) var(--space-3);margin:0 calc(var(--space-3) * -1);border-radius:var(--radius-sm);transition:padding .3s cubic-bezier(.22,.61,.36,1),background .2s ease,opacity .3s ease}.work-row-header .row-meta{display:inline-flex;align-items:baseline;gap:var(--space-3)}.work-row-header .indicator{display:inline-block;margin-left:var(--space-3);font-family:var(--font-mono);font-size:18px;font-weight:400;line-height:1;color:var(--color-text-muted);transition:color .2s ease,transform .3s cubic-bezier(.22,.61,.36,1)}.work-row.is-expanded .work-row-header .indicator{transform:rotate(45deg);color:var(--color-brand)}.work-row .name{color:var(--color-ink);transition:color .2s}.work-row .kind{color:var(--color-text-muted);transition:opacity .3s ease,transform .3s ease}.work-row-header:hover{background:#ffffff0a}.work-row-header:hover .name{color:var(--color-brand)}.work-row-header:hover .indicator{color:var(--color-ink)}.work-row-header:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.work-row{overflow:hidden;max-height:720px;transition:opacity .48s cubic-bezier(.4,0,.2,1),max-height .48s cubic-bezier(.4,0,.2,1),border-color .24s ease,padding .24s ease}.snap.is-active .work-row.is-collapsed{opacity:0;max-height:0;border-color:transparent;pointer-events:none}.work-row.is-collapsed .work-row-header{padding:0 var(--space-3)}.work-row.is-collapsed .kind{opacity:0;transform:translate(8px)}.work-row-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .52s cubic-bezier(.4,0,.2,1),opacity .28s ease;opacity:0}.work-row-detail-inner{min-height:0;overflow:hidden;position:relative;padding:0;display:grid;grid-template-columns:280px 1fr;grid-template-rows:auto auto;grid-template-areas:"media body" "media links";column-gap:calc(var(--space-5) + 1px);row-gap:var(--space-3);align-items:start;transition:padding .38s cubic-bezier(.22,.61,.36,1)}.work-row-detail-inner:before{content:"";position:absolute;top:0;bottom:0;left:calc(280px + var(--space-5) / 2);width:1px;background:var(--color-border)}.work-row-detail-inner .work-row-media{grid-area:media;align-self:start}.work-row-detail-inner .work-row-body{grid-area:body}.work-row-detail-inner .work-row-links{grid-area:links}.work-row.is-expanded .work-row-detail{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .52s cubic-bezier(.4,0,.2,1),opacity .28s ease 60ms}.work-row.is-expanded .work-row-detail-inner{padding-bottom:var(--space-5);padding-top:var(--space-3, 8px)}.work-row-media{width:280px;flex-shrink:0;aspect-ratio:16 / 10;background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid var(--color-border);overflow:hidden;margin-bottom:0}.work-row-media img{width:100%;height:100%;object-fit:cover;display:block}.work-row-media.is-placeholder{display:flex;align-items:center;justify-content:center}.work-row-media.is-placeholder:after{content:attr(data-initials);font-family:var(--font-title);font-size:36px;letter-spacing:.04em;color:var(--color-text-muted);opacity:.65}.work-row-body{display:block;min-width:0;text-align:left}.work-row-body .description{margin:0;color:var(--color-ink);max-width:44ch;text-align:left}.work-row-links{display:flex;flex-direction:row;gap:var(--space-3);flex-wrap:wrap}.btn-outline,.cta-email{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--color-border);background:transparent;color:var(--color-ink);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;border-radius:0;isolation:isolate;transition:border-color .22s ease,color .22s ease}.btn-outline:after,.cta-email:after{content:"↗";font-size:12px;line-height:1;display:inline-block;color:inherit;transition:transform .22s cubic-bezier(.22,.61,.36,1),color .22s ease;transform-origin:center}.btn-outline:hover,.cta-email:hover{border-color:transparent;color:#5ad1ff;background:transparent}.btn-outline:hover:after,.cta-email:hover:after{color:#5ad1ff;transform:scale(1.6) translate(2px,-2px)}.btn-outline:focus-visible,.cta-email:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-outline .cta-ring,.cta-email .cta-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}.btn-outline .cta-ring path,.cta-email .cta-ring path{fill:none;stroke:#5ad1ff;stroke-width:1;vector-effect:non-scaling-stroke}.work-dots{display:flex;gap:10px;margin-top:var(--space-4);width:min(480px,100%)}.work-dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);background:transparent;width:8px;height:8px;border-radius:50%;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.work-dot:hover{border-color:var(--color-ink)}.work-dot.is-active{background:var(--color-ink);border-color:var(--color-ink)}.snap[data-align=center]{padding-top:58vh}.reveal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);max-width:480px}.reveal .title{color:var(--color-ink)}.reveal .sub{color:var(--color-text-secondary)}.reveal-split{flex-direction:row;align-items:center;justify-content:space-between;width:100%;max-width:none;text-align:initial;gap:var(--space-6)}.reveal-side{display:flex;flex-direction:column;gap:var(--space-4);max-width:18rem}.reveal-left{align-items:flex-start;text-align:left}.reveal-right{align-items:flex-end;text-align:right}.pill-availability,.cta-email{text-shadow:none}.pill-availability{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px 12px;border-radius:var(--radius-pill);background:var(--badge-orange-bg);color:var(--badge-orange-fg);font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.pill-availability:before{content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor}@property --ring-p{syntax: "<percentage>"; initial-value: 0%; inherits: false;}.cta-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);width:max-content;max-width:100%}#contact .reveal-side.reveal-right{max-width:100%}@media (min-width: 1024px) and (min-aspect-ratio: 11/10){#contact .cta-row{flex-direction:column;align-items:flex-end;width:auto}}.section-content>*,.work-row,.reveal>*{opacity:0;transition:opacity .14s ease}.snap.is-active .section-content>*,.snap.is-active .work-row,.snap.is-active .reveal>*{opacity:1;transition:opacity .24s ease;transition-delay:0ms}.snap.is-active .work-row{transition:opacity .52s cubic-bezier(.4,0,.2,1),max-height .52s cubic-bezier(.4,0,.2,1),transform .52s cubic-bezier(.4,0,.2,1),border-color .28s ease,padding .28s ease}.snap.is-active .work-row.is-collapsed{transform:translateY(-8px)}@media (max-width: 720px){.hud-tr .hud-note,.hud-tl .hud-note,.hud-readout .label{display:none}.hud-tl,.hud-tr{display:flex;align-items:center;min-height:22px}.wordmark{display:inline-flex;align-items:center}.wordmark-text{display:none}.wordmark-icon{display:block;width:20px;height:20px}.t-display-hero{font-size:clamp(24px,5vw + 4px,48px)}.t-section{font-size:clamp(18px,4vw + 2px,36px)}.t-subheading{font-size:clamp(14px,2.5vw + 4px,24px)}.t-card-title{font-size:clamp(13px,1.5vw + 4px,17px)}.t-body-large{font-size:clamp(13px,1.5vw + 6px,15px)}.t-body,.t-body-em{font-size:13px}.t-ui-label{font-size:11px}.t-caption,.t-mono{font-size:10px}.wordmark{font-size:14px}.nav-link{font-size:11px}.cta-email{font-size:12px}.pill-availability,.btn-outline{font-size:10px}.work-row .kind{display:none}.work-row-detail-inner{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"media" "body" "links";column-gap:0;row-gap:var(--space-3)}.work-row-detail-inner:before{display:none}.work-row-media{width:100%}.work-row-links{flex-direction:row;flex-wrap:wrap}.snap,.snap[data-align=right],.snap[data-align=left],.snap[data-align=bottom-left],.snap[data-align=bottom-right],.snap[data-align=center]{justify-content:center;align-items:flex-end;text-align:center;padding-bottom:var(--space-8)}.section-content{align-items:center;max-width:90vw}.section-content .sub{max-width:38ch}.reveal{align-items:center}.work-list{width:100%}.snap[data-align=center]{padding-top:52vh}}@media (max-width: 1023.98px),(max-aspect-ratio: 11/10){#contact.snap{align-items:stretch;justify-content:center;padding-top:16vh;padding-bottom:16vh}#contact .reveal-split{flex-direction:column;justify-content:space-between;align-items:center;height:100%;width:100%}#contact .reveal-side,#contact .reveal-left,#contact .reveal-right{align-items:center;text-align:center;max-width:min(22rem,86vw)}}.ds-switcher{position:fixed;right:var(--space-4);top:50%;transform:translateY(-50%);z-index:50;width:208px;padding:var(--space-3);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);background:#0c0b0abd;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 32px #00000080;transition:opacity .16s ease,transform .16s ease}.ds-switcher.is-hidden{opacity:0;pointer-events:none;transform:translateY(-50%) translate(14px)}.ds-switcher-head{display:flex;justify-content:space-between;align-items:baseline;color:#ffffff8c;margin-bottom:var(--space-3)}.ds-hint{font-size:9px;opacity:.6;letter-spacing:.04em}.ds-switcher-head.ds-sub{margin-top:var(--space-3)}.ds-switcher-list{display:flex;flex-direction:column;gap:4px}.ds-btn{display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;gap:1px var(--space-2);align-items:center;text-align:left;padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:#ffffff0a;color:#ffffffdb;cursor:pointer;transition:background .12s ease,border-color .12s ease}.ds-btn:hover{background:#ffffff17}.ds-btn.is-active{border-color:#ffffff6b;background:#ffffff1f}.ds-key{grid-row:1 / span 2;display:grid;place-items:center;width:18px;height:18px;border-radius:4px;background:#ffffff1f;font-size:10px}.ds-name{font-size:11px;letter-spacing:.06em}.ds-note{grid-column:2;font-size:9px;opacity:.5;text-transform:none;letter-spacing:.02em}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:var(--space-4);background:#000000b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .22s ease}.modal-backdrop[hidden]{display:none}.modal-backdrop.is-open{opacity:1}body.modal-open{overflow:hidden}.modal{position:relative;width:min(560px,100%);max-height:calc(100vh - var(--space-6));overflow:auto;background:var(--color-canvas);color:var(--color-ink);border:1px solid var(--color-border);padding:var(--space-5);box-shadow:var(--shadow-raised);transform:translateY(8px);transition:transform .22s ease}.modal-backdrop.is-open .modal{transform:none}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.modal-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.modal-intro{color:var(--color-text-secondary);margin-top:var(--space-2);max-width:42ch}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-border);color:var(--color-ink);width:32px;height:32px;display:grid;place-items:center;font-family:var(--font-mono);font-size:18px;line-height:1;cursor:pointer;flex-shrink:0;transition:color .2s ease,border-color .2s ease}.modal-close:hover{color:#5ad1ff;border-color:#5ad1ff}.modal-close:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.cal{display:flex;flex-direction:column;gap:var(--space-3)}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.cal-title{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink)}.cal-nav{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-border);color:var(--color-ink);width:28px;height:28px;display:grid;place-items:center;font-family:var(--font-mono);font-size:14px;line-height:1;cursor:pointer;transition:color .2s ease,border-color .2s ease}.cal-nav:hover:not(:disabled){color:#5ad1ff;border-color:#5ad1ff}.cal-nav:disabled{opacity:.35;cursor:not-allowed}.cal-nav:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-border);color:var(--color-ink);aspect-ratio:1 / 1;font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.cal-day:hover:not(:disabled){color:#5ad1ff;border-color:#5ad1ff}.cal-day:disabled{opacity:.3;cursor:not-allowed}.cal-day.is-other{opacity:.35}.cal-day.is-today{border-color:var(--color-ink)}.cal-day.is-selected{background:var(--color-ink);color:var(--color-canvas);border-color:var(--color-ink)}.cal-day:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.slots{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.slots-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--space-2)}.slot{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-border);color:var(--color-ink);padding:8px 10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .18s ease,border-color .18s ease}.slot:hover{color:#5ad1ff;border-color:#5ad1ff}.slot:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.slots-note{font-size:12px;color:var(--color-text-muted);margin-top:var(--space-2)}.modal-body [hidden],.modal-body .cal[hidden],.modal-body .slots[hidden],.modal-body .book-form[hidden],.modal-body .book-result[hidden]{display:none!important}.book-form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.book-form[hidden]{display:none}.book-form .form-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);font-size:12px}.form-field{display:flex;flex-direction:column;gap:4px}.form-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.book-form input[type=text],.book-form input[type=email],.book-form textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-border);color:var(--color-ink);padding:10px 12px;font-family:var(--font-body);font-size:14px;line-height:1.4;border-radius:var(--radius-sm);transition:border-color .18s ease}.book-form textarea{resize:vertical;min-height:80px}.book-form input:focus,.book-form textarea:focus{outline:none;border-color:#5ad1ff;box-shadow:var(--shadow-focus)}.book-form input:invalid:not(:placeholder-shown){border-color:#dd5b00}.form-row{display:flex;gap:var(--space-2);justify-content:space-between;margin-top:var(--space-2)}.form-back,.form-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-border);color:var(--color-ink);padding:10px 16px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .18s ease,border-color .18s ease}.form-back:hover,.form-submit:hover{color:#5ad1ff;border-color:#5ad1ff}.form-back:focus-visible,.form-submit:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-status{font-size:13px;margin:0}.form-status[hidden]{display:none}.form-status.is-loading{color:var(--color-text-secondary)}.form-status.is-error{color:#dd5b00}.book-result{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start;padding:var(--space-5) 0}.book-result[hidden]{display:none}.result-title{margin:0}.result-body{margin:0;color:var(--color-text-secondary)}.result-close{margin-top:var(--space-3)}@media (prefers-reduced-motion: reduce){.section-content>*,.work-row,.reveal>*{opacity:1;transform:none;transition:none}.cta-email:hover{transform:none}.progress .fill,.modal-backdrop,.modal{transition:none}}
