@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.3ms9vq719j3f8.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:var(--mono);--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--body);--default-mono-font-family:var(--mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--paper:#fafafa;--paper-deep:#fff;--paper-raised:#f1f1f0;--ink:#18181b;--ink-soft:#52525b;--ink-faint:#8e8e94;--accent:#b3690f;--accent-deep:#98590c;--accent-wash:#b3690f14;--rule:#18181b1a;--rule-strong:#18181b33;--radius:12px;--scrim-start:#fafafa80;--scrim-end:#fafafacc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--display:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;--body:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;--mono:var(--font-geist-mono), ui-monospace, "SFMono-Regular", monospace}html[data-theme=dark]{--paper:#0d0d0e;--paper-deep:#050505;--paper-raised:#18181a;--ink:#f4f4f5;--ink-soft:#a1a1aa;--ink-faint:#6b6b70;--accent:#e3993f;--accent-deep:#edb164;--accent-wash:#e3993f1a;--rule:#f4f4f517;--rule-strong:#f4f4f52e;--scrim-start:#05050566;--scrim-end:#050505a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6;transition:background-color .4s,color .4s}::selection{background:var(--accent);color:var(--paper-raised)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%}.shell{z-index:2;width:min(1240px,100% - 56px);margin:0 auto;position:relative}.kicker{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-deep);margin:0;font-size:.72rem;font-weight:700}.mono{font-family:var(--mono)}.masthead{z-index:40;pointer-events:none;transition:background .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,padding .35s;position:fixed;top:0;left:0;right:0}.masthead--scrolled{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.masthead--scrolled{background:color-mix(in srgb, var(--paper) 68%, transparent)}}.masthead--scrolled{-webkit-backdrop-filter:blur(20px)saturate(1.35);padding-bottom:4px}.masthead__inner{pointer-events:all;grid-template-columns:auto 1fr auto auto;align-items:center;gap:20px;width:min(1240px,100% - 56px);margin:0 auto;padding:20px 0 26px;transition:padding .35s;display:grid}.masthead--scrolled .masthead__inner{padding:14px 0 18px}@supports (animation-timeline:scroll()){.masthead:after{content:"";background:var(--accent);transform-origin:0;pointer-events:none;height:2px;animation:linear both masthead-progress;animation-timeline:scroll(root);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}@keyframes masthead-progress{to{transform:scaleX(1)}}}.masthead__name{font-family:var(--display);letter-spacing:-.01em;white-space:nowrap;font-size:1.18rem;font-weight:600}.masthead__name b{color:var(--accent);font-weight:600}.masthead__nav{flex-wrap:wrap;justify-content:center;gap:26px;display:flex}.masthead__nav a{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);padding:4px 0;font-size:.74rem;font-weight:700;transition:color .2s;position:relative}.masthead__nav a:after{content:"";background:var(--accent);opacity:0;border-radius:50%;width:4px;height:4px;transition:opacity .25s,transform .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-8px;left:50%;transform:scale(0)}.masthead__nav a:hover,.masthead__nav a.active{color:var(--ink)}.masthead__nav a.active:after{opacity:1;transform:scale(1)}.masthead__resume{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-size:.74rem;font-weight:700;transition:gap .2s,color .2s,transform .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.masthead__resume:hover{color:var(--accent-deep);gap:11px}.masthead__resume:active{transform:scale(.96)}.lamp{flex-shrink:0;width:34px;height:30px;position:relative}.lamp__fixture{pointer-events:none;transform-origin:top;flex-direction:column;align-items:center;animation:7s ease-in-out infinite lamp-sway;display:flex;position:absolute;top:-24px;bottom:-2px;left:50%;translate:-50%}.lamp__dropcord{background:linear-gradient(180deg, transparent, var(--ink-soft) 45%);flex:1;width:1.5px}@supports (color:color-mix(in lab, red, red)){.lamp__dropcord{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--ink-soft) 55%, transparent) 45%)}}.lamp__socket{background:var(--ink-soft);border-radius:2px 2px 1px 1px;width:8px;height:5px}@supports (color:color-mix(in lab, red, red)){.lamp__socket{background:color-mix(in srgb, var(--ink-soft) 80%, transparent)}}.lamp__bulb{color:var(--ink-faint);place-items:center;margin-top:-2px;transition:color .45s,filter .45s;display:grid;position:relative}.lamp__bulb svg{display:block;rotate:180deg}.lamp__bulb.is-on{color:var(--accent);filter:drop-shadow(0 0 8px var(--accent))}@supports (color:color-mix(in lab, red, red)){.lamp__bulb.is-on{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 70%, transparent))}}.lamp__bulb:before{content:"";background:radial-gradient(circle, var(--accent), transparent 70%);border-radius:50%;width:36px;height:36px;position:absolute;top:50%;left:50%;translate:-50% -50%}@supports (color:color-mix(in lab, red, red)){.lamp__bulb:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%)}}.lamp__bulb:before{opacity:0;transition:opacity .45s}.lamp__bulb.is-on:before{opacity:1}.lamp__bulb.is-flicker{animation:.17s linear bulb-flicker}.lamp__pull{cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;transform:translateX(-50%) rotate(var(--tilt,0deg));transform-origin:top;background:0 0;border:none;flex-direction:column;align-items:center;margin-left:8px;padding:0 14px 12px;transition:transform .55s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:60%;left:50%}.lamp__pull.is-dragging{cursor:grabbing;transition:none}.lamp__swing{transform-origin:top;flex-direction:column;align-items:center;animation:3.5s ease-in-out infinite cord-sway;display:flex}.lamp__pull:hover .lamp__swing,.lamp__pull:focus-visible .lamp__swing,.lamp__pull.is-dragging .lamp__swing{animation-play-state:paused}.lamp__cord{width:1.5px;height:calc(26px + var(--pull,0px));background:linear-gradient(180deg, var(--ink-soft), var(--ink-soft));display:block}@supports (color:color-mix(in lab, red, red)){.lamp__cord{background:linear-gradient(180deg, color-mix(in srgb, var(--ink-soft) 55%, transparent), color-mix(in srgb, var(--ink-soft) 18%, transparent))}}.lamp__cord{transition:height .55s cubic-bezier(.34,1.56,.64,1)}.lamp__pull.is-dragging .lamp__cord{transition:none}.lamp__tag{background:var(--paper-raised);border:1.5px solid var(--rule-strong);border-radius:4px 4px 5px 5px/3px 3px 6px 6px;width:9px;height:14px;margin-top:-1px;transition:border-color .25s,transform .2s;box-shadow:0 1px 2px #0000001f}.lamp__pull:hover .lamp__tag,.lamp__pull:focus-visible .lamp__tag{border-color:var(--accent)}.lamp__pull:active .lamp__tag{transform:scale(.9)}.lamp__hint{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;opacity:0;pointer-events:none;margin-top:4px;font-size:.6rem;font-weight:700;transition:opacity .2s,transform .2s;position:absolute;top:100%;transform:translateY(-3px)}.lamp__pull:hover .lamp__hint,.lamp__pull:focus-visible .lamp__hint,.lamp__pull.is-dragging .lamp__hint{opacity:1;transform:translateY(0)}@keyframes cord-sway{0%,to{rotate:-4deg}50%{rotate:4deg}}@keyframes lamp-sway{0%,to{rotate:-.8deg}50%{rotate:.8deg}}@keyframes bulb-flicker{0%{opacity:1}25%{opacity:.3}55%{opacity:1}80%{opacity:.45}to{opacity:1}}@media (prefers-reduced-motion:reduce){.lamp__fixture,.lamp__swing,.lamp__bulb.is-flicker{animation:none}.lamp__pull,.lamp__cord{transition:none}}.resume-modal{z-index:200;-webkit-backdrop-filter:blur(6px);background:#000000a6;justify-content:center;align-items:center;padding:24px;animation:.2s modal-fade;display:flex;position:fixed;inset:0}.resume-modal__inner{background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:16px;width:100%;max-width:860px;height:min(90vh,1100px);animation:.3s cubic-bezier(.16,1,.3,1) modal-rise;position:relative;overflow:hidden}.resume-modal__inner iframe{border:none;width:100%;height:100%;display:block}.resume-modal__close{z-index:10;background:var(--paper);border:1px solid var(--rule-strong);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;transition:color .2s,border-color .2s,background .2s,transform .16s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:14px;right:14px}.resume-modal__close:hover{color:var(--ink);border-color:var(--accent);background:var(--accent-wash)}.resume-modal__close:active{transform:scale(.92)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.resume-modal--closing{animation:.18s forwards modal-fade-out}.resume-modal--closing .resume-modal__inner{animation:.18s cubic-bezier(.16,1,.3,1) forwards modal-sink}@keyframes modal-fade-out{to{opacity:0}}@keyframes modal-sink{to{opacity:0;transform:translateY(10px)scale(.985)}}.lightbox{z-index:200;-webkit-backdrop-filter:blur(8px);background:#000000c7;justify-content:center;align-items:center;padding:clamp(16px,4vw,48px);animation:.2s modal-fade;display:flex;position:fixed;inset:0}.lightbox--closing{animation:.18s forwards modal-fade-out}.lightbox__inner{flex-direction:column;align-items:center;gap:16px;max-width:min(100%,1500px);margin:0;animation:.3s cubic-bezier(.16,1,.3,1) modal-rise;display:flex;position:relative}.lightbox--closing .lightbox__inner{animation:.18s cubic-bezier(.16,1,.3,1) forwards modal-sink}.lightbox__img{object-fit:contain;background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:var(--radius);width:auto;max-width:100%;height:auto;max-height:84vh;padding:clamp(8px,1.4vw,18px);display:block;box-shadow:0 30px 80px -20px #000000b3}.lightbox__caption{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:center;margin:0;font-size:.72rem;font-weight:700}.lightbox__close{z-index:10;background:var(--paper);border:1px solid var(--rule-strong);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;transition:color .2s,border-color .2s,background .2s,transform .16s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:-14px;right:-14px}.lightbox__close:hover{color:var(--ink);border-color:var(--accent);background:var(--accent-wash)}.lightbox__close:active{transform:scale(.92)}@media (max-width:680px){.lightbox__close{top:-10px;right:-10px}.lightbox__img{max-height:78vh}}.hero{border-bottom:1px solid var(--rule);padding-top:110px;padding-bottom:56px;position:relative}.hero:before{content:"";background:radial-gradient(circle, var(--accent-wash), transparent 70%);pointer-events:none;z-index:-1;width:640px;height:480px;position:absolute;top:-120px;right:-160px}.hero__head{min-width:0}.hero__top{grid-template-columns:minmax(0,1fr) clamp(232px,25vw,316px);align-items:start;gap:44px;display:grid}.hero__resume{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-self:start;margin:0;padding:0;display:block}.hero__resume-frame{aspect-ratio:1/1.34;border:1px solid var(--rule);background:var(--paper-raised);border-radius:14px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;display:block;position:relative;overflow:hidden;box-shadow:0 26px 60px -32px #0006}.hero__resume-img{object-fit:cover;object-position:top center}.hero__resume-badge{z-index:2;background:var(--paper);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;position:absolute;top:12px;right:12px}@supports (color:color-mix(in lab, red, red)){.hero__resume-badge{background:color-mix(in srgb, var(--paper) 82%, transparent)}}.hero__resume-badge{-webkit-backdrop-filter:blur(6px);border:1px solid var(--rule-strong);color:var(--ink-soft);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:.6rem;font-weight:700;transition:color .3s,border-color .3s}.hero__resume-cap{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;gap:12px;margin-top:12px;font-size:.66rem;font-weight:700;display:flex}.hero__resume:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:16px}@media (hover:hover) and (pointer:fine){.hero__resume:hover .hero__resume-frame{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 34px 70px -30px #00000080}@supports (color:color-mix(in lab, red, red)){.hero__resume:hover .hero__resume-frame{border-color:color-mix(in srgb, var(--accent) 45%, var(--rule-strong))}}.hero__resume:hover .hero__resume-badge{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero__resume:hover .hero__resume-badge{border-color:color-mix(in srgb, var(--accent) 45%, var(--rule-strong))}}}.hero__resume:active .hero__resume-frame{transform:translateY(-1px)scale(.995)}.hero__eyebrow{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:11px;margin:0 0 30px;font-size:.74rem;font-weight:700;display:inline-flex}.dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2.4s cubic-bezier(.16,1,.3,1) infinite ping;box-shadow:0 0 #bf4a1b80}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.hero__title{font-family:var(--display);letter-spacing:-.035em;color:var(--ink);font-optical-sizing:auto;text-wrap:balance;margin:0;font-size:clamp(3.4rem,8vw,6rem);font-weight:580;line-height:.92}.hero__title .line{display:block;overflow:hidden}.hero__title .line>span{animation:1s cubic-bezier(.16,1,.3,1) 80ms forwards rise-in;display:block;transform:translateY(110%)}.hero__title .line:nth-child(2)>span{animation-delay:.2s}.hero__title em{color:var(--accent);font-style:italic;font-weight:400}.hero__title .period{color:var(--accent)}@keyframes rise-in{to{transform:translateY(0)}}@keyframes enter-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.js-animations .hero__eyebrow,.js-animations .hero__lead,.js-animations .hero__dek,.js-animations .hero__actions,.js-animations .hero__panel .mrow{animation:.9s cubic-bezier(.16,1,.3,1) both enter-up}.js-animations .hero__eyebrow{animation-delay:50ms}.js-animations .hero__lead{animation-delay:.34s}.js-animations .hero__dek{animation-delay:.42s}.js-animations .hero__actions{animation-delay:.5s}.js-animations .hero__panel .mrow:first-child{animation-delay:.54s}.js-animations .hero__panel .mrow:nth-child(2){animation-delay:.62s}.js-animations .hero__panel .mrow:nth-child(3){animation-delay:.7s}.js-animations .hero__panel .mrow:nth-child(4){animation-delay:.78s}.hero__lead{max-width:17ch;font-family:var(--display);color:var(--ink);margin:0;font-size:clamp(1.5rem,3.4vw,2.5rem);font-style:italic;font-weight:400;line-height:1.16}.hero__grid{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;margin-top:44px;padding-top:34px;display:grid}.hero__dek{max-width:46ch;color:var(--ink-soft);margin:0;font-size:1.18rem;line-height:1.62}.hero__dek strong{color:var(--ink);font-weight:600}.hero__panel{background:var(--paper-raised);border:1px solid var(--rule);border-radius:14px;align-self:start;gap:0;padding:8px 28px;display:grid}.hero__panel .mrow{border-top:1px solid var(--rule);font-family:var(--mono);grid-template-columns:9ch 1fr;gap:14px;padding:15px 0;font-size:.82rem;display:grid}.hero__panel .mrow:first-child{border-top:none}.hero__panel .mrow dt{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;padding-top:2px;font-size:.68rem}.hero__panel .mrow dd{color:var(--ink);margin:0}.hero__actions{flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:40px;display:flex}.tlink{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;align-items:center;gap:8px;padding-bottom:3px;font-size:.82rem;font-weight:700;transition:background-size .36s cubic-bezier(.16,1,.3,1),color .2s,transform .18s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.tlink:hover{color:var(--accent-deep);background-size:100% 1.5px}.tlink:active{transform:scale(.97)}.tlink--solid{background:var(--ink);color:var(--paper-raised);background-image:none;border-radius:8px;padding:13px 22px;transition:transform .25s cubic-bezier(.16,1,.3,1),background-color .25s}@media (hover:hover) and (pointer:fine){.tlink--solid:hover{background:var(--accent);color:var(--paper-raised);transform:translateY(-2px)}}.tlink--solid:active{transform:translateY(0)scale(.97)}.tlink svg{width:15px;height:15px}.hero__actions .sep{background:var(--rule-strong);width:1px;height:18px}.section{border-bottom:1px solid var(--rule);padding:74px 0;scroll-margin-top:70px}.section__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:44px;display:flex}.section__title{font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;max-width:20ch;margin:8px 0 0;font-size:clamp(1.9rem,4vw,3.2rem);font-weight:560;line-height:1.04}.section__index{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-soft);text-transform:uppercase;font-size:.74rem;font-weight:700}.metric-unit{color:var(--accent);margin-left:2px;font-size:.62em}.feature__stats{border-top:1px solid var(--rule);grid-template-columns:repeat(2,1fr);gap:22px 28px;margin:26px 0 0;padding-top:24px;display:grid}.fstat__val{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;margin:0;font-size:clamp(2rem,3.2vw,2.7rem);font-weight:560;line-height:1}.fstat__label{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft);margin:9px 0 0;font-size:.68rem;font-weight:700;line-height:1.4}.features{flex-direction:column;gap:80px;display:flex}.feature{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:52px;display:grid}.feature__media{order:2;position:relative}.feature--flip .feature__media{order:1}.feature--flip .feature__body{order:2}.feature__frame{appearance:none;width:100%;font:inherit;color:inherit;text-align:inherit;aspect-ratio:4/3;border:1px solid var(--rule);background:var(--paper-raised);border-radius:var(--radius);cursor:zoom-in;margin:0;padding:0;transition:border-color .3s,transform .18s cubic-bezier(.16,1,.3,1);display:block;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.feature__frame:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.feature__frame:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--rule-strong))}}}.feature__frame:active{transform:scale(.99)}.feature__frame img{object-fit:contain;clip-path:inset(0 0 0%);padding:14px;transition:clip-path 1s cubic-bezier(.22,1,.36,1) .15s,transform 1.2s cubic-bezier(.22,1,.36,1) .15s}.feature__zoom{z-index:2;background:var(--paper);border-radius:999px;align-items:center;gap:7px;padding:7px 12px;display:inline-flex;position:absolute;top:12px;right:12px}@supports (color:color-mix(in lab, red, red)){.feature__zoom{background:color-mix(in srgb, var(--paper) 80%, transparent)}}.feature__zoom{-webkit-backdrop-filter:blur(6px);border:1px solid var(--rule-strong);color:var(--ink-soft);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.62;font-size:.62rem;font-weight:700;transition:opacity .3s,color .3s,border-color .3s,transform .35s cubic-bezier(.16,1,.3,1)}.feature__zoom svg{width:13px;height:13px}@media (hover:hover) and (pointer:fine){.feature__zoom{opacity:0;transform:translateY(-4px)}.feature__frame:hover .feature__zoom,.feature__frame:focus-visible .feature__zoom{opacity:1;color:var(--ink);border-color:var(--accent);transform:none}}.js-animations .reveal:not(.revealed) .feature__zoom{opacity:0}.js-animations .reveal:not(.revealed) .feature__frame img{clip-path:inset(0 0 100%);transform:scale(1.04)}.feature__caption{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;gap:12px;margin-top:12px;font-size:.7rem;transition:opacity .6s .6s;display:flex}.js-animations .reveal:not(.revealed) .feature__caption{opacity:0}.feature__body{order:1}.proj__no{font-family:var(--mono);color:var(--accent);letter-spacing:.1em;font-size:.86rem;font-weight:700}.proj__kicker{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:18px 0 8px;font-size:.72rem;font-weight:700;display:block}.feature__title{font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:560;line-height:1.04}.feature__desc{color:var(--ink-soft);text-wrap:pretty;max-width:48ch;margin:20px 0 0;font-size:1.1rem;line-height:1.62}.taglist{flex-wrap:wrap;gap:8px 0;margin:26px 0 0;padding:0;list-style:none;display:flex}.taglist li{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);border-right:1px solid var(--rule);padding:0 14px;font-size:.74rem;font-weight:700}.taglist li:first-child{padding-left:0}.taglist li:last-child{border-right:0}.proj__links{gap:22px;margin-top:26px;display:flex}.rows{border-top:1px solid var(--rule);margin-top:56px}.row{border-bottom:1px solid var(--rule);grid-template-columns:1.4fr auto;align-items:center;gap:40px;padding:38px 0;transition:background .35s cubic-bezier(.16,1,.3,1);display:grid}.row__main{min-width:0;transition:transform .35s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.row:hover{background:linear-gradient(90deg, var(--accent-wash), transparent 70%)}.row:hover .row__main{transform:translate(10px)}.row:hover .row__title .arrow{opacity:1;transform:translate(0)}.row:hover .row__figure .fig{color:var(--accent)}}.row__title{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;align-items:baseline;gap:14px;margin:10px 0 0;font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:560;line-height:1.04;display:inline-flex}.row__title .arrow{font-family:var(--mono);color:var(--accent);opacity:0;font-size:.5em;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);transform:translate(-8px)}.row__desc{max-width:56ch;color:var(--ink-soft);text-wrap:pretty;margin:14px 0 0;line-height:1.6}.row__figure{text-align:right;white-space:nowrap}.row__figure .fig{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,5vw,4rem);font-weight:560;line-height:.9}.row__figure .figlabel{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px;font-size:.66rem;font-weight:700}.row__meta{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);margin-top:14px;font-size:.72rem}.row__meta a{color:var(--accent-deep);background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% .5px;padding-bottom:2px;transition:background-size .36s cubic-bezier(.16,1,.3,1)}.row__meta a:hover{background-size:100% 1px}.lab{background:var(--paper-raised);border:1px solid var(--rule);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);margin-bottom:clamp(48px,7vw,90px);padding:clamp(28px,4vw,48px);display:grid}.lab__body{flex-direction:column;align-items:flex-start;display:flex}.lab__status{color:var(--accent-deep);align-items:center;gap:10px;display:inline-flex}.lab__title{font-family:var(--mono);letter-spacing:-.02em;color:var(--ink);margin:14px 0 0;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700}.lab__desc{max-width:46ch;color:var(--ink-soft);margin:18px 0 0;font-size:1.02rem;line-height:1.65}.lab__note{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:18px 0 0;font-size:.72rem;font-weight:700}.deliv{width:100%;margin:24px 0 0}.deliv__head{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:inline-flex}.deliv__head--live{color:var(--accent-deep)}.deliv__list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.deliv__list li{color:var(--ink-soft);padding-left:20px;font-size:.95rem;line-height:1.55;position:relative}.deliv__list li:before{content:"";background:var(--accent-deep);border-radius:50%;width:6px;height:6px;position:absolute;top:.62em;left:2px}.deliv__list li b{color:var(--ink);font-weight:600}.deliv__list--soon li{color:var(--ink-faint)}.deliv__list--soon li:before{border:1px solid var(--ink-faint);background:0 0}.cv{grid-template-columns:1.25fr .9fr;gap:0;display:grid}.cv__col:first-child{padding-right:48px}.cv__col:last-child{border-left:1px solid var(--ink);padding-left:48px}@supports (color:color-mix(in lab, red, red)){.cv__col:last-child{border-left:1px solid color-mix(in srgb, var(--ink) 26%, transparent)}}.cv__col h3{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);border-bottom:1px solid var(--rule);margin:0 0 8px;padding-bottom:14px;font-size:.74rem;font-weight:700}.entry{border-bottom:1px solid var(--rule);grid-template-columns:12ch 1fr;gap:22px;padding:28px 0;transition:background .2s;display:grid}.entry__date{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);padding-top:6px;font-size:.74rem}.entry__role{font-family:var(--display);letter-spacing:-.015em;margin:0;font-size:1.5rem;font-weight:560;line-height:1.1}.entry__org{font-family:var(--mono);color:var(--accent-deep);letter-spacing:.03em;margin:4px 0 0;font-size:.78rem}.entry__points{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.entry__points li{color:var(--ink-soft);padding-left:22px;font-size:.98rem;line-height:1.55;position:relative}.entry__points li:before{content:"→";color:var(--accent);font-size:.85em;position:absolute;left:0}.entry__gpa{font-family:var(--mono);letter-spacing:.05em;color:var(--ink);margin-top:12px;font-size:.76rem;font-weight:700;display:inline-block}.stack__grid{grid-template-columns:repeat(2,1fr);gap:0 64px;display:grid}.stack__group{border-top:1px solid var(--rule);padding:28px 0}.stack__group:first-child,.stack__group:nth-child(2){border-top:1px solid var(--rule)}.stack__group h3{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);align-items:baseline;gap:12px;margin:0 0 16px;font-size:.74rem;font-weight:700;display:flex}.stack__group h3 .ix{color:var(--ink-faint)}.stack__terms{flex-wrap:wrap;gap:10px 0;display:flex}.stack__terms span{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);border-right:1px solid var(--rule);padding:0 16px;font-size:1.32rem;font-weight:500;line-height:1.1;transition:color .2s}.stack__terms span:first-child{padding-left:0}.stack__terms span:last-child{border-right:0}.stack__terms span:hover{color:var(--accent)}.biblio__list{border-top:1px solid var(--rule)}.cite{border-bottom:1px solid var(--rule);grid-template-columns:4ch 1fr auto;align-items:baseline;gap:28px;padding:30px 0;transition:background .35s cubic-bezier(.16,1,.3,1);display:grid}.cite__no{font-family:var(--mono);color:var(--accent);font-size:.82rem;font-weight:700;transition:transform .35s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.cite:hover{background:linear-gradient(90deg, var(--accent-wash), transparent 60%)}.cite:hover .cite__no{transform:translate(6px)}}.cite__title{font-family:var(--display);letter-spacing:-.015em;margin:0;font-size:clamp(1.3rem,2.6vw,1.85rem);font-weight:560;line-height:1.16}.cite__meta{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-soft);text-transform:uppercase;margin:10px 0 0;font-size:.74rem}.cite__kind{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);white-space:nowrap;font-size:.7rem;font-weight:700}.cite a.cite__open{color:inherit}.cite a.cite__open .cite__title{background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .36s cubic-bezier(.16,1,.3,1);display:inline}.cite a.cite__open:hover .cite__title{background-size:100% 1.5px}.contact{border-bottom:none;padding:96px 0 80px}.contact__title{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;max-width:14ch;margin:18px 0 0;font-size:clamp(2.8rem,8vw,6rem);font-weight:560;line-height:.96}.contact__title em{color:var(--accent);font-style:italic;font-weight:400}.contact__body{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;margin-top:40px;padding-top:34px;display:grid}.contact__lead{max-width:44ch;color:var(--ink-soft);margin:0;font-size:1.15rem;line-height:1.6}.contact__email-row{flex-wrap:wrap;align-items:baseline;gap:20px;margin-top:22px;display:flex}.contact__email{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;font-size:clamp(1.4rem,3.2vw,2.2rem);transition:background-size .4s cubic-bezier(.16,1,.3,1),color .2s;display:inline-block}.contact__email:hover{color:var(--accent-deep);background-size:100% 2px}.copy-email{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule-strong);cursor:pointer;background:0 0;border-radius:999px;min-width:104px;padding:8px 16px;font-size:.68rem;font-weight:700;transition:color .2s,border-color .2s,background .2s,transform .16s cubic-bezier(.16,1,.3,1)}@media (hover:hover) and (pointer:fine){.copy-email:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}}.copy-email:active{transform:scale(.95)}.copy-email.is-copied{color:var(--accent);border-color:var(--accent)}.copy-email__label{animation:.32s cubic-bezier(.16,1,.3,1) label-swap;display:inline-block}@keyframes label-swap{0%{opacity:0;filter:blur(3px);transform:translateY(5px)}}.contact__links{justify-items:end;gap:12px;display:grid}.colophon{z-index:2;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:26px 0 40px;font-size:.72rem;display:flex;position:relative}.colophon b{color:var(--accent-deep);font-weight:700}.theming body{transition:none!important}::view-transition-old(root){mix-blend-mode:normal;animation-duration:.5s;animation-timing-function:ease}::view-transition-new(root){mix-blend-mode:normal;animation-duration:.5s;animation-timing-function:ease}@keyframes vt-flip-out{0%{opacity:1;transform:perspective(1100px)rotateX(0)}to{opacity:0;transform:perspective(1100px)rotateX(84deg)translateY(-8px)}}@keyframes vt-flip-in{0%{opacity:0;transform:perspective(1100px)rotateX(-86deg)translateY(10px)}to{opacity:1;transform:perspective(1100px)rotateX(0)}}.reveal{transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}.js-animations .reveal:not(.revealed){will-change:opacity, transform}.js-animations .reveal--up:not(.revealed){opacity:0;transform:translateY(22px)}.js-animations .reveal--fade:not(.revealed){opacity:0;transform:none}.js-animations .reveal--left:not(.revealed){opacity:0;transform:translate(-18px)}.reveal.revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.js-animations .reveal--up:not(.revealed),.js-animations .reveal--fade:not(.revealed),.js-animations .reveal--left:not(.revealed){opacity:1;transition:none;transform:none}.hero__title .line>span{animation:none;transform:none}.dot,.js-animations .hero__eyebrow,.js-animations .hero__lead,.js-animations .hero__dek,.js-animations .hero__actions,.js-animations .hero__panel .mrow{animation:none}.feature__frame img,.feature__caption{transition:none}.js-animations .reveal:not(.revealed) .feature__frame img{clip-path:inset(0 0 0%);transform:none}.js-animations .reveal:not(.revealed) .feature__caption{opacity:1}.copy-email__label,.resume-modal,.resume-modal__inner,.resume-modal--closing,.resume-modal--closing .resume-modal__inner,.lightbox,.lightbox__inner,.lightbox--closing,.lightbox--closing .lightbox__inner{animation:none}.js-animations .reveal:not(.revealed) .feature__zoom{opacity:.62}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}@media (max-width:920px){.shell{width:min(1240px,100% - 36px)}.masthead__inner{grid-template-columns:1fr auto auto;gap:14px;width:min(1240px,100% - 36px)}.lamp__cord{height:calc(18px + var(--pull,0px))}.lamp__pull{padding-bottom:8px}.masthead__nav{order:3;grid-column:1/-1;justify-content:flex-start;gap:18px}.hero__top{grid-template-columns:1fr;gap:32px}.hero__resume{max-width:280px}.hero__grid{grid-template-columns:1fr;gap:28px}.lab,.feature{grid-template-columns:1fr;gap:30px}.feature__media{order:1}.feature__body{order:2}.cv{grid-template-columns:1fr;gap:40px}.cv__col:first-child{padding-right:0}.cv__col:last-child{border-left:0;padding-left:0}.stack__grid{grid-template-columns:1fr;gap:0}.stack__group:nth-child(2){border-top:1px solid var(--rule)}.contact__body{grid-template-columns:1fr;align-items:start}.contact__links{justify-items:start}}@media (max-width:680px){body{font-size:16px}.row{grid-template-columns:1fr;gap:20px}.row__figure{text-align:left}.row:hover{padding-left:0;padding-right:0}.entry{grid-template-columns:1fr;gap:10px}.entry__date{padding-top:0}.cite{grid-template-columns:3ch 1fr;gap:14px}.cite__kind{grid-column:2}}.cform{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);max-width:600px;margin-top:44px;padding:28px;position:relative}@supports (color:color-mix(in lab, red, red)){.cform{background:color-mix(in srgb, var(--paper-raised) 70%, transparent)}}.cform{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cform__title{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 20px;font-size:.72rem;font-weight:700}.cform__hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.cform__row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cform__field{gap:7px;margin-bottom:16px;display:grid}.cform__field>span{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.66rem;font-weight:700}.cform input,.cform textarea{width:100%;font-family:var(--body);color:var(--ink);background:var(--paper);font-size:.98rem}@supports (color:color-mix(in lab, red, red)){.cform input,.cform textarea{background:color-mix(in srgb, var(--paper) 55%, transparent)}}.cform input,.cform textarea{border:1px solid var(--rule-strong);border-radius:6px;padding:11px 13px;transition:border-color .18s,box-shadow .18s,background-color .18s}.cform textarea{resize:vertical;min-height:112px;line-height:1.5}.cform input::placeholder,.cform textarea::placeholder{color:var(--ink-faint)}.cform input:focus,.cform textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab, red, red)){.cform input:focus,.cform textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}}.cform input:focus,.cform textarea:focus{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.cform input:focus,.cform textarea:focus{background:color-mix(in srgb, var(--paper) 78%, transparent)}}.cform__error{font-family:var(--mono);letter-spacing:.02em;color:#d8695f;margin:2px 0 14px;font-size:.74rem}.cform__send{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:var(--ink);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:10px;margin-top:6px;padding:12px 22px;font-size:.8rem;font-weight:700;transition:transform .16s cubic-bezier(.16,1,.3,1),background-color .22s,opacity .2s;display:inline-flex}.cform__send:hover{background:var(--accent)}.cform__send:active{transform:scale(.97)}.cform__send:disabled{opacity:.6;cursor:default}.cform__send-arrow{transition:transform .2s cubic-bezier(.16,1,.3,1)}.cform__send:hover:not(:disabled) .cform__send-arrow{transform:translate(3px)}.cform--sent{justify-items:start;gap:8px;display:grid}.cform__check{background:var(--accent);border-radius:50%;place-items:center;width:36px;height:36px;margin-bottom:6px;display:grid}@supports (color:color-mix(in lab, red, red)){.cform__check{background:color-mix(in srgb, var(--accent) 18%, transparent)}}.cform__check{color:var(--accent);font-size:1.05rem}.cform__sent-title{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.4rem}.cform__sent-sub{color:var(--ink-soft);margin:0 0 8px}@media (max-width:680px){.cform__row{grid-template-columns:1fr;gap:0}.cform{padding:22px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
