@font-face{font-family:Geist;src:url('assets/geist-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--white:#fff;--ink:#2a2118}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--white);color:var(--ink)}
body{font-family:'Helvetica Neue',Geist,Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--ink);color:var(--white)}
.landing{min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:48px 24px 35px;gap:30px}
.identity{display:flex;justify-content:center}
.wordmark{position:relative;overflow:hidden;width:184.8px;aspect-ratio:2170/388;margin:0;font-size:0}
.wordmark img{position:absolute;top:-43.04%;display:block;width:100%;height:auto}
.illustration-field{display:flex;align-items:center;justify-content:center;min-height:0}
.definitions{position:absolute;width:0;height:0;overflow:hidden}
.scene-stage{display:block;position:relative;width:min(640px,78vw,calc((100svh - 220px)*1.4));aspect-ratio:1.4;padding:0;border:0;background:transparent;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.scene{position:absolute;inset:20%;display:block;opacity:0;pointer-events:none;will-change:opacity}
.scene:first-child{opacity:1}
.scene svg{display:block;width:100%;height:100%;overflow:hidden}
.scene-stage:focus-visible{outline:1px solid #2a211880;outline-offset:14px;border-radius:4px}
.invitation{display:flex;justify-content:center}
.connect{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:52px;padding:15px 23px 15px 25px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--white);font-size:13px;font-weight:400;line-height:20px;text-decoration:none;transition:background .3s,border-color .3s}
.connect svg{display:block;flex:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.connect:hover{background:#40352a;border-color:#40352a}
.connect:hover svg{transform:translate(2px,-2px)}
.connect:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.landing{padding-top:62px;padding-bottom:44px}.scene-stage{width:min(700px,calc((100svh - 245px)*1.4))}}
@media(max-width:700px){.landing{padding:40px 20px 30px;gap:26px}.wordmark{width:152.6px}.scene-stage{width:min(440px,calc(100vw - 46px),calc((100svh - 205px)*1.4))}.connect{min-height:50px;padding:14px 21px 14px 23px;gap:23px}}
@media(max-height:650px){.landing{padding-top:25px;padding-bottom:20px;gap:16px}.wordmark{width:133px}.scene-stage{width:min(510px,calc(100vw - 70px),calc((100svh - 175px)*1.4))}.connect{min-height:48px;padding-block:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.scene{will-change:auto}}
.connect{font-family:inherit;cursor:pointer}
[hidden]{display:none!important}
.contact-is-open{overflow:hidden}
.contact-dialog{width:100%;max-width:none;height:100svh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#fff;color:var(--ink);overflow:auto;font-family:Geist,'Helvetica Neue',Arial,sans-serif;font-size:14px}
.contact-dialog::backdrop{background:#fff}
.contact-dialog[open]{animation:letter-arrives .3s ease-out}
@keyframes letter-arrives{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.contact-close{position:absolute;right:clamp(28px,5vw,72px);top:32px;min-height:44px;display:flex;align-items:center;gap:13px;padding:8px 0;border:0;border-radius:0;background:none;color:var(--ink);font:400 12px/1.4 Geist,'Helvetica Neue',Arial,sans-serif;cursor:pointer}
.contact-close:hover span{text-decoration:underline;text-underline-offset:4px}
.contact-sheet{width:min(850px,calc(100% - 96px));min-height:100%;margin:0 auto;padding:130px 0 92px;display:grid;grid-template-columns:270px minmax(0,420px);gap:100px;align-content:center;align-items:start}
.contact-intro{padding-top:2px}
.contact-intro h2{font:400 44px/1.08 Georgia,'Times New Roman',serif;letter-spacing:-1.8px;margin:0 0 22px;white-space:nowrap}
.hello-control{display:block;padding:0;border:0;border-radius:0;margin:52px 0 0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hello-control:focus-visible{outline:1px solid var(--ink);outline-offset:6px}
.hello-drawing{display:block;width:75px;height:145px}
.contact-fields{display:grid;gap:30px}
.contact-fields label{position:relative;display:block;color:#74695d;font-size:12px;line-height:1.5}
.contact-fields input,.contact-fields textarea,.contact-fields select{display:block;box-sizing:border-box;width:100%;margin:0;padding:9px 0 11px;border:0;border-bottom:1px solid #cfc7be;border-radius:0;background:transparent;color:var(--ink);font:400 18px/1.45 Geist,'Helvetica Neue',Arial,sans-serif;box-shadow:none;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.contact-fields input:focus,.contact-fields textarea:focus,.contact-fields select:focus{outline:none;border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.contact-fields [aria-invalid=true]{border-color:#964632}
.contact-fields textarea{resize:vertical;min-height:108px;max-height:260px}
.contact-fields select{padding-right:26px;cursor:pointer;font-size:16px}
.subject-field>svg{position:absolute;right:0;bottom:16px;pointer-events:none;color:var(--ink)}
.phone-option{margin-top:-18px;color:#74695d;font-size:11px}
.phone-option summary{width:fit-content;cursor:pointer;text-decoration:underline;text-underline-offset:3px;list-style:none;padding:2px 0 3px}
.phone-option summary::-webkit-details-marker{display:none}
.phone-option[open] summary{margin-bottom:18px}
.phone-option summary:hover{color:var(--ink)}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-error{color:#964632;font-size:12px;line-height:1.6;margin:20px 0 0}
.contact-actions{display:flex;justify-content:flex-end;margin-top:34px}
.send-message{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:44px;padding:10px 0 9px;border:0;border-bottom:1px solid var(--ink);border-radius:0;font:400 14px/1.5 Geist,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:transparent;cursor:pointer}
.send-message svg{transition:transform .2s}
.send-message:hover svg{transform:translate(2px,-2px)}
.send-message:disabled{opacity:.5;cursor:wait}
.contact-close:focus-visible,.send-message:focus-visible,.phone-option summary:focus-visible{outline:1px solid var(--ink);outline-offset:5px}
.contact-success{align-self:start;padding:0;grid-column:2}
.contact-success h3{font:400 36px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-1px;margin:0 0 24px}
.contact-success p{color:#74695d;font-size:14px;line-height:1.8;margin:0 0 32px}
@media(max-width:800px){.contact-sheet{width:min(440px,calc(100% - 56px));grid-template-columns:1fr;gap:44px;padding:92px 0 52px;align-content:start}.contact-intro{display:flex;align-items:center;justify-content:space-between;gap:28px}.contact-intro h2{font-size:36px;letter-spacing:-1.3px;margin-bottom:13px}.hello-control{flex:none;margin:0}.hello-drawing{width:44px;height:85px}.contact-close{top:18px;right:28px}.contact-fields{gap:25px}.contact-fields input,.contact-fields textarea{font-size:16px}.contact-actions{margin-top:27px}.contact-success{grid-column:1}.contact-fields textarea{min-height:95px}}
@media(max-width:360px){.contact-sheet{width:calc(100% - 44px);padding-top:86px;gap:34px}.contact-intro{gap:15px}.contact-intro h2{font-size:31px}.contact-close{right:22px}.hello-drawing{width:39px;height:75px}}
@media(prefers-reduced-motion:reduce){.contact-dialog[open]{animation:none}}
