.site-header nav a[aria-current="page"]:after{transform:scaleX(1)}
.site-header nav a{min-height:44px;display:inline-flex;align-items:center}
.site-header nav a:nth-child(2){display:inline-flex}
.interior .site-header{background:#fff;color:#000;mix-blend-mode:normal;border-bottom:1px solid #000}
.page-intro{padding:140px var(--gutter) 40px}
.page-intro h1{font-size:clamp(60px,11.6vw,190px);font-weight:700;line-height:.88;letter-spacing:-.075em;margin:55px 0 40px}
.page-intro h1>span{font-weight:400}
.intro-foot{display:flex;justify-content:space-between;align-items:end;gap:30px;font-size:9px;letter-spacing:.05em}
.intro-foot p{font-size:15px;letter-spacing:-.02em}
.biography{display:grid;grid-template-columns:43% 1fr;gap:11%;padding:40px var(--gutter) 110px;align-items:start}
.biography figure img{height:auto;aspect-ratio:3/4;object-fit:cover}
.biography figcaption{font-size:8px;letter-spacing:.08em;margin-top:12px}
.biography-copy{padding-top:20px}
.biography-copy h2{font-size:clamp(45px,5.3vw,90px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:25px 0 35px}
.biography-copy p{font-size:15px;line-height:1.8;max-width:520px;margin-bottom:23px}
.text-link{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #000;font-size:13px;margin-top:30px;max-width:520px;gap:30px}
.philosophy{background:#000;color:#fff;padding:95px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:10%}
.philosophy h2{font-size:clamp(35px,4.4vw,75px);font-weight:500;letter-spacing:-.055em;line-height:1.05;margin-top:30px}
.philosophy>p{font-size:16px;line-height:1.9;max-width:520px}
.felt{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;padding:100px var(--gutter);align-items:center}
.felt img{height:auto;aspect-ratio:3/2;object-fit:cover}
blockquote{margin:0}blockquote cite{display:block;font-size:9px;font-style:normal;letter-spacing:.08em;margin-top:30px;font-weight:500}
.felt blockquote{font-size:clamp(24px,2.6vw,44px);line-height:1.25;letter-spacing:-.035em}
.quote-strip{padding:60px var(--gutter) 100px;display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid #000}
.quote-strip blockquote{font-size:clamp(28px,3.8vw,64px);line-height:1.2;letter-spacing:-.04em}
.page-cta{background:#000;color:#fff;padding:80px var(--gutter)}
.page-cta>a{display:flex;align-items:end;justify-content:space-between;margin:45px 0}
.page-cta h2{font-size:clamp(45px,8.6vw,150px);line-height:.95;font-weight:500;letter-spacing:-.065em}
.page-cta>a>span{font-size:12vw;line-height:.8}
.page-cta>p{font-size:14px;line-height:1.7;max-width:430px}
.page-footer{padding:55px var(--gutter) 25px;background:#000;color:#fff;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px;border-top:1px solid #ffffff50;align-items:start}
.footer-brand{font-size:30px;letter-spacing:-.05em;font-weight:700;line-height:1}
.page-footer>div:not(.footer-base){display:grid;gap:18px;font-size:13px}
.page-footer>div>span{font-size:9px;letter-spacing:.08em}
.page-footer nav{display:flex;justify-content:end;gap:24px;font-size:11px;flex-wrap:wrap}
.page-footer nav a{min-height:32px}
.footer-base{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:24px;font-size:9px;margin-top:20px}
.portfolio-intro h1{font-size:10.5vw}
.portfolio-grid{columns:3;column-gap:2.2vw;padding:30px var(--gutter) 85px}
.portfolio-photo{break-inside:avoid;margin:0 0 3.5vw;display:block}
.portfolio-photo img{width:100%;height:auto;background:#000}
.portfolio-photo figcaption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.06em;margin-top:12px}
.contact-intro h1{font-size:9vw}
.contact-grid{padding:70px var(--gutter) 110px;display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid #000;margin-top:15px}
.contact-details h2{font-size:clamp(35px,4.2vw,70px);letter-spacing:-.05em;line-height:1.1;font-weight:500;margin-top:27px}
.contact-details>p{font-size:15px;line-height:1.7;max-width:350px;margin:28px 0}
.email-address{font-size:clamp(16px,1.8vw,28px);letter-spacing:-.04em;display:flex;gap:20px;align-items:center;padding-bottom:15px;border-bottom:1px solid #000;width:fit-content;max-width:100%;overflow-wrap:anywhere}
.contact-facts{margin-top:50px}.contact-facts>span{font-size:9px;letter-spacing:.08em}.contact-facts>p{font-size:14px;margin:12px 0 28px}
.inquiry form{margin-top:30px}.inquiry label{display:block;font-size:12px;font-weight:500;margin-bottom:27px}.inquiry input,.inquiry textarea{display:block;border:0;border-bottom:1px solid #000;border-radius:0;background:#fff;color:#000;font:inherit;font-size:16px;width:100%;padding:14px 0;resize:vertical;box-shadow:none}.inquiry input:focus-visible,.inquiry textarea:focus-visible{outline:2px solid #000;outline-offset:5px}.inquiry label>span{font-size:11px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:12px;line-height:1.65;margin-bottom:24px;max-width:440px}.send-button{border:1px solid #000;background:#000;color:#fff;width:100%;font:inherit;font-size:13px;display:flex;justify-content:space-between;padding:19px 22px;cursor:pointer}.send-button:hover{background:#fff;color:#000}.send-button:focus-visible,#copy-draft:focus-visible{outline:2px solid #000;outline-offset:5px}.draft-fallback{margin-top:30px}.draft-fallback[hidden]{display:none}.draft-fallback p{font-size:13px;line-height:1.6;margin-bottom:20px}.draft-fallback textarea{font-size:13px;line-height:1.5}#copy-draft{background:#fff;color:#000;border:1px solid #000;padding:13px 20px;font:inherit;font-size:12px;cursor:pointer}.inquiry noscript p{font-size:14px;line-height:1.6;margin-top:20px}
.work-bottom>a{font-size:8px;letter-spacing:.08em;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.site-header nav{gap:18px;font-size:10px}.page-intro{padding-top:120px;padding-bottom:30px}.page-intro .section-top>span:last-child{display:none}.page-intro h1{font-size:13.3vw;margin-top:40px;line-height:.94}.intro-foot{font-size:7px;align-items:start;line-height:1.5;gap:20px}.intro-foot p{font-size:12px;max-width:65%}.biography{grid-template-columns:1fr;gap:35px;padding-top:15px;padding-bottom:60px}.biography figure{width:85%}.biography-copy{padding:0}.biography-copy h2{font-size:14vw}.biography-copy p{font-size:14px}.philosophy{grid-template-columns:1fr;padding-block:60px;gap:35px}.philosophy h2{font-size:10vw}.philosophy>p{font-size:14px;line-height:1.85}.felt{grid-template-columns:1fr;gap:35px;padding-block:60px}.felt blockquote{font-size:8vw}.quote-strip{grid-template-columns:1fr;padding-block:40px 60px}.quote-strip blockquote{font-size:8vw}.page-cta{padding-block:55px}.page-cta h2{font-size:10.3vw}.page-cta>a{margin-block:30px}.page-cta>p{font-size:12px;max-width:85%}.page-footer{grid-template-columns:1fr 1fr;gap:30px;padding-top:40px}.footer-brand{font-size:24px}.page-footer>div:not(.footer-base){grid-column:1/-1;grid-row:2;font-size:12px}.page-footer nav{gap:15px 20px}.page-footer nav a{font-size:10px}.footer-base{font-size:8px;margin-top:0}.footer-base>span{font-size:8px!important}.portfolio-intro h1{font-size:11.5vw}.portfolio-grid{columns:2;column-gap:4vw;padding-top:10px;padding-bottom:50px}.portfolio-photo{margin-bottom:7vw}.portfolio-photo figcaption{font-size:7px;margin-top:8px}.portfolio-photo figcaption>span:last-child{display:none}.contact-intro h1{font-size:10.2vw}.contact-grid{grid-template-columns:1fr;gap:60px;padding-top:45px;padding-bottom:65px}.contact-details h2{font-size:10vw}.contact-details>p{font-size:14px}.email-address{font-size:19px;letter-spacing:-.03em}.contact-facts{margin-top:30px}.contact-facts>p{font-size:13px}.field-pair{gap:18px}.work-bottom>a{font-size:7px;max-width:145px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The button sends one shared circular reveal across the entire gallery. */
.color-toolbar{position:sticky;top:85px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 var(--gutter);padding:16px 0;background:#fff;border-top:1px solid #000;border-bottom:1px solid #000}
.color-toolbar[hidden]{display:none}
.color-note{font-size:9px;font-weight:600;letter-spacing:.09em}
.color-toggle{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;min-width:220px;padding:12px 20px;border:1px solid #000;border-radius:100px;background:#000;color:#fff;font:inherit;font-size:12px;cursor:pointer;transition:background .25s,color .25s}
.color-toggle:hover{background:#fff;color:#000}.color-toggle:focus-visible{outline:2px solid #000;outline-offset:4px}
.color-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.color-frame{position:relative;overflow:hidden;isolation:isolate}
.portfolio-photo .color-layer{position:absolute;inset:0;width:100%;height:100%;filter:none;visibility:hidden;pointer-events:none}
.portfolio-grid.in-color .color-base{filter:none}
.color-toggle:disabled{cursor:progress}
@media(max-width:760px){.color-toolbar{top:86px;padding-block:12px;margin-bottom:18px;gap:12px}.color-note{font-size:7px;max-width:95px;line-height:1.6}.color-toggle{min-width:200px;padding:12px 15px;gap:10px;font-size:11px}}

.color-toggle-label{display:block}
.is-rippling .color-toggle-label{animation:color-label-press 650ms cubic-bezier(.2,.7,.2,1) both}
@keyframes color-label-press{0%{transform:translateY(0);letter-spacing:0}28%{transform:translateY(2px);letter-spacing:-.025em}65%{transform:translateY(-1px);letter-spacing:.035em}100%{transform:translateY(0);letter-spacing:0}}
.ripple-relief{position:absolute;inset:0;visibility:hidden;pointer-events:none;mask-image:radial-gradient(circle at var(--ripple-x) var(--ripple-y),transparent max(0px,calc(var(--ripple-radius) - 52px)),rgb(0 0 0 / .26) max(0px,calc(var(--ripple-radius) - 30px)),rgb(0 0 0 / .72) max(0px,calc(var(--ripple-radius) - 3px)),rgb(0 0 0 / .35) calc(var(--ripple-radius) + 22px),transparent calc(var(--ripple-radius) + 48px))}
.portfolio-photo .ripple-lens{position:absolute;inset:0;width:100%;height:100%;transform:scale(1.035);filter:none}
.ripple-relief:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x) var(--ripple-y),transparent max(0px,calc(var(--ripple-radius) - 48px)),rgb(0 0 0 / .07) max(0px,calc(var(--ripple-radius) - 25px)),rgb(255 255 255 / .13) max(0px,calc(var(--ripple-radius) - 2px)),rgb(0 0 0 / .06) calc(var(--ripple-radius) + 24px),transparent calc(var(--ripple-radius) + 46px))}
@media(prefers-reduced-motion:reduce){.is-rippling .color-toggle-label{animation:none}.ripple-relief{display:none}}

.ui-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;overflow:visible}

/* Desktop follows the saved order across each row; mobile keeps its columns. */
@media(min-width:761px){
  .portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.5vw 2.2vw;align-items:start;columns:auto}
  .portfolio-photo{min-width:0;margin:0}
}

@media(min-width:761px){.portfolio-photo-wide{grid-column:span 2}}
