:root,:root[data-theme=dark]{--paper: #050309;--ink: #c0caf5;--muted: #8b93b8;--rule: #241f3d;--err: #f7768e;--accent: #c026d3;--chip: rgba(192, 202, 245, .09)}:root[data-theme=light]{--paper: #f5f5f7;--ink: #1d1d1f;--muted: #6e6e73;--rule: #d2d2d7;--err: #9a2f21;--accent: #0066cc;--chip: rgba(29, 29, 31, .05)}:root{--gutter: clamp(1.5rem, 5vw, 4.5rem);--stack: clamp(1.75rem, 4vh, 3rem);--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;background:var(--paper);transition:background-color .48s var(--ease),color .48s var(--ease);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}#stage,#poster{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}#stage{touch-action:none}#poster{object-fit:cover;opacity:0;transition:opacity .4s var(--ease)}#poster.is-shown{opacity:1}.page{position:relative;z-index:1;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto auto;gap:var(--stack);padding:clamp(1.5rem,4vh,3rem) var(--gutter) clamp(1.25rem,3vh,2rem);max-width:78rem;margin-inline:auto}.masthead{grid-row:1;max-width:40rem}.contact{grid-row:3;max-width:40rem}.footer{grid-row:4}.name{margin:0;font-size:clamp(1rem,1.4vw,1.15rem);font-weight:500;letter-spacing:-.01em}.role{margin:.15rem 0 0;font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.reach{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem 1rem}.email{font-size:clamp(1.5rem,5.2vw,2.9rem);font-weight:400;letter-spacing:-.03em;color:var(--ink);text-decoration:none;background-image:linear-gradient(var(--ink),var(--ink));background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size .42s var(--ease);padding-bottom:.08em}.email:hover,.email:focus-visible{background-size:100% 1px}.copy{appearance:none;border:1px solid var(--rule);background:transparent;color:var(--muted);font:inherit;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.copy:hover,.copy.is-done{color:var(--ink);border-color:var(--ink)}.disclose{appearance:none;border:0;background:transparent;padding:0;margin-top:1.15rem;display:inline-flex;align-items:center;gap:.6rem;font:inherit;font-size:.9rem;color:var(--muted);cursor:pointer;transition:color .2s var(--ease)}.disclose:hover{color:var(--ink)}.disclose-mark{width:.72rem;height:1px;background:currentColor;position:relative;flex:none}.disclose-mark:after{content:"";position:absolute;inset:0;background:currentColor;transform:rotate(90deg);transition:transform .38s var(--ease),opacity .38s var(--ease)}.disclose[aria-expanded=true] .disclose-mark:after{transform:rotate(0);opacity:0}.panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .46s var(--ease),opacity .3s var(--ease);opacity:0}.panel.is-open{grid-template-rows:1fr;opacity:1}.panel-inner{overflow:hidden;min-height:0}.form{padding-top:1.75rem;max-width:34rem;display:grid;gap:1.4rem}.field{display:grid;gap:.3rem}.field label{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field input,.field textarea{appearance:none;border:0;border-bottom:1px solid var(--rule);background:transparent;border-radius:0;font:inherit;color:var(--ink);padding:.4rem 0 .5rem;width:100%;transition:border-color .24s var(--ease)}.field textarea{resize:vertical;min-height:3.4em}.field input:hover,.field textarea:hover{border-color:var(--muted)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink)}.field.is-invalid input,.field.is-invalid textarea{border-color:var(--err)}.err{margin:0;font-size:.78rem;color:var(--err)}.gotcha{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.submit{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:.7rem 1.6rem;border-radius:999px;cursor:pointer;transition:background .22s var(--ease),color .22s var(--ease),opacity .22s var(--ease)}.submit:hover{background:transparent;color:var(--ink)}.submit[disabled]{opacity:.45;cursor:default}.submit[disabled]:hover{background:var(--ink);color:var(--paper)}.form-note{margin:0;font-size:.85rem;color:var(--muted)}.form-note.is-error{color:var(--err)}.footer{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.78rem;color:var(--muted);border-top:1px solid var(--rule);padding-top:1rem}.footer a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease)}.footer a:hover{color:var(--ink);border-color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}@media(max-width:640px){.page{gap:1.5rem}.email{letter-spacing:-.02em;word-break:break-word}.footer{flex-direction:column;align-items:flex-start;gap:.4rem}}.page.is-expanded{padding-bottom:clamp(2rem,6vh,4rem)}@media(max-width:900px){body.form-open #stage,body.form-open #poster{opacity:.22}}#stage{transition:opacity .5s var(--ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.theme-toggle{position:fixed;top:clamp(1.5rem,4vh,3rem);right:var(--gutter);z-index:2;appearance:none;border:1px solid var(--rule);background:var(--chip);color:var(--muted);font:inherit;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .85rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;backdrop-filter:blur(8px);transition:color .22s var(--ease),border-color .22s var(--ease),background-color .22s var(--ease)}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);flex:none;transition:background-color .32s var(--ease)}@media(max-width:640px){.theme-toggle{top:auto;bottom:clamp(1rem,3vh,2rem);right:var(--gutter)}}
