:root{--font-display:"Fraunces", "Iowan Old Style", serif;--font-body:"Inter", -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", monospace;--cloud:#f7f2e8;--cloud-dim:#f7f2e8b8;--ink:#101815;--ink-soft:#101815ad;--frost-bg:#0d1310e0;--frost-border:#f7f2e829;--gold:#e9b768;--btn-color:var(--gold);--btn-ink:#fff;--btn-fill:100%;--btn-glow:5px;--btn-glow-strength:2%;--pill-alpha:1;--glass-shine-blur:1px;--glass-shine:linear-gradient(180deg, #ffffffb8 0%, #fff3 32%, #fff0 64%);--glass-shine-lower:linear-gradient(0deg, oklch(from var(--pill-face) l c h / .72) 16%, oklch(from var(--pill-face) l c h / .2) 32%, oklch(from var(--pill-face) l c h / 0) 64%);--glass-core:radial-gradient(ellipse 32% 52% at 50% 36%, oklch(from var(--pill-face) min(.92, calc(l + .18)) c h / calc(.55 * var(--pill-alpha))) 0%, oklch(from var(--pill-face) l c h / 0) 72%);--glass-face:linear-gradient(180deg, oklch(from var(--pill-face) calc(l * .58) calc(c * 1.12) h / var(--pill-alpha)) 0%, oklch(from var(--pill-face) calc(l * .84) calc(c * 1.04) h / var(--pill-alpha)) 34%, oklch(from var(--pill-face) l c h / var(--pill-alpha)) 52%, oklch(from var(--pill-face) min(.9, calc(l * 1.2)) calc(c * 1.06) h / var(--pill-alpha)) 74%, oklch(from var(--pill-face) calc(l * .68) calc(c * 1.1) h / var(--pill-alpha)) 100%);--glass-rim:linear-gradient(135deg, #ffffff9e 0%, #ffffff24 18%, #ffffff14 50%, #ffffff24 82%, #ffffff9e 100%);--glass-bevel:linear-gradient(145deg, oklch(from var(--pill-face) min(.98, calc(l + .28)) calc(c * .75) h) 0%, oklch(from var(--pill-face) min(.94, calc(l * 1.1)) c h) 32%, oklch(from var(--pill-face) l c h) 50%, oklch(from var(--pill-face) calc(l * .55) calc(c * 1.12) h) 78%, oklch(from var(--pill-face) calc(l * .35) calc(c * 1.18) h) 100%);--glass-shadow:inset 2px -2px 1px -1px #ffffffe6, inset -2px 2px 1px -1px #ffffffe6, inset 6px -6px 1px -6px #ffffff80, inset -6px 6px 1px -6px #ffffff80, inset 0 0 0 1px #ffffff38, inset 0 0 2px #0000008c, inset 0 -3px 7px oklch(from var(--pill-face) calc(l * .35) c h / .35), 0 4px 8px #00000038, 0 8px 18px oklch(from var(--pill-face) l c h / .22);--glass-shadow-hover:inset 2px -2px 1px -1px #fffffff2, inset -2px 2px 1px -1px #fffffff2, inset 6px -6px 1px -6px #ffffff94, inset -6px 6px 1px -6px #ffffff94, inset 0 0 0 1px #ffffff47, inset 0 0 2px #0000007a, inset 0 -3px 7px oklch(from var(--pill-face) calc(l * .38) c h / .3), 0 5px 12px #0000003d, 0 12px 24px oklch(from var(--pill-face) l c h / .28);--ease-standard:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;touch-action:none;width:100%;height:100vh;color:var(--cloud);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:#0b1512;margin:0;padding:0;position:fixed;top:0;left:0;overflow:hidden}button{font-family:inherit}.btn{--pill-face:var(--btn-color);isolation:isolate;font-family:var(--font-body);color:var(--tech-ink,var(--btn-ink,#fff));background-color:oklch(from var(--pill-face) l c h / var(--pill-alpha));background-image:var(--glass-core), var(--glass-face), var(--glass-rim), var(--glass-bevel);box-shadow:var(--glass-shadow);cursor:pointer;transition:box-shadow .2s var(--ease-standard), color .2s var(--ease-standard), transform .2s var(--ease-standard), filter .2s var(--ease-standard);background-origin:border-box;background-clip:padding-box,padding-box,border-box,border-box;border:1.5px solid #0000;font-weight:500;text-decoration:none;position:relative;overflow:hidden}.btn:before,.btn:after{content:"";pointer-events:none;z-index:-1;height:40%;filter:blur(var(--glass-shine-blur));border-radius:999px;position:absolute;left:6%;right:6%}.btn:before{background:var(--glass-shine);top:7%}.btn:after{background:var(--glass-shine-lower);mix-blend-mode:color-dodge;bottom:7%}.btn:hover,.btn:focus-visible{color:var(--tech-ink,var(--btn-ink,#fff));background-color:oklch(from var(--pill-face) l c h / var(--pill-alpha));background-image:var(--glass-core), var(--glass-face), var(--glass-rim), var(--glass-bevel);box-shadow:var(--glass-shadow-hover)}.btn.sound-toggle,.btn.sound-toggle:hover,.btn.sound-toggle:focus-visible{isolation:auto;box-shadow:none;filter:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;overflow:visible}.btn.sound-toggle:before,.btn.sound-toggle:after{content:none}@media (width>=641px){.btn:not(.sound-toggle){--pill-alpha:.8;-webkit-backdrop-filter:blur(12px)saturate(1.45);backdrop-filter:blur(12px)saturate(1.45)}}@media (prefers-reduced-transparency:reduce){.btn:not(.sound-toggle){--pill-alpha:1;-webkit-backdrop-filter:none;backdrop-filter:none}}.btn:focus-visible{outline:2px solid color-mix(in srgb, var(--btn-color) 80%, white);outline-offset:3px}a{color:inherit}.app-root{overscroll-behavior:none;touch-action:none;width:100%;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.scene-even-host{position:absolute;inset:0;overflow:hidden}.scene-canvas-layer{opacity:1;width:100%;height:100%;position:absolute;inset:0}.canvas-iframe-shell{pointer-events:none;opacity:0;background:0 0;overflow:hidden}.canvas-iframe-shell[data-ready=true]{opacity:1}.canvas-iframe-shell iframe{pointer-events:none;background:0 0;border:0;display:block}.letter-sheet{--letter-ink:#2a1709;--letter-rule:#5c3a1f;box-sizing:border-box;width:100%;height:100%;color:var(--letter-ink);font-family:var(--font-display);font-optical-sizing:auto;font-synthesis:none;font-kerning:normal;font-variant-ligatures:common-ligatures contextual;letter-spacing:.004em;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;pointer-events:none;background:#fff;font-size:36px;line-height:1.34;position:relative;overflow:hidden}.letter-frame{width:100%;height:100%;color:var(--letter-rule);opacity:.9;pointer-events:none;position:absolute;inset:0}.letter-body{z-index:1;box-sizing:border-box;flex-direction:column;width:100%;height:100%;padding:50px 46px 42px;display:flex;position:relative}.letter-sheet p{text-align:left;margin:0 0 .12em}.letter-drop{float:left;color:#3b1f0b;margin:.02em .05em 0 0;padding:.02em .02em 0 0;font-size:2.85em;font-style:normal;font-weight:500;line-height:.8}.letter-leadin{text-transform:uppercase;letter-spacing:.07em;font-size:.92em}.letter-fleuron{width:32%;height:auto;color:var(--letter-rule);opacity:.72;flex:none;margin:.4em auto .28em;display:block}.letter-sheet b{font-weight:900;font-style:bold}.letter-signoff{align-items:center;gap:16px;margin:auto 0 0;display:flex}.letter-photo{object-fit:cover;object-position:50% 20%;width:76px;height:76px;box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--letter-rule), 0 2px 10px #2a17094d;border-radius:50%;flex:none}.letter-sheet .letter-close{text-align:left;-webkit-hyphens:none;hyphens:none;margin:0;line-height:1.3}.letter-name{letter-spacing:.015em;font-size:1.06em;font-weight:500}.hud-layer{z-index:20;pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.hud-layer a,.hud-layer button{pointer-events:auto}.intro{text-align:center;opacity:0;transition:opacity .9s var(--ease-standard), visibility .9s;visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:0 1.5rem;display:flex;position:absolute;inset:0;overflow:visible;transform:translateY(0)}.intro[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.intro-title{width:min(16ch,100%);max-width:100%;font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;color:var(--cloud);text-shadow:0 2px 28px #0006;margin:0;font-size:clamp(2.15rem,8.4vw,5.2rem);font-weight:700;line-height:1.08}.intro-by{font-family:var(--font-body);color:var(--gold);letter-spacing:.02em;font-size:clamp(1.05rem,3.4vw,1.45rem);font-style:italic;font-weight:400}.intro-cue{--btn-color:#ffffff1a;--btn-ink:#101815;letter-spacing:.04em;border-radius:999px;flex-direction:row;align-items:center;gap:.55rem;margin-top:2.4rem;padding:.72rem 1.25rem;font-size:.7rem;animation:2.4s ease-in-out infinite cue-bob;display:inline-flex}@keyframes cue-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.loading-overlay{z-index:40;opacity:1;visibility:visible;transition:opacity .8s var(--ease-standard), visibility .8s;pointer-events:auto;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-overlay[data-visible=false]{opacity:0;visibility:hidden;pointer-events:none}.loading-mark{place-items:center;width:96px;height:96px;display:grid;position:relative}.loading-ring{width:100%;height:100%;position:absolute;inset:0}.loading-ring-track{stroke:#f7f2e82e}.loading-ring-fill{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .18s linear}.loading-pct{z-index:1;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:.02em;color:var(--cloud);font-variant-numeric:tabular-nums;pointer-events:none;font-size:1.12rem;font-style:italic;font-weight:300;line-height:1;position:relative}.work-hud{pointer-events:none}.work-hud[data-visible=true] .work-head{opacity:var(--pill-align,1);visibility:visible;transform:translate(-50%)}.work-hud[data-visible=true] .work-actions,.work-hud[data-visible=true] .message-btn{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.work-head{top:max(3.4rem, calc(env(safe-area-inset-top,0px) + 2.6rem));text-align:center;opacity:0;visibility:hidden;width:min(56rem,100vw - 2.2rem);transition:opacity .32s var(--ease-standard), transform .48s var(--ease-standard), visibility .32s;position:absolute;left:50%;transform:translate(-50%,-8px)}.work-hud-welcome .work-head{top:max(3.4rem, calc(env(safe-area-inset-top,0px) + 2.6rem))}.work-head-welcome .work-name{justify-self:center;font-size:clamp(.92rem,2.5vw,1.28rem);line-height:1.1}.work-hud-welcome .tech-pills{gap:.32rem;width:min(36rem,100%);margin-top:.32rem}.work-hud-welcome .btn.tech-pill{padding:.22rem .58rem;font-size:.52rem}.message-btn{--btn-color:#f7f2e8;--btn-ink:#101815;left:50%;top:max(.42rem, calc(env(safe-area-inset-top,0px) + .32rem));letter-spacing:.03em;color:var(--btn-ink,#101815);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .48s var(--ease-standard), transform .48s var(--ease-standard), visibility .48s, background .2s var(--ease-standard), box-shadow .2s var(--ease-standard);z-index:13;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.58rem 1.2rem;font-size:.7rem;font-weight:500;display:inline-flex;position:absolute;bottom:auto;transform:translate(-50%,-8px)}.message-btn:hover,.message-btn:focus-visible{transform:translate(-50%,-1px)}.work-titlebar{grid-template-columns:1fr auto 1fr;align-items:baseline;column-gap:.75rem;width:100%;display:grid}.work-focus{text-align:left;font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--project-accent,var(--gold));text-shadow:0 1px 12px #0009;justify-self:start;margin:0;font-size:clamp(.56rem,1.5vw,.68rem);font-weight:600}.work-name{text-align:center;font-family:var(--font-display);letter-spacing:-.02em;color:var(--cloud);text-shadow:0 1px 18px #00000073;justify-self:center;margin:0;font-size:clamp(1.15rem,3.4vw,1.85rem);font-weight:600;line-height:1.15}.work-year{text-align:right;font-family:var(--font-body);letter-spacing:.18em;color:var(--project-accent,var(--gold));text-shadow:0 1px 12px #0009;justify-self:end;margin:0;font-size:clamp(.56rem,1.5vw,.68rem);font-weight:500}.work-sub{color:var(--cloud-dim);text-shadow:0 1px 14px #00000080;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.35rem 0 0;font-size:clamp(.62rem,1.35vw,.74rem);font-weight:300;line-height:1.45;display:-webkit-box;overflow:hidden}.work-sub strong{color:var(--cloud);font-weight:600}.tech-pills{pointer-events:none;width:min(42rem,100%);transition:opacity .32s var(--ease-standard);flex-wrap:wrap;justify-content:center;align-items:center;gap:.48rem;margin:.62rem auto 0;display:flex}.btn.tech-pill{--btn-fill:100%;--pill-face:var(--btn-color);letter-spacing:.03em;white-space:nowrap;cursor:default;border-radius:999px;justify-content:center;align-items:center;padding:.34rem .8rem;font-size:.6rem;font-weight:500;line-height:1.2;display:inline-flex}.btn.tech-pill.tech-pill-node{--pill-face:#111;--tech-ink:#f7f2e8;background-image:var(--glass-core), var(--glass-face), var(--glass-rim), linear-gradient(165deg, #9be08a 0%, #5fa04e 52%, #3d7a32 100%)}.btn.tech-pill.tech-pill-node:hover,.btn.tech-pill.tech-pill-node:focus-visible{--tech-ink:#f7f2e8;background-image:var(--glass-core), var(--glass-face), var(--glass-rim), linear-gradient(165deg, #b0f09c 0%, #5fa04e 52%, #3d7a32 100%)}.tech-pill-node-js{color:#5fa04e}.work-actions{left:50%;bottom:max(6.6rem, calc(env(safe-area-inset-bottom,0px) + 5.7rem));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .48s var(--ease-standard), transform .48s var(--ease-standard), visibility .48s;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;transform:translate(-50%,8px)}.work-visit{--btn-color:var(--project-accent,var(--gold));letter-spacing:.03em;transition:transform .2s var(--ease-standard), background .2s var(--ease-standard), box-shadow .2s var(--ease-standard);border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.72rem 1.45rem;font-size:.78rem;display:inline-flex}.work-visit:hover,.work-visit:focus-visible{transform:translateY(-1px)}.accent-fill{--btn-ink:#fff;--pill-face:var(--btn-color);color:#fff;text-shadow:none}.btn.accent-fill:hover,.btn.accent-fill:focus-visible,.work-visit.accent-fill,.gallery-nav-step.accent-fill{color:#fff}.work-visit.accent-fill:hover,.work-visit.accent-fill:focus-visible,.gallery-nav-step.accent-fill:hover,.gallery-nav-step.accent-fill:focus-visible{transform:translateY(-1px)}.work-focus.accent-fill,.work-year.accent-fill{--btn-color:var(--project-accent,var(--gold));--pill-face:var(--btn-color);color:#fff;letter-spacing:.14em;text-shadow:none;border-radius:25px;padding:.28rem .72rem;display:inline-block}.progress-dot.accent-fill{text-shadow:none}.progress-dot.accent-fill:hover,.progress-dot.accent-fill:focus-visible{filter:brightness(1.08);transform:scale(1.18)}.gallery-nav{left:50%;bottom:max(4.55rem, calc(env(safe-area-inset-bottom,0px) + 3.65rem));opacity:0;visibility:hidden;transition:opacity .48s var(--ease-standard), visibility .48s;z-index:12;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%)}.gallery-nav[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.gallery-nav-step{letter-spacing:.03em;border-radius:999px;align-items:center;gap:.45rem;padding:.72rem 1.35rem;font-size:.82rem;display:inline-flex}.gallery-nav-step-icon{font-size:1.35rem;font-weight:500;line-height:1}.gallery-nav-step:hover,.gallery-nav-step:focus-visible{transform:translateY(-1px)}.progress-dots{opacity:1;visibility:visible;align-items:center;gap:.7rem;display:flex;position:static}.progress-dot{opacity:.5;width:14px;height:14px;transition:transform .22s var(--ease-standard), opacity .22s var(--ease-standard), background .22s var(--ease-standard), box-shadow .22s var(--ease-standard);border-radius:999px;padding:0}.progress-dot:hover{opacity:1;transform:scale(1.18)}.progress-dot[data-active=true]{opacity:1;transform:scale(1.35)}.about-panel{opacity:0;visibility:hidden;transition:opacity .62s var(--ease-standard), visibility .62s;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.about-panel[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto}.about-card{background:var(--frost-bg);border:1px solid var(--frost-border);text-align:left;border-radius:18px;max-width:480px;padding:2.1rem 2.2rem}.about-kicker{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;font-size:.65rem}.about-title{font-family:var(--font-display);margin:0 0 .9rem;font-size:1.9rem;font-weight:500}.about-body{color:var(--cloud-dim);margin:0 0 1.3rem;font-size:.94rem;font-weight:300;line-height:1.65}.about-contact{--btn-color:var(--gold);border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .95rem;font-size:.82rem;display:inline-flex}.about-back{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--cloud-dim);margin-top:1.4rem;font-size:.68rem}.footer-credit{left:50%;bottom:max(.18rem, calc(env(safe-area-inset-bottom,0px) + .08rem));max-width:calc(100vw - 1rem);font-family:var(--font-body);letter-spacing:.06em;text-align:center;text-transform:uppercase;color:var(--cloud-dim);opacity:.4;pointer-events:none;white-space:nowrap;font-size:.32rem;line-height:1.2;position:absolute;transform:translate(-50%)}.hud-layer .footer-credit{opacity:0;visibility:hidden;transition:opacity .9s var(--ease-standard), visibility .9s}.hud-layer .footer-credit[data-visible=true]{opacity:.4;visibility:visible}.fallback-page{background:linear-gradient(#101f1b 0%,#0b1512 60%);min-height:100vh;padding:3rem 1.5rem 5rem;overflow-y:auto}.fallback-header{text-align:center;margin-bottom:3rem}.fallback-logo{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;width:min(16ch,100%);margin-inline:auto;font-size:clamp(2rem,8vw,3rem);line-height:1.08}.fallback-welcome{color:var(--cloud-dim);max-width:40ch;margin:.8rem auto 0;font-weight:300}.fallback-stack{flex-direction:column;gap:1.6rem;max-width:640px;margin:0 auto;display:flex}.fallback-card{border:1px solid var(--frost-border);background:var(--frost-bg);border-radius:16px;overflow:hidden}.fallback-card-art{aspect-ratio:1.12/1.24;background:#0c1210;width:100%;overflow:hidden}.fallback-card-art img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.fallback-card-body{padding:1.2rem 1.4rem 1.4rem}.fallback-card-body .work-titlebar{margin-bottom:.15rem}.fallback-card-body .work-name,.fallback-card-body .work-sub{text-shadow:none}.fallback-tools{opacity:1;visibility:visible;pointer-events:auto;flex-direction:column;align-items:flex-start;gap:.7rem;width:auto;margin-top:.85rem;display:flex;position:static;transform:none}.fallback-tools .tech-pills,.fallback-tools .work-visit{opacity:1;visibility:visible;width:auto;position:static;bottom:auto;left:auto;transform:none}@media (width<=640px){.btn:not(.sound-toggle){--pill-alpha:1;-webkit-backdrop-filter:none;backdrop-filter:none}.btn:hover,.btn:focus-visible{filter:brightness(1.06)}.intro{gap:.85rem;padding:0 1.25rem}.intro-cue{margin-top:1.55rem}.work-head,.work-hud-welcome .work-head{top:max(3.1rem, calc(env(safe-area-inset-top,0px) + 2.3rem));width:calc(100vw - 1.6rem)}.tech-pills{gap:.38rem;width:100%;margin-top:.5rem}.work-hud-welcome .tech-pills{gap:.28rem;margin-top:.26rem}.work-actions{bottom:max(5.55rem, calc(env(safe-area-inset-bottom,0px) + 4.7rem));gap:.35rem}.gallery-nav{bottom:max(3.75rem, calc(env(safe-area-inset-bottom,0px) + 2.95rem))}.progress-dots{gap:.48rem}.progress-dot{width:11px;height:11px}.message-btn{top:max(.38rem, calc(env(safe-area-inset-top,0px) + .28rem));padding:.48rem .95rem;font-size:.64rem;bottom:auto}.gallery-nav-step{letter-spacing:.1em;padding:.62rem 1rem;font-size:.72rem}.gallery-nav-step-icon{font-size:1.1rem}}@media (width<=420px){.gallery-nav-step-label{display:none}.gallery-nav-step{padding:.62rem .75rem}.work-visit{padding:.62rem 1.1rem;font-size:.72rem}.work-actions{gap:.3rem}}.hud-layer[data-contact-open=true]>:not(.contact-modal){opacity:0!important;visibility:hidden!important;pointer-events:none!important}.contact-modal{z-index:40;padding:max(1.2rem, env(safe-area-inset-top)) 1.2rem max(1.2rem, env(safe-area-inset-bottom));pointer-events:auto;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.contact-card{text-align:left;background:#101815;border:1px solid #f7f2e829;border-radius:18px;width:min(26rem,100%);padding:1.7rem 1.75rem 1.5rem;box-shadow:0 24px 60px #0000008c}.contact-header{align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.contact-photo{object-fit:cover;object-position:50% 20%;width:72px;height:72px;box-shadow:0 0 0 2px #f7f2e833, 0 0 0 3px var(--gold);border-radius:50%;flex:none}.contact-header-copy{flex:auto;min-width:0}.contact-kicker{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem;font-size:.62rem}.contact-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.65rem;font-weight:500}.contact-lead{color:var(--cloud-dim);margin:0;font-size:.88rem;font-weight:300;line-height:1.45}.contact-form{flex-direction:column;gap:.85rem;display:flex}.contact-field{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);flex-direction:column;gap:.35rem;font-size:.62rem;display:flex}.contact-field input,.contact-field textarea{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--cloud);resize:vertical;background:#f7f2e80f;border:1px solid #f7f2e829;border-radius:12px;outline:none;padding:.7rem .85rem;font-size:.92rem}.contact-field input:focus,.contact-field textarea:focus{border-color:color-mix(in srgb, var(--gold) 70%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 22%, transparent)}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-error{color:#ffb4a8;margin:0;font-size:.82rem}.contact-success{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.contact-success p{font-family:var(--font-display);color:var(--cloud);margin:0;font-size:1.15rem}.contact-actions{justify-content:flex-end;gap:.55rem;margin-top:.35rem;display:flex}.contact-cancel{--btn-color:#d8d2c6;--btn-ink:#101815;border-radius:999px;padding:.62rem 1.05rem;font-size:.78rem}.contact-submit{--btn-color:var(--gold);border-radius:999px;padding:.62rem 1.25rem;font-size:.78rem}html.letter-capture,html.letter-capture body,html.letter-capture #root{color:#2a1709;touch-action:auto;background:#fff;width:100%;height:100%;position:relative;overflow:hidden}.letter-capture-root{background:#fff;width:100%;height:100%}.compass-widget{top:auto;right:max(.35rem, env(safe-area-inset-right,0px));bottom:max(.28rem, env(safe-area-inset-bottom,0px));pointer-events:none;z-index:100;opacity:0;visibility:hidden;background:#0a1311a8;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:2px;transition:opacity .9s cubic-bezier(.22,.61,.36,1),visibility .9s;display:flex;position:absolute;box-shadow:0 2px 10px #0000004d}.compass-widget[data-visible=true]{opacity:1;visibility:visible}.compass-glass{border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.compass-dial{will-change:transform;border-radius:50%;width:100%;height:100%;position:absolute}.compass-tick{font-family:var(--font-body,sans-serif);color:#ffffffb3;transform-origin:50%;font-size:5.5px;font-weight:600;position:absolute;top:50%;left:50%}.compass-tick.n{color:#fffffff2;transform:translate(-50%,-50%)translateY(-14px)}.compass-tick.s{transform:translate(-50%,-50%)translateY(14px)rotate(180deg)}.compass-tick.e{transform:translate(-50%,-50%)translate(14px)rotate(90deg)}.compass-tick.w{transform:translate(-50%,-50%)translate(-14px)rotate(270deg)}.compass-arrow{filter:drop-shadow(0 0 3px #fce4c880);border-bottom:7px solid #fce4c8;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;top:-3px}.compass-widget .sound-toggle{--btn-color:var(--gold);--btn-fill:0%;--btn-glow:0px;--btn-glow-strength:0%;z-index:2;width:22px;height:22px;box-shadow:none;pointer-events:auto;opacity:0;visibility:hidden;cursor:pointer;transition:opacity .4s var(--ease-standard,ease), visibility .4s, color .2s ease;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;margin:auto;padding:0;display:inline-flex;position:absolute;inset:0}.compass-widget .sound-toggle:hover,.compass-widget .sound-toggle:focus-visible{box-shadow:none;filter:none;background:0 0;border:0}.compass-widget .sound-toggle[data-visible=true]{opacity:.9;visibility:visible}.compass-widget .sound-toggle[data-visible=true]:hover,.compass-widget .sound-toggle[data-visible=true]:focus-visible{opacity:1}.compass-widget .sound-toggle[aria-pressed=false]{--btn-color:#f7f2e873}@media (width<=640px){.compass-widget{bottom:calc(max(.28rem, env(safe-area-inset-bottom,0px)) + 33px)}}.clock-widget{top:auto;left:max(.35rem, env(safe-area-inset-left,0px));bottom:max(.28rem, env(safe-area-inset-bottom,0px));box-sizing:border-box;pointer-events:none;z-index:100;opacity:0;visibility:hidden;touch-action:none;background:#0a1311a8;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:2px;transition:opacity .9s cubic-bezier(.22,.61,.36,1),visibility .9s;display:flex;position:absolute;box-shadow:0 2px 10px #0000004d}.clock-widget[data-visible=true]{opacity:1;visibility:visible}.clock-glass{pointer-events:auto;cursor:grab;touch-action:none;border-radius:50%;width:100%;height:100%;position:relative}.clock-glass:active{cursor:grabbing}.clock-face{border-radius:50%;position:absolute;inset:0}.clock-tick{width:1.25px;height:3px;transform:rotate(calc(var(--i) * 30deg)) translateY(-13px);transform-origin:50%;background:#ffffff59;margin-top:-1.5px;margin-left:-.625px;position:absolute;top:50%;left:50%}.clock-tick:nth-child(3n+1){background:#fce4c8cc;height:4px;margin-top:-2px}.clock-hand{transform-origin:50% 100%;will-change:transform;pointer-events:none;background:#f7f2e8d9;border-radius:1px;width:1.5px;margin-left:-.75px;position:absolute;top:50%;left:50%}.clock-hand.hour{background:#fce4c8f2;width:2px;height:11px;margin-top:-11px;margin-left:-1px}.clock-hand.minute{opacity:.75;height:15px;margin-top:-15px}.clock-hub{pointer-events:none;background:#fce4c8;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #fce4c873}@media (width<=640px){.clock-widget{bottom:calc(max(.28rem, env(safe-area-inset-bottom,0px)) + 33px)}}
