@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-border-style:solid;--tw-leading:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-100:#f3f4f6;--color-black:#000;--color-white:#fff;--spacing:.25rem;--leading-tight:1.25;--radius-md:.375rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-gray-100:lab(96.1596% -.0823438 -1.13575)}}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.my-10{margin-block:calc(var(--spacing) * 10)}.block{display:block}.hidden{display:none}.inline{display:inline}.resize{resize:both}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white{background-color:var(--color-white)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-4{padding-block:calc(var(--spacing) * 4)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.text-black{color:var(--color-black)}}:root{--paper:#1c1d20;--ink:#f2eee6;--muted:#b9b3a8;--line:#44464d;--accent:#e2875f;--font:var(--font-body), system-ui, sans-serif;--gutter:clamp(20px, 6.5vw, 120px);--read:36rem;--ease-out:cubic-bezier(.16, 1, .3, 1)}html{background:var(--paper)}body{color:var(--ink);background:var(--paper);font:17px/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{color:#1c1d20;background:#e2875f}h1,h2,h3,h4,p{margin:0}h1,h2{text-wrap:balance;font-weight:400;line-height:1.1}h1{letter-spacing:-.05em;font-size:clamp(64px,8vw,128px)}h2{letter-spacing:-.045em;margin:.35em 0 .4em;font-size:clamp(44px,5.4vw,88px)}p{max-width:var(--read);text-wrap:pretty}.portfolio-track{z-index:1;position:relative}.scene{min-height:100svh;padding:clamp(88px, 12vh, 128px) var(--gutter) clamp(56px, 9vh, 96px);color:var(--ink);background:var(--paper);outline:none;flex-direction:column;display:flex;position:relative;overflow:clip}.has-backdrop .scene{background-color:#0000}.scene-kicker,.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:500}.label{letter-spacing:.1em;font-size:12px}.scene-bottom{color:var(--muted);justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding-top:32px;font-size:15px;display:flex}.scene-bottom a:hover{color:var(--ink)}.title-dot{color:#e2875f}.action-button{border:1px solid var(--line);transition:background .25s, transform .25s var(--ease-out);background:0 0;border-radius:999px;align-items:center;gap:14px;padding:16px 26px;font-size:16px;font-weight:500;display:inline-flex}.action-button.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.action-button.primary:hover:not(:disabled){filter:brightness(1.08)}.action-button:hover:not(:disabled){transform:translateY(-2px)}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:4px;font-size:16px;font-weight:500;transition:border-color .2s;display:inline-flex}.text-link:hover{border-color:var(--ink)}.skip-link{z-index:60;color:#1c1d20;background:#e2875f;border-radius:999px;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}@media (max-width:700px){body{font-size:16px}h1{font-size:clamp(56px,15vw,80px)}h2{font-size:clamp(42px,11.5vw,64px)}.scene{min-height:auto;padding:88px 20px 64px}.scene-bottom{font-size:14px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}
.chapter-backdrop{z-index:0;pointer-events:none;width:100%;height:100%;display:none;position:fixed;inset:0}.has-backdrop .chapter-backdrop{display:block}.portfolio:after{content:"";z-index:30;pointer-events:none;opacity:.32;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");position:fixed;inset:0}.floating-controls{z-index:40;gap:8px;display:flex;position:fixed;top:20px;right:clamp(16px,3vw,40px)}.pill{height:42px;transition:background .25s, transform .25s var(--ease-out);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:0 18px;font-size:15px;font-weight:500;display:inline-flex}.pill:hover{transform:translateY(-1px)}.pill-solid{color:#1c1d20;background:#e2875f}.pill-solid:hover{background:#eca07f}.pill-glass{color:#f2eee6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1415178c;border-color:#f2eee62e}.pill-glass:hover{background:#141517d1}.pill-light{color:#141517;background:#f2eee6}html:has(.site-menu[open]){overflow:hidden}.site-menu{color:#f2eee6;clip-path:circle(0% at calc(100% - 70px) 41px);width:100%;max-width:none;height:100%;max-height:none;transition:clip-path .7s cubic-bezier(.7, 0, .2, 1), display .7s allow-discrete, overlay .7s allow-discrete;background:#141517;border:0;margin:0;padding:0;position:fixed;inset:0}.site-menu[open]{clip-path:circle(150% at calc(100% - 70px) 41px)}@starting-style{.site-menu[open]{clip-path:circle(0% at calc(100% - 70px) 41px)}}.site-menu::backdrop{background:0 0}.site-menu-inner{min-height:100%;padding:20px clamp(16px, 3vw, 40px) 40px var(--gutter);flex-direction:column;display:flex}.site-menu-top{justify-content:space-between;align-items:center;font-size:17px;font-weight:600;display:flex}.site-menu nav{margin:auto 0;padding-block:40px}.site-menu ol{margin:0;padding:0;list-style:none}.site-menu li{opacity:0;transition:opacity .5s, translate .8s var(--ease-out);translate:0 28px}.site-menu[open] li{opacity:1;transition-delay:calc(.22s + var(--i) * 50ms);translate:0}@starting-style{.site-menu[open] li{opacity:0;translate:0 28px}}.site-menu li a{letter-spacing:-.04em;color:#f2eee69e;align-items:baseline;gap:20px;font-size:clamp(40px,6.5vw,88px);line-height:1.12;transition:color .2s;display:inline-flex}.site-menu li a:hover,.site-menu li a[aria-current]{color:#fff}.site-menu-number{letter-spacing:0;font-variant-numeric:tabular-nums;color:#b9b3a8;font-size:15px}.site-menu a[aria-current] .site-menu-number{color:#e2875f}.site-menu-links{color:#b9b3a8;flex-wrap:wrap;gap:12px 28px;font-size:16px;display:flex}.site-menu-links a:hover{color:#fff}@media (max-width:700px){.floating-controls{top:14px;right:14px}.pill{height:40px;padding:0 16px;font-size:14px}.site-menu{clip-path:circle(0% at calc(100% - 50px) 34px)}.site-menu[open]{clip-path:circle(150% at calc(100% - 50px) 34px)}@starting-style{.site-menu[open]{clip-path:circle(0% at calc(100% - 50px) 34px)}}.site-menu-inner{padding:14px 14px 32px 20px}}
.gallery{position:relative}@media (min-width:1001px) and (min-height:760px) and (prefers-reduced-motion:no-preference){.gallery{height:calc(var(--slides,2) * 100vh)}.gallery-sticky{height:100vh;position:sticky;top:0;overflow:clip}.gallery-rail{width:calc(var(--slides,2) * 100vw);height:100%;transform:translateX(var(--gallery-travel,0vw));will-change:transform;display:flex}.gallery-rail .scene{flex:0 0 100vw;width:100vw;height:100%;min-height:0;padding-bottom:clamp(32px,6vh,64px)}}
.hero-scene{--paper:#1c1d20;--ink:#f2eee6;--muted:#b9b3a8;--line:#44464d;--accent:#e2875f;background-image:radial-gradient(110% 75% at 0 0,#ffecd612,#0000 58%),radial-gradient(80% 70% at 50% 100%,#0000004d,#0000 70%);padding-top:20px}.hero-scene:before{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff09 0 1px,#0000 1px 9px),linear-gradient(165deg,#303237,#232428);position:absolute;inset:0 0 0 62%;box-shadow:inset 24px 0 48px -32px #0009}.hero-scene:after{content:"";pointer-events:none;opacity:.22;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-top,.hero-layout,.hero-scene .scene-bottom{z-index:1;position:relative}.hero-layout{z-index:2}.hero-top{flex-direction:column;gap:2px;display:flex}.hero-scene .title-dot{color:var(--accent)}.hero-scene .action-button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.hero-scene .action-button.primary:hover:not(:disabled){filter:none;background:#fff}.site-brand{letter-spacing:-.03em;font-size:17px;font-weight:600;line-height:42px}.hero-layout{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:6vw;padding-block:40px;display:grid}.hero-description{letter-spacing:-.015em;max-width:28ch;margin-top:28px;font-size:clamp(20px,1.9vw,27px);line-height:1.4}.current-role{z-index:2;flex-direction:column;gap:6px;margin-top:32px;display:flex;position:relative}.credential-detail{color:var(--muted);font-size:15px}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:36px;display:flex}.hero-art{justify-self:end;width:100%;max-width:520px;margin:0}.portrait-image{aspect-ratio:3/4;background:0 0;width:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000),linear-gradient(#0000,#000 10% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000),linear-gradient(#0000,#000 10% 82%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.portrait-image img{object-fit:contain;object-position:center}.hero-socials{color:var(--ink);gap:24px;display:flex}.hero-socials a:hover{text-underline-offset:4px;text-decoration:underline}.hero-copy h1{max-width:9ch}.decode-word{white-space:nowrap}.decode-cell{text-align:center;display:inline-block}.employer{align-self:flex-start;position:relative}.employer-trigger{letter-spacing:-.035em;min-height:44px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:7px;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:clamp(26px,2.2vw,32px);font-weight:600;line-height:1.15;transition:text-decoration-color .2s;display:inline-flex}.employer-trigger:hover,.employer[data-open=true] .employer-trigger{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.employer-toggle{border:1px solid var(--line);letter-spacing:0;width:30px;height:30px;transition:rotate .35s var(--ease-out), background .2s, color .2s;border-radius:50%;place-items:center;font-size:18px;font-weight:400;display:grid}.employer[data-open=true] .employer-toggle{background:var(--accent);border-color:var(--accent);color:var(--paper);rotate:45deg}.employer-card{z-index:20;color:#f2eee6;opacity:0;visibility:hidden;width:340px;transition:opacity .25s, translate .35s var(--ease-out), visibility .25s;background:#2a2c31;border:1px solid #f2eee61f;border-radius:16px;padding:22px;position:absolute;top:calc(100% + 12px);left:0;translate:0 8px;box-shadow:0 24px 60px #0000008c}.employer[data-open=true] .employer-card{opacity:1;visibility:visible;translate:0}.employer-logo{filter:invert();width:168px;height:auto;margin-bottom:16px;display:block}.employer-role{font-size:17px;font-weight:600}.employer-team{color:var(--accent);margin-top:2px;font-size:15px;font-weight:500}.employer-meta{color:#b9b3a8;margin-top:2px;font-size:14px}.employer-highlight{border-top:1px solid #44464d;margin-top:14px;padding-top:14px;font-size:15px;line-height:1.55}.employer-link{color:#f2eee6;text-underline-offset:4px;align-items:center;min-height:44px;margin-top:6px;font-size:15px;font-weight:600;text-decoration:underline;display:inline-flex}@media (max-width:1000px){.hero-layout{gap:40px}}@media (max-width:700px){.hero-scene{padding-top:14px}.hero-scene:before{inset:54% 0 0 30%}.site-brand{line-height:40px}.hero-layout{grid-template-columns:minmax(0,1fr);gap:40px;padding-block:28px}.hero-art{justify-self:stretch;max-width:none}.portrait-image{aspect-ratio:3/4;max-height:none}.hero-scene .scene-bottom .scroll-cue{display:none}.employer{align-self:stretch}.employer-card{width:100%;max-height:0;box-shadow:none;transition:max-height .45s var(--ease-out), padding .45s var(--ease-out), margin .45s var(--ease-out), opacity .3s, visibility .3s;margin-top:0;padding:0 20px;position:static;overflow:hidden;translate:none}.employer[data-open=true] .employer-card{max-height:420px;margin-top:12px;padding:20px}}
.experience-scene{--paper:#1d3a2f;--ink:#eef3ee;--muted:#b9cdbf;--line:#3b5a4c;--accent:#c9e4a6;background-image:radial-gradient(circle at 1px 1px,#eef3ee17 1px,#0000 1.5px),radial-gradient(120% 60% at 100% 0,#c9e4a612,#0000 60%);background-size:24px 24px,auto}.experience-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start;gap:7vw;padding-top:24px;display:grid}.experience-intro{position:sticky;top:120px}.section-description{color:var(--muted);margin-bottom:28px;font-size:19px}.experience-list{margin:0;padding:0;list-style:none}.experience-row{border-top:1px solid var(--line);padding:32px 0}.experience-row:first-child{border-top:3px solid #a8d08d}.experience-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:14px;display:flex}.current-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.current-badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.experience-row h3{letter-spacing:-.03em;margin-top:10px;font-size:30px;font-weight:500;line-height:1.2}.current-experience h3{color:var(--accent);font-size:clamp(40px,4vw,60px)}.experience-row h3 a:hover{text-underline-offset:6px;text-decoration:underline}.experience-title{color:var(--muted);margin:6px 0 16px;font-size:16px}.experience-row p:not(.experience-title){color:#d7e3da;max-width:40rem;margin-bottom:14px;font-size:16.5px;line-height:1.7}.experience-row summary{color:var(--accent);cursor:pointer;margin:4px 0 14px;font-size:15px;font-weight:500}.experience-location{color:var(--muted);font-size:14px}@media (max-width:1000px){.experience-layout{grid-template-columns:minmax(0,1fr);gap:24px}.experience-intro{position:static}}@media (max-width:700px){.current-experience h3{font-size:38px}.experience-row h3{font-size:26px}}
.byob-scene{--paper:#6f2f21;--ink:#fff3ea;--muted:#f0c9b8;--line:#9a5643;--accent:#ffd9c4;background-image:repeating-radial-gradient(circle at 12% 110%,#0000 0 46px,#fff3ea12 46px 47px)}.feature-layout,.work-layout{flex:1;align-items:center;gap:5vw;padding-top:24px;display:grid}.feature-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.feature-copy h3{letter-spacing:-.02em;margin-bottom:12px;font-size:22px;font-weight:600}.feature-tags{color:var(--muted);margin:18px 0 28px;font-size:14px}.byob-image{aspect-ratio:16/10.5;background:#8a3d2c;border-radius:14px;max-height:64vh;display:block;position:relative;overflow:hidden;box-shadow:0 30px 70px #00000061}.byob-image img{object-fit:cover;object-position:top;transition:scale .8s var(--ease-out)}.byob-image:hover img{scale:1.03}.scene-next{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-self:flex-end;margin-top:24px;font-size:14px;font-weight:500}.scene-next:hover{color:var(--ink)}.projects-scene{--paper:#2a1f2e;--ink:#f3edf4;--muted:#c9bccc;--line:#4a3b50;--accent:#dcb8e2;background-image:linear-gradient(#f3edf412 1px,#0000 1px),linear-gradient(90deg,#f3edf412 1px,#0000 1px),linear-gradient(#f3edf409 1px,#0000 1px),linear-gradient(90deg,#f3edf409 1px,#0000 1px);background-size:200px 200px,200px 200px,40px 40px,40px 40px}.work-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.work-copy p{color:var(--muted);margin-bottom:26px;font-size:19px}.project-tabs{border-bottom:1px solid var(--line);gap:28px;display:flex}.project-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:14px 0;font-size:16px}.project-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.project-preview{background:#362a3b;border-radius:12px;height:clamp(220px,36vh,440px);margin-top:18px;position:relative;overflow:hidden}.project-preview img{object-fit:cover;object-position:top;animation:image-appear .5s var(--ease-out)}.phone-preview img{object-fit:contain;padding:14px}.gallery-controls{justify-content:center;gap:8px;padding-top:10px;display:flex}.gallery-controls button{background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 12px;font-size:14px}.gallery-controls button[aria-pressed=true]{border-bottom-color:var(--ink)}.project-details{padding-top:22px}.project-details h3{letter-spacing:-.03em;margin-bottom:10px;font-size:26px;font-weight:500}.project-details p{color:#e4dce6;max-width:44rem;font-size:16.5px;line-height:1.7}.project-bottom{justify-content:space-between;align-items:baseline;gap:16px;padding-top:16px;display:flex}.project-tags{color:var(--muted);font-size:14px}.project-bottom>div{flex-shrink:0;gap:18px;font-size:15px;font-weight:500;display:flex}.project-bottom a{border-bottom:1px solid var(--line)}.project-bottom a:hover{border-color:var(--ink)}@keyframes image-appear{0%{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1001px) and (min-height:760px) and (prefers-reduced-motion:no-preference){.gallery-rail .project-preview{height:clamp(200px,32vh,400px)}}@media (max-width:1000px){.feature-layout,.work-layout{grid-template-columns:minmax(0,1fr);gap:40px}.byob-image{max-height:none}}@media (max-width:700px){.project-tabs{gap:22px}.project-tabs button{font-size:15px}.project-preview{height:240px}.project-bottom{flex-direction:column;gap:12px}}
.savor-scene{--paper:#3a1426;--ink:#fbeef2;--muted:#e3bfcb;--line:#5e2a40;--accent:#f4a9bf;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M16 12v8M12 16h8' stroke='%23fbeef2' stroke-opacity='0.1' stroke-width='1.2'/%3E%3C/svg%3E")}.savor-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.savor-media{flex-direction:column;gap:16px;display:flex}.savor-video{aspect-ratio:16/9;background:#000;border-radius:14px;width:min(100%,92.4444vh);position:relative;overflow:hidden;box-shadow:0 30px 70px #0006}.savor-video-portrait{display:none}.savor-video video{object-fit:contain;width:100%;height:100%;display:block}.savor-shots{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.savor-shots a{display:block}.savor-shot{aspect-ratio:16/9;border:1px solid var(--line);background:#4a1d31;border-radius:10px;max-height:11vh;display:block;position:relative;overflow:hidden}.savor-shot img{object-fit:cover;object-position:top;transition:scale .6s var(--ease-out)}.savor-shots a:hover img{scale:1.04}.savor-shot-label{color:var(--muted);margin-top:8px;font-size:13px;display:block}@media (min-width:1001px) and (min-height:760px) and (prefers-reduced-motion:no-preference){.gallery-rail .savor-scene h2{font-size:clamp(44px,4.4vw,76px)}.gallery-rail .savor-scene .feature-copy p{font-size:16px}}@media (max-width:1000px){.savor-layout{grid-template-columns:minmax(0,1fr)}.savor-video{width:100%}.savor-shot{max-height:none}}@media (max-width:700px){.savor-video-landscape{display:none}.savor-video-portrait{aspect-ratio:9/16;width:min(100%,320px);margin-inline:auto;display:block}.savor-shots{gap:8px}.savor-shot-label{font-size:12px}}
.about-scene{--paper:#2a221c;--ink:#f3ece4;--muted:#cbbfb1;--line:#4a3d33;--accent:#e2875f;background-image:linear-gradient(90deg, transparent calc(var(--gutter) - 24px), #e2875f38 calc(var(--gutter) - 24px) calc(var(--gutter) - 23px), transparent calc(var(--gutter) - 23px)), repeating-linear-gradient(180deg, transparent 0 31px, #f3ece40f 31px 32px)}.about-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:7vw;padding-top:24px;display:grid}.about-copy p{margin-bottom:18px;font-size:18px;line-height:1.7}.off-screen{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.off-screen p{margin-top:8px}.toolbox h3{letter-spacing:-.03em;margin-top:.6em;font-size:34px;font-weight:400}.toolbox>p{color:var(--muted);margin-top:8px;font-size:17px}.skill-group h4{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:30px 0 12px;font-size:12px;font-weight:600}.skill-group ul{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.skill-group li{border:1px solid var(--line);transition:transform .25s var(--ease-out), border-color .25s;background:#f3ece40d;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:14.5px;display:flex}.skill-group li:hover{border-color:var(--accent);transform:translateY(-3px)}.skill-group svg{width:22px;height:22px}@media (min-width:1001px) and (min-height:760px) and (prefers-reduced-motion:no-preference){.gallery-rail .about-scene{padding-top:clamp(72px,10vh,112px)}.gallery-rail .about-scene h2{font-size:clamp(44px,4.6vw,80px)}.gallery-rail .about-copy p{font-size:17px}.gallery-rail .toolbox h3{margin-top:.3em;font-size:28px}.gallery-rail .toolbox>p{font-size:16px}.gallery-rail .skill-group h4{margin:18px 0 8px}.gallery-rail .skill-group ul{gap:7px}.gallery-rail .skill-group li{gap:8px;padding:6px 11px;font-size:13.5px}.gallery-rail .skill-group svg{width:18px;height:18px}}@media (max-width:1000px){.about-layout{grid-template-columns:minmax(0,1fr);gap:24px}}@media (max-width:700px){.about-copy p{font-size:17px}.skill-group li{padding:9px 12px;font-size:14px}}
.contact-scene{--paper:#262a1a;--ink:#f4efdc;--muted:#cfc8a8;--line:#4b5034;--accent:#d9a441;background-image:repeating-radial-gradient(circle at 78% 55%,#0000 0 38px,#f4efdc0e 38px 39px)}.contact-layout{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:7vw;padding-top:24px;display:grid}.contact-copy p{color:var(--muted);font-size:19px}.email-link{border-bottom:1px solid var(--line);overflow-wrap:anywhere;margin-top:28px;padding-bottom:6px;font-size:clamp(18px,1.6vw,22px);display:inline-block}.email-link:hover{border-color:var(--ink)}.social-links{gap:26px;margin-top:22px;font-size:16px;display:flex}.social-links a:hover{text-underline-offset:4px;text-decoration:underline}.field{margin-bottom:18px;display:block}.field>span{color:var(--muted);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.field input,.field textarea{border:1px solid var(--line);background:#f4efdc0f;border-radius:10px;width:100%;padding:14px 16px;font-size:17px;line-height:1.5;display:block}.field textarea{resize:vertical;min-height:140px;max-height:320px}.field input::placeholder,.field textarea::placeholder{color:#a9a385}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-actions{justify-content:flex-end;display:flex}.form-status{min-height:24px;margin-top:14px;font-size:15px}.contact-scene .scene-bottom{border-top:1px solid var(--line);margin-top:64px}@media (max-width:1000px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:40px}}
.motion:not(.motion-ready) :is([data-intro],[data-split],[data-reveal],[data-unmask]){visibility:hidden;animation:0s 3s forwards motion-failsafe}@keyframes motion-failsafe{to{visibility:visible}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_f1bf4ca4-module__WscIUq__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_f1bf4ca4-module__WscIUq__variable{--font-body:"DM Sans", "DM Sans Fallback"}
