@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/newsreader-400-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/newsreader-400-latin.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:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/newsreader-italic-latin-ext.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/newsreader-italic-latin.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}.section-kicker{align-items:center;gap:12px;display:flex}.section-kicker svg{flex:none;width:20px;height:20px}.approach .bio-section-title{letter-spacing:-.065em;max-width:800px;margin-bottom:65px;font-size:clamp(40px,4.8vw,75px);font-weight:450;line-height:1.08}.bio-layout{--bio-gap:clamp(40px, 6vw, 96px);align-items:flex-start;gap:var(--bio-gap);display:flex}.bio-main{flex-direction:column;flex:1;gap:clamp(38px,4vw,60px);min-width:0;display:flex}.bio-portrait{flex:0 0 34%;max-width:430px;margin:0;padding-top:9px}.bio-photo-frame{border:1px solid var(--line);width:100%;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;margin-right:12px;padding:12px;display:block;position:relative}.bio-photo-frame:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.bio-photo-frame:after{content:"";border:1px solid var(--line);z-index:-1;position:absolute;inset:12px -12px -12px 12px}.bio-photo-stack{display:block;position:relative}.bio-photo-stack img+img{opacity:0;position:absolute;inset:0}:root[data-portrait] .bio-photo-stack img{opacity:0}:root[data-portrait="0"] .bio-photo-stack img:first-of-type,:root[data-portrait="1"] .bio-photo-stack img:nth-of-type(2),:root[data-portrait="2"] .bio-photo-stack img:nth-of-type(3),:root[data-portrait="3"] .bio-photo-stack img:nth-of-type(4){opacity:1}.bio-photo-stack img{aspect-ratio:4/5;object-fit:cover;object-position:50% 26%;filter:grayscale();width:100%;height:100%;transition:opacity .52s;display:block}:root[data-motion-paused] .bio-photo-stack img{transition:none}.bio-frame-corner{border-color:var(--accent);pointer-events:none;border-style:solid;width:30px;height:30px;position:absolute}.bio-frame-corner--top{border-width:1px 0 0 1px;top:-1px;left:-1px}.bio-frame-corner--bottom{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.bio-story{flex-wrap:wrap;align-items:stretch;gap:clamp(26px,3vw,46px);display:flex}.bio-chapter{flex:1 1 0;min-width:0}.bio-chapter h3{letter-spacing:-.04em;align-items:center;gap:16px;margin-bottom:19px;font-size:clamp(19px,2vw,26px);font-weight:550;line-height:1.3;display:flex}.bio-chapter h3 svg{width:24px;height:24px;color:var(--accent);flex:none}.bio-chapter-title{text-wrap:balance}.bio-title-accent{color:var(--accent);font-size:1.2em}.bio-paragraphs{max-width:590px}.bio-paragraphs p{color:var(--muted);margin-bottom:20px;font-size:15px;line-height:1.9}.bio-paragraphs p:last-child{margin-bottom:0}.bio-paragraphs strong{color:var(--text);font-weight:650}.bio-more{flex-basis:100%;margin:4px 0 0}.bio-layout--compact .bio-portrait{flex-basis:31%;max-width:350px}.bio-personal{max-width:640px;padding-top:9px}.bio-personal-heading{letter-spacing:-.04em;align-items:center;gap:14px;margin-bottom:17px;font-size:clamp(17px,1.6vw,21px);font-weight:550;line-height:1.3;display:flex}.bio-personal-heading svg{width:21px;height:21px;color:var(--accent);flex:none}.bio-personal-paragraphs p{color:var(--muted);margin-bottom:17px;font-size:14px;line-height:1.85}.bio-personal-paragraphs p:last-child{margin-bottom:0}.bio-personal-paragraphs strong{color:var(--text);font-weight:650}.area-icon{width:24px;height:24px;color:var(--accent);flex:none}@media (width<=1000px){.bio-layout{--bio-gap:35px}.bio-portrait,.bio-layout--compact .bio-portrait{flex-basis:35%}.bio-story{flex-direction:column;gap:0}}@media (width<=700px){.approach .bio-section-title{margin-bottom:38px;font-size:46px}.bio-layout{flex-direction:column;gap:44px}.bio-portrait,.bio-layout--compact .bio-portrait{flex:none;width:100%;max-width:430px}.bio-layout--compact .bio-portrait{max-width:340px}.bio-personal{padding-top:0}.bio-chapter h3{gap:14px;font-size:21px}.bio-chapter{margin-bottom:25px;padding-bottom:25px}.bio-paragraphs p{font-size:14px;line-height:1.85}}:root{font-synthesis:none;color:#f3f3f3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#161616;--surface:#222;--text:#f3f3f3;--muted:#aaa;--accent:#25b9ed;--line:#383838;--hero:#101010;--hero-gradient:linear-gradient(120deg, #101010 15%, #1b1b1b 70%, #141414);scroll-behavior:smooth;background:#161616;font-family:Manrope,Arial,sans-serif}html{overscroll-behavior-x:none;max-width:100%;overflow-x:hidden}:root[data-theme=light]{color:#202020;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f6;--surface:#ececec;--text:#202020;--muted:#626262;--accent:#005874;--line:#cecece;--hero:#eee;--hero-gradient:linear-gradient(120deg, #f4f4f4 15%, #e8e8e8 70%, #eee);background:#f6f6f6}*{box-sizing:border-box}body{width:100%;max-width:100%;margin:0;overflow-x:clip}@supports not (overflow:clip){body{overflow-x:hidden}}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}p{line-height:1.75}h1,h2,h3,p{margin-top:0}::selection{background:var(--accent,#25b9ed);color:var(--accent-contrast,#071014)}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.hidden-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--accent);color:var(--bg);padding:14px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{z-index:10;background:var(--bg);justify-content:space-between;align-items:center;gap:20px;height:100px;padding-inline:clamp(24px,4.5vw,80px);display:flex;position:relative}.brand{align-items:center;gap:10px;min-height:44px;display:flex}.brand svg{width:43px;height:43px;fill:var(--accent);stroke:none}.brand>span{letter-spacing:-.08em;font-size:20px;font-weight:700}.nav-dock{border:1px solid var(--line);background:var(--surface);border-radius:40px;gap:7px;padding:8px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-item{border-radius:25px;justify-content:center;align-items:center;min-width:48px;min-height:44px;transition:background .2s,transform .2s;display:flex;position:relative}.nav-item:not(.active):hover{background:var(--line);transform:translateY(-2px)}.nav-label{z-index:3;white-space:nowrap;background:var(--accent);color:var(--bg);opacity:0;pointer-events:none;border-radius:3px;padding:6px 12px;font-size:12px;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 16px);transform:translateY(-3px)}.nav-item:is(:hover,:focus-visible){z-index:3}.nav-item:is(:hover,:focus-visible) .nav-label{opacity:1;transform:none}.header-controls{align-items:center;gap:12px;display:flex}.language-control{letter-spacing:.1em;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:12px;display:flex}.control-rule{background:var(--line);width:1px;height:18px}#theme-control{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:flex}#theme-control:hover{background:var(--surface);transform:rotate(-12deg)}.eyebrow{letter-spacing:.16em;color:var(--accent);font-size:10px;font-weight:600;line-height:1.6}.hero{isolation:isolate;background:var(--hero);min-height:min(850px,100svh - 100px);position:relative;overflow:hidden}.hero-portrait{z-index:-1;position:absolute;inset:0 0 0 39%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 28% 85%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 28% 85%,#0000 100%)}.hero-portrait img{object-fit:cover;object-position:50% 24%;opacity:.89;width:100%;height:100%;-webkit-mask-image:linear-gradient(0deg,#0000 0,#000 16% 88%,#0000 100%);mask-image:linear-gradient(0deg,#0000 0,#000 16% 88%,#0000 100%)}.hero-portrait:after{content:"";background:linear-gradient(90deg, var(--hero) 0, transparent 55%);position:absolute;inset:0}:root[data-theme=light] .hero-portrait img{opacity:.78;mix-blend-mode:multiply}.hero-content{max-width:65%;padding:clamp(45px,5.5vw,95px) clamp(24px,4.5vw,80px) 110px;position:relative}.hero-meta{align-items:center;gap:25px;margin-bottom:40px;display:flex}.hero h1{letter-spacing:-.075em;margin-bottom:35px;font-size:clamp(72px,9vw,148px);font-weight:650;line-height:.9}.hero h1 span{display:block}.hero h1 span+span{letter-spacing:-.075em;margin-top:12px;font-size:.73em}.hero-intro{letter-spacing:-.04em;max-width:475px;margin-bottom:22px;font-size:clamp(23px,2.6vw,38px);line-height:1.3}.hero-intro em{color:var(--accent);font-size:1.3em}.hero-summary{text-wrap:pretty;max-width:365px;color:var(--muted);margin-bottom:36px;font-size:13px;line-height:1.8}.text-link{border-bottom:1px solid var(--accent);min-height:44px;color:var(--accent);align-items:center;gap:38px;padding-block:12px;font-size:13px;font-weight:600;transition:gap .25s;display:inline-flex}.text-link:hover{gap:48px}.link-arrow,.scroll-arrow{stroke-width:1.7px;flex:none;width:23px;height:23px;display:block}.scroll-cue{letter-spacing:.12em;color:var(--muted);align-items:center;gap:12px;min-height:44px;font-size:10px;display:flex;position:absolute;bottom:28px;left:clamp(24px,4.5vw,80px)}.scroll-cue .scroll-arrow{width:22px;height:22px}.content-section{padding:clamp(60px,8vw,130px) clamp(24px,6vw,110px)}.approach>.eyebrow{margin-bottom:40px}.approach h2{letter-spacing:-.065em;max-width:500px;font-size:clamp(40px,4.8vw,75px);font-weight:450;line-height:1.08}.areas{padding-top:70px}.site-footer{background:var(--surface);padding:65px clamp(24px,4.5vw,80px) 28px}.footer-heading{justify-content:space-between;align-items:baseline;gap:30px;display:flex}.footer-heading h2{letter-spacing:-.05em;font-size:clamp(26px,3.8vw,55px);font-weight:400}.footer-heading em{color:var(--accent);font-size:1.28em}.footer-email{letter-spacing:-.065em;justify-content:space-between;align-items:center;gap:20px;padding-block:12px 55px;font-size:clamp(28px,7.2vw,115px);line-height:1.25;transition:color .2s;display:flex}.footer-email:hover{color:var(--accent)}.footer-email span{font-size:.6em}.footer-bottom{background-image:linear-gradient(90deg, transparent 0%, var(--line) 18%, color-mix(in srgb, var(--text) 38%, transparent) 50%, var(--line) 82%, transparent 100%);color:var(--muted);background-position:0 0;background-repeat:no-repeat;background-size:100% 1px;justify-content:space-between;align-items:center;gap:30px;padding-top:25px;font-size:10px;display:flex}.footer-bottom p{margin:0}.social-links,.legal-links{align-items:center;gap:18px;display:flex}.social-links a{min-width:44px;min-height:44px;color:var(--text);justify-content:center;align-items:center;transition:transform .2s,color .2s;display:flex}.social-links a:hover{color:var(--accent);transform:translateY(-3px)}.legal-links a{align-items:center;min-height:44px;display:flex}.legal-links a:hover{color:var(--accent)}.back-top{border:1px solid var(--line);background:var(--surface);z-index:15;opacity:0;visibility:hidden;pointer-events:none;width:48px;height:48px;transition:opacity .11s ease, transform .15s var(--motion-ease), visibility .11s ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:25px;right:25px;transform:translateY(10px)}.back-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}.back-top.is-visible.is-scrolling{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px)}.back-top:hover{background:var(--accent);color:var(--bg)}.inner-page{min-height:65svh}.inner-page>.eyebrow{margin-bottom:35px}.inner-page>h1{letter-spacing:-.065em;max-width:1000px;margin-bottom:60px;font-size:clamp(45px,7.5vw,115px);font-weight:450;line-height:1.05}.inner-lead,.policy-copy{max-width:680px;color:var(--muted);font-size:18px}.contact-email{letter-spacing:-.04em;font-size:clamp(21px,4vw,52px)}.outline-button{border:1px solid var(--accent);min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:14px 20px;font-weight:600;display:inline-flex}.policy-draft{border-top:1px solid var(--line);padding-top:25px;font-size:13px}.hero-actions{flex-wrap:wrap;align-items:center;gap:25px;display:flex}.footer-phone,.phone-link{min-height:44px;color:var(--accent);align-items:center;font-size:14px;display:inline-flex}.footer-phone{margin-bottom:25px}.contact-form{max-width:650px;margin-top:35px}.form-fields{gap:25px;display:flex}.form-fields>div{flex:1}.contact-form label{letter-spacing:.07em;color:var(--muted);margin-bottom:10px;font-size:11px;font-weight:600;display:block}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);width:100%;min-height:44px;color:var(--text);font:inherit;resize:vertical;background:0 0;border-radius:0;margin:0 0 28px;padding:12px 0;font-size:16px;display:block}.contact-form :is(input,textarea):focus{border-color:var(--accent);box-shadow:0 1px 0 var(--accent);outline:none}.form-note{color:var(--muted);max-width:550px;font-size:11px;line-height:1.7}.form-status{color:var(--accent);margin-top:16px;font-size:12px}.contact-dialog{background:var(--bg);width:min(680px,100% - 32px);max-height:calc(100svh - 40px);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:42px;overflow:auto}.contact-dialog h2{letter-spacing:-.055em;max-width:460px;font-size:38px;font-weight:450;line-height:1.1}.contact-dialog .eyebrow{padding-right:32px}.dialog-close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:29px;position:absolute;top:12px;right:12px}.dialog-open{overflow:hidden}@media (width<=700px){.hero{min-height:calc(100svh + 190px)}.hero-portrait{inset:57% -4% 0 2%}.hero-actions{gap:15px}.hero-actions .text-link{gap:15px;font-size:11px}.contact-dialog{padding:35px 23px 25px}.contact-dialog h2{font-size:32px}.form-fields{display:block}.contact-form input{margin-bottom:22px}}@media (width>=1500px){.hero-content{max-width:60%}.hero-portrait{left:43%}.hero-intro{max-width:560px}}@media (width<=1100px){.site-header{padding-inline:28px}.nav-dock{gap:2px;padding-inline:6px}.nav-item{min-width:44px}.brand>span{display:none}.hero-content{max-width:67%;padding-top:60px}.hero-meta{gap:16px;margin-bottom:32px}.hero h1{font-size:clamp(72px,10vw,110px)}.hero-intro{max-width:360px;font-size:28px}.hero-summary{max-width:310px}.footer-bottom{flex-wrap:wrap}.rights{display:none}.hero-portrait{left:34%}}@media (width<=700px){.site-header{height:80px;padding-inline:22px}.brand>span{display:block}.brand svg{width:34px;height:34px}.header-controls{gap:4px}.nav-dock{top:auto;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:25;gap:5px;padding:7px 9px;position:fixed;box-shadow:0 4px 18px #0002}.nav-item{min-width:44px;min-height:44px}.nav-label{top:auto;bottom:calc(100% + 12px)}.nav-item:not(.active):hover{transform:none}.hero{min-height:calc(100svh + 100px)}.hero-content{max-width:100%;padding:45px 24px}.hero-meta{justify-content:space-between;gap:10px;margin-bottom:28px}.eyebrow{font-size:9px}.hero h1{margin-bottom:24px;font-size:clamp(70px,21vw,132px);line-height:.92}.hero h1 span+span{letter-spacing:-.065em;font-size:.59em}.hero-intro{max-width:88%;margin-bottom:18px;font-size:27px}.hero-summary{max-width:83%;margin-bottom:16px;font-size:12px}.hero-portrait{inset:47% -4% 0 2%;-webkit-mask-image:linear-gradient(#0000,#000 12% 80%,#0000);mask-image:linear-gradient(#0000,#000 12% 80%,#0000)}.hero-portrait img{object-position:50% 24%;-webkit-mask-image:linear-gradient(#0000,#000 12% 80%,#0000);mask-image:linear-gradient(#0000,#000 12% 80%,#0000)}.hero-portrait:after{background:linear-gradient(0deg, transparent 75%, var(--hero) 100%)}.scroll-cue{bottom:12px;left:24px}.content-section{padding:70px 24px}.approach>.eyebrow{margin-bottom:28px}.approach h2{max-width:340px;margin-bottom:10px;font-size:48px}.footer-heading{display:block}.footer-heading h2{font-size:33px}.site-footer{padding:50px 24px calc(110px + env(safe-area-inset-bottom))}.footer-email{gap:10px;padding-bottom:35px;font-size:clamp(25px,7.6vw,48px)}.footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}.legal-links{border-top:1px solid var(--line);width:100%;margin-top:4px;padding-top:18px}.social-links{gap:12px}.back-top{right:18px;bottom:calc(82px + env(safe-area-inset-bottom));width:44px;height:44px}.inner-page>h1{margin-bottom:35px;font-size:52px}.inner-lead,.policy-copy{font-size:16px}}@media (width<=360px){.nav-dock{gap:1px;padding-inline:7px}.hero h1{font-size:73px}.hero h1 span+span{font-size:.56em}.hero-meta{gap:5px}.hero-meta .eyebrow{font-size:8px}.hero-intro,.footer-email{font-size:25px}.inner-page>h1{font-size:43px}}.reading-progress{z-index:40;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.reading-progress span{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.form-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}html:not([data-js]) .contact-form{display:none}.form-fallback{margin-top:8px}.outline-button:disabled{opacity:.55;cursor:wait}.social-links a:hover{color:var(--text);background:var(--accent)}.social-links a{border-radius:50%}.social-links svg{fill:currentColor;stroke:none;width:20px;height:20px}.social-icon{width:20px;height:20px;display:block}.contact-dialog::backdrop{background:#000c}.site-footer{background:linear-gradient(160deg, var(--surface), var(--bg))}body[data-page=home] .footer-email{padding-block:12px 38px;font-size:clamp(24px,4.2vw,64px)}.phone-link{gap:12px}.phone-link:before{content:"";background:currentColor;width:21px;height:21px;display:block;-webkit-mask:url(/brand/phone.svg) 50%/contain no-repeat;mask:url(/brand/phone.svg) 50%/contain no-repeat}::view-transition-old(root){animation-duration:.36s}::view-transition-new(root){animation-duration:.36s}@supports (animation-timeline:scroll()){.reading-progress span{animation:linear both reading-progress;animation-timeline:scroll(root)}@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reading-progress span{animation:linear both reading-progress!important;animation-timeline:scroll(root)!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@supports (animation-timeline:scroll()){@media (width>=1101px) and (prefers-reduced-motion:no-preference){.hero-portrait img{animation:linear both portrait-drift;animation-timeline:scroll(root);animation-range:0 800px}@keyframes portrait-drift{0%{transform:translateY(0)scale(1.02)}to{transform:translateY(22px)scale(1.02)}}}}:root{--motion-ease:cubic-bezier(.22, .68, .2, 1);--motion-short:.26s;--motion-reveal:.42s}body{isolation:isolate;background:var(--bg);position:relative}body:before{content:"";z-index:-1;opacity:.045;pointer-events:none;background:url(/images/grain.svg);position:absolute;inset:0}.site-header,.site-footer,.approach,.areas{isolation:isolate}.nav-dock{gap:12px;padding-inline:16px}.nav-item{transition:background var(--motion-short), color var(--motion-short)}.nav-item:not(.active):hover{transform:none}@media (hover:hover) and (pointer:fine){.nav-item:hover svg{transform:translateY(-2px)rotate(-5deg)scale(1.08)}.brand svg{transition:transform var(--motion-reveal) var(--motion-ease)}.brand:hover svg{transform:rotate(-6deg)}}.social-links a{transition:transform .35s var(--motion-ease), color .35s ease;background:0 0;border-radius:0;position:relative}.social-links a:before{content:none}.social-links a:is(:hover,:focus-visible){background:0 0;transform:translateY(-2px)}.social-icon{transition:none}.social-links a:is(:hover,:focus-visible) .social-icon{transform:none}@media (width<=1100px){.nav-dock{gap:7px;padding-inline:10px}}@media (width<=700px){.nav-dock{gap:6px;padding-inline:9px}body:before{opacity:.035}}@media (width<=360px){.nav-dock{gap:1px;padding-inline:7px}}@media (prefers-reduced-motion:reduce){.nav-item svg,.brand svg,.social-icon,.area-icon,.area-toggle{transform:none!important}}.gallery-photo{flex:0 0 46.5%;min-width:0;margin:0}.gallery-open{background:var(--surface);display:block;position:relative;overflow:hidden}.gallery-open>img{width:100%;height:auto;transition:transform .65s var(--motion-ease);display:block}.gallery-open:is(:hover,:focus-visible)>img{transform:scale(1.025)}.gallery-photo figcaption{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding-top:18px;font-size:13px;display:flex}.gallery-photo figcaption svg{width:18px;height:18px;color:var(--accent)}.photo-lightbox{--lightbox-gutter:58px;--lightbox-caption:36px;--lightbox-card-line:#2a2a2a;--lightbox-card-fill:#161616e6;--lightbox-card-ink:#9a9a9a;border:1px solid var(--line);background:var(--bg);width:min(1100px,100vw - 40px);max-height:calc(100svh - 32px);color:var(--text);padding:18px 24px;overflow:auto}.photo-lightbox::backdrop{background:#000e}.photo-lightbox:focus,.photo-lightbox:focus-visible{outline:none}.lightbox-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;display:flex}.lightbox-header h2{color:var(--muted);margin:0;font-size:13px;font-weight:500}.photo-lightbox button{border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;transition:background var(--motion-short), color var(--motion-short);background:0 0;flex:none;justify-content:center;align-items:center;display:flex}.photo-lightbox button:hover{background:var(--accent);color:var(--bg)}.photo-lightbox button:disabled{opacity:.3;cursor:default;color:var(--muted);background:0 0}.lightbox-header button{border:0;font-size:27px}.lightbox-figure{margin:0}.lightbox-figure>img{object-fit:contain;touch-action:pan-y pinch-zoom;width:100%;height:calc(100svh - 220px);min-height:160px;display:block}.lightbox-figure>img[aria-busy=true]{opacity:.25}.lightbox-figure figcaption{justify-content:space-between;gap:20px;padding-block:15px;font-size:12px;display:flex}.lightbox-controls{justify-content:space-between;align-items:center;gap:20px;display:flex}.lightbox-status{max-width:70%;color:var(--muted);text-align:center;margin:0;font-size:10px}.photo-lightbox[open],.contact-dialog[open]{animation:dialog-entry .26s var(--motion-ease)}@keyframes dialog-entry{0%{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.gallery-photo{flex-basis:100%}.gallery-photo:nth-child(2n){padding-top:0}.photo-lightbox{width:calc(100vw - 20px);max-height:calc(100svh - 20px);padding:12px}.lightbox-figure>img{height:calc(100svh - 210px)}}@media (prefers-reduced-motion:reduce){.gallery-open>img{transform:none!important}}.site-header{z-index:35;background:0 0;border:0;position:relative}.nav-dock{background:linear-gradient(135deg, #ffffff12, transparent 45%, #ffffff06), color-mix(in srgb, var(--surface) 92%, transparent);border-color:var(--line);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff25,0 8px 28px #0002}.eyebrow{color:var(--muted)}.brand-mark{width:44px;height:44px;transition:transform var(--motion-reveal) var(--motion-ease);border-radius:3px;display:block}.brand>span{font-weight:500}@media (hover:hover) and (pointer:fine){.brand:hover .brand-mark{transform:rotate(-5deg)}}.section-title{letter-spacing:-.065em;max-width:850px;margin:24px 0 38px;font-size:clamp(40px,5vw,72px);font-weight:450;line-height:1.1}.bio-portrait{flex-basis:25%;max-width:270px}.bio-chapter :is(h2,h3){letter-spacing:-.04em;align-items:center;gap:16px;max-width:none;margin-bottom:19px;font-size:clamp(19px,2vw,26px);font-weight:550;line-height:1.3;display:flex}.bio-chapter :is(h2,h3) svg{width:24px;height:24px;color:var(--accent);flex:none}.gallery-photo{flex:0 0 30%;max-width:none;padding-top:0}.gallery-photo:nth-child(8n+1){flex-basis:38%}.gallery-photo:nth-child(8n+2){flex-basis:24%;margin-top:7vw}.gallery-photo:nth-child(8n+3){flex-basis:30%;margin-top:2vw}.gallery-photo:nth-child(8n+4){flex-basis:25%;margin-top:5vw}.gallery-photo:nth-child(8n+5){flex-basis:40%}.gallery-photo:nth-child(8n+6){flex-basis:27%;margin-top:6vw}.gallery-photo:nth-child(8n+7),.gallery-photo:nth-child(8n+8){flex-basis:46%}.gallery-photo:nth-child(8n+8){margin-top:5vw}.gallery-open{aspect-ratio:auto}.gallery-open>img{object-fit:contain;width:100%;height:auto}@media (width<=1000px){.bio-portrait{flex-basis:29%;max-width:240px}.gallery-photo,.gallery-photo:nth-child(n){flex-basis:46%;margin-top:0}.gallery-photo:nth-child(2n){margin-top:6vw}}@media (width<=700px){.site-header{align-items:flex-start;height:132px;padding-top:14px}.brand-mark{width:36px;height:36px}.nav-dock{gap:6px;padding:7px 9px;position:absolute;top:70px;bottom:auto}.section-title{font-size:42px}.bio-portrait{flex:none;width:min(100%,240px);max-width:240px}.bio-chapter :is(h2,h3){gap:14px;font-size:21px}.gallery-photo,.gallery-photo:nth-child(n){flex-basis:47%;max-width:none;margin-top:0;padding-top:0}.gallery-photo:nth-child(2n){margin-top:28px}.gallery-photo figcaption{align-items:flex-start;gap:8px;padding-top:12px;font-size:11px;line-height:1.5}.gallery-photo figcaption svg{flex:none;width:15px;height:15px}.back-top{bottom:20px}.site-footer{padding-bottom:40px}}@media (width<=360px){.nav-dock{gap:1px;padding-inline:7px}.section-title{font-size:36px}.approach .bio-section-title{font-size:38px}}@media (prefers-reduced-motion:reduce){.brand-mark{transform:none!important}}:is(.contact-dialog,.photo-lightbox,.policy-dialog,.resume-dialog)[open].is-closing{pointer-events:none;animation:.32s cubic-bezier(.4,0,.2,1) both popup-exit}.photo-lightbox[open].is-closing{animation-duration:.42s}:is(.contact-dialog,.photo-lightbox,.policy-dialog,.resume-dialog)[open].is-closing::backdrop{animation:.32s both popup-backdrop-exit}.photo-lightbox[open].is-closing::backdrop{animation-duration:.42s}:is(.contact-dialog,.photo-lightbox,.policy-dialog,.resume-dialog)[open].is-closing :is(.dialog-close,[data-lightbox-close]){animation:.26s cubic-bezier(.4,0,.2,1) both popup-close-exit}@keyframes popup-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.988)}}@keyframes popup-backdrop-exit{0%{opacity:1}to{opacity:0}}@keyframes popup-close-exit{0%{opacity:1;transform:rotate(0)scale(1)}to{opacity:0;transform:rotate(75deg)scale(.72)}}@media (prefers-reduced-motion:reduce){:is(.contact-dialog,.photo-lightbox,.policy-dialog,.resume-dialog).is-closing,:is(.contact-dialog,.photo-lightbox,.policy-dialog,.resume-dialog).is-closing::backdrop,:is(.contact-dialog,.photo-lightbox,.policy-dialog,.resume-dialog).is-closing :is(.dialog-close,[data-lightbox-close]){animation:none}}.eyebrow{letter-spacing:.12em;font-size:12px}.hero-summary{font-size:15px;line-height:1.8}.scroll-cue{font-size:12px}.footer-bottom{font-size:13px;line-height:1.7}.legal-links{gap:22px}.gallery-photo figcaption{font-size:13px;line-height:1.6}.contact-form label{letter-spacing:.03em;font-size:13px}.form-note{font-size:13px;line-height:1.75}.form-status{font-size:14px}.lightbox-status,.lightbox-figure figcaption{font-size:12px}:root{--section-depth:#101010}:root[data-theme=light]{--section-depth:#ececec}.approach,.one-page-section{isolation:isolate;background:linear-gradient(145deg, var(--bg), var(--section-depth));position:relative}.one-page-section:nth-of-type(2n){background:linear-gradient(25deg, var(--section-depth), var(--bg))}.approach:before,.one-page-section:before{content:"";z-index:-1;opacity:.025;pointer-events:none;background:url(/images/grain.svg);position:absolute;inset:0}.hero,:root[data-theme=light] .hero{background:var(--hero-gradient)}.hero-portrait{animation:hero-arrival .85s var(--motion-ease) both}@keyframes hero-arrival{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (width<=700px){.eyebrow{font-size:11px}.hero-meta .eyebrow{letter-spacing:.08em;font-size:11px}.hero-summary{font-size:14px}.hero-actions .text-link{font-size:12px}.hero,:root[data-theme=light] .hero{background:var(--hero-gradient)}}html.lenis{scroll-behavior:auto}.nav-dock{isolation:isolate;--active-x:16px;--active-y:8px;--active-width:48px;--active-height:44px}.nav-dock:before{content:"";width:var(--active-width);height:var(--active-height);z-index:-1;opacity:0;background:linear-gradient(115deg, var(--accent-start), var(--accent-end));transform:translate(var(--active-x), var(--active-y));transition:transform .48s var(--motion-ease), width .3s var(--motion-ease), height .3s var(--motion-ease), opacity .2s var(--motion-ease);border-radius:24px;position:absolute;top:0;left:0;box-shadow:inset 0 1px #ffffff24}.nav-dock[data-indicator-ready]:before{opacity:1}.nav-dock.is-folding:before{transition:opacity .12s var(--motion-ease)}.nav-dock:not([data-indicator-ready]) .nav-item.active{color:var(--accent)}.nav-item.active{color:var(--accent-contrast);box-shadow:none;background:0 0}body:not([data-page=home]) .nav-dock:before{display:none}.contact-dialog:focus,.policy-dialog:focus,.photo-lightbox:focus{outline:none}.photo-lightbox{background:0 0;border:0;width:min(1180px,100vw - 48px);height:calc(100svh - 60px);max-height:none;padding:0;overflow:visible}.photo-lightbox::backdrop{-webkit-backdrop-filter:blur(30px)brightness(.42)saturate(115%);background:#16161659}:root[data-theme=light] .photo-lightbox::backdrop{-webkit-backdrop-filter:blur(30px)brightness(1.3)saturate(105%);background:#f6f6f680}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.photo-lightbox::backdrop{background:#161616f2}:root[data-theme=light] .photo-lightbox::backdrop{background:#f6f6f6f2}}:root[data-theme=light] .photo-lightbox{--lightbox-card-line:#dcdcdc;--lightbox-card-fill:#f6f6f6e6;--lightbox-card-ink:#5e5e5e;color:#202020}.lightbox-header{margin:0}.lightbox-header h2,.photo-lightbox .lightbox-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lightbox-header button{color:#f3f3f3;background:#161616e6;border-color:#2a2a2a;border-radius:50%;font-size:22px}:root[data-theme=light] .lightbox-header button{color:#202020;background:#f6f6f6e6;border-color:#dcdcdc}.lightbox-figure{justify-content:center;align-items:center;height:100%;display:flex;position:relative}.lightbox-figure>img{object-fit:contain;width:100%;height:100%;min-height:0}.lightbox-figure figcaption{z-index:2;color:var(--muted);white-space:nowrap;justify-content:center;align-items:center;gap:14px;padding-top:12px;font-size:12px;line-height:1.35;display:flex;position:absolute;top:100%;left:0;right:0}.lightbox-figure figcaption [data-lightbox-caption],.lightbox-figure figcaption [data-lightbox-count]{border:1px solid var(--lightbox-card-line);background:var(--lightbox-card-fill);border-radius:6px;padding:4px 10px;font-size:12px}.lightbox-figure figcaption [data-lightbox-caption]{text-overflow:ellipsis;color:var(--text);font-weight:650;overflow:hidden}.lightbox-figure figcaption [data-lightbox-caption]:empty{display:none}.lightbox-figure figcaption [data-lightbox-count]{color:var(--lightbox-card-ink);font-variant-numeric:tabular-nums;flex:none}.lightbox-controls{display:contents}.lightbox-controls button{z-index:1;border:1px solid var(--line);background:var(--surface);width:44px;min-width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;translate:0 -50%}.lightbox-controls button:first-of-type{left:0}.lightbox-controls button:last-of-type{right:0}.lightbox-controls button:disabled{border-color:var(--line);color:var(--muted);opacity:.34;background:0 0}.lightbox-control-icon{width:18px;height:18px}.lightbox-control-icon--previous{transform:rotate(90deg)}.lightbox-control-icon--next{transform:rotate(-90deg)}@media (width<=700px){.photo-lightbox{width:calc(100vw - 24px);height:calc(100svh - 40px);max-height:none;padding:0}.lightbox-figure>img{height:100%}.photo-lightbox{--lightbox-gutter:50px;--lightbox-caption:32px}.lightbox-controls button{width:40px;min-width:40px;height:40px}.lightbox-figure figcaption{padding-top:10px}}.nav-item.active svg{animation:nav-arrival .62s var(--motion-ease)}@keyframes nav-arrival{0%{transform:scale(.88)rotate(-8deg)}55%{transform:scale(1.08)rotate(3deg)}to{transform:scale(1)rotate(0)}}.site-footer{--bg:#101010;--surface:#181818;--text:#f3f3f3;--muted:#aaa;--line:#3a3a3a;color:var(--text);background:linear-gradient(150deg,#101010,#080808);padding-top:80px}:root[data-theme=light] .site-footer{--bg:#cfcfcf;--surface:#c4c4c4;--text:#141414;--muted:#3f3f3f;--line:#a4a4a4;color:var(--text);background:linear-gradient(150deg,#e6e6e6 0%,#d8d8d8 46%,#cbcbcb 100%)}.footer-heading{align-items:center}.footer-heading .eyebrow{color:var(--muted);font-size:12px}.footer-heading h2{margin-bottom:0;font-size:clamp(26px,3vw,42px)}body[data-page=home] .footer-email,.footer-email{letter-spacing:-.045em;max-width:760px;padding-block:28px 45px;font-size:clamp(24px,3.2vw,44px)}.footer-bottom{gap:24px;padding-top:22px}.social-links{gap:10px}.site-footer .social-links a{color:var(--muted);border:0}.site-footer .social-links a:is(:hover,:focus-visible){color:var(--accent)}.site-footer .social-icon,:root[data-theme=light] .site-footer .social-icon{filter:none;-webkit-mask:var(--social-mark) center/contain no-repeat;mask:var(--social-mark) center/contain no-repeat;background:currentColor}.site-footer .social-links a[href*=behance\.net]{--social-mark:url(/brand/social-behance.svg)}.site-footer .social-links a[href*=instagram\.com]{--social-mark:url(/brand/social-instagram.svg)}.site-footer .social-links a[href*=linkedin\.com]{--social-mark:url(/brand/social-linkedin.svg)}.site-footer .social-links a[href*=pinterest\.com]{--social-mark:url(/brand/social-pinterest.svg)}.site-footer .social-links a[href*="open.spotify.com"]{--social-mark:url(/brand/social-spotify.svg)}.site-footer .social-links a[href*=x\.com]{--social-mark:url(/brand/social-x.svg)}@media (width<=700px){.footer-heading{display:block}.footer-heading h2{font-size:32px}body[data-page=home] .footer-email,.footer-email{padding-block:24px 32px;font-size:clamp(23px,6.3vw,32px)}.footer-bottom{gap:20px}.footer-bottom p{max-width:90%}}.gallery-photo:nth-child(2n){padding-top:0}.gallery-open{background:0 0}.gallery-open>img{filter:grayscale();transition:filter .65s ease, transform .7s var(--motion-ease), opacity .35s ease;transform-origin:50%}.gallery-open:is(:hover,:focus-visible)>img{filter:grayscale(0)}.gallery-open:focus-visible{outline-offset:8px}.gallery-open[data-quiet-focus]:focus-visible,[data-quiet-focus]:focus-visible{outline:none}.footer-contact{justify-content:space-between;align-items:center;gap:24px;padding-block:42px 56px;display:flex}.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{flex:0 760px;min-width:0;padding:0}.footer-contact .footer-phone{white-space:nowrap;flex:none;margin:0;font-size:15px;transition:color .3s}.footer-contact .footer-phone:hover{color:var(--text)}.project-index article:first-child{border-top:1px solid var(--line)}.project-index h3{transition:color .35s}@media (width<=1000px){.footer-contact{flex-direction:column;align-items:flex-start;gap:16px}.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{flex:auto;width:min(100%,760px)}}@media (width<=700px){.footer-contact{gap:14px;padding-block:24px 28px}}.hero-meta .eyebrow{align-items:center;gap:8px;display:inline-flex}.hero-meta svg{width:16px;height:16px;color:var(--muted);flex:none}.hero h1{letter-spacing:-.072em;font-variation-settings:"wght" 760;font-family:Manrope,Arial,sans-serif;font-weight:760;line-height:.94}.hero h1 span+span{font-variation-settings:"wght" 610;letter-spacing:-.068em;font-weight:610}.hero h1 i{margin-top:-.13em;padding-top:.13em}.hero h1[data-typing=true] i{will-change:clip-path, opacity, transform, filter}.project-index{margin:45px 0 70px}.project-index article{border-bottom:1px solid var(--line);gap:35px;padding-block:28px;display:flex}.project-index h3{letter-spacing:-.04em;flex:0 0 35%;margin:0;font-size:25px;font-weight:500;line-height:1.35}.project-index p{max-width:600px;color:var(--muted);margin:0;font-size:16px;line-height:1.8}.photography-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:38px;display:flex}.photography-title{margin:0}.photography-notes{flex-wrap:wrap;gap:clamp(26px,4vw,56px);width:100%;display:flex}.photography-note{flex:340px;min-width:0}.photography-note-title{letter-spacing:-.02em;align-items:center;gap:14px;margin:0 0 16px;font-size:clamp(21px,2.2vw,27px);font-weight:560;display:flex}.photography-note-title svg{width:20px;height:20px;color:var(--accent);flex:none}.photography-title-accent{color:var(--accent);font-size:1.2em}.photography-intro{max-width:620px;color:var(--muted);text-wrap:pretty;margin:0 0 14px;font-size:16px;line-height:1.75}.photography-intro:last-child{margin-bottom:0}.photography-intro strong{color:var(--text);font-weight:600}@media (width<=700px){.project-index article{flex-direction:column;gap:12px}.project-index h3{font-size:23px}.project-index p{font-size:15px}}@media (width<=800px){.photography-heading{gap:18px}.photography-intro{font-size:15px}}.section-title.editorial-title,.approach .bio-section-title.editorial-title{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(46px,5.7vw,82px);font-style:italic;font-weight:500;line-height:calc(1.1em + 20px)}@media (width<=700px){.section-title.editorial-title,.approach .bio-section-title.editorial-title{font-size:48px}}@media (width<=360px){.section-title.editorial-title,.approach .bio-section-title.editorial-title{font-size:42px}}.project-index{align-items:stretch;gap:22px;display:flex}.project-index article,.project-index article:first-child{border:1px solid var(--line);background:linear-gradient(145deg, var(--surface), var(--bg));border-radius:6px;flex-direction:column;flex:1;align-items:flex-start;gap:20px;min-width:0;padding:30px;transition:border-color .35s;display:flex}.project-index article:hover{border-color:var(--accent)}.project-index h3{flex:none;max-width:100%;font-size:25px}.project-index p{font-size:16px;line-height:1.75}.project-icon{width:28px;height:28px;color:var(--accent);transition:transform .45s var(--motion-ease);flex:none}.project-index article:hover .project-icon{transform:translateY(-2px)rotate(-3deg)}@media (width<=1000px){.project-index{gap:16px}.project-index article,.project-index article:first-child{padding:24px}.project-index h3{font-size:23px}}@media (width<=700px){.project-index{flex-direction:column;gap:16px}.project-index article,.project-index article:first-child{gap:16px;padding:26px}.project-index h3{font-size:25px}.project-index p{font-size:15px}}:root{--accent:#25b9ed;--accent-start:#25b9ed;--accent-end:#0098c6;--accent-contrast:#071014}:root[data-theme=light]{--accent:#005874;--accent-start:#005874;--accent-end:#00465e;--accent-contrast:#fff}.consult-button{isolation:isolate;background:linear-gradient(115deg, var(--accent-start), var(--accent-end));min-height:50px;color:var(--accent-contrast);transition:background .35s ease, border-color .35s ease, color .35s ease, transform .45s var(--motion-ease);border:1px solid #ffffff18;border-radius:5px;justify-content:space-between;align-items:center;gap:26px;padding:14px 22px;font-size:13px;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff12}.consult-button:hover{background:linear-gradient(115deg, var(--accent-start), var(--accent-end));border-color:var(--accent);color:var(--accent-contrast);transform:translateY(-2px)}.consult-button .link-arrow{width:22px;height:22px;transition:transform .45s var(--motion-ease)}.consult-button:hover .link-arrow{transform:translate(2px,-2px)}.hero-actions .text-link{border-color:#0000;gap:26px;font-weight:600;position:relative}.hero-actions .text-link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .45s var(--motion-ease);position:absolute;bottom:5px;left:0;transform:scaleX(.38)}.hero-actions .text-link:hover{gap:26px}.hero-actions .text-link:hover:after{transform:scaleX(1)}body:before{opacity:.08}.approach:before,.one-page-section:before{opacity:.055}.hero:before{content:"";z-index:-2;mix-blend-mode:soft-light;opacity:.38;pointer-events:none;background:url(/images/grain.svg) 0 0/180px 180px,url(/images/grain.svg) 40px 25px/360px 360px;position:absolute;inset:0}@media (width<=700px){body:before{opacity:.065}.approach:before,.one-page-section:before{opacity:.045}.consult-button{gap:20px;padding:13px 18px;font-size:12px}.hero-actions .text-link,.hero-actions .text-link:hover{gap:18px}}.section-title{font-size:clamp(38px,4.5vw,64px)}.section-title.editorial-title,.approach .bio-section-title.editorial-title{font-size:clamp(44px,5.2vw,76px)}.project-index h3{font-size:23px}.footer-heading h2{font-size:clamp(26px,2.8vw,38px)}.brand-mark{transition:filter .45s}.brand:is(:hover,:focus-visible) .brand-mark{filter:invert();transform:none}@media (width<=700px){.section-title{font-size:40px}.section-title.editorial-title,.approach .bio-section-title.editorial-title{font-size:44px}.footer-heading h2{font-size:30px}}@media (width<=360px){.section-title{font-size:36px}.section-title.editorial-title,.approach .bio-section-title.editorial-title{font-size:40px}}:root,body{overflow-anchor:none}.site-header{align-items:center;height:96px;padding-top:0}.nav-dock{z-index:35;max-width:calc(100vw - 24px);transition:top .35s var(--motion-ease);gap:10px;padding:8px 12px;position:fixed;top:18px;bottom:auto}.nav-settings{border-left:1px solid var(--line);color:var(--muted);padding-left:9px;position:relative}.nav-settings summary{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;list-style:none;transition:color .35s,background .35s;display:flex}.nav-settings summary::-webkit-details-marker{display:none}.nav-settings summary svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:21px;height:21px;transition:transform .45s var(--motion-ease)}.nav-settings summary:is(:hover,:focus-visible),.nav-settings[open] summary{color:var(--accent);background:var(--surface)}.nav-settings[open] summary svg{transform:rotate(90deg)}.nav-settings .header-controls{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:8px;padding:8px;position:absolute;top:calc(100% + 20px);right:-3px;box-shadow:0 8px 24px #0002}.nav-settings[open] .header-controls{animation:utilities-in .22s var(--motion-ease)}.language-control{border-radius:50%;font-size:13px;transition:color .35s,background .35s}.language-control:hover{color:var(--accent);background:var(--bg)}.nav-label{border:1px solid color-mix(in srgb, var(--accent-end) 72%, #000);background:linear-gradient(115deg, var(--accent-start), var(--accent-end));color:var(--accent-contrast);box-shadow:0 8px 22px color-mix(in srgb, var(--accent-end) 22%, transparent);padding:7px 11px;font-size:14px;font-weight:650;top:calc(100% + 14px);bottom:auto}@keyframes utilities-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.site-header{align-items:flex-start;height:140px;padding-top:16px}.nav-dock{gap:3px;padding:7px;top:72px}.nav-item{min-width:40px}.nav-settings{padding-left:5px}.nav-settings summary{width:40px}.nav-settings .header-controls{top:calc(100% + 14px)}.nav-label{top:auto;bottom:calc(100% + 10px)}}@media (width<=360px){.nav-dock{gap:1px;padding:6px}.nav-item{min-width:36px}.nav-settings summary{width:36px}}body.is-scrolled .nav-dock{top:18px}@supports (animation-timeline:view()){@media (width>=901px) and (prefers-reduced-motion:no-preference){.gallery-open{animation:linear both gallery-depth;animation-timeline:view();animation-range:entry exit}.bio-photo-frame{animation:linear both portrait-depth;animation-timeline:view();animation-range:entry exit}}}@keyframes gallery-depth{0%{transform:translateY(8px)}to{transform:translateY(-8px)}}@keyframes portrait-depth{0%{transform:translateY(12px)}to{transform:translateY(-12px)}}.project-index{border-block:1px solid var(--line);gap:0}.project-index article,.project-index article:first-child{border:0;border-right:1px solid var(--line);background:0 0;border-radius:0;gap:26px;padding:30px 32px 32px;position:relative}.project-index article:last-child{border-right:0}.project-index article:before{content:"";background:var(--accent);transform-origin:0;width:28px;height:1px;transition:transform .5s var(--motion-ease);position:absolute;top:-1px;left:32px}.project-index article:hover:before{transform:scaleX(1.8)}.project-index article:hover h3{color:var(--text)}.project-index h3{letter-spacing:-.045em;min-height:2.6em;font-size:25px;font-weight:450;line-height:1.3}.project-index p{max-width:34ch;margin-top:0}.project-index p strong{color:var(--text);font-weight:600}.project-index .project-detail{width:100%;margin-top:auto}.project-index .project-detail summary{font-weight:600}.project-icon{width:26px;height:26px;color:var(--muted);transition:color .4s ease, transform .5s var(--motion-ease)}.project-index article:hover .project-icon{color:var(--accent);transform:translateY(-2px)}@media (width<=1000px){.project-index article,.project-index article:first-child{padding:26px 22px}.project-index article:before{left:22px}.project-index h3{font-size:22px}}@media (width<=700px){.project-index article,.project-index article:first-child{border-right:0;border-bottom:1px solid var(--line);gap:20px;padding:26px 4px}.project-index article:last-child{border-bottom:0}.project-index article:before{left:4px}.project-index p{max-width:45ch;margin-top:0}.project-index h3{font-size:24px}}@property --cursor-size{syntax:"<number>";inherits:false;initial-value:.8}@property --cursor-stretch{syntax:"<number>";inherits:false;initial-value:0}.cursor-halo{z-index:55;border:1px solid color-mix(in srgb, var(--accent) 70%, transparent);pointer-events:none;opacity:0;width:26px;height:26px;rotate:var(--cursor-angle,0deg);scale:calc(var(--cursor-size) * (1 + var(--cursor-stretch))) calc(var(--cursor-size) * (1 - var(--cursor-stretch)));border-radius:50%;margin:-13px 0 0 -13px;transition:opacity .26s,--cursor-size .3s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),margin .26s cubic-bezier(.22,1,.36,1),border-color .26s;position:fixed;top:0;left:0}.cursor-halo[data-visible]{opacity:.55;--cursor-size:1}.cursor-halo[data-engaged]{opacity:.85;border-color:var(--accent);width:44px;height:44px;margin:-22px 0 0 -22px}.cursor-halo[data-engaged]:after{opacity:1;scale:1}.cursor-halo:before{content:"";border:1px solid var(--accent);opacity:0;transition:opacity .26s,scale .32s cubic-bezier(.22,1,.36,1);position:absolute;inset:-9px;scale:.72;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0),linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0),linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,100% 0,0 100%,100% 100%;mask-position:0 0,100% 0,0 100%,100% 100%;-webkit-mask-size:9px 9px;mask-size:9px 9px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.cursor-halo[data-framed]:before{opacity:.95;scale:1}.cursor-halo[data-framed]{border-color:#0000;width:34px;height:34px;margin:-17px 0 0 -17px}.cursor-halo[data-framed]:after{opacity:0}.cursor-halo[data-pressed]{--cursor-size:.82}.cursor-halo:after{content:"";background:var(--accent);opacity:0;border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;transition:opacity .2s,scale .2s cubic-bezier(.22,1,.36,1);position:absolute;inset:50%;scale:.4}.cursor-halo[data-quiet]{opacity:0}.gallery-open,.gallery-open img,[data-lightbox-image]{-webkit-touch-callout:none}.photo-credit{z-index:61;border:1px solid var(--line);background:var(--bg);color:var(--text);letter-spacing:.06em;white-space:nowrap;pointer-events:none;opacity:0;border-radius:2px;padding:7px 12px;font-size:11px;transition:opacity .18s,scale .22s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;scale:.96}.photo-credit[data-visible]{opacity:1;scale:1}:root[data-motion-paused] .photo-credit{transition:none}:root[data-theme=dark] .hero-stars{z-index:0;pointer-events:none;-webkit-mask-composite:source-in;background:linear-gradient(#00000073 0%,#0000002e 34%,#0000 62%);position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 28%,#0009 42%,#0000 58%),linear-gradient(90deg,#000 0% 50%,#0009 68%,#0000 84%);mask-image:linear-gradient(#000 0% 28%,#0009 42%,#0000 58%),linear-gradient(90deg,#000 0% 50%,#0009 68%,#0000 84%);-webkit-mask-composite:source-in;mask-composite:intersect}:root[data-theme=dark] .hero-stars:before,:root[data-theme=dark] .hero-stars:after{content:"";background-repeat:repeat;position:absolute;inset:-40% -10%}:root[data-theme=dark] .hero-stars:before{opacity:.55;background-image:radial-gradient(1px at 12% 18%,#ffffffb3 0 58%,#fff0 100%),radial-gradient(1px at 27% 9%,#ffffff8c 0 58%,#fff0 100%),radial-gradient(1px at 41% 24%,#ffffffa6 0 58%,#fff0 100%),radial-gradient(1px at 58% 7%,#ffffff80 0 58%,#fff0 100%),radial-gradient(1px at 69% 21%,#fff9 0 58%,#fff0 100%),radial-gradient(1px at 83% 13%,#ffffff8c 0 58%,#fff0 100%),radial-gradient(1px at 94% 27%,#ffffffa6 0 58%,#fff0 100%),radial-gradient(1px at 6% 37%,#ffffff73 0 58%,#fff0 100%),radial-gradient(1px at 34% 44%,#ffffff8c 0 58%,#fff0 100%),radial-gradient(1px at 52% 33%,#fff6 0 58%,#fff0 100%),radial-gradient(1px at 76% 41%,#ffffff8c 0 58%,#fff0 100%),radial-gradient(1px at 88% 49%,#ffffff73 0 58%,#fff0 100%),radial-gradient(1px at 19% 57%,#fff6 0 58%,#fff0 100%),radial-gradient(1px at 47% 63%,#ffffff73 0 58%,#fff0 100%),radial-gradient(1px at 64% 54%,#ffffff59 0 58%,#fff0 100%);background-size:1180px 880px}:root[data-theme=dark] .hero-stars:after{opacity:.7;background-image:radial-gradient(1.7px at 22% 14%,#fffffff2 0 55%,#fff0 100%),radial-gradient(1.7px at 46% 26%,#ffffffd9 0 55%,#fff0 100%),radial-gradient(1.5px at 73% 11%,#ffffffe6 0 55%,#fff0 100%),radial-gradient(1.7px at 91% 33%,#fffc 0 55%,#fff0 100%),radial-gradient(1.5px at 9% 29%,#ffffffd9 0 55%,#fff0 100%),radial-gradient(1.5px at 61% 45%,#ffffffbf 0 55%,#fff0 100%),radial-gradient(1.7px at 37% 52%,#fffc 0 55%,#fff0 100%);background-size:760px 620px}@property --bg{syntax:"<color>";inherits:true;initial-value:#161616}@property --surface{syntax:"<color>";inherits:true;initial-value:#222}@property --text{syntax:"<color>";inherits:true;initial-value:#f3f3f3}@property --muted{syntax:"<color>";inherits:true;initial-value:#aaa}@property --line{syntax:"<color>";inherits:true;initial-value:#383838}@property --accent{syntax:"<color>";inherits:true;initial-value:#25b9ed}@property --accent-start{syntax:"<color>";inherits:true;initial-value:#25b9ed}@property --accent-end{syntax:"<color>";inherits:true;initial-value:#0098c6}@property --hero{syntax:"<color>";inherits:true;initial-value:#101010}@property --hero-mid{syntax:"<color>";inherits:true;initial-value:#1b1b1b}@property --hero-end{syntax:"<color>";inherits:true;initial-value:#141414}@property --section-depth{syntax:"<color>";inherits:true;initial-value:#101010}:root{background:var(--bg);color:var(--text);--hero-mid:#1b1b1b;--hero-end:#141414;--hero-gradient:linear-gradient(120deg, var(--hero) 15%, var(--hero-mid) 70%, var(--hero-end));transition:--bg .45s,--surface .45s,--text .45s,--muted .45s,--line .45s,--accent .45s,--accent-start .45s,--accent-end .45s,--hero .45s,--hero-mid .45s,--hero-end .45s,--section-depth .45s}:root[data-theme=light]{background:var(--bg);color:var(--text);--hero-mid:#e8e8e8;--hero-end:#eee;--hero-gradient:linear-gradient(120deg, var(--hero) 15%, var(--hero-mid) 70%, var(--hero-end))}:is(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:6px}.site-footer{padding-top:92px;padding-bottom:34px}.footer-heading{display:block}.footer-heading h2{font-size:clamp(30px,3.5vw,48px);line-height:1.2}.footer-note{max-width:52ch;color:var(--muted);margin:22px 0 0;font-size:16px;line-height:1.75}.footer-contact{flex-flow:wrap;align-items:center;gap:38px;padding-block:42px 56px}.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{letter-spacing:-.045em;color:#f3f3f3;flex:none;gap:38px;width:auto;max-width:100%;font-size:clamp(25px,3.8vw,54px);line-height:1.3}.footer-contact .footer-email:hover{color:var(--accent)}.footer-contact .footer-phone{font-size:16px}@media (width<=700px){.site-footer{padding-top:68px;padding-bottom:32px}.footer-heading h2{font-size:32px}.footer-note{margin-top:18px;font-size:15px}.footer-contact{gap:18px;padding-block:32px 38px}.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{font-size:clamp(25px,6.8vw,44px)}.footer-contact .footer-phone{font-size:15px}}.contact-form{border-top:1px solid var(--line);max-width:840px;margin-top:48px;padding-top:32px}.form-fields{gap:36px}.form-fields>div{min-width:0}.contact-form label{margin-bottom:12px}.contact-form input,.contact-form textarea{margin-bottom:32px;padding-block:14px}.contact-form textarea{min-height:148px}.form-note{max-width:60ch;margin:0 0 26px;font-size:13px;line-height:1.8}.form-status{min-height:24px;margin-top:20px}.section-kicker:after{content:"";background:var(--line);width:40px;height:1px;margin-left:8px;display:block}@media (width<=700px){.contact-form{margin-top:36px;padding-top:26px}.form-fields{gap:24px}.contact-form input,.contact-form textarea{margin-bottom:28px}.section-kicker:after{width:28px}}.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{color:#101010;transition:border-color .45s ease, transform .45s var(--motion-ease);background:linear-gradient(135deg,#fff,#eee);border:1px solid #f6f6f6;border-radius:3px;padding:20px 24px;position:relative}.footer-contact .footer-email:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .55s var(--motion-ease);position:absolute;bottom:12px;left:24px;right:72px;transform:scaleX(0)}.footer-contact .footer-email:is(:hover,:focus-visible){color:var(--accent-contrast);border-color:var(--accent);transform:translateY(-2px)}.footer-contact .footer-email:is(:hover,:focus-visible):after{transform:scaleX(1)}.footer-email>.footer-email-address{font-size:inherit}.footer-email>.link-arrow{width:26px;height:26px;transition:transform .45s var(--motion-ease)}.footer-email:is(:hover,:focus-visible)>.link-arrow{transform:translate(3px,-3px)}@media (width<=700px){.footer-contact{flex-direction:column;align-items:flex-start}.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{gap:12px;padding:16px;font-size:clamp(23px,6.3vw,40px)}.footer-contact .footer-email:after{height:1px;bottom:9px;left:16px;right:44px}.footer-email>.link-arrow{width:20px;height:20px}}.bio-personal-note{border-left:1px solid var(--accent);font-family:var(--font-display);color:var(--muted);margin:28px 0 0;padding:0 0 0 18px;font-size:clamp(17px,1.9vw,25px);font-style:italic;font-weight:500;line-height:1.45}.hero-meta{flex-wrap:wrap;row-gap:12px}.hero-meta .eyebrow{white-space:nowrap}.legal-links a{gap:8px}.legal-links svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.inline-symbol{--symbol-mask:none;vertical-align:-.26em;isolation:isolate;width:1.3em;height:1.3em;transition:transform .4s var(--motion-ease);margin-inline:.05em;display:inline-block;position:relative}.inline-symbol:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(180deg, var(--accent-start), var(--accent-end));-webkit-mask:var(--symbol-mask) center / contain no-repeat;-webkit-mask:var(--symbol-mask) center / contain no-repeat;mask:var(--symbol-mask) center / contain no-repeat;mix-blend-mode:color;clip-path:inset(100% 0 0);transition:clip-path .56s var(--motion-ease);position:absolute;inset:0}.inline-symbol__image{object-fit:contain;width:100%;height:100%;display:block}.inline-symbol--moon{--symbol-mask:url(/images/night-light-160.webp)}.inline-symbol--beats{--symbol-mask:url(/images/electronic-beats-160.webp)}.inline-symbol--mountains{--symbol-mask:url(/images/mountains-160.webp)}.inline-symbol--dumbbell{--symbol-mask:url(/images/dumbbell-160.webp)}.inline-symbol--aperture{--symbol-mask:url(/images/camera-aperture-160.webp)}.inline-symbol--wide{width:1.7em}.inline-symbol__image{transform-origin:50%;animation:7s ease-in-out 3 paused moon-breathe}.inline-symbol:nth-of-type(2) .inline-symbol__image{animation-name:beat-pulse;animation-duration:4s;animation-delay:.5s}.inline-symbol:nth-of-type(3) .inline-symbol__image{animation-name:mountain-float;animation-duration:7s;animation-delay:1s}.inline-symbol--dumbbell .inline-symbol__image{animation-name:dumbbell-lift;animation-duration:5s;animation-delay:1.5s}.inline-symbol--aperture .inline-symbol__image{animation-name:aperture-turn;animation-duration:6s;animation-delay:2s}.inline-symbol.is-in-view .inline-symbol__image{animation-play-state:running}@keyframes moon-breathe{0%,30%,to{transform:rotate(0)scale(1)}50%{transform:rotate(-6deg)scale(1.06)}70%{transform:rotate(2deg)scale(1.02)}}@keyframes beat-pulse{0%,25%,65%,to{transform:scaleY(1)}35%,50%{transform:scaleY(1.12)}42%,57%{transform:scaleY(.96)}}@keyframes mountain-float{0%,30%,to{transform:translateY(0)}55%{transform:translateY(-3px)}75%{transform:translateY(-1px)}}@keyframes dumbbell-lift{0%,30%,to{transform:translateY(0)rotate(0)}55%{transform:translateY(-2px)rotate(-1deg)}}@keyframes aperture-turn{0%,30%,to{transform:rotate(0)scale(1)}55%{transform:rotate(5deg)scale(1.025)}}@media (prefers-reduced-motion:reduce){.inline-symbol__image{animation:none!important;transform:none!important}.inline-symbol:after{transition:none}}.bio-chapter{border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 45%, var(--bg)), var(--bg));border-radius:3px;margin-bottom:18px;padding:26px 28px;transition:border-color .4s;position:relative}.bio-chapter:last-of-type{border:1px solid var(--line);margin-bottom:0;padding:26px 28px}.bio-chapter:before{content:"";background:var(--accent);width:1px;height:24px;position:absolute;top:26px;left:-1px}.bio-chapter :is(h2,h3){letter-spacing:-.035em;gap:13px;margin-bottom:16px;font-size:22px;font-weight:500}.bio-chapter :is(h2,h3) svg{width:22px;height:22px}.bio-paragraphs{padding-left:35px}.bio-paragraphs p{margin-bottom:16px;font-size:15px;line-height:1.85}@media (width<=1000px){.bio-chapter,.bio-chapter:last-of-type{padding:23px 22px}.bio-paragraphs{padding-left:0}.bio-chapter :is(h2,h3){font-size:21px}}@media (hover:hover) and (pointer:fine){.inline-symbol:hover{transform:translateY(-2px)}.inline-symbol:hover:after{clip-path:inset(0)}}.inline-symbol:active:after{clip-path:inset(0)}.contact-form .field-label{align-items:center;gap:9px;display:flex}.field-label svg,.form-note svg,.contact-form button svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.field-label svg{color:var(--muted)}.contact-form:focus-within .field-label svg{color:var(--accent);transition:color .35s}.form-note{align-items:flex-start;gap:10px;display:flex}.form-note svg{margin-top:3px}.contact-form button{justify-content:center;align-items:center;gap:16px;display:inline-flex}.hero-portrait{aspect-ratio:2/3;border-radius:2px;width:clamp(300px,32vw,460px);height:auto;inset:auto 6% 65px auto;-webkit-mask-image:none;mask-image:none}.hero-portrait img,:root[data-theme=light] .hero-portrait img{opacity:1;mix-blend-mode:normal;object-fit:cover;filter:none;display:block;-webkit-mask-image:none;mask-image:none}.hero-portrait img{object-position:50% 24%}.hero-portrait:after{content:none}.hero-content{max-width:57%}@media (width>=701px) and (width<=1100px){.hero-portrait{width:32vw;bottom:90px;right:4%}.hero-content{max-width:60%}}@media (width<=700px){.hero{flex-direction:column;align-items:stretch;min-height:0;display:flex}.hero-content{max-width:100%;padding-bottom:32px}.hero-portrait{z-index:0;width:70%;max-width:300px;margin:0 auto 92px;position:relative;inset:auto}.hero-portrait img{object-position:center}.scroll-cue{bottom:24px}}body[data-page=home] .hero{isolation:auto;min-height:820px;overflow:visible}.hero:before{z-index:0}.hero-content,.hero .scroll-cue{z-index:1}.hero .nav-dock,body[data-page=home]>.nav-dock{top:24px}body[data-page=home].is-scrolled>.nav-dock{top:18px}@media (width<=700px){body[data-page=home]>.nav-dock{top:18px}}.hero-signature{align-items:center;gap:20px;margin-bottom:26px;display:flex}.hero-signature>span{background:var(--line);width:54px;height:1px}.hero-signature .brand-mark{width:38px;height:38px}.hero-content{max-width:61%;padding-top:130px;padding-bottom:120px}.hero h1{margin-bottom:28px;font-size:clamp(76px,8.2vw,126px)}.hero h1 span+span{font-size:.66em}.hero-meta{gap:22px;margin-bottom:28px}.hero-intro{max-width:500px;font-size:clamp(25px,2.6vw,37px)}.hero-portrait{aspect-ratio:4/5;border:1px solid var(--line);z-index:0;background:0 0;border-radius:0;width:clamp(280px,29vw,420px);padding:9px;top:155px;bottom:auto;right:6%}.hero-portrait img,:root[data-theme=light] .hero-portrait img{animation:none}.apple-preference img{object-fit:contain;filter:invert();display:block}.hero-meta :is(svg,.apple-preference img){flex:none;width:14px;height:14px}:root[data-theme=light] .apple-preference img{filter:none}body.is-scrolled .hero .nav-dock{top:18px}.field-optional{letter-spacing:0;color:var(--muted);margin-left:auto;font-size:11px;font-weight:400}.field-required{background:var(--accent);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);width:9px;height:9px;transition:transform .4s var(--motion-ease);flex:none;margin-left:1px}.field-label:hover .field-required,.contact-form:focus-within .field-required{transform:rotate(45deg)scale(1.12)}.contact-form input[type=url]::placeholder{color:var(--muted);opacity:.65}.contact-form .field-shell--message .field-error{min-height:42px;padding-top:11px}.message-meta{color:var(--muted);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:28px;font-size:12px;line-height:1.7;display:flex}.message-meta output{white-space:nowrap;font-variant-numeric:tabular-nums}.message-meta output[data-ready=true]{color:var(--accent)}.footer-secondary{justify-content:space-between;align-items:center;gap:30px;padding-bottom:42px;display:flex}.footer-secondary .footer-phone{margin:0;font-size:16px}.copyright-block p{margin:0}.copyright-block strong{color:var(--text);font-weight:700}.copyright-block .footer-colophon{letter-spacing:-.01em;max-width:46ch;color:var(--text);text-wrap:balance;margin:16px 0 0;padding-left:16px;font-family:inherit;font-size:17px;font-style:normal;font-weight:450;line-height:1.5;position:relative}.copyright-block .footer-colophon em{color:var(--accent);font-size:1.2em}.copyright-block .footer-colophon:before{content:"";background:linear-gradient(180deg, var(--accent-start), var(--accent-end));border-radius:2px;width:2px;position:absolute;inset:3px auto 3px 0}.copyright-block .footer-colophon p{margin:0}@media (width<=700px){.copyright-block .footer-colophon{padding-left:13px;font-size:15px}}.gallery-photo{isolation:isolate;position:relative}.photo-ornament{z-index:-1;pointer-events:none;opacity:.58;width:calc(100% + 24px);height:calc(100% + 24px);transition:transform .9s var(--motion-ease), opacity .4s ease;position:absolute;inset:-12px;overflow:visible}.photo-ornament path{fill:none;stroke-width:1px;stroke-linecap:round;transition:stroke-width .5s,opacity .4s}.gallery-photo[data-ornament="0"] .photo-ornament-echo{opacity:.48;stroke-width:.7px}.gallery-photo[data-ornament="1"] .photo-ornament-main{stroke-width:1.8px}.gallery-photo[data-ornament="2"] .photo-ornament-main{stroke-width:1.2px}.gallery-photo[data-ornament="2"] .photo-ornament-echo{opacity:.62;stroke-width:.75px}.gallery-photo[data-ornament="3"] .photo-ornament-main{stroke-width:1.15px}.photo-line-start,.photo-line-end{stop-color:color-mix(in srgb, var(--text) 48%, transparent);transition:stop-color .5s}.gallery-photo:is(:hover,:focus-within) .photo-ornament{opacity:.92;transform:translate(2px,-2px)}.gallery-photo:is(:hover,:focus-within)[data-ornament="1"] .photo-ornament-main{stroke-width:2.2px}.gallery-photo:is(:hover,:focus-within) .photo-line-end{stop-color:var(--accent)}.gallery-photo:after{content:"";z-index:-1;pointer-events:none;opacity:.55;width:22px;height:22px;transition:border-color .45s ease, transform .6s var(--motion-ease), opacity .45s ease;position:absolute}.gallery-photo[data-ornament="0"]:after{border-top:1px solid color-mix(in srgb, var(--text) 42%, transparent);border-right:1px solid color-mix(in srgb, var(--text) 42%, transparent);top:-8px;right:-8px}.gallery-photo[data-ornament="1"]:after{border-right:1px solid color-mix(in srgb, var(--text) 42%, transparent);border-bottom:1px solid color-mix(in srgb, var(--text) 42%, transparent);bottom:-8px;right:-8px}.gallery-photo[data-ornament="2"]:after{border-bottom:1px solid color-mix(in srgb, var(--text) 42%, transparent);border-left:1px solid color-mix(in srgb, var(--text) 42%, transparent);bottom:-8px;left:-8px}.gallery-photo[data-ornament="3"]:after{border-top:1px solid color-mix(in srgb, var(--text) 42%, transparent);border-left:1px solid color-mix(in srgb, var(--text) 42%, transparent);top:-8px;left:-8px}.gallery-photo:is(:hover,:focus-within):after{border-color:var(--accent);opacity:.9;transform:translate(2px,-2px)}@media (width<=700px){.photo-ornament{opacity:.45;width:calc(100% + 14px);height:calc(100% + 14px);inset:-7px}.gallery-photo:after{width:15px;height:15px}.gallery-photo[data-ornament="0"]:after,.gallery-photo[data-ornament="3"]:after{top:-5px}.gallery-photo[data-ornament="1"]:after,.gallery-photo[data-ornament="2"]:after{bottom:-5px}.gallery-photo[data-ornament="0"]:after,.gallery-photo[data-ornament="1"]:after{right:-5px}.gallery-photo[data-ornament="2"]:after,.gallery-photo[data-ornament="3"]:after{left:-5px}}@media (prefers-reduced-motion:reduce){.photo-ornament,.photo-ornament path,.photo-line-start,.photo-line-end,.gallery-photo:after{transition:none!important;transform:none!important}}.contact-form .message-meta{letter-spacing:0;gap:24px;margin-block:0 28px;font-size:12px;font-weight:400;line-height:1.7;display:flex}.contact-form .field-optional{letter-spacing:0;font-size:12px;font-weight:400}.field-label svg{overflow:visible}.hero-portrait{transition:border-color .45s;display:block}.portrait-contact{color:#f3f3f3;background:#101010;border:1px solid #444;align-items:center;gap:12px;padding:12px 14px;font-size:12px;line-height:1.5;transition:border-color .45s,color .45s;display:flex;position:absolute;bottom:20px;left:20px;right:20px}.portrait-contact svg{width:17px;height:17px}.portrait-contact>span{margin-left:auto}.portrait-contact{isolation:isolate;letter-spacing:.08em;font-weight:600;position:relative;overflow:hidden}.portrait-contact:before{content:"";z-index:-1;background:var(--accent);transform-origin:0;transition:transform .52s var(--motion-ease);position:absolute;inset:0;transform:scaleX(0)}.hero-portrait:is(:hover,:focus-visible) .portrait-contact{color:#071014}.hero-portrait:is(:hover,:focus-visible) .portrait-contact:before{transform:scaleX(1)}.portrait-contact>span:last-child{font-family:var(--font-text);letter-spacing:.12em;margin-left:auto;font-size:10px;font-weight:500}@media (width>=701px) and (width<=1100px){body[data-page=home] .hero{min-height:760px}.hero-content{max-width:63%;padding-top:125px}.hero-portrait{width:30vw;top:165px;right:4%}.hero h1{font-size:clamp(72px,9vw,98px)}.hero-meta{column-gap:16px}.hero-intro{max-width:90%;font-size:29px}}@media (width<=700px){body[data-page=home] .hero{min-height:0}.hero .nav-dock{top:18px}.hero-content{order:0;max-width:100%;padding:108px 24px 0}.hero-signature{margin-bottom:24px}.hero h1{font-size:clamp(64px,18vw,112px)}.hero h1 span+span{font-size:.65em}.hero-meta{justify-content:flex-start;gap:10px 12px}.hero-meta .eyebrow{letter-spacing:.1em;font-size:10px}.hero-intro{max-width:100%;font-size:28px}.hero-summary{max-width:100%;font-size:13px}.hero-portrait{aspect-ratio:4/5;order:1;width:calc(100% - 48px);max-width:360px;margin:-32px auto 104px;padding:7px;position:relative;inset:auto}.hero .scroll-cue{bottom:28px}.message-meta{flex-wrap:wrap;gap:8px}.message-meta output{margin-left:auto}.footer-secondary{flex-wrap:wrap;gap:24px;padding-bottom:30px}.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{letter-spacing:-.06em;font-size:clamp(21px,6.3vw,40px)}.copyright-block .rights{display:inline}}:root{--font-display:Newsreader, "Iowan Old Style", Georgia, serif;--font-text:Manrope, Arial, sans-serif}.title-clause{display:inline-block}.section-title,.approach .bio-section-title,.section-title.editorial-title,.approach .bio-section-title.editorial-title{font-family:var(--font-display);letter-spacing:-.018em;font-style:normal;font-weight:400;line-height:1.08}.hero-intro{font-family:var(--font-display);letter-spacing:-.012em;font-weight:400;line-height:1.18}em,.bio-personal-note{font-family:var(--font-display);font-style:italic;font-weight:400}.bio-chapter,.bio-chapter:last-of-type{background-image:linear-gradient(180deg, transparent 0%, var(--line) 12%, color-mix(in srgb, var(--text) 30%, transparent) 50%, var(--line) 88%, transparent 100%), linear-gradient(90deg, transparent 0%, var(--line) 14%, color-mix(in srgb, var(--text) 30%, transparent) 52%, var(--line) 86%, transparent 100%);background-position:0 0,0 100%;background-repeat:no-repeat;background-size:1px 100%,100% 1px;border:0;border-radius:0;margin:0;padding:0 0 clamp(24px,2.6vw,34px) clamp(22px,2.4vw,34px)}.bio-chapter:before{content:none}@media (width<=1000px){.bio-chapter,.bio-chapter:last-of-type{background-size:0 0,100% 1px;margin-bottom:30px;padding:0 0 30px}.bio-chapter:last-of-type{background-image:none;margin-bottom:0;padding-bottom:0}}.hero-portrait{aspect-ratio:auto;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.hero-portrait img{aspect-ratio:4/5;width:100%;height:auto}.hero-portrait:is(:hover,:focus-visible){border-color:#0000}.portrait-contact{color:var(--muted);border:0;border-top:1px solid var(--line);background:0 0;margin-top:14px;padding:12px 0 0;transition:color .35s,border-color .35s;position:static;inset:auto}.project-index{counter-reset:project}.project-index article{counter-increment:project}.project-index article:after{content:counter(project, decimal-leading-zero);font-family:var(--font-display);color:var(--muted);opacity:.65;font-size:15px;line-height:1;position:absolute;top:26px;right:26px}@media (width>=1101px){.nav-dock{left:auto;right:clamp(24px,4.5vw,80px);transform:none}}@media (width<=700px){.hero-portrait{aspect-ratio:auto}.project-index article:after{top:18px;right:4px}}.bio-symbols{justify-content:center;align-items:center;gap:18px;margin:18px 0 0;padding-left:0;display:flex}.bio-symbols .inline-symbol{vertical-align:baseline;opacity:.85;width:30px;height:30px;margin-inline:0}.bio-symbols .inline-symbol--wide{width:38px}.bio-symbols .inline-symbol--dumbbell{width:44px}.bio-symbols .inline-symbol--aperture{width:32px}.photography-skip{z-index:24;border:1px solid color-mix(in srgb, var(--text) 22%, var(--line));background:color-mix(in srgb, var(--bg) 92%, transparent);min-height:44px;color:var(--muted);letter-spacing:.035em;opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(10px);transition:opacity .28s ease, visibility .28s ease, transform .52s var(--motion-ease), color .28s ease, border-color .28s ease, background-color .28s ease;align-items:center;gap:10px;padding:10px 13px;font-size:11px;font-weight:650;display:flex;position:fixed;top:50%;right:clamp(18px,2.6vw,42px);transform:translate(12px,-50%)}.photography-skip svg{width:17px;height:17px;transition:transform .5s var(--motion-ease);flex:none}.photography-skip>.scroll-arrow{width:17px;height:17px;transition:transform .5s var(--motion-ease)}body[data-active-section=photography]:not(.dialog-open) .photography-skip{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%)}.photography-skip:is(:hover,:focus-visible){color:var(--accent-contrast);border-color:var(--accent);background:var(--accent)}.photography-skip:is(:hover,:focus-visible) svg{transform:rotate(-5deg)scale(1.05)}.photography-skip:is(:hover,:focus-visible)>.scroll-arrow{transform:translateY(3px)}@media (width<=700px){.photography-skip{gap:8px;padding:10px 12px;top:auto;bottom:84px;right:14px}.photography-skip>span{clip-path:none;width:auto;height:auto;font-size:13px;font-weight:650;line-height:1;position:static;overflow:visible}body[data-active-section=photography]:not(.dialog-open) .photography-skip{transform:none}}@media (prefers-reduced-motion:reduce){.photography-skip{transition:none}}:root{--field-line:#6f6f6f;--field-focus-sweep:#f1f1f1}:root[data-theme=light]{--field-line:#868686;--field-focus-sweep:#6f6f6f}.contact-form input,.contact-form textarea{border-bottom-color:var(--field-line)}.field-shell :is(input,textarea){caret-color:var(--accent);background-image:linear-gradient(90deg, var(--accent-start), var(--accent-end));transition:border-color .22s ease, background-size .42s var(--motion-ease), color .22s ease;background-position:100% 100%;background-repeat:no-repeat;background-size:0 2px;padding-inline:4px}.field-shell:focus-within .field-label{color:var(--text)}.field-shell:focus-within :is(input,textarea){box-shadow:none;background-position:0 100%;background-size:100% 4px;border-bottom-color:#0000}.field-shell.is-typing :is(input,textarea){background-image:linear-gradient(90deg, var(--accent), var(--field-focus-sweep) 48%, var(--accent));background-size:220% 4px;animation:.76s linear field-signal}.field-shell.is-typing .field-label svg{color:var(--accent);animation:field-icon-signal .38s var(--motion-ease) 2 alternate}.field-shell.is-typing .field-required{transform:rotate(45deg)scale(1.12)}@keyframes field-signal{0%{background-position:100% 100%}to{background-position:-120% 100%}}@keyframes field-icon-signal{0%{filter:drop-shadow(0 0 #0000);transform:translateY(0)}to{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 48%, transparent));transform:translateY(-1px)scale(1.06)}}@media (prefers-reduced-motion:reduce){.field-shell.is-typing :is(input,textarea),.field-shell.is-typing .field-label svg{animation:none}.field-shell :is(input,textarea){transition:none}}.inner-lead,.photography-intro,.policy-copy{max-width:65ch}.photography-section>.section-kicker{margin-bottom:clamp(34px,4vw,56px)}.photography-heading{gap:clamp(24px,3vw,38px)}.footer-contact{justify-content:flex-start;gap:12px 14px}.copy-status{flex-basis:100%;margin-left:2px}@media (width<=700px){.footer-contact{row-gap:12px}.copy-status{flex-basis:auto;min-height:0}}.hero-portrait{width:clamp(360px,35vw,520px);top:126px;bottom:auto;right:4%;overflow:visible}.hero-portrait,.hero-portrait *{-webkit-user-select:none;user-select:none}.portrait-collage{aspect-ratio:4/5;width:100%;display:block;position:relative}.portrait-frame{border:1px solid color-mix(in srgb, var(--text) 16%, transparent);transition:transform .7s var(--motion-ease), border-color .45s ease;background:#181818;display:block;position:absolute;overflow:hidden;box-shadow:0 18px 50px #0003}.hero-portrait .portrait-frame img,:root[data-theme=light] .hero-portrait .portrait-frame img{aspect-ratio:auto;object-fit:cover;opacity:1;mix-blend-mode:normal;width:100%;height:100%;animation:none;display:block;-webkit-mask-image:none;mask-image:none}.portrait-frame--main{z-index:1;inset:0 0 8% 20%}.hero-portrait .portrait-frame--main img{object-position:50% 21%;filter:contrast(1.03)}.portrait-frame--workspace{z-index:2;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);height:30%;bottom:0;left:4%;right:39%}.hero-portrait .portrait-frame--workspace img{object-position:50% 36%;filter:contrast(1.03)}.portrait-curve{z-index:4;width:27%;height:67%;color:var(--accent);pointer-events:none;position:absolute;top:8%;left:1%;overflow:visible}.portrait-curve path{fill:none;stroke:currentColor;stroke-width:.75px;vector-effect:non-scaling-stroke}.portrait-swatch{z-index:4;background:var(--accent);clip-path:polygon(0 0,100% 12%,86% 100%,8% 86%);width:18px;height:18px;position:absolute;bottom:4%;left:13%;transform:rotate(-8deg)}.portrait-axis{z-index:4;background:var(--accent);transform-origin:100%;width:44%;height:1px;position:absolute;top:7%;right:-14px}.portrait-axis:after{content:"";background:var(--accent);width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.portrait-index{z-index:4;background:var(--hero);color:var(--muted);letter-spacing:.16em;padding:5px 7px;font-size:9px;font-weight:600;position:absolute;bottom:2%;right:-1px}.hero-portrait .portrait-contact{isolation:isolate;width:80%;margin-top:15px;margin-left:20%;position:relative;overflow:hidden}.hero-portrait .portrait-contact:before{background:linear-gradient(105deg,#f1f1f1,#d5d7d8)}.hero-portrait:focus-visible{outline-color:color-mix(in srgb, var(--text) 62%, transparent)}.hero-portrait:is(:hover,:focus-visible) .portrait-contact{color:#101010;border-color:color-mix(in srgb, var(--text) 48%, var(--line))}.hero-portrait:is(:hover,:focus-visible) .portrait-frame{border-color:color-mix(in srgb, var(--text) 48%, var(--line))}.hero-portrait:is(:hover,:focus-visible) .portrait-frame--main{transform:translate(-3px,-3px)}.hero-portrait:is(:hover,:focus-visible) .portrait-frame--workspace{transform:translate(-3px,3px)}@media (width>=701px) and (width<=1100px){.hero-portrait{width:clamp(305px,34vw,390px);top:158px;right:3%}.hero-portrait .portrait-contact{font-size:10px}}@media (width<=700px){.hero-portrait{width:calc(100% - 42px);max-width:390px;margin:48px auto 104px;top:0}.portrait-collage{aspect-ratio:5/6}.portrait-frame--main{inset:0 0 9% 17%}.portrait-frame--workspace{height:29%;left:3%;right:38%}.portrait-curve{width:27%;top:7%;left:-1%}.portrait-swatch{width:15px;height:15px;bottom:4%;left:11%}.hero-portrait .portrait-contact{width:83%;margin-left:17%}.portrait-axis{right:-7px}.portrait-index{right:0}}.copy-email .copy-glyph,.copy-email .check-glyph{transition:opacity .18s}.copy-email .check-glyph{opacity:0;stroke:currentColor;stroke-width:2.4px;fill:none}.copy-email.is-copied{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);transform:scale(1.04)}.copy-email.is-copied .copy-glyph{opacity:0}.copy-email.is-copied .check-glyph{opacity:1;stroke-dasharray:24;animation:copy-check .42s var(--motion-ease) both}.copy-status{color:var(--accent);opacity:0;clip-path:inset(0 100% 0 0);transform-origin:0;transition:opacity .18s ease, clip-path .36s var(--motion-ease), transform .32s var(--motion-ease);flex-basis:auto;margin-left:0;transform:translate(-7px)scale(.96)}.copy-status.is-visible{opacity:1;clip-path:inset(0);transform:translate(0)scale(1)}@keyframes copy-check{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}.language-control[aria-busy=true]{opacity:.48;cursor:progress;pointer-events:none}.language-status{z-index:4;border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line));background:color-mix(in srgb, var(--surface) 94%, var(--bg));width:max-content;max-width:min(360px,100vw - 24px);color:var(--text);text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease, transform .28s var(--motion-ease), visibility 0s linear .28s;border-radius:4px;margin:0;padding:10px 14px 10px 17px;font-size:13px;font-weight:600;line-height:1.4;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,-5px);box-shadow:0 14px 38px #0004}.language-status:before{content:"";background:linear-gradient(115deg, var(--accent-start), var(--accent-end));border-radius:2px;width:2px;position:absolute;inset:7px auto 7px 6px}.language-status.is-visible{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)}@media (width<=520px){.language-status{white-space:normal}}@media (prefers-reduced-motion:reduce){.language-status{transition:none}}:root{--hero-name-gradient:linear-gradient(106deg, #fff 0%, #d8dbdd 52%, #f7f7f7 100%)}:root[data-theme=light]{--hero-name-gradient:linear-gradient(106deg, #111 0%, #505357 52%, #181818 100%)}.hero h1 i{color:var(--text)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.hero h1 i{color:#0000;background:var(--hero-name-gradient);-webkit-background-clip:text;background-clip:text;margin-inline:-.045em;padding-inline:.045em}}.field-shell{flex-direction:column;min-width:0;padding-bottom:42px;display:flex;position:relative}.contact-form .field-shell :is(input,textarea){margin-bottom:0}.field-error{color:var(--accent);letter-spacing:.005em;align-items:flex-start;gap:7px;margin:0;font-size:12px;font-weight:550;line-height:1.45;display:flex;position:absolute;bottom:8px;left:0;right:0}.field-error:before{content:"";background:currentColor;flex:none;width:13px;height:13px;margin-top:2px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6M12 16.5v.01'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6M12 16.5v.01'/%3E%3C/svg%3E") 50%/contain no-repeat}.field-error:empty:before{display:none}.field-error[data-in-field]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden}.field-shell.is-invalid :is(input,textarea)::placeholder{color:var(--accent);opacity:1}.contact-form :is(input,textarea)::placeholder{transition:opacity .24s var(--motion-ease), color .24s ease}.field-shell.is-invalid :is(input,textarea):focus::placeholder{opacity:0}.field-shell--message{padding-bottom:0}.field-shell--message .field-error{min-height:28px;padding-top:8px;position:static}.field-shell.is-invalid :is(input,textarea){background-position:0 100%;background-size:100% 2px;border-bottom-color:#0000}@media (prefers-reduced-motion:no-preference){.field-error:not(:empty):not([data-in-field]){animation:field-error-arrive .3s var(--motion-ease)}}@keyframes field-error-arrive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (width<=700px){.field-shell{padding-bottom:36px}.field-shell--message{padding-bottom:0}}:root[data-accent=blue]{--accent:#25b9ed;--accent-start:#25b9ed;--accent-end:#0098c6;--accent-contrast:#071014}:root[data-theme=light][data-accent=blue]{--accent:#005874;--accent-start:#005874;--accent-end:#00465e;--accent-contrast:#fff}:root[data-accent=burgundy]{--accent:#c86c77;--accent-start:#c86c77;--accent-end:#b8606b;--accent-contrast:#16060b}:root[data-theme=light][data-accent=burgundy]{--accent:#4d1821;--accent-start:#4d1821;--accent-end:#390b14;--accent-contrast:#fff}:root[data-accent=teal]{--accent:#21d2b4;--accent-start:#21d2b4;--accent-end:#00af95;--accent-contrast:#061411}:root[data-theme=light][data-accent=teal]{--accent:#005c4e;--accent-start:#005c4e;--accent-end:#004a3e;--accent-contrast:#fff}:root[data-accent=bumblebee]{--accent:#f4c542;--accent-start:#f4c542;--accent-end:#d1a626;--accent-contrast:#161103}:root[data-theme=light][data-accent=bumblebee]{--accent:#664e00;--accent-start:#664e00;--accent-end:#533f00;--accent-contrast:#fff}:root[data-accent=silver]{--accent:#d2d7de;--accent-start:#d2d7de;--accent-end:#b0b7c0;--accent-contrast:#0c0e10}:root[data-theme=light][data-accent=silver]{--accent:#4b525b;--accent-start:#4b525b;--accent-end:#3c424a;--accent-contrast:#fff}:root[data-accent=violet]{--accent:#b179ff;--accent-start:#b179ff;--accent-end:#9a53ef;--accent-contrast:#080808}:root[data-theme=light][data-accent=violet]{--accent:#7122bd;--accent-start:#7122bd;--accent-end:#5e0fa2;--accent-contrast:#fff}.nav-settings .header-controls{flex-wrap:nowrap;justify-content:flex-end;min-width:0;max-width:calc(100vw - 24px)}.control-rule--accent{opacity:.8;height:20px;margin-inline:1px 0}.accent-control{align-items:center;display:flex;position:relative}#accent-control{width:44px;height:44px;color:var(--muted);cursor:pointer;transition:background-color .3s ease, color .3s ease, transform .42s var(--motion-ease);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}#accent-control:is(:hover,:focus-visible),#accent-control[aria-expanded=true]{background:var(--bg);color:var(--accent)}.accent-current-swatch{border:1px solid color-mix(in srgb, var(--accent-end) 74%, var(--text));background:linear-gradient(135deg, var(--accent-start), var(--accent-end));width:17px;height:17px;box-shadow:inset -3px -3px 5px color-mix(in srgb, var(--accent-contrast) 16%, transparent), 0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);transition:transform .48s var(--motion-ease), background .45s ease, box-shadow .45s ease;border-radius:50%;display:block;position:relative;transform:scale(1)}.accent-current-swatch:after{display:none}#accent-control:is(:hover,:focus-visible) .accent-current-swatch,#accent-control[aria-expanded=true] .accent-current-swatch{transform:scale(1.12)}.accent-options{z-index:2;border:1px solid var(--line);background:var(--surface);width:max-content;animation:utilities-in .22s var(--motion-ease);border-radius:7px;justify-content:flex-end;align-items:center;gap:7px;padding:7px;display:flex;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 10px 26px #0003}.accent-options[hidden]{display:none}.accent-swatch{--swatch-start:#25b9ed;--swatch-end:#0098c6;width:28px;height:28px;color:inherit;cursor:pointer;transition:border-color .32s ease, background-color .32s ease, transform .42s var(--motion-ease);background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.accent-swatch span{background:linear-gradient(135deg, var(--swatch-start), var(--swatch-end));width:16px;height:16px;transition:width .46s var(--motion-ease), height .46s var(--motion-ease), transform .46s var(--motion-ease), box-shadow .32s ease;border-radius:50%;display:block;transform:scale(1);box-shadow:inset -2px -2px 4px #00000018}.accent-swatch--burgundy{--swatch-start:#c86c77;--swatch-end:#b8606b}.accent-swatch--teal{--swatch-start:#21d2b4;--swatch-end:#00af95}.accent-swatch--bumblebee{--swatch-start:#f4c542;--swatch-end:#d1a626}.accent-swatch--silver{--swatch-start:#d2d7de;--swatch-end:#b0b7c0}.accent-swatch--violet{--swatch-start:#b179ff;--swatch-end:#9a53ef}.accent-swatch:is(:hover,:focus-visible){border-color:color-mix(in srgb, var(--swatch-start) 64%, var(--line));background:var(--bg);transform:translateY(-1px)}.accent-swatch:is(:hover,:focus-visible) span{transform:scale(1.12)}.accent-swatch[aria-pressed=true]{border-color:color-mix(in srgb, var(--swatch-start) 58%, var(--text));background:color-mix(in srgb, var(--text) 6%, transparent)}.accent-swatch[aria-pressed=true] span{width:20px;height:20px;box-shadow:inset -2px -2px 4px #0000001f, 0 0 0 2px color-mix(in srgb, var(--swatch-start) 18%, transparent)}.hero-name-stage{--hero-tilt-x:0deg;--hero-tilt-y:0deg;--hero-tilt-z:0deg;--hero-curve-x:0px;--hero-curve-y:0px;perspective:1000px;isolation:isolate;max-width:100%;margin-bottom:28px;display:inline-block;position:relative}.hero-name-stage h1 span{white-space:nowrap}.hero-name-stage h1{z-index:2;transform:rotateX(var(--hero-tilt-x)) rotateY(var(--hero-tilt-y)) rotateZ(var(--hero-tilt-z));transform-origin:44% 52%;transform-style:preserve-3d;margin-bottom:0;transition:transform .7s cubic-bezier(.16,.78,.22,1);position:relative}.hero-name-stage.is-reacting h1{transition-duration:.11s;transition-timing-function:ease-out}.hero-name-curve{pointer-events:none;width:108%;height:116%;transition:opacity .45s ease, transform .52s var(--motion-ease);position:absolute;top:-8%;left:-4%;overflow:visible}.hero-name-curve path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.hero-name-line,.hero-name-glint{transform-box:fill-box;transform-origin:50%}.hero-name-curve .curve-stop--text{stop-color:var(--text)}.hero-name-curve .curve-stop--accent{stop-color:var(--accent)}.hero-name-curve--back{z-index:1;color:var(--text);opacity:.19;transform:translate(0,0)}.hero-name-curve--back .hero-name-line{stroke:url(#hero-name-back-gradient);stroke-width:.9px;animation:13s ease-in-out infinite hero-curve-back}.hero-name-curve--front{z-index:3;color:var(--accent);opacity:.76;transform:translate3d(var(--hero-curve-x), var(--hero-curve-y), 0)}.hero-name-curve--front .hero-name-line{stroke:url(#hero-name-front-gradient);stroke-width:1.1px;animation:10s ease-in-out infinite hero-curve-front}.hero-name-glint{stroke:color-mix(in srgb, var(--accent) 52%, var(--text));stroke-width:1.45px;opacity:.16;animation:7.5s ease-in-out infinite hero-curve-glint}@keyframes hero-curve-back{0%,to{opacity:.58;transform:translate(-1.4%,-1%)scaleX(.985)}50%{opacity:1;transform:translate(1.2%,1.2%)scaleX(1.018)}}@keyframes hero-curve-front{0%,to{opacity:.72;transform:translate(1%,-1%)rotate(-.25deg)}50%{opacity:1;transform:translate(-1%,1%)rotate(.3deg)}}@keyframes hero-curve-glint{0%,to{opacity:.08;transform:translate(-1.6%)scaleX(.96)}50%{opacity:.32;transform:translate(1.6%,.8%)scaleX(1.03)}}@media (width<=700px){.nav-settings .header-controls{right:-7px}.accent-options{grid-template-columns:repeat(3,44px);gap:4px;display:grid;right:-3px}.accent-swatch{width:44px;height:44px}.hero-name-stage{margin-bottom:28px}.hero-name-curve{width:104%;height:110%;top:-5%;left:-2%}}@media (prefers-reduced-motion:reduce){.hero-name-stage h1,.hero-name-curve,#accent-control,.accent-current-swatch,.accent-current-swatch:after,.accent-swatch,.accent-swatch span{transition:none!important;transform:none!important}.accent-options{animation:none!important}.hero-name-curve path{stroke-dashoffset:0!important;animation:none!important}}:root[data-motion-paused] .hero-name-stage h1{transition:none!important;transform:none!important}:root[data-motion-paused] .hero-name-curve path,:root[data-page-hidden] .hero-name-curve path{animation-play-state:paused}.footer-contact{padding-block:42px 30px;display:block}.footer-email-row{flex-wrap:wrap;align-items:center;gap:12px 14px;max-width:100%;display:flex}.footer-email-row .copy-status{flex-basis:auto;margin-left:0}.footer-contact .footer-phone{letter-spacing:-.025em;color:var(--text);transition:color .35s ease, transform .45s var(--motion-ease);margin:30px 0 0;font-size:clamp(20px,2vw,29px);font-weight:560;line-height:1.25;display:inline-flex}.footer-contact .footer-phone:before{width:22px;height:22px;color:var(--accent)}.footer-contact .footer-phone:is(:hover,:focus-visible){color:var(--accent);transform:translate(3px)}.footer-handle{width:max-content;color:var(--text);letter-spacing:-.025em;cursor:default;transition:color .35s ease, transform .45s var(--motion-ease);align-items:center;gap:12px;margin-top:12px;font-size:clamp(20px,2vw,29px);font-weight:560;line-height:1.25;display:flex}.footer-handle svg{width:22px;height:22px;color:var(--accent);transition:transform .45s var(--motion-ease);flex:none}.footer-handle:hover{color:var(--accent);transform:translate(3px)}.footer-handle:hover svg{transform:rotate(-8deg)scale(1.06)}.footer-secondary{align-items:flex-end;padding-block:12px 42px}.footer-secondary .footer-note{max-width:52ch;font-family:var(--font-text);letter-spacing:0;color:var(--muted);margin:0;font-size:16px;font-style:normal;font-weight:400;line-height:1.75}@media (width<=700px){.footer-contact{padding-block:32px 25px}.footer-email-row{gap:10px}.footer-contact .footer-phone{margin-top:24px;font-size:clamp(19px,5.7vw,25px)}.footer-contact .footer-phone:before{width:20px;height:20px}.footer-secondary{flex-direction:column;align-items:flex-start;gap:24px;padding-block:8px 34px}.footer-secondary .footer-note{font-size:15px}}.contact-dialog .contact-form{margin-top:24px;padding-top:20px}.contact-dialog .contact-form input{margin-bottom:24px}.contact-dialog .contact-form textarea{min-height:120px}.contact-dialog .form-note{margin-bottom:22px}.contact-dialog .form-status:empty{display:none}.contact-dialog .form-status:not(:empty){min-height:22px;margin-top:14px}@media (width<=700px){.contact-dialog .contact-form{margin-top:22px;padding-top:18px}.contact-dialog .contact-form textarea{min-height:108px}.contact-dialog .form-note{margin-bottom:18px}}.gallery-band{flex-direction:column;gap:20px;margin-top:42px;display:flex;position:relative}.gallery-track{order:2}.gallery-controls{order:3}@media (width>=1001px){.gallery-controls{order:1}}.gallery-track{--band-bleed:clamp(24px, 6vw, 110px);margin-inline:calc(-1 * var(--band-bleed));padding-inline:var(--band-bleed);scrollbar-width:none;overscroll-behavior-x:contain;overflow:auto hidden}.gallery-track::-webkit-scrollbar{display:none}.photo-gallery{--band-gap:clamp(14px, 2.2vw, 42px);--band-rows:2;--band-visible:2.15;--band-side:clamp(20px, 6vw, 80px);--band-column:calc((100vw - 2 * var(--band-side) - 2 * var(--band-gap)) / var(--band-visible));grid-auto-flow:column;grid-template-rows:repeat(var(--band-rows), auto);grid-auto-columns:var(--band-column);align-items:start;gap:clamp(20px, 3vw, 54px) var(--band-gap);margin:0;padding-bottom:6px;display:grid}.photo-gallery .gallery-photo,.photo-gallery .gallery-photo:first-child,.photo-gallery .gallery-photo:nth-child(n){flex:none;width:100%;max-width:none;margin:0;padding:0}.photo-gallery .gallery-photo:nth-child(9n+2){width:86%;margin-top:26px}.photo-gallery .gallery-photo:nth-child(9n+3){width:92%;margin-top:10px}.photo-gallery .gallery-photo:nth-child(9n+4){justify-self:end;width:78%;margin-top:34px}.photo-gallery .gallery-photo:nth-child(9n+5){margin-top:6px}.photo-gallery .gallery-photo:nth-child(9n+6){width:88%;margin-top:22px}.photo-gallery .gallery-photo:nth-child(9n+7){width:96%}.photo-gallery .gallery-photo:nth-child(9n+8){justify-self:end;width:82%;margin-top:30px}.photo-gallery .gallery-photo:nth-child(9n+9){width:90%;margin-top:14px}@media (width>=701px){.photo-gallery{--band-rows:3;--band-visible:3.4}}@media (width>=1001px){.photo-gallery{--band-visible:5.1}}.gallery-controls{align-items:center;gap:12px;margin:0;display:flex}.gallery-controls[hidden]{display:none}.gallery-progress{background:var(--line);flex:auto;min-width:0;height:2px;overflow:hidden}.gallery-progress>span{background:linear-gradient(90deg, var(--accent-start), var(--accent-end));transform-origin:0;width:100%;height:100%;transform:scaleX(var(--band-progress,0));transition:transform .22s var(--motion-ease);display:block}.gallery-arrow{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 78%, transparent);width:48px;height:48px;color:var(--text);cursor:pointer;touch-action:manipulation;transition:background var(--motion-short), border-color var(--motion-short), color var(--motion-short), opacity var(--motion-short);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.gallery-arrow:is(:hover,:focus-visible){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--accent)}.gallery-arrow:disabled{opacity:.3;cursor:default;border-color:var(--line);color:var(--muted);background:0 0}.gallery-arrow-icon{width:20px;height:20px;rotate:45deg}.gallery-arrow-icon--back{rotate:225deg}@media (hover:none){.photo-gallery .gallery-open>img{filter:grayscale(0)}}@media (width<=700px){.gallery-arrow{width:44px;height:44px}}.copy-email{position:relative}.copy-email:after{content:attr(data-tooltip);z-index:5;background:var(--accent);color:var(--bg);white-space:nowrap;opacity:0;pointer-events:none;transform-origin:0;transition:opacity .18s ease, transform .26s var(--motion-ease);border-radius:3px;padding:6px 11px;font-size:12px;font-weight:600;line-height:1.3;position:absolute;top:50%;left:calc(100% + 16px);transform:translate(6px,-50%)scale(.96)}.copy-email:focus-visible:after{opacity:1;transform:translateY(-50%)scale(1)}@media (hover:hover) and (pointer:fine){.copy-email:hover:after{opacity:1;transform:translateY(-50%)scale(1)}}.copy-email.is-copied:after{opacity:0;transform:translate(6px,-50%)scale(.96)}@media (width<=700px),(hover:none){.copy-email:after{display:none}}@media (prefers-reduced-motion:reduce){.copy-email:after,.copy-status{transition:none}}:root[data-motion-paused] .copy-email:after,:root[data-motion-paused] .copy-status{transition:none}.photo-gallery .gallery-open{background:0 0}.photo-gallery .gallery-open img{object-fit:contain;width:100%;height:auto;max-height:none;display:block}.area-accordion{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-top:42px;display:flex}.area-disclosure{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 48%, transparent);min-width:0;transition:border-color .38s ease, background-color .38s ease, transform .48s var(--motion-ease), box-shadow .48s ease;border-radius:4px;flex:0 calc(33.3333% - 12px);margin:0;position:relative;overflow:clip}.area-disclosure:before{content:"";background:linear-gradient(115deg, var(--accent-start), var(--accent-end));transform-origin:50% 0;width:3px;transition:transform .52s var(--motion-ease);position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.area-disclosure:is(:hover,:focus-within,[open]:not(.is-collapsing)){border-color:color-mix(in srgb, var(--accent) 38%, var(--line));background:color-mix(in srgb, var(--surface) 76%, var(--bg));box-shadow:0 18px 50px color-mix(in srgb, var(--bg) 78%, transparent);transform:translateY(-2px)}.area-disclosure:is(:hover,:focus-within,[open]:not(.is-collapsing)):before{transform:scaleY(1)}.area-disclosure summary{min-height:156px;color:var(--text);cursor:pointer;align-items:flex-start;gap:16px;padding:22px 22px 24px;list-style:none;display:flex}.area-disclosure summary::-webkit-details-marker{display:none}.area-disclosure summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.area-index{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.12em;flex:none;padding-top:3px;font-size:11px}.area-copy{gap:10px;min-width:0;display:grid}.area-title{color:var(--text);letter-spacing:-.045em;font-size:clamp(20px,1.55vw,27px);font-weight:520;line-height:1.18}.area-scent{max-width:31ch;color:var(--muted);font-size:14px;line-height:1.55}.area-disclosure .area-icon{width:22px;height:22px;color:var(--accent);flex:none;margin-top:1px}.area-disclosure .area-toggle{width:20px;height:20px;color:var(--accent);transition:transform .52s var(--motion-ease);flex:none;margin-left:auto}.area-disclosure[open]:not(.is-collapsing) .area-toggle{transform:rotate(45deg)}.area-content{padding:0 22px 0 71px}.area-content p{border-top:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));max-width:none;font-family:var(--font-text);color:var(--muted);margin:0;padding:20px 0 24px;font-size:14px;line-height:1.8}@media (width<=1100px){.area-disclosure{flex-basis:calc(50% - 9px)}.area-disclosure summary{min-height:142px}}@media (width<=700px){.area-accordion{gap:12px;margin-top:32px}.area-disclosure{flex-basis:100%}.area-disclosure summary{min-height:126px;padding:18px}.area-content{padding:0 18px 0 65px}.area-content p{padding:17px 0 20px;font-size:14px}}.nav-collapse{width:34px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:25px;justify-content:center;align-items:center;margin-left:2px;padding:0;transition:color .22s,background .22s;display:none}.nav-collapse svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;transition:transform .32s var(--motion-ease)}.nav-dock[data-nav-collapsed] .nav-collapse svg{transform:rotate(180deg)}@media (hover:hover) and (pointer:fine){.nav-collapse:hover{background:var(--line);color:var(--accent)}}.nav-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width>=1101px){.nav-item{transition:background .2s, transform .2s, gap .24s var(--motion-ease), padding-inline .24s var(--motion-ease);gap:8px;padding-inline:11px}.nav-label{max-width:var(--nav-label-width,12ch);box-shadow:none;color:inherit;opacity:1;pointer-events:none;transition:max-width .24s var(--motion-ease), opacity .15s ease;background:0 0;border:0;border-radius:0;padding:0;font-size:13px;font-weight:600;position:static;overflow:hidden;transform:none}.nav-dock[data-nav-collapsed] .nav-label{opacity:0;max-width:0}.nav-dock[data-nav-collapsed] .nav-item{gap:0;padding-inline:12px}.nav-dock[data-nav-collapsed] .nav-item:after{content:attr(data-label);z-index:3;border:1px solid color-mix(in srgb, var(--accent-end) 72%, #000);background:linear-gradient(115deg, var(--accent-start), var(--accent-end));box-shadow:0 8px 22px color-mix(in srgb, var(--accent-end) 22%, transparent);color:var(--accent-contrast);white-space:nowrap;opacity:0;pointer-events:none;border-radius:3px;padding:7px 11px;font-size:14px;font-weight:650;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,-3px)}.nav-dock[data-nav-collapsed] .nav-item:is(:hover,:focus-visible){z-index:3}.nav-dock[data-nav-collapsed] .nav-item:is(:hover,:focus-visible):after{opacity:1;transform:translate(-50%)}.nav-collapse{display:flex}}@media (width<=700px){.nav-dock{top:max(18px, calc(env(safe-area-inset-top) + 8px));touch-action:manipulation;border-width:.75px;gap:2px;width:max-content;max-width:calc(100vw - 24px);padding:5px 6px}body[data-page=home]>.nav-dock,body[data-page=home].is-scrolled>.nav-dock,body.is-scrolled .nav-dock{top:max(18px, calc(env(safe-area-inset-top) + 8px))}.nav-item,.nav-settings summary{border-radius:50%;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.nav-dock:before{width:calc(var(--active-width) - 6px);height:calc(var(--active-height) - 6px);border:.75px solid color-mix(in srgb, var(--accent-end) 68%, #000);transform:translate(calc(var(--active-x) + 3px), calc(var(--active-y) + 3px));border-radius:50%}.nav-item .nav-icon{width:21px;height:21px}.nav-settings summary svg{width:19px;height:19px}.nav-settings{padding-left:6px}.nav-label{display:none}.nav-settings .header-controls,.accent-options{max-width:calc(100vw - 24px);right:0}}.mobile-disclosure>summary{display:none}.mobile-disclosure>.mobile-disclosure-panel{display:block!important}@media (width<=700px){.mobile-disclosure-desktop-title{display:none!important}.mobile-disclosure>summary{min-height:58px;color:var(--text);cursor:pointer;letter-spacing:-.035em;-webkit-tap-highlight-color:transparent;align-items:center;gap:14px;font-size:20px;font-weight:550;line-height:1.25;list-style:none;display:flex}.mobile-disclosure>summary::-webkit-details-marker{display:none}.mobile-disclosure>summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}.mobile-disclosure-icon{width:28px;height:28px;color:var(--accent);flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.mobile-disclosure-icon svg{fill:none;stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.mobile-disclosure-toggle{width:22px;height:22px;color:var(--accent);flex:0 0 22px;margin-left:auto;position:relative}.mobile-disclosure-toggle:before,.mobile-disclosure-toggle:after{content:"";width:14px;height:1px;transition:transform .28s var(--motion-ease);background:currentColor;position:absolute;top:10px;left:4px}.mobile-disclosure-toggle:after{transform:rotate(90deg)}.mobile-disclosure[open] .mobile-disclosure-toggle:after{transform:rotate(0)}.mobile-disclosure:not([open])>.mobile-disclosure-panel{display:none!important}.mobile-disclosure[open]>.mobile-disclosure-panel{display:block!important}.bio-chapter,.bio-chapter:last-of-type{margin-bottom:0;padding:6px 0}.bio-chapter:last-of-type{border-bottom:0}.bio-chapter .bio-paragraphs{padding:2px 0 22px 42px}}@media (width<=360px){.nav-dock{justify-content:center;gap:0;width:max-content;max-width:calc(100vw - 12px);padding-inline:0}.nav-settings{padding-left:0}.nav-item .nav-icon{width:20px;height:20px}}.hero-summary,.footer-bottom,.contact-form label,.contact-form .message-meta,.form-status,.lightbox-status,.lightbox-figure figcaption,.project-detail summary,.project-detail h4,.policy-dialog-copy>p{font-size:14px}@media (width<=700px){.footer-handle{font-size:clamp(19px,5.7vw,25px)}.footer-handle svg{width:20px;height:20px}}.policy-dialog{background:var(--bg);width:min(720px,100% - 32px);max-height:calc(100svh - 40px);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:clamp(28px,4vw,52px);overflow:auto}.policy-dialog::backdrop{background:#000c}.policy-dialog h2{max-width:570px;font-family:var(--font-display);letter-spacing:-.025em;margin:22px 0 30px;font-size:clamp(34px,4.2vw,54px);font-weight:400;line-height:1.08}.policy-dialog-copy{max-width:60ch}.policy-dialog-copy>p{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.8}.policy-dialog-copy .outline-button{margin-top:4px}.policy-dialog-copy .storage-status{min-height:20px;color:var(--accent);margin:10px 0 0;font-size:12px}.policy-full-link{border-bottom:1px solid var(--line);min-height:44px;color:var(--text);align-items:center;gap:12px;margin-top:20px;font-size:13px;font-weight:650;transition:color .3s,border-color .3s;display:inline-flex}.policy-full-link:is(:hover,:focus-visible){color:var(--accent);border-color:var(--accent)}.policy-full-link .link-arrow{width:18px;height:18px;transition:transform .45s var(--motion-ease)}.policy-full-link:is(:hover,:focus-visible) .link-arrow{transform:translate(2px,-2px)}@media (width<=700px){.policy-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);padding:30px 22px}.policy-dialog h2{margin-top:18px;font-size:36px}.policy-dialog-copy>p{font-size:13px}}.section-with-curve{overflow:clip}.section-curve{z-index:-1;pointer-events:none;color:var(--text);opacity:.22;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 9%, transparent));position:absolute;overflow:visible}.section-curve path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.section-curve-accent{stop-color:var(--accent)}.section-curve-line{stroke-width:1.05px;animation:8s ease-in-out infinite section-curve-breathe}.section-curve-glint{stroke-width:1.45px;opacity:.12;animation:9s ease-in-out infinite section-curve-glint}.section-curve--arc{width:min(670px,48vw);height:360px;animation:11s ease-in-out infinite section-curve-drift;top:7%;right:-4%;transform:rotate(-4deg)}.section-curve--wave{opacity:.17;width:min(820px,58vw);height:340px;animation:14s ease-in-out infinite section-curve-drift-alt;top:19%;left:-7%;transform:rotate(7deg)scaleY(.78)}.section-curve--wave .section-curve-line{animation-duration:11s;animation-delay:-4s}.section-curve--arc.section-curve--mirror{opacity:.15;top:11%;left:-6%;right:auto;transform:rotate(5deg)scaleX(-1)}.section-curve--wave.section-curve--mirror{opacity:.13;top:14%;left:auto;right:-9%;transform:rotate(-6deg)scaleY(.74)scaleX(-1)}.section-curve--rise{opacity:.24;width:108%;height:110%;animation:15s ease-in-out infinite section-curve-rise;inset:-5% -4% auto;transform:none;-webkit-mask-image:linear-gradient(90deg,#0000 0 61%,#0000004d 72%,#000 87%);mask-image:linear-gradient(90deg,#0000 0 61%,#0000004d 72%,#000 87%)}.section-curve--rise .section-curve-accent{stop-color:color-mix(in srgb, var(--text) 86%, var(--muted))}.section-curve--rise .section-curve-glint{display:none}.section-curve-thread{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;transition:stroke .5s}.section-curve-thread--1{stroke:color-mix(in srgb, var(--text) 34%, transparent);stroke-width:.62px;opacity:.3;animation:12s ease-in-out infinite contact-curve-soft}.section-curve-thread--2{stroke:color-mix(in srgb, var(--text) 62%, transparent);stroke-width:1.7px;opacity:.25;animation:16s ease-in-out infinite contact-curve-bright}@keyframes section-curve-breathe{0%,to{opacity:.62}50%{opacity:1}}@keyframes section-curve-glint{0%,to{opacity:.06}50%{opacity:.24}}@keyframes section-curve-drift{0%,to{translate:0}50%{translate:-9px 7px}}@keyframes section-curve-drift-alt{0%,to{translate:0}48%{translate:12px -5px}}@keyframes section-curve-rise{0%,to{translate:0}50%{translate:5px 10px}}@keyframes contact-curve-soft{0%,to{opacity:.18;transform:translate(-6px,-3px)}50%{opacity:.38;transform:translate(7px,4px)}}@keyframes contact-curve-bright{0%,to{opacity:.2;transform:translate(5px,1px)}50%{opacity:.46;transform:translate(-8px,-4px)}}@media (width<=700px){.section-curve{opacity:.13}.section-curve--arc{width:120vw;height:260px;top:10%;right:-32%}.section-curve--wave{width:135vw;height:280px;top:22%;left:-42%}.section-curve--rise{opacity:.13;width:164%;height:104%;inset:-2% -42% auto;-webkit-mask-image:linear-gradient(90deg,#0000 0 58%,#00000038 72%,#000 92%);mask-image:linear-gradient(90deg,#0000 0 58%,#00000038 72%,#000 92%)}.section-curve-thread--2{stroke-width:1.3px}}@media (prefers-reduced-motion:reduce){.section-curve,.section-curve path{animation:none!important}}:root[data-motion-paused] .section-curve,:root[data-motion-paused] .section-curve path,:root[data-page-hidden] .section-curve,:root[data-page-hidden] .section-curve path{animation-play-state:paused}.project-detail{border-top:1px solid var(--line);margin-top:22px}.project-detail summary{cursor:pointer;min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:13px;list-style:none;transition:color .25s;display:flex}.project-detail summary::-webkit-details-marker{display:none}.project-detail summary:hover{color:var(--accent)}.project-detail summary span{font-size:21px;transition:transform .35s}.project-detail[open]:not(.is-collapsing) summary span{transform:rotate(45deg)}.project-detail-panel{display:flow-root}.project-detail h4{color:var(--text);margin:20px 0 8px;font-size:12px;font-weight:600}.project-index .project-detail p{margin-bottom:18px;font-size:14px;line-height:1.75}.project-detail[open]>div{animation:.45s backwards intro-content}.collaboration-flow{border-top:1px solid var(--line);margin-top:45px;padding:44px 0 70px}.collaboration-flow h3{font-family:var(--font-display);margin:0 0 28px;font-size:clamp(28px,3vw,38px);font-weight:400}.collaboration-flow ol{counter-reset:step;gap:40px;margin:0;padding:0;list-style:none;display:flex}.collaboration-flow li{flex:1;min-width:0;position:relative}.collaboration-flow li:not(:last-child):after{content:"";background:linear-gradient(90deg, var(--accent), var(--field-focus-sweep) 48%, var(--accent)) no-repeat 0 100% / 0 100%, linear-gradient(90deg, color-mix(in srgb, var(--accent) 35%, var(--line)), var(--line));pointer-events:none;height:1px;transition:background-size .52s var(--motion-ease);position:absolute;top:22px;left:60px;right:-24px}.collaboration-flow li:hover:not(:last-child):after,.collaboration-flow li:focus-within:not(:last-child):after{background-size:100% 100%,auto}.flow-node{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;transition:color .4s,border-color .4s,background-color .4s;display:flex}.flow-node svg{stroke-width:1.35px;width:21px;height:21px;transition:transform .45s var(--motion-ease)}.collaboration-flow li:hover .flow-node{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, transparent)}.collaboration-flow li:hover .flow-node svg{transform:translateY(-1px)}.collaboration-flow h4{margin:14px 0 10px;font-size:16px;font-weight:600}.collaboration-flow p{color:var(--muted);margin:0;font-size:14px}.copy-email{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:color .25s,border-color .25s;display:flex}.copy-email:not(.is-copied):hover{color:var(--accent);border-color:var(--accent)}.copy-email svg{width:18px;height:18px}.copy-status{color:var(--muted);max-width:22ch;font-size:12px}@media (width<=700px){.collaboration-flow ol{flex-direction:column;gap:32px}.collaboration-flow li{min-height:60px;padding-left:64px}.flow-node{position:absolute;top:0;left:0}.collaboration-flow h4{margin-top:0}.collaboration-flow li:not(:last-child):after{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 35%, var(--line)), var(--line));width:1px;height:auto;inset:55px auto -19px 22px}.footer-contact{position:relative}.copy-status{min-height:18px}.collaboration-flow{padding-bottom:46px}.collaboration-flow ol{gap:0}.collaboration-flow li{border-bottom:1px solid var(--line);min-height:0;padding:6px 0}.collaboration-flow li:last-child{border-bottom:0}.collaboration-flow li:after{content:none!important}.collaboration-flow .mobile-disclosure-panel{padding:0 0 22px 42px}.collaboration-flow .mobile-disclosure-panel p{max-width:34rem;line-height:1.75}}@keyframes mobile-disclosure-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px) and (prefers-reduced-motion:no-preference){.mobile-disclosure[open]>.mobile-disclosure-panel{animation:mobile-disclosure-in .26s var(--motion-ease) both}}@keyframes intro-content{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-portrait{0%{opacity:0;clip-path:inset(8% 0 0);scale:1.025}to{opacity:1;clip-path:inset(0);scale:1}}@keyframes intro-navigation{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){.hero-signature,.hero h1>span,.hero-meta,.hero-intro,.hero-summary,.hero-actions,.hero .scroll-cue{animation:.9s cubic-bezier(.22,.68,.2,1) backwards intro-content}.hero-signature{animation-delay:40ms}.hero h1>span:first-child{animation-delay:.12s}.hero h1>span+span{animation-delay:.22s}.hero-meta{animation-delay:.3s}.hero-intro{animation-delay:.38s}.hero-summary{animation-delay:.46s}.hero-actions{animation-delay:.54s}.hero .scroll-cue{animation-delay:.62s}.hero-portrait{animation:1.2s cubic-bezier(.33,0,0,1) 60ms backwards intro-portrait}.hero :is(a,button):focus-visible{animation:none}}.social-links a[href*=pinterest\.com]{--social-mark:url(/brand/social-pinterest.svg)}.social-links a[href*="open.spotify.com"]{--social-mark:url(/brand/social-spotify.svg)}[data-scroll-section]{scroll-margin-top:calc(clamp(2px,12vh - 110px,22px) - 30px)}.content-section[data-scroll-section]{padding-bottom:clamp(90px,9vw,150px)}.approach.content-section{border-bottom:0}.content-section[data-scroll-section]:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--line) 10%, var(--line) 72%, transparent 100%);pointer-events:none;height:1px;position:absolute;top:0;left:clamp(24px,6vw,110px);right:clamp(24px,6vw,110px)}@media (width<=700px){[data-scroll-section]{scroll-margin-top:calc(20px + clamp(0px,13vh - 110px,18px))}.content-section[data-scroll-section]{padding-bottom:90px}}.hero h1{font-weight:760}.hero h1 i{font-style:normal;font-weight:inherit;display:inline-block}.hero h1 span+span{font-weight:610}.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{isolation:isolate;letter-spacing:-.045em;color:#080808;transition:color .45s ease, border-color .45s ease, transform .45s var(--motion-ease);background:linear-gradient(115deg,#fff,#e6e6e6);font-size:clamp(24px,3.6vw,50px);font-weight:700;overflow:hidden}.footer-contact .footer-email:before{content:"";z-index:0;background:linear-gradient(115deg, var(--accent-start), var(--accent-end));transform-origin:0;transition:transform .62s var(--motion-ease);position:absolute;inset:0;transform:scaleX(0)}.footer-contact .footer-email>span,.footer-contact .footer-email>svg{z-index:1;position:relative}.footer-contact .footer-email:is(:hover,:focus-visible),body[data-page=home] .footer-contact .footer-email:is(:hover,:focus-visible){color:var(--accent-contrast);border-color:color-mix(in srgb, var(--accent-end) 82%, #000 18%)}.footer-contact .footer-email:is(:hover,:focus-visible):before{transform:scaleX(1)}.footer-contact .footer-email:after{display:none}.hero-meta .eyebrow{transition:color .35s}.hero-meta .eyebrow:hover,.hero-meta .eyebrow:hover svg{color:var(--accent)}.hero-meta svg{transition:color .35s ease, translate .45s var(--motion-ease)}.hero-meta .eyebrow:hover svg{translate:0 -2px}.apple-preference:before{content:"";width:14px;height:14px;transition:translate .45s var(--motion-ease);background:currentColor;flex:none;-webkit-mask:url(/brand/apple.svg) 50%/contain no-repeat;mask:url(/brand/apple.svg) 50%/contain no-repeat}.apple-preference:hover:before{translate:0 -2px}.apple-preference img{clip-path:inset(50%);-webkit-user-select:none;user-select:none;filter:none!important;width:1px!important;height:1px!important;position:absolute!important}@media (width<=700px){.footer-contact .footer-email,body[data-page=home] .footer-contact .footer-email{gap:12px;font-size:clamp(19px,5.8vw,36px)}}.nav-dock{transform-origin:50%;animation:9s ease-in-out infinite dock-float,.65s ease-out backwards intro-navigation}@keyframes dock-float{0%,to{box-shadow:0 8px 24px #0002,inset 0 1px #ffffff16}35%{box-shadow:1px 13px 30px #0003,inset 0 1px #ffffff20}70%{box-shadow:-1px 9px 25px #0002,inset 0 1px #ffffff18}}.nav-dock:is(:hover,:focus-within),.nav-dock:has(.nav-settings[open]),body.dialog-open .nav-dock,:root[data-page-hidden] .nav-dock{animation-play-state:paused,running}.nav-dock{transition:top .35s var(--motion-ease), border-color .45s ease, box-shadow .45s ease, opacity .11s ease, visibility .11s ease, transform .15s var(--motion-ease)}.nav-dock:focus-within,.nav-dock:hover{border-color:color-mix(in srgb, var(--text) 25%, var(--line));box-shadow:inset 0 1px #ffffff25,0 10px 30px #0002}.nav-item svg{transition:transform .52s cubic-bezier(.2,.8,.2,1),opacity .35s}.nav-item:active svg{transform:scale(.88)}#motion-control{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .3s,color .3s;display:flex}#motion-control:is(:hover,:focus-visible){background:var(--surface);color:var(--accent)}#motion-control svg{width:19px;height:19px}#motion-control .motion-off,#motion-control[aria-pressed=true] .motion-on{display:none}#motion-control[aria-pressed=true] .motion-off{display:block}#motion-control:disabled{opacity:.5;cursor:default}.consult-button:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(110deg,#0000 10%,#ffffff12 48%,#0000 85%);transition:translate .75s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;translate:-110%}.consult-button:is(:hover,:focus-visible):before{translate:110%}.consult-button:active{transform:translateY(0)scale(.985)}.hero-portrait img{transition:translate .85s var(--motion-ease), filter .7s ease}.portrait-contact{transition:color .35s,border-color .5s}.outline-button{isolation:isolate;transition:color .26s ease, border-color .26s ease, transform .2s var(--motion-ease);position:relative;overflow:hidden}.outline-button:before{content:"";z-index:-1;background:linear-gradient(115deg, var(--accent-start), var(--accent-end));transform-origin:0;transition:transform .42s var(--motion-ease);position:absolute;inset:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.outline-button:hover{color:var(--bg)}.outline-button:hover:before{transform:scaleX(1)}}.outline-button:active{transform:scale(.975)}@media (hover:none){.outline-button:active{color:var(--bg)}.outline-button:active:before{transform:scaleX(1)}}.portrait-contact>span,.outline-button svg{transition:translate .45s var(--motion-ease), transform .45s var(--motion-ease)}.hero-portrait:is(:hover,:focus-visible) .portrait-contact>span{translate:3px -3px}.outline-button:is(:hover,:focus-visible) svg{translate:2px -2px}.area-disclosure .area-icon{transition:transform .6s var(--motion-ease), color .35s ease}.area-disclosure:focus-within .area-icon{transform:translate(3px)}.scroll-cue span{transition:translate .5s var(--motion-ease)}.scroll-cue:is(:hover,:focus-visible) span{translate:0 5px}.contact-dialog[open],.policy-dialog[open]{animation:.34s cubic-bezier(.2,.8,.2,1) contact-arrive}.contact-dialog[open]::backdrop,.policy-dialog[open]::backdrop{animation:.3s backdrop-arrive}@keyframes contact-arrive{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@keyframes backdrop-arrive{0%{opacity:0}to{opacity:1}}@media (hover:hover) and (pointer:fine){.hero-portrait:hover img{translate:0 -4px}.nav-item:not(.active):hover svg{transform:translateY(-2px)rotate(-4deg)}}@media (width<=700px){@keyframes dock-float{0%,to{box-shadow:0 7px 20px #0002,inset 0 1px #ffffff16}50%{box-shadow:0 11px 25px #0003,inset 0 1px #ffffff20}}}:root[data-motion-paused] .nav-dock{animation-play-state:paused,running}:root[data-motion-paused] .inline-symbol__image,:root[data-page-hidden] .inline-symbol__image{animation-play-state:paused}.photo-lightbox[open] .lightbox-stage{justify-content:center;align-items:center;gap:clamp(18px,2.4vw,40px);height:100%;display:flex}.photo-lightbox .lightbox-figure{min-width:0;max-width:100%;height:calc(100% - var(--lightbox-caption));padding-inline:var(--lightbox-gutter);flex:0 auto}.photo-lightbox .lightbox-figure>img{width:auto;max-width:100%;height:100%}.lightbox-aside{flex-direction:column;flex:none;align-items:flex-end;gap:14px;width:164px;display:flex}.lightbox-exif{border:1px solid var(--lightbox-card-line);background:var(--lightbox-card-fill);width:100%;color:var(--lightbox-card-ink);text-align:left;border-radius:6px;margin:0;padding:13px 15px;font-family:Manrope,Arial,sans-serif;font-size:11px;font-style:normal;line-height:1.55}.photo-lightbox .lightbox-aside{opacity:0;visibility:hidden;transition:opacity .22s,visibility .22s}.photo-lightbox[open][data-settled] .lightbox-aside{opacity:1;visibility:visible}.lightbox-exif:not([data-ready=true]){display:none}.lightbox-exif>div+div{border-top:1px solid #262626;margin-top:12px;padding-top:12px}:root[data-theme=light] .lightbox-exif>div+div{border-top-color:#e6e6e6}.lightbox-exif dt{letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:400}.lightbox-exif dd{color:#f3f3f3;margin:3px 0 0;font-size:12px;font-weight:650}:root[data-theme=light] .lightbox-exif dd{color:#161616}@media (width<=1000px){.photo-lightbox[open] .lightbox-stage{flex-direction:column;gap:14px}.photo-lightbox .lightbox-figure{flex:auto;grid-template-rows:minmax(0,1fr) auto;width:100%;height:auto;min-height:0;display:grid}.photo-lightbox .lightbox-figure>img{grid-row:1;height:100%}.photo-lightbox .lightbox-figure figcaption{grid-row:2;padding-top:12px;position:static}.photo-lightbox .lightbox-controls button{grid-row:1}.lightbox-aside{align-items:stretch;width:100%;position:static}.lightbox-exif{flex-wrap:wrap;justify-content:center;gap:10px 22px;padding:11px 14px;display:flex}.lightbox-exif>div+div{border-top:0;border-left:1px solid #262626;margin:0;padding:0 0 0 26px}:root[data-theme=light] .lightbox-exif>div+div{border-left-color:#e6e6e6}.lightbox-exif dt{font-size:9px}.lightbox-exif dd{font-size:12px}.lightbox-header{z-index:2;position:absolute;top:10px;right:10px}}@media (width<=700px){.lightbox-exif{gap:10px 18px;padding:12px 14px}.lightbox-exif>div+div{padding-left:18px}}.nav-dock.is-scrolling{opacity:0;visibility:hidden;pointer-events:none}@media (width>=701px){.nav-dock.is-scrolling{transform:translateY(-12px)}}@media (width<=700px){.nav-dock.is-scrolling{transform:translate(-50%)translateY(-12px)}}@media (prefers-reduced-motion:reduce){.nav-dock,.contact-dialog[open],.contact-dialog[open]::backdrop,.policy-dialog[open],.policy-dialog[open]::backdrop{transition:none!important;animation:none!important;translate:none!important}.hero-portrait img,.portrait-contact>span,.outline-button svg,.scroll-cue .scroll-arrow,.consult-button:before{transition:none!important;translate:none!important}.consult-button:before{display:none}}@media (prefers-reduced-motion:no-preference){:root[data-js][data-reveal-active] [data-reveal]{transition:opacity .38s var(--motion-ease), transform .42s var(--motion-ease);transition-delay:var(--reveal-delay,0s)}:root[data-js][data-reveal-active] [data-reveal]:not([data-revealed]){opacity:0;transform:translate3d(0, var(--reveal-shift,20px), 0)}:root[data-js][data-reveal-active] [data-reveal][data-revealed]{opacity:1;transform:none}:root[data-js][data-reveal-active] [data-reveal=portrait]:not([data-revealed]){--reveal-shift:30px}:root[data-js][data-reveal-active] .gallery-band [data-reveal]:not([data-revealed]){transform:translate3d(var(--reveal-shift-x,28px), 0, 0)}:root[data-js][data-reveal-active] .gallery-photo[data-reveal]:not([data-revealed]){--reveal-shift:26px}@media (width<=700px){:root[data-js][data-reveal-active] [data-reveal]:not([data-revealed]){--reveal-shift:14px;--reveal-shift-x:18px}:root[data-js][data-reveal-active] [data-reveal=portrait]:not([data-revealed]),:root[data-js][data-reveal-active] .gallery-photo[data-reveal]:not([data-revealed]){--reveal-shift:18px}:root[data-js][data-reveal-active] [data-reveal]{transition:opacity .32s var(--motion-ease), transform .36s var(--motion-ease)}}}:root[data-motion-paused] [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}@media print{[data-reveal]{opacity:1!important;transform:none!important}}@keyframes hero-star-drift-far{0%{translate:0}to{translate:-1180px}}@keyframes hero-star-drift-near{0%{translate:0}to{translate:-760px}}@keyframes hero-star-breathe{0%,to{opacity:var(--hero-star-rest)}50%{opacity:var(--hero-star-peak)}}:root[data-theme=dark] .hero-stars:before{--hero-star-rest:.46;--hero-star-peak:.62;animation:260s linear infinite hero-star-drift-far,19s ease-in-out infinite hero-star-breathe}:root[data-theme=dark] .hero-stars:after{--hero-star-rest:.58;--hero-star-peak:.82;animation:150s linear infinite hero-star-drift-near,13s ease-in-out -6s infinite hero-star-breathe}:root[data-motion-paused] .hero-stars:before,:root[data-motion-paused] .hero-stars:after,:root[data-page-hidden] .hero-stars:before,:root[data-page-hidden] .hero-stars:after{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.hero-stars:before,.hero-stars:after{animation:none}}@keyframes hero-grain-breathe{0%,to{opacity:.34}50%{opacity:.44}}@media (prefers-reduced-motion:no-preference){.hero:before{animation:7s ease-in-out infinite hero-grain-breathe}}:root[data-motion-paused] .hero:before,:root[data-page-hidden] .hero:before{animation-play-state:paused}.policy-page{--policy-measure:65ch}.policy-page>.section-kicker{margin-bottom:26px}.policy-page>h1{text-wrap:balance;margin-bottom:26px}.policy-title-accent{color:var(--accent)}.policy-lead{text-wrap:pretty;max-width:52ch;color:var(--text);letter-spacing:-.015em;margin:0 0 24px;font-size:clamp(17px,1.6vw,22px);line-height:1.6}.policy-stamp{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 clamp(42px,5vw,66px);font-size:11px;display:inline-flex}.policy-stamp svg{width:15px;height:15px;color:var(--accent);flex:none}.policy-page .policy-copy{max-width:none;font-size:inherit}.policy-contents{max-width:var(--policy-measure);border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 42%, transparent);border-radius:4px;margin:0 0 clamp(40px,4.5vw,62px);padding:20px clamp(18px,2vw,26px) 6px}.policy-contents-title{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px;font-size:11px}.policy-contents ol{margin:0;padding:0;list-style:none}.policy-contents li+li{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent)}.policy-contents a{min-height:48px;color:var(--text);align-items:center;gap:14px;font-size:15px;transition:color .28s;display:flex}.policy-contents-index{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.12em;flex:none;font-size:11px;transition:color .28s}.policy-contents-name{flex:auto;min-width:0}.policy-contents-arrow{width:16px;height:16px;color:var(--accent);opacity:.5;transition:transform .4s var(--motion-ease), opacity .28s ease;flex:none}@media (hover:hover) and (pointer:fine){.policy-contents a:hover,.policy-contents a:hover .policy-contents-index{color:var(--accent)}.policy-contents a:hover .policy-contents-arrow{opacity:1;transform:translateY(3px)}}.policy-contents a:active .policy-contents-arrow{opacity:1;transform:translateY(5px)}.policy-note{max-width:var(--policy-measure);border-left:2px solid color-mix(in srgb, var(--accent) 55%, transparent);color:var(--muted);margin:0 0 clamp(36px,4vw,54px);padding-left:18px;font-size:15px;line-height:1.8}.policy-block{max-width:calc(var(--policy-measure) + 74px);padding:0 0 clamp(32px,3.4vw,46px) 74px;scroll-margin-top:clamp(24px,10vh,90px);position:relative}.policy-block:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 50%, transparent), transparent 88%);transform-origin:50% 0;width:1px;position:absolute;top:30px;bottom:0;left:26px}.policy-block:last-of-type:before{bottom:clamp(32px,3.4vw,46px)}.policy-block-index{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.14em;margin:0;font-size:11px;transition:color .3s;position:absolute;top:3px;left:0}.policy-block h2{letter-spacing:-.045em;align-items:center;gap:12px;margin:0 0 16px;font-size:clamp(21px,2vw,30px);font-weight:500;line-height:1.2;display:flex}.policy-block-icon{width:21px;height:21px;color:var(--accent);transition:transform .52s var(--motion-ease);flex:none}.policy-block p{max-width:var(--policy-measure);color:var(--muted);margin:0 0 16px;font-size:15px;line-height:1.85}.policy-block p:last-child{margin-bottom:0}.policy-block:focus{outline:none}.policy-block:focus .policy-block-index{color:var(--accent)}.policy-block:focus .policy-block-icon{transform:translate(3px)}.policy-block:focus:before{background:linear-gradient(180deg, var(--accent), transparent 92%)}.policy-signals{max-width:var(--policy-measure);border-top:1px solid var(--line);margin:0 0 clamp(32px,3.5vw,46px);padding:0;list-style:none}.policy-signals li{border-bottom:1px solid var(--line);align-items:center;gap:16px;min-height:58px;padding:8px 0;display:flex}.policy-signal-mark{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));border-radius:50%;flex:none;width:22px;height:22px;position:relative}.policy-signal-mark:after{content:"";background:var(--accent);width:11px;height:1px;margin:auto;position:absolute;inset:0;transform:rotate(-45deg)}.policy-signal-name{min-width:0;color:var(--text);flex:auto;font-size:16px}.policy-signal-state{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;flex:none;font-size:11px}.policy-panel{max-width:calc(var(--policy-measure) + 8ch);border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 52%, transparent);border-radius:5px;margin:clamp(46px,5vw,72px) 0 clamp(38px,4vw,54px);padding:clamp(24px,3vw,34px);position:relative;overflow:clip}.policy-panel:before{content:"";background:linear-gradient(115deg, var(--accent-start), var(--accent-end));transform-origin:50% 0;width:3px;transition:transform .62s var(--motion-ease);position:absolute;inset:0 auto 0 0}.policy-panel-title{color:var(--text);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 14px;font-size:12px;font-weight:650;display:flex}.policy-panel-title svg{width:18px;height:18px;color:var(--accent);flex:none}.policy-panel-note{color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.8}.policy-keys{margin:0 0 26px;padding:0;list-style:none}.policy-keys li{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);align-items:center;gap:14px;min-height:48px;padding:8px 0;display:flex}.policy-key-label{min-width:7ch;color:var(--text);flex:none;font-size:13px}.policy-key-name{overflow-wrap:anywhere;min-width:0;color:var(--muted);flex:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.policy-key-value{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line));color:var(--accent);letter-spacing:.08em;text-transform:uppercase;border-radius:100px;flex:none;padding:5px 12px;font-size:11px;transition:color .3s,border-color .3s}.policy-key-value[data-preference-empty]{color:var(--muted);border-color:var(--line)}.policy-clear{gap:0}.policy-clear-icon{opacity:0;width:0;height:18px;transition:width .32s var(--motion-ease), margin-left .32s var(--motion-ease), opacity .26s ease;flex:none;overflow:visible}.policy-clear-check{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:26;stroke-dashoffset:26px}.policy-clear.is-cleared{border-color:var(--accent)}.policy-clear.is-cleared .policy-clear-icon{opacity:1;width:18px;margin-left:12px}.policy-clear.is-cleared .policy-clear-check{stroke-dashoffset:0}.policy-panel .storage-status{min-height:20px;color:var(--accent);opacity:0;transition:opacity .32s ease, transform .38s var(--motion-ease);margin:16px 0 0;font-size:13px;line-height:1.6;transform:translateY(6px)}.policy-panel .storage-status:not(:empty){opacity:1;transform:none}.policy-page .policy-draft{max-width:var(--policy-measure);color:var(--muted);margin:0;font-size:13px;line-height:1.75}@media (prefers-reduced-motion:no-preference){:root[data-js][data-reveal-active] .policy-panel:not([data-revealed]):before{transform:scaleY(0)}.policy-clear-check{transition:stroke-dashoffset .42s var(--motion-ease) .14s}.policy-clear.is-cleared:before{background:linear-gradient(115deg, color-mix(in srgb, var(--accent) 24%, transparent), transparent);animation:policy-sweep .66s var(--motion-ease)}.policy-key-value.is-updating{animation:policy-swap .46s var(--motion-ease)}}@keyframes policy-sweep{0%{transform-origin:0;transform:scaleX(0)}46%{transform-origin:0;transform:scaleX(1)}54%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}@keyframes policy-swap{0%{transform:scale(1)}35%{opacity:.35;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@media (width<=700px){.policy-page{--policy-measure:100%}.policy-lead{font-size:17px}.policy-stamp{margin-bottom:38px}.policy-contents a{font-size:14px}.policy-block{padding:0 0 28px;scroll-margin-top:calc(20px + clamp(0px,13vh - 110px,18px))}.policy-block:before{display:none}.policy-block+.policy-block{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.policy-block-index{margin-bottom:10px;display:block;position:static}.policy-block h2{font-size:22px}.policy-signal-name{font-size:15px}.policy-keys li{flex-wrap:wrap;gap:8px 12px}.policy-key-name{flex-basis:100%;order:3}.policy-clear{width:100%}}.contact-dialog,.policy-dialog,.resume-dialog,.contact-form textarea,.nav-settings .header-controls{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 62%, transparent) transparent}:is(.contact-dialog,.policy-dialog,.resume-dialog,.contact-form textarea,.nav-settings .header-controls)::-webkit-scrollbar{width:9px;height:9px}:is(.contact-dialog,.policy-dialog,.resume-dialog,.contact-form textarea,.nav-settings .header-controls)::-webkit-scrollbar-track{background:0 0}:is(.contact-dialog,.policy-dialog,.resume-dialog,.contact-form textarea,.nav-settings .header-controls)::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 62%, transparent);background-clip:content-box;border:2px solid #0000;border-radius:100px}:is(.contact-dialog,.policy-dialog,.resume-dialog,.contact-form textarea,.nav-settings .header-controls)::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:content-box}.policy-dialog-copy .policy-lead{max-width:none;margin-bottom:18px;font-size:15px}.policy-dialog-copy .policy-note{max-width:none;margin-bottom:26px;font-size:13px}.policy-dialog-copy .policy-block{max-width:none;padding-bottom:26px}.policy-dialog-copy .policy-block h3{letter-spacing:-.03em;align-items:center;gap:12px;margin:0 0 12px;font-size:17px;font-weight:560;line-height:1.25;display:flex}.policy-dialog-copy .policy-block p{max-width:none;font-size:13px}.policy-dialog-copy .policy-panel{max-width:none;margin:24px 0 4px}.policy-dialog-copy .policy-panel-note{font-size:13px}.form-status{z-index:60;border:1px solid var(--line);background:var(--surface);width:min(420px,100vw - 32px);min-height:0;box-shadow:0 18px 50px color-mix(in srgb, var(--bg) 72%, transparent);color:var(--text);text-align:left;opacity:0;visibility:hidden;transition:opacity .22s ease, visibility .22s ease, transform .32s var(--motion-ease);border-radius:8px;align-items:flex-start;gap:12px;margin:0;padding:16px 18px;font-size:14px;line-height:1.5;display:flex;position:fixed;bottom:25px;right:87px;overflow:hidden;transform:translateY(12px)}.form-status[data-open]{opacity:1;visibility:visible;transform:none}.form-status:not([data-open]){pointer-events:none}.form-status-text{flex:auto;min-width:0}.form-status-icon{background:var(--accent);width:18px;height:18px;-webkit-mask:var(--toast-mark) center / contain no-repeat;mask:var(--toast-mark) center / contain no-repeat;-webkit-mask:var(--toast-mark) center / contain no-repeat;--toast-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.5 2.5 2.5L16 9.5'/%3E%3C/svg%3E");flex:none;margin-top:1px}.form-status[data-tone=problem] .form-status-icon{--toast-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6M12 16.5v.01'/%3E%3C/svg%3E")}.form-status[data-tone=waiting] .form-status-icon{--toast-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9'/%3E%3C/svg%3E")}.form-status-timer{background:linear-gradient(90deg, var(--accent-start), var(--accent-end));transform-origin:0;height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.form-status[data-open][data-life] .form-status-timer{animation:toast-countdown var(--toast-life,4.5s) linear forwards}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.form-status{transition:none}.form-status[data-tone=waiting] .form-status-icon{animation:none}}@media (prefers-reduced-motion:no-preference){.form-status[data-tone=waiting] .form-status-icon{animation:.9s linear infinite toast-waiting}}@keyframes toast-waiting{to{rotate:360deg}}@media (width<=700px){.form-status{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;font-size:13px}}.resume-dialog{border:1px solid var(--line);background:var(--bg);width:min(940px,100vw - 32px);max-height:calc(100svh - 48px);color:var(--text);border-radius:6px;padding:0;overflow:auto}.resume-dialog::backdrop{background:#161616f2}:root[data-theme=light] .resume-dialog::backdrop{background:#f6f6f6f2}.resume-dialog:focus{outline:none}.resume-bar{z-index:2;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px clamp(20px,3vw,34px);display:flex;position:sticky;top:0}.resume-print{gap:12px;font-size:13px}.resume-print-icon{width:16px;height:16px;rotate:180deg}.resume{padding:clamp(22px,3vw,34px) clamp(20px,3vw,34px) clamp(28px,3.5vw,44px)}.resume-band{--band-base:#000;--band-tint:#0d0d0d;border:1px solid var(--line);background:radial-gradient(130% 120% at 86% -12%, color-mix(in srgb, var(--accent) 17%, transparent), transparent 62%), linear-gradient(152deg, var(--band-base) 0%, var(--band-tint) 58%, var(--band-base) 100%);color:var(--text);border-radius:6px;flex-wrap:wrap;align-items:flex-start;gap:0 clamp(20px,3vw,36px);padding:clamp(22px,3vw,30px) clamp(22px,3vw,32px);display:flex;position:relative;overflow:clip}:root[data-theme=light] .resume-band{--band-base:#fff;--band-tint:#f7f7f7}.resume-band:before{content:"";background:linear-gradient(115deg, var(--accent-start), var(--accent-end));width:3px;position:absolute;inset:0 auto 0 0}.resume-identity{flex:340px;min-width:0}.resume-eyebrow{color:var(--muted);margin:0 0 12px}.resume-band h2{letter-spacing:-.05em;margin:0;font-size:clamp(30px,4vw,44px);font-weight:450;line-height:1.05}.resume-role{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:12px 0 0;font-size:12px;font-weight:650}.resume-headline{max-width:46ch;color:var(--muted);text-wrap:pretty;margin:12px 0 0;font-size:14px;line-height:1.6}.resume-portrait{aspect-ratio:3/4;object-fit:cover;object-position:50% 18%;border-radius:4px;flex:none;width:clamp(90px,12vw,124px);height:auto}.resume-contact{border-top:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));flex-wrap:wrap;flex-basis:100%;gap:8px 24px;margin:clamp(18px,2.4vw,26px) 0 0;padding:16px 0 0;font-size:12.5px;list-style:none;display:flex}.resume-contact li{color:var(--text);align-items:center;gap:8px;font-weight:650;display:flex}.resume-contact svg{width:13px;height:13px;color:var(--accent);flex:none}.resume-contact a{color:var(--text);font-weight:650}.resume-profile{flex-wrap:wrap;gap:clamp(18px,2.4vw,26px);margin-top:clamp(20px,2.6vw,30px);display:flex}.resume-profile-section{flex:280px;min-width:0}.resume-profile-section h3{border-bottom:1px solid var(--line);color:var(--text);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:11px;margin:0 0 12px;padding-bottom:10px;font-size:11px;font-weight:650;display:flex}.resume-profile-section h3 svg{width:12px;height:12px;color:var(--accent);flex:none}.resume-profile-section p{color:var(--muted);text-wrap:pretty;margin:0 0 10px;font-size:13px;line-height:1.65}.resume-profile-section p:last-child{margin-bottom:0}.resume-profile-section strong{color:var(--text);font-weight:600}.resume-section{margin-top:clamp(20px,2.6vw,30px)}.resume-section h3{border-bottom:1px solid var(--line);color:var(--text);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:11px;margin:0 0 16px;padding-bottom:10px;font-size:12px;font-weight:650;display:flex}.resume-section h3 svg{width:12px;height:12px;color:var(--accent);flex:none}.resume-group-name svg{flex:none;width:11px;height:11px}.resume-job{--job-logo-slot:88px;--job-head-gap:16px;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 52%, transparent);border-radius:5px;padding:18px 26px;position:relative;overflow:clip}.resume-job+.resume-job{margin-top:12px}.resume-job--current:before{content:"";background:linear-gradient(115deg, var(--accent-start), var(--accent-end));width:3px;position:absolute;inset:0 auto 0 0}.resume-job-head{align-items:flex-start;gap:var(--job-head-gap);display:flex}.resume-logo{width:var(--job-logo-slot);flex:none;align-items:center;height:24px;margin-top:3px;display:flex}.resume-logo img{width:auto;max-width:100%;height:auto;max-height:100%}.resume-logo--dark,:root[data-theme=light] .resume-logo--light{display:block}.resume-logo--light,:root[data-theme=light] .resume-logo--dark{display:none}.resume-job-name{flex:auto;min-width:0}.resume-job-name h4{letter-spacing:-.02em;margin:0;font-size:17px;font-weight:600}.resume-job-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:3px 9px;margin:5px 0 0;font-size:12px;display:flex}.resume-job-meta svg{width:12px;height:12px;color:var(--accent);flex:none}.resume-job-note{color:var(--muted);letter-spacing:0;white-space:nowrap;margin-left:8px;font-size:11px;font-weight:400}.resume-dates{align-items:center;gap:5px;display:inline-flex}.resume-dates svg{width:12px;height:12px;color:var(--accent);opacity:.85;flex:none}.resume-job-span{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;flex:none;margin:2px 0 0;font-size:12px}.resume-length{opacity:.78}.resume-job-span .resume-length{margin-top:2px;display:block}.resume-role-span .resume-length{margin-left:6px}.resume-roles{margin:14px 0 0 calc(var(--job-logo-slot) + var(--job-head-gap) - 17px);border-left:1px solid var(--line);padding:0 0 0 16px;list-style:none}.resume-roles li{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex;position:relative}.resume-roles li+li{margin-top:13px}.resume-role-title{margin:0;font-size:14px;font-weight:600;position:relative}.resume-role-title:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:calc(.5lh - 3.5px);left:-20px}.resume-role-span{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:12px}.resume-role-detail{max-width:68ch;color:var(--muted);text-wrap:pretty;flex-basis:100%;margin:6px 0 0;font-size:13px;line-height:1.7}.resume-lower{flex-wrap:wrap;gap:clamp(18px,2.4vw,26px);margin-top:clamp(20px,2.6vw,30px);display:flex}.resume-lower .resume-section{margin-top:0}.resume-section--skills{flex:100%;min-width:0}.resume-aside{display:contents}.resume-aside>.resume-section{flex-direction:column;flex:220px;min-width:0;display:flex}.resume-aside>.resume-section h3{align-items:flex-end;min-height:2.2em}.resume-groups{flex-wrap:wrap;gap:12px;display:flex}.resume-group{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 38%, transparent);border-radius:5px;flex:150px;min-width:0;padding:12px 14px}.resume-group-name{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;margin:0 0 6px;font-size:11px;font-weight:650;display:flex}.resume-group ul{margin:0;padding:0 0 0 15px;list-style:outside}.resume-group li{color:var(--muted);font-size:13px;line-height:1.75}.resume-group li::marker{color:var(--accent)}.resume-entries{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 38%, transparent);border-radius:5px;flex:1;padding:12px 20px}.resume-entry-group+.resume-entry-group{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.resume-entry-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;margin:0 0 8px;font-size:11px;font-weight:650;display:flex}.resume-entry-label svg{flex:none;width:11px;height:11px}.resume-entry+.resume-entry{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.resume-entry-title{margin:0;font-size:14px;font-weight:600}.resume-entry-meta{color:var(--muted);align-items:center;gap:7px;margin:2px 0 0;font-size:12px;display:flex}.resume-entry--stacked{align-items:flex-start;gap:14px;display:flex}.resume-entry-body{flex:auto;min-width:0}.resume-badge{object-fit:contain;object-position:left center;flex:none;width:46px;height:46px;margin-top:1px}.resume-entry-meta svg{width:12px;height:12px;color:var(--accent);flex:none}.resume-open{gap:10px;margin-top:19px;font-size:14px}.resume-open-icon{width:15px;height:15px}.resume-dialog[open]{animation:.34s cubic-bezier(.2,.8,.2,1) contact-arrive}.resume-dialog[open]::backdrop{animation:.3s backdrop-arrive}@media (prefers-reduced-motion:no-preference){.resume-dialog[open] .resume>*{animation:contact-arrive .46s var(--motion-ease) both}.resume-dialog[open] .resume>:nth-child(2){animation-delay:60ms}.resume-dialog[open] .resume>:nth-child(3){animation-delay:.12s}.resume-dialog[open] .resume>:nth-child(4){animation-delay:.18s}}@media (prefers-reduced-motion:reduce){.resume-dialog[open],.resume-dialog[open]::backdrop{animation:none}}@media screen and (width<=760px){.resume-open{margin-top:16px}.resume-band{flex-direction:column}.resume-portrait{order:-1;margin-bottom:16px}.resume-identity{flex-basis:auto}.resume-job-head{flex-wrap:wrap}.resume-job{--job-logo-slot:56px;--job-head-gap:12px;padding:16px 18px}.resume-job-name{flex-basis:0}.resume-job-note{white-space:normal}.resume-job-span{padding-left:calc(var(--job-logo-slot) + var(--job-head-gap));text-align:left;flex-basis:100%}.resume-job-span .resume-length{margin-left:6px;display:inline}.resume-profile-section,.resume-section--skills{flex-basis:100%}.resume-aside{flex:100%;grid-auto-rows:1fr;gap:clamp(18px,2.4vw,26px);min-width:0;display:grid}.resume-aside>.resume-section{flex-basis:auto}.resume-aside>.resume-section h3{min-height:0}}@media print{body>:not(.resume-dialog[data-printing]),.resume-bar{display:none!important}body:before{content:none!important}html{background:var(--bg);-webkit-print-color-adjust:exact;print-color-adjust:exact}.resume-dialog[data-printing]{width:auto;max-width:none;height:auto;max-height:none;color:var(--text);background:0 0;border:0;border-radius:0;margin:0;padding:0;position:static;overflow:visible;display:block!important}.resume-dialog[data-printing]::backdrop{display:none}html,body{height:auto;overflow:visible}.resume-dialog[data-printing]{-webkit-print-color-adjust:exact;print-color-adjust:exact}.resume{padding:0 13mm}.resume-band{--band-base:var(--bg);--band-tint:var(--bg);background:var(--bg);border-color:#0000}.resume-lower{gap:10px;margin-top:10px}.resume-lower .resume-section{padding:14px 15px}.resume-lower .resume-entry+.resume-entry,.resume-lower li+li{margin-top:5px}.resume-section--skills li{font-size:11px;line-height:1.32}.resume-aside>.resume-section h3{min-height:0}.resume-job,.resume-entry,.resume-group,.resume-entries{break-inside:avoid}.resume-section h3{break-after:avoid}.resume-dialog[data-printing] .resume>*{animation:none!important}@page{size:A4;margin:6mm 0}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.area-disclosure summary{min-height:0;padding:0;display:block}.area-media{z-index:0;background:var(--surface);pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden}.area-media:after{content:"";background:linear-gradient(110deg, color-mix(in srgb, var(--surface) 72%, transparent), transparent 46%, color-mix(in srgb, var(--bg) 34%, transparent));pointer-events:none;position:absolute;inset:0}.area-media img{object-fit:cover;opacity:.1;filter:grayscale()contrast(1.08);width:100%;height:100%;transition:transform .7s var(--motion-ease), opacity .45s ease;display:block;transform:scale(1.005)}:root[data-theme=light] .area-media img{opacity:.1;filter:grayscale()contrast(1.04)}.area-summary-line{z-index:1;align-items:flex-start;gap:16px;min-height:156px;padding:22px 22px 24px;display:flex;position:relative}.area-disclosure:before{z-index:2}.area-content{z-index:1;position:relative}.area-disclosure:is(:hover,:focus-within,[open]:not(.is-collapsing)) .area-media img{opacity:.12;transform:scale(1.025)}:root[data-theme=light] .area-disclosure:is(:hover,:focus-within,[open]:not(.is-collapsing)) .area-media img{opacity:.12}@media (width<=1100px){.area-summary-line{min-height:142px}}@media (width<=700px){.area-summary-line{min-height:126px;padding:18px}}@media (prefers-reduced-motion:reduce){.area-media img{transition:none}.area-disclosure:is(:hover,:focus-within,[open]:not(.is-collapsing)) .area-media img{transform:none}}
