@charset "UTF-8";.card-swap{position:relative;width:100%;height:100%;outline:none;-webkit-tap-highlight-color:transparent}.card-swap-sizer{max-height:100%;overflow:hidden;pointer-events:none}.card-swap-sizer>span{display:block;width:100%;max-width:var(--swap-stage-w);aspect-ratio:var(--swap-ratio)}.card-swap-stage{position:absolute;top:50%;left:50%;width:var(--swap-stage-w);height:var(--swap-stage-h);perspective:900px;transform:translate(-50%,-50%);pointer-events:none}.card-swap-slot{position:absolute;top:var(--swap-oy);left:var(--swap-ox);width:var(--swap-w);height:var(--swap-h);margin:calc(var(--swap-h) / -2) 0 0 calc(var(--swap-w) / -2);border-radius:var(--swap-radius);overflow:hidden;isolation:isolate;box-shadow:var(--swap-shadow);pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:pan-y;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-swap:focus-visible .card-swap-slot[data-front]{outline:2px solid var(--swap-ink);outline-offset:3px}.card-swap-shade{position:absolute;inset:0;z-index:3;border-radius:inherit;background:var(--swap-shade);opacity:0;pointer-events:none}.card-swap-card{position:relative;width:100%;height:100%;box-sizing:border-box;border-radius:inherit;overflow:hidden;isolation:isolate;background:var(--swap-tile);color:var(--swap-ink)}.card-swap-card-rim{position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--swap-tile-edge),inset 0 1px 0 var(--swap-tile-highlight);pointer-events:none}.card-swap-item{display:flex;flex-direction:column;gap:6px;height:100%;padding:6px;box-sizing:border-box}.card-swap-head{display:flex;flex:none;align-items:center;gap:10px;min-width:0;height:30px;padding:0 6px}.card-swap-icon{display:grid;flex:none;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--swap-badge)}.card-swap-title{overflow:hidden;font-size:14px;font-weight:500;line-height:1.2;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.card-swap-media{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:max(0px,calc(var(--swap-radius) - 6px));background:var(--swap-badge)}.card-swap-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.card-swap-media:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--swap-media-edge);pointer-events:none}.project-swap-shell{max-width:680px;margin-inline:auto;min-width:0}.swap-stage-viewport{height:clamp(340px,46vw,560px);width:100%;overflow:hidden;contain:paint}.swap-stage-viewport .card-swap{--swap-tile: linear-gradient(145deg,var(--surface-raised),var(--surface)) !important;--swap-shadow: 0 28px 60px -24px #000000b0,0 8px 20px -12px #00000080 !important;--swap-tile-edge: var(--line-highlight) !important;--swap-tile-highlight: var(--line-soft) !important}.swap-stage-viewport .card-swap:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}.swap-card-face{height:100%;display:flex;flex-direction:column;padding:10px;color:var(--paper)}.swap-card-art{position:relative;min-height:0;flex:1;display:grid;place-items:center;padding:14px;border-radius:9px;border:1px solid var(--line-soft);overflow:hidden}.swap-card-art strong{font-family:Georgia,serif;font-size:clamp(28px,3.5vw,48px);line-height:1.1;font-weight:400;overflow-wrap:anywhere;text-align:center}.swap-card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--surface);pointer-events:none;-webkit-user-select:none;user-select:none}.swap-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;margin-top:16px}.swap-controls h3,.project-static-grid h3{min-width:0;margin:0;text-align:center;font:400 clamp(24px,4vw,36px)/1.2 Georgia,serif;letter-spacing:-.025em}.swap-direction{width:48px;height:48px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;color:var(--muted);background:transparent;cursor:pointer;transition:color .2s ease}.swap-direction span{font-size:26px;line-height:1}.swap-direction:hover,.swap-direction:focus-visible{color:var(--accent)}.swap-project-link,.swap-project-link:hover,.swap-project-link:focus-visible{text-decoration:none}.swap-project-link{display:inline-grid;align-items:center;min-height:48px;padding:8px 10px;color:var(--paper);text-shadow:0 0 18px rgb(var(--violet-rgb) / .13),0 0 34px rgb(var(--lilac-rgb) / .06);transition:color .22s ease,text-shadow .22s ease;overflow-wrap:anywhere}.swap-project-link:hover,.swap-project-link:focus-visible{color:var(--accent);text-shadow:0 0 14px rgb(var(--violet-rgb) / .28),0 0 34px rgb(var(--violet-rgb) / .14)}.swap-project-link:active{color:var(--accent-hover);text-shadow:0 0 12px rgb(var(--violet-rgb) / .4),0 0 36px rgb(var(--violet-rgb) / .22)}.project-static-grid{display:grid;gap:40px}.project-static-grid>article{min-width:0}.static-project-image{aspect-ratio:16/10;background:var(--surface);border-radius:16px;overflow:hidden;margin-bottom:16px}@media(min-width:768px){.project-static-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.swap-project-link,.swap-direction{transition:none}}.carousel-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;max-width:100%;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent}.carousel-container.has-frame{gap:16px}.carousel-stage{position:relative;display:flex;flex-direction:column;align-items:center;align-self:stretch;gap:12px;box-sizing:border-box;border-radius:var(--carousel-radius)}.carousel-container:focus-visible .carousel-stage{outline:2px solid var(--carousel-ink);outline-offset:4px}.carousel-container.has-frame .carousel-stage{padding:10px;border-radius:calc(var(--carousel-radius) + 10px);background:var(--carousel-frame);box-shadow:var(--carousel-frame-shadow);overflow:hidden;-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6)}.carousel-container.has-frame.is-round .carousel-stage{border-radius:50%}.carousel-frame-rim{position:absolute;inset:0;z-index:30;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--carousel-frame-edge),inset 0 1px 0 var(--carousel-frame-highlight);pointer-events:none}.carousel-viewport{position:relative;align-self:stretch;touch-action:pan-y;user-select:none;-webkit-user-select:none}.carousel-viewport[data-draggable=true]{cursor:grab}.carousel-viewport[data-dragging=true]{cursor:grabbing}.carousel-slide{position:absolute;top:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform,opacity}.carousel-slide:not([data-current]){cursor:pointer}.carousel-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;height:100%;padding:calc(20px * var(--carousel-scale, 1));box-sizing:border-box;border-radius:var(--carousel-radius);background:var(--carousel-tile);box-shadow:var(--carousel-tile-shadow);color:var(--carousel-ink);overflow:hidden;transition:filter .25s ease}.carousel-card-rim{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--carousel-tile-edge),inset 0 1px 0 var(--carousel-tile-highlight);pointer-events:none}.carousel-card.is-custom{display:block;padding:0}.carousel-card.is-round{align-items:center;justify-content:center;gap:14px;padding:14%;text-align:center}.carousel-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.carousel-scrim{position:absolute;inset:0;opacity:var(--carousel-focus, 1);pointer-events:none;background:linear-gradient(to top,#0000009e,#0009 8%,#0000008a,#00000073 26%,#00000057,#00000038,#0000001c 56%,#0000000a,#0000 72%)}.carousel-card.is-round .carousel-scrim{background:#0000004d}.carousel-icon{position:relative;display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--carousel-badge);color:var(--carousel-ink)}.carousel-card.has-image .carousel-icon{background:#ffffff2e;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.carousel-icon svg{width:16px;height:16px}.carousel-text{position:relative;margin-top:auto;opacity:var(--carousel-focus, 1)}.carousel-card.is-round .carousel-text{margin-top:0}.carousel-title{font-size:calc(18px * var(--carousel-scale, 1));font-weight:600;line-height:1.25;letter-spacing:-.01em}.carousel-description{margin:4px 0 0;font-size:calc(14px * var(--carousel-scale, 1));line-height:1.45;color:var(--carousel-muted)}.carousel-card.has-image .carousel-title{color:#fff}.carousel-card.has-image .carousel-description{color:#ffffffc7}.carousel-shade{position:absolute;inset:0;border-radius:var(--carousel-radius);background:#000;pointer-events:none}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%}.carousel-arrow{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:none;border-radius:50%;background:var(--carousel-tile);box-shadow:inset 0 0 0 1px var(--carousel-tile-edge),inset 0 1px 0 var(--carousel-tile-highlight),var(--carousel-tile-shadow);color:var(--carousel-ink);cursor:pointer;transition:opacity .2s ease,filter .2s ease,transform .2s ease}.carousel-arrow:disabled{opacity:.35;cursor:default}.carousel-arrow:not(:disabled):active{filter:var(--carousel-press);transform:scale(.92);transition-duration:0s}.carousel-arrow:focus-visible,.carousel-dot:focus-visible,.carousel-bar:focus-visible{outline:2px solid var(--carousel-ink);outline-offset:2px}.carousel-dots{display:flex;align-items:center}.carousel-dot{display:grid;place-items:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:none;cursor:pointer}.carousel-dot-mark{width:8px;height:8px;border-radius:50%;background:var(--carousel-faint);transition:background-color .2s ease,transform .2s ease}.carousel-dot.is-active .carousel-dot-mark{background:var(--carousel-ink);transform:scale(1.2)}.carousel-bars{display:flex;flex:1;gap:6px;min-width:0}.carousel-bar{display:flex;align-items:center;flex:1;height:20px;padding:0;border:none;background:none;cursor:pointer}.carousel-bar-track{position:relative;width:100%;height:3px;border-radius:3px;background:var(--carousel-faint);overflow:hidden;transition:background-color .2s ease}.carousel-bar-fill{position:absolute;inset:0;background:var(--carousel-ink);transform-origin:left center}.carousel-counter{display:flex;align-items:baseline;gap:6px;overflow:hidden;font-size:13px;font-variant-numeric:tabular-nums;color:var(--carousel-muted)}.carousel-counter-current{display:inline-block;color:var(--carousel-ink)}@media(hover:hover){.carousel-slide:hover .carousel-card{filter:var(--carousel-hover)}.carousel-arrow:not(:disabled):hover{filter:var(--carousel-hover)}.carousel-arrow:not(:disabled):hover:active{filter:var(--carousel-press)}.carousel-dot:not(.is-active):hover .carousel-dot-mark,.carousel-bar:hover .carousel-bar-track{background:var(--carousel-soft)}}.profile-carousel{margin-inline:auto;gap:12px;--carousel-tile: linear-gradient(135deg,var(--surface-raised),var(--surface)) !important;--carousel-tile-edge: var(--line-highlight) !important;--carousel-tile-highlight: var(--line-soft) !important;--carousel-ink: var(--paper) !important;--carousel-muted: var(--muted) !important;--carousel-tile-shadow: 0 10px 26px -18px #000b !important;--carousel-hover: brightness(1.06) !important}.profile-section{min-width:0;overflow-x:clip}.profile-section .profile-heading{margin-bottom:24px}.profile-entry{padding:16px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}.profile-entry h3{font:400 24px/1.2 Georgia,serif;letter-spacing:-.35px;overflow-wrap:anywhere}.profile-entry p{font-size:16px;line-height:1.55;color:var(--muted);max-width:44ch}.profile-carousel .carousel-slide{transform-origin:center}.profile-carousel .carousel-slide:not([data-current]) .profile-entry{padding:12px 18px}.profile-carousel .carousel-slide:not([data-current]) h3{font-size:21px}.profile-carousel .carousel-slide:not([data-current]) p{visibility:hidden}.profile-carousel .carousel-slide:focus-visible{outline:2px solid var(--focus);outline-offset:-3px;border-radius:12px}.profile-carousel .carousel-slide[data-current] .carousel-card{background:linear-gradient(135deg,var(--surface-active),var(--surface-raised))}.profile-carousel .carousel-controls{gap:16px}.profile-carousel .carousel-arrow{width:48px;height:48px;background:transparent;box-shadow:none;color:var(--muted)}.profile-carousel .carousel-arrow:not(:disabled):hover{color:var(--accent)}.profile-carousel .carousel-arrow svg{transform:rotate(90deg)}.profile-carousel:focus-visible .carousel-stage,.profile-carousel .carousel-arrow:focus-visible{outline-color:var(--focus)}.profile-static-sequence{display:grid;gap:12px;max-width:520px}.profile-static-sequence .profile-entry{background:var(--surface);border:1px solid var(--line-soft);border-radius:12px}@media(min-width:768px){.profile-section{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:40px;align-items:center}.profile-section .profile-heading{margin:0;align-self:center;padding:0}.profile-carousel{margin-inline:0 auto}}@media(prefers-reduced-motion:reduce){.profile-carousel .carousel-card,.profile-carousel .carousel-arrow{transition:none}}#root{isolation:isolate;min-height:100svh}.global-ghost-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#08080c}.global-ghost-renderer{width:100%;height:100%}.services-section{padding:var(--section-join) var(--gutter) 0}.services-section>h2{font-family:Georgia,Times New Roman,serif;font-size:var(--text-section);font-weight:400;line-height:1.12;letter-spacing:-.025em;max-width:21ch;margin-bottom:var(--space-4);text-wrap:balance}.services-list{display:grid;gap:var(--space-3)}.service-row{min-width:0}.service-row+.service-row{border-top:1px solid var(--line-soft);padding-top:var(--space-3)}.service-row h3{font-family:Georgia,Times New Roman,serif;font-size:clamp(25px,2.4vw,32px);font-weight:400;line-height:1.2;letter-spacing:-.02em;margin-bottom:var(--space-2)}.service-row .body-copy{max-width:45ch}.services-closing{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3) var(--space-4);margin-top:var(--space-4)}.services-message{flex:1 1 32rem;min-width:0}.services-value{font-size:var(--text-body);line-height:1.6;max-width:43ch}.services-invitation{margin-top:var(--space-2);max-width:62ch;color:var(--muted);font-size:var(--text-secondary);line-height:1.6}.services-cta{display:inline-flex;align-items:center;min-height:48px;padding:10px 0;color:var(--accent);font-size:var(--text-control);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.services-cta:hover,.services-cta:focus-visible{color:var(--accent-hover);text-decoration-thickness:2px}@media(min-width:768px){.services-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.service-row+.service-row{border-top:0;padding-top:0}.service-row .body-copy{font-size:var(--text-secondary)}}.privacy-settings{padding:8px 0;border:0;background:none;cursor:pointer;font-size:inherit;text-align:start;text-decoration:underline;text-underline-offset:4px}.analytics-preferences{position:fixed;z-index:90;inset:auto 16px 16px auto;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--paper);box-shadow:0 8px 32px #0005;font-size:.875rem;line-height:1.6}.analytics-preferences h2{font:inherit;font-weight:700;margin-bottom:8px}.analytics-preferences p{margin-bottom:12px;color:var(--muted)}.analytics-preferences a{text-decoration:underline;text-underline-offset:3px}.analytics-preferences .analytics-status{margin-top:12px}.analytics-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.analytics-actions button{min-height:44px;padding:8px 12px;background:var(--surface-raised);border:1px solid var(--line);border-radius:4px;cursor:pointer;font-size:inherit}.analytics-actions button:hover{border-color:var(--accent)}:root{font-family:Arial,Helvetica,sans-serif;color:var(--paper);background:#08080c;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #0e0c13;--paper: #f3f0f7;--muted: #c5bdd3;--violet: #8b5cf6;--lilac: #dfd1fc;--violet-deep: #6f4ac5;--accent: #bda4f4;--accent-hover: var(--lilac);--focus: var(--lilac);--surface: #14111c;--surface-raised: #1d1729;--surface-active: #251d34;--line: #494052;--line-soft: #dfd1fc24;--line-highlight: #dfd1fc36;--accent-wash: #8b5cf60f;--violet-rgb: 139 92 246;--lilac-rgb: 223 209 252;--lime: var(--accent);--canvas-soft: var(--surface);--canvas-depth: var(--surface-raised);--rail: 180px;--gutter: clamp(24px, 4.2vw, 74px);--text-body: 1.125rem;--text-secondary: 1rem;--text-control: 1rem;--text-micro: .8125rem;--text-item: 1.625rem;--text-section: clamp(2.5rem, 4.4vw, 3.5rem);--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 48px;--section-space: clamp(64px, 7vw, 104px);--section-join: clamp(32px, 4vw, 56px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-3)}body{margin:0;font-size:var(--text-body);line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:5px}.work-section :focus-visible{outline-color:var(--focus)}main:focus{outline:none}h1,h2,h3,h4,p{margin:0}img{display:block;width:100%;height:auto}section[id]{scroll-margin-top:22px}.hero-layout>*,.projects-grid>*,.closing-grid>*,.about-section>*{min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:16px;padding:14px 20px;background:var(--accent);color:var(--ink);z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{position:relative;display:grid;grid-template-columns:1fr auto auto;column-gap:8px;align-items:center;padding:16px var(--gutter);background:transparent;z-index:20}.site-header.menu-open{background:#08080ce8}.brand{display:inline-flex;align-items:center;width:fit-content;min-height:48px;font-size:30px;font-weight:800;letter-spacing:-2px;line-height:1}.brand .brand-period{color:var(--accent)}.brand-mark{position:relative;display:inline-block;color:var(--paper)}.brand-mark:after{content:attr(data-mark);position:absolute;inset:0;color:var(--accent);opacity:0;pointer-events:none}@media(min-width:1000px)and (hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.brand--electric:hover .brand-mark:after,.brand--electric:focus-visible .brand-mark:after{animation:brand-current .65s ease-out 1 both;text-shadow:0 0 4px rgb(var(--violet-rgb) / .25)}}@keyframes brand-current{0%{clip-path:inset(90% 0 0 0);opacity:0}20%{clip-path:inset(65% 0 15% 0);opacity:.8}65%{clip-path:inset(15% 0 65% 0);opacity:.65}to{clip-path:inset(0 0 100% 0);opacity:0}}.menu-toggle{grid-column:3;grid-row:1;display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:8px 0 8px 16px;background:none;border:0;cursor:pointer;font-size:var(--text-control)}.menu-icon{display:grid;gap:5px;width:24px}.menu-icon i{display:block;height:2px;background:var(--paper);transition:transform .2s ease}.menu-open .menu-icon i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-navigation{display:contents}.navigation-links{display:none}.menu-open .navigation-links{display:flex;grid-column:1 / -1;grid-row:2;flex-direction:column;gap:2px;padding:20px 0 8px;margin-top:var(--space-2)}.main-navigation a{display:flex;gap:14px;align-items:center;min-height:48px;font-size:var(--text-control);color:var(--muted)}.main-navigation a:hover,.main-navigation a.active{color:var(--accent)}.nav-dot{width:5px;height:5px;border-radius:50%;background:transparent;flex-shrink:0}.active .nav-dot{background:var(--accent)}.language-selector{grid-column:2;grid-row:1;display:flex;align-items:center;width:fit-content}.language-selector>span{display:flex;align-items:center}.language-selector a{justify-content:center;min-width:44px;min-height:44px;font-size:15px}.language-selector a[aria-current=true]{color:var(--accent)}.language-divider{color:var(--muted);font-size:13px;opacity:.65;padding-inline:4px}.sidebar-note,.sidebar-location{display:none}.eyebrow{font-size:var(--text-micro);letter-spacing:1.3px;text-transform:uppercase;line-height:1.65}.hero{padding:40px var(--gutter) 56px;position:relative;isolation:isolate;background:transparent}.hero-eyebrow{max-width:32ch;color:var(--muted);margin-bottom:var(--space-4)}.hero-layout{display:grid;gap:var(--space-4)}h1{font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(78px,22.5vw,168px);line-height:.96;letter-spacing:-.025em;font-weight:900}.headline-mask{display:block;padding-bottom:.04em}.headline-mask>span{display:block}.headline-mask:last-child{color:var(--accent)}.headline-mask>.work-word{position:relative;display:inline-block;color:var(--accent)}@supports ((background-clip: text) or (-webkit-background-clip: text)){.work-word:after{content:attr(data-word);position:absolute;inset:0;pointer-events:none;color:transparent;background-image:linear-gradient(110deg,var(--paper) 0%,var(--lilac) 25%,var(--accent) 48%,var(--accent) 76%);background-size:180% 100%;background-clip:text;-webkit-background-clip:text;opacity:0;animation:work-mask 1.05s cubic-bezier(.25,.65,.3,1) .12s 1 both}}@keyframes work-mask{0%{clip-path:inset(0 100% 0 0);background-position:100% 50%;opacity:1}45%{clip-path:inset(0 0 0 0);opacity:1}75%{clip-path:inset(0 0 0 0);background-position:0% 50%;opacity:1}to{clip-path:inset(0 0 0 0);background-position:0% 50%;opacity:0}}.hero-aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.hero-description{font-size:var(--text-body);line-height:1.75;max-width:35ch;color:var(--muted)}.action-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;font-size:var(--text-control);font-weight:600;line-height:1.4;overflow-wrap:anywhere}.action-link--primary{padding:16px 26px;border:1px solid var(--accent);border-radius:3px;background:var(--accent);color:var(--ink);box-shadow:inset 0 1px #ffffff60;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.action-link--primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px rgb(var(--violet-rgb) / .15)}.action-link--primary:active{transform:translateY(0);box-shadow:none}.action-link--primary:focus-visible{outline-offset:5px;outline-width:3px}.action-link--secondary{padding:10px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:var(--line);transition:text-decoration-color .2s ease}.action-link--secondary:hover{text-decoration-color:currentColor;text-decoration-thickness:2px}.section-pad{padding:var(--section-start, var(--section-space)) var(--gutter) var(--section-space)}.work-section{color:var(--paper);background:transparent}.section-heading{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.section-heading h2{font-size:var(--text-section);letter-spacing:-1.5px;font-weight:600;line-height:1.12;max-width:14ch}.section-heading>p{font-size:var(--text-secondary);color:var(--muted);line-height:1.6;max-width:30ch}.projects-grid{display:grid;gap:56px}.project-card{min-width:0;opacity:1;transform:none;transition:opacity .65s ease,transform .65s ease}.project-card.reveal-pending{opacity:0;transform:translateY(22px)}.project-cover{position:relative;width:100%;aspect-ratio:1.35;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:20px}.project-cover:has(img){padding:0;display:block}.project-cover img{height:100%;object-fit:cover}.cover-bakery{background:#47382d;color:#f7e4bc}.cover-draw{background:#202636;color:var(--paper)}.cover-top,.cover-bottom{position:relative;z-index:1;font-size:12px;line-height:1.5}.cover-top{letter-spacing:.5px}.cover-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1)}.cover-art{display:flex;align-items:center;justify-content:center;flex:1;position:relative;min-height:150px;padding:20px 0}.cover-name{position:relative;z-index:1;text-align:center;overflow-wrap:anywhere}.cover-bakery .cover-name{font-family:Georgia,serif;font-style:italic;font-size:clamp(46px,8vw,78px);letter-spacing:-3px;line-height:1.2}.cover-name>.cover-subtitle{display:block;font-family:Arial,sans-serif;font-size:12px;font-style:normal;letter-spacing:.5px;margin-top:14px;line-height:1.5}.cover-orbit{position:absolute;width:75%;height:93%;border:1px solid #c6a77970;border-radius:50%;transform:rotate(-17deg)}.cover-bakery .cover-orbit:after{content:"";position:absolute;inset:8px;border:1px solid #c6a77940;border-radius:50%}.cover-draw .cover-name{font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(32px,4vw,58px);letter-spacing:-1px;line-height:1.2}.cover-draw .cover-orbit{border-radius:0;transform:rotate(-12deg);border-color:#82959865;width:70%;height:65%}.project-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;font-size:var(--text-micro);line-height:1.6;color:var(--muted);margin:24px 0 14px}.project-status{display:flex;gap:var(--space-1);align-items:baseline}.project-status i{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.project-card h3{font-family:Georgia,serif;font-size:28px;font-weight:400;letter-spacing:-.6px;line-height:1.2;margin-bottom:var(--space-2)}.project-summary{font-size:var(--text-body);line-height:1.7;max-width:48ch}.project-note{font-size:var(--text-secondary);line-height:1.75;color:var(--muted);margin-top:var(--space-2);max-width:54ch}.project-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:20px}.tags{list-style:none;display:flex;gap:var(--space-1);padding:0;flex-wrap:wrap;font-size:var(--text-micro)}.tags li{border:1px solid var(--line);padding:5px 10px;border-radius:20px}.closing-grid .eyebrow{color:var(--muted);margin-bottom:var(--space-3)}.closing-grid h2{font-family:Georgia,Times New Roman,serif;font-size:var(--text-section);font-weight:400;line-height:1.12;letter-spacing:-1.4px;max-width:15ch;overflow-wrap:break-word}.process-list{list-style:none;margin:0;padding:0;display:grid;gap:36px}.process-label{margin-bottom:28px;color:var(--muted)}.process-list li{min-width:0}.process-list h2{font-family:Georgia,serif;font-size:clamp(32px,3.2vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.7px;margin-bottom:16px}.process-list p{font-size:var(--text-secondary);line-height:1.75;color:var(--muted);max-width:40ch}.closing-grid{--section-start: var(--section-join);display:grid;grid-template-columns:minmax(0,1fr)}.about-section{display:grid;gap:28px}.body-copy{color:var(--muted);font-size:var(--text-body);line-height:1.8;max-width:55ch}.body-copy+.body-copy{margin-top:var(--space-3)}.profile-section{background:transparent}.profile-heading{margin-bottom:40px}.profile-heading h2{max-width:22ch}.resume-link{margin-top:var(--space-4)}.contact-section{position:relative;display:grid;gap:36px}.contact-section h2{max-width:12ch;margin-bottom:var(--space-3)}.contact-section .body-copy{max-width:38ch}.site-footer{padding:24px var(--gutter);display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:center;color:var(--muted);font-size:var(--text-micro);line-height:1.6}.site-footer>span:nth-child(2){display:none}.site-footer a{min-height:48px;display:flex;align-items:center;font-size:15px}.site-footer a:hover{color:var(--accent)}.contact-channels{list-style:none;padding:0;margin:0;width:100%;min-width:0}.channel-link{display:flex;align-items:center;gap:18px;min-height:88px;padding:20px 12px;border-radius:2px;transition:background-color .2s ease}.channel-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;color:var(--muted);border:1px solid var(--line-soft);border-radius:6px;transition:color .2s ease,background-color .2s ease}.channel-icon svg{width:24px;height:24px}.channel-copy{display:flex;flex-direction:column;min-width:0;gap:4px}.channel-label{font-size:23px;font-family:Georgia,serif;line-height:1.3}.channel-detail{font-size:15px;color:var(--muted);overflow-wrap:anywhere;line-height:1.7}.channel-link:hover,.channel-link:focus-visible{background:var(--accent-wash)}.channel-link:hover .channel-icon,.channel-link:focus-visible .channel-icon{color:var(--ink);background:var(--accent)}.channel-link:hover .channel-label,.channel-link:focus-visible .channel-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}@media(min-width:768px){.hero{padding-top:56px;padding-bottom:64px}.hero-eyebrow{max-width:none}.hero-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:var(--space-4)}h1{font-size:clamp(92px,12vw,156px)}.section-heading{flex-direction:row;align-items:end;justify-content:space-between;gap:var(--space-4)}.section-heading>p{max-width:24ch}.process-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.about-section{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-5)}.site-footer>span:nth-child(2){display:block}}@media(min-width:1000px){main{margin-left:var(--rail)}.site-header{position:fixed;inset:0 auto 0 0;width:var(--rail);padding:28px 24px;display:flex;flex-direction:column;align-items:flex-start;overflow-y:auto}.menu-toggle{display:none}.main-navigation,.menu-open .main-navigation{display:flex;position:static;flex-direction:column;gap:2px;padding:0;border:0;margin-top:40px;margin-bottom:var(--space-4);width:100%}.navigation-links,.menu-open .navigation-links{display:contents}.language-selector{margin-top:12px}.main-navigation a{font-size:15px;gap:12px}.sidebar-note{display:block;color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:var(--space-4)}.tiny-rule{display:none}.hero-layout{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:40px}h1{font-size:clamp(100px,10.2vw,168px)}.hero-aside{align-self:center}.hero-description{max-width:34ch}.projects-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-4)}.project-cover{aspect-ratio:1.6;padding:24px}.project-meta{align-items:flex-start;flex-direction:column}.contact-section{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:var(--space-5)}}@media(min-width:1440px){.hero-layout{gap:64px}.project-cover{aspect-ratio:1.8}.project-meta{flex-direction:row}.cover-draw .cover-name{font-size:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project-card.reveal-pending{opacity:1;transform:none}.action-link--primary:hover{transform:none}}
