:root {
  --night: #0b0c09;
  --paper: #e4dece;
  --cream: #f0ebdf;
  --gold: #c9b17e;
  --ink: #25261f;
  --muted: #a3a296;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --gutter: clamp(25px, 5.6vw, 90px);
  --ease: cubic-bezier(.22, 1, .36, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; scrollbar-gutter: stable; }
html.is-navigating { scroll-behavior: auto; }
body { margin: 0; background: var(--night); color: var(--cream); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body.modal-open, body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 1px solid var(--gold); outline-offset: 7px; }
button:focus:not(:focus-visible), section:focus { outline: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, figure, dl, dd, ul { margin: 0; }
::selection { color: var(--night); background: var(--gold); }
.svg-definitions { position: absolute; pointer-events: none; }
.eyebrow { font-size: 9px; font-weight: 400; line-height: 1.7; letter-spacing: .19em; text-transform: uppercase; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.05em; }
h1 em, h2 em, h3 em { font-style: normal; font-weight: 400; color: var(--gold); }
.skip-link { position: fixed; top: 8px; left: 20px; z-index: 100; background: var(--gold); color: var(--night); padding: 14px; transform: translateY(-200%); }
.skip-link:focus { transform: none; }

.site-header { --nav-ink: var(--cream); --header-rgb: 11, 12, 9; position: fixed; inset: 0 0 auto; z-index: 30; color: var(--nav-ink); transition: color 500ms, background 500ms; }
.site-header.theme-light { --nav-ink: var(--ink); --header-rgb: 228, 222, 206; }
.site-header.is-scrolled { background: rgba(var(--header-rgb), .86); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.header-inner { height: 91px; padding: 0 var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; gap: 7px; font-size: 11px; letter-spacing: .2em; line-height: 1.5; white-space: nowrap; }
.brand i { font-style: normal; color: var(--gold); margin-left: -5px; }
.desktop-nav { display: flex; gap: 34px; margin-left: auto; margin-right: auto; }
.desktop-nav a, .header-contact { font-size: 10px; position: relative; padding: 10px 0; }
.desktop-nav a { opacity: .65; transition: opacity 350ms; }
.desktop-nav a:hover, .desktop-nav a[aria-current] { opacity: 1; }
.desktop-nav a::after { content: ''; position: absolute; inset: auto 0 2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 450ms var(--ease); opacity: .55; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current]::after { transform: scaleX(1); transform-origin: left; }
.header-contact { min-width: 73px; display: flex; justify-content: space-between; gap: 22px; }
.header-contact span { transition: transform 400ms var(--ease); }
.header-contact:hover span { transform: translate(3px, -3px); }
.reading-progress { position: absolute; bottom: 0; left: 0; height: 1px; width: 100%; background: var(--gold); opacity: .5; transform: scaleX(var(--reading-progress, 0)); transform-origin: left; pointer-events: none; }
.menu-toggle { display: none; }
.mobile-menu { display: none; }

.intro-scene { position: relative; height: 250svh; background: var(--night); }
.intro-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; isolation: isolate; }
.intro-full-image { position: absolute; inset: 0; z-index: 1; background: #151610 url('assets/portrait-warm-960.webp') 50% 0% / cover no-repeat; opacity: var(--full-portrait-opacity, 0); pointer-events: none; }
.intro-title-group { position: absolute; left: var(--gutter); top: 32%; z-index: 3; opacity: var(--intro-copy-opacity, 1); transform: translateY(var(--intro-copy-y, 0px)); pointer-events: none; }
.intro-title-group .eyebrow { color: #9e9e8c; margin-bottom: 28px; font-size: 8px; }
h1 { font-size: clamp(63px, 6.9vw, 116px); line-height: 1.06; }
h1 em { color: var(--cream); }
/* A frameless editorial portrait; the original scroll scene retains its timing. */
.portrait-portal { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; padding: 0; background: none; overflow: hidden; transform: scale(calc(1 + (var(--portal-scale, 1) - 1) * .035)); transform-origin: 60% 28%; opacity: var(--portal-opacity, 1); cursor: zoom-in; }
.intro-portrait-image { position: absolute; top: 0; right: 3%; width: auto; height: 112%; max-width: none; object-fit: cover; mask-image: linear-gradient(90deg, transparent, #000 17%, #000 90%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 17%, #000 90%, transparent); }
.portrait-portal::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0b0c09 10%, rgba(11, 12, 9, .88) 32%, transparent 66%), linear-gradient(0deg, #0b0c09, transparent 24%); pointer-events: none; }
.intro-role { position: absolute; left: var(--gutter); bottom: 24%; width: 180px; z-index: 3; opacity: var(--intro-copy-opacity, 1); transform: translateY(var(--intro-copy-y, 0px)); }
.hairline { display: block; height: 1px; width: 26px; background: var(--gold); opacity: .7; margin-bottom: 18px; }
.intro-role p { font-size: 12px; color: #d8d4c7; line-height: 1.85; }
.intro-role .eyebrow { display: block; font-size: 7px; color: #8e8e7d; margin-top: 25px; letter-spacing: .13em; }
.intro-shade { position: absolute; z-index: 2; inset: 0; opacity: var(--intro-shade, 0); background: linear-gradient(0deg, rgba(3, 5, 3, .98), transparent 75%), linear-gradient(90deg, rgba(3, 5, 3, .62), transparent 78%); pointer-events: none; }
.intro-statement { position: absolute; z-index: 3; bottom: 18%; left: var(--gutter); opacity: 0; transform: translateY(30px); pointer-events: none; }
.motion-ready .intro-statement { opacity: var(--statement-opacity, 0); transform: translateY(var(--statement-y, 30px)); }
.intro-statement .eyebrow { margin-bottom: 28px; color: #c8c3b1; }
.intro-statement h2 { font-size: clamp(40px, 5vw, 78px); line-height: 1.12; }
.intro-foot { position: absolute; bottom: 47px; left: var(--gutter); right: var(--gutter); display: flex; justify-content: space-between; align-items: center; z-index: 4; font-size: 8px; color: #9b9b8c; }
.intro-foot a { display: inline-flex; gap: 26px; padding: 10px 0; }
.scroll-note { display: flex; align-items: center; gap: 14px; }
.scroll-note i { display: block; height: 34px; width: 1px; background: linear-gradient(to bottom, transparent, var(--gold)); transform: scaleY(var(--scroll-line, 1)); transform-origin: top; }
.scene-index { position: absolute; left: var(--gutter); bottom: 104px; z-index: 4; font-size: 8px; letter-spacing: .12em; opacity: .32; }

.about-scene { height: 195svh; position: relative; color: var(--ink); background: var(--paper); }
.about-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; isolation: isolate; }
.about-overline { position: absolute; inset: 127px var(--gutter) auto; display: flex; justify-content: space-between; color: #777365; font-size: 8px; z-index: 5; }
.about-billboard { position: absolute; inset: 42% var(--gutter) auto; display: flex; align-items: center; justify-content: space-between; gap: 15%; font-size: clamp(60px, 8.7vw, 145px); line-height: 1.05; z-index: 1; opacity: 0; }
.about-billboard em { color: var(--ink); }
.motion-ready .about-billboard { opacity: var(--billboard-opacity, 1); transform: translateY(var(--billboard-y, 20px)); }
.about-aura { position: absolute; width: 43vw; height: 22vh; left: 30%; bottom: 2%; background: radial-gradient(ellipse, rgba(49, 41, 23, .12), transparent 65%); transform: scaleX(var(--subject-scale, 1)); z-index: 1; }
.subject-portrait { position: absolute; top: 49%; left: 50%; width: min(60svh, 600px); aspect-ratio: 2 / 3; padding: 0; background: none; z-index: 3; transform: translate(-50%, -50%) translate3d(var(--subject-x, 0px), var(--subject-y, 0px), 0) rotate(var(--subject-tilt, 0deg)) scale(var(--subject-scale, 1)); transform-origin: 50% 85%; filter: drop-shadow(10px 22px 13px rgba(31, 27, 18, .16)); cursor: zoom-in; }
.subject-image { width: 100%; height: 100%; clip-path: url(#person-outline); }
.subject-portrait { pointer-events: none; }
.subject-image { pointer-events: auto; cursor: zoom-in; }
.about-facts, .about-story { position: absolute; top: 31%; z-index: 5; width: 23%; max-width: 295px; }
.motion-ready .about-facts, .motion-ready .about-story { opacity: var(--about-copy-opacity, 0); transform: translateY(var(--about-copy-y, 24px)); pointer-events: none; }
.about-facts { left: var(--gutter); }
.about-facts h3 { font-size: clamp(32px, 3.5vw, 58px); line-height: 1.04; margin-top: 24px; margin-bottom: 34px; }
.about-facts .eyebrow, .about-story > .eyebrow { font-size: 8px; color: #777365; }
.about-facts dl > div { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid rgba(68, 62, 43, .14); font-size: 9px; line-height: 1.8; padding: 12px 0; }
.about-facts dt { color: #777365; }
.about-facts dd { text-align: right; }
.about-story { right: var(--gutter); top: 34%; }
.about-story h3 { font-size: clamp(36px, 3.8vw, 62px); line-height: 1.06; margin-top: 23px; margin-bottom: 24px; }
.about-story h3 em { color: #847556; }
.about-story p { font-size: 11px; line-height: 1.85; color: #686354; margin-bottom: 15px; max-width: 250px; }
.about-caption { position: absolute; bottom: 88px; width: 100%; text-align: center; color: #8c8471; font-size: 7px; letter-spacing: .17em; }

.world-scene { min-height: 110svh; position: relative; overflow: hidden; background: #0b0c09; padding: 135px var(--gutter) 100px; isolation: isolate; }
.world-word { position: absolute; left: 4%; top: 7%; white-space: nowrap; font-family: var(--serif); font-size: 18vw; letter-spacing: -.07em; color: #22231c; opacity: .54; z-index: -1; pointer-events: none; }
.world-heading { position: relative; z-index: 3; }
.world-heading > .eyebrow { color: #96947e; font-size: 8px; }
.world-heading h2 { font-size: clamp(44px, 5.7vw, 90px); line-height: 1.05; margin-top: 30px; }
.personal-card-wrap { position: relative; width: min(365px, 32vw); margin-top: 58px; margin-left: 5%; z-index: 4; transform: translate3d(0, var(--card-y, 0px), 0) rotate(var(--card-tilt, -5deg)); perspective: 1000px; }
.personal-card { position: relative; background: var(--paper); color: var(--ink); padding: 25px 25px 22px; box-shadow: 4px 15px 25px rgba(0, 0, 0, .18); transition: transform 700ms var(--ease), box-shadow 700ms; }
.personal-card:hover { transform: rotate(3deg) translateY(-6px); box-shadow: 6px 20px 40px rgba(0, 0, 0, .25); }
.card-top { display: flex; justify-content: space-between; align-items: center; }
.card-top .eyebrow { font-size: 7px; color: #8f8165; }
.card-mark { font-family: var(--serif); font-size: 23px; color: #85724d; }
.card-body { display: flex; gap: 23px; margin-top: 28px; align-items: center; }
.card-photo { width: 37%; padding: 0; overflow: hidden; background: none; flex-shrink: 0; cursor: zoom-in; }
.card-photo img { width: 100%; height: auto; transition: scale 900ms var(--ease); }
.card-photo:hover img { scale: 1.045; }
.card-body h3 { font-size: clamp(23px, 2.3vw, 35px); line-height: 1.08; }
.card-body h3 em { color: #7f7054; }
.card-body p { font-size: 8px; line-height: 1.8; color: #827762; margin-top: 16px; }
.interest-list { list-style: none; margin-top: 25px; padding: 0; }
.interest-list li { display: flex; gap: 21px; border-top: 1px solid rgba(76, 63, 35, .17); padding: 11px 0; font-size: 10px; }
.interest-list li span { color: #9b8e73; font-size: 8px; }
.card-instagram { display: flex; justify-content: space-between; align-items: center; font-size: 8px; padding: 17px 0 14px; color: #7d7058; }
.card-instagram span:last-child { font-size: 16px; transition: transform 350ms var(--ease); }
.card-instagram:hover span:last-child { transform: translate(3px, -3px); }
.card-barcode { height: 19px; width: 69px; margin-left: auto; opacity: .36; background: repeating-linear-gradient(90deg, #473c29 0 1px, transparent 1px 3px, #473c29 3px 5px, transparent 5px 7px, #473c29 7px 8px, transparent 8px 10px); }
.orbital-scene { position: absolute; width: min(68vw, 1050px); aspect-ratio: 1; right: -6%; top: 12%; z-index: 1; color: var(--gold); transform: perspective(1100px) rotateY(var(--orb-rotation, -12deg)) rotate(-13deg); }
.dot-globe { position: absolute; inset: 15%; border-radius: 50%; background: radial-gradient(circle, rgba(219, 197, 144, .52) .7px, transparent 1px) 0 0 / 7px 7px; mask-image: radial-gradient(ellipse, #000 34%, transparent 71%); -webkit-mask-image: radial-gradient(ellipse, #000 34%, transparent 71%); transform: rotate(var(--dot-rotation, 0deg)); }
.globe-shadow { position: absolute; inset: 15%; border-radius: 50%; background: radial-gradient(circle at 34% 32%, #181a13, #0b0c09 68%); box-shadow: inset -38px -24px 75px #050603, inset 4px 5px 45px rgba(214, 189, 123, .04); }
.orbital-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.orbit-point { filter: drop-shadow(0 0 7px #bfa36b); animation: orbit-pulse 4s ease-in-out infinite; animation-play-state: paused; }
.world-scene.is-active .orbit-point { animation-play-state: running; }
.orbit-point-second { animation-delay: -2s; }
@keyframes orbit-pulse { 0%, 100% { opacity: .4; } 50% { opacity: 1; } }
.world-note { position: absolute; right: 13%; bottom: 12%; z-index: 3; font-family: var(--serif); font-size: clamp(27px, 3vw, 48px); letter-spacing: -.03em; line-height: 1.15; }
.world-note em { font-style: normal; color: var(--gold); }
.world-note span { display: block; font-family: var(--sans); font-size: 8px; line-height: 1.5; letter-spacing: .12em; color: #8f8f7f; margin-top: 24px; }

.gallery-scene { height: 106svh; min-height: 700px; position: relative; overflow: hidden; background: #0b0c09; isolation: isolate; }
.gallery-visual { position: absolute; inset: 0 0 0 28%; padding-top: 90px; }
.gallery-photo { background: none; padding: 0; width: 100%; height: 100%; cursor: zoom-in; }
.gallery-image { width: 100%; height: 100%; object-fit: cover; object-position: 55% 0%; transform: translate3d(0, var(--gallery-y, 0px), 0) scale(1.025); mask-image: linear-gradient(90deg, transparent, #000 28%, #000 96%, transparent), linear-gradient(0deg, transparent, #000 14%, #000 97%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%, #000 96%, transparent), linear-gradient(0deg, transparent, #000 14%, #000 97%, transparent); -webkit-mask-composite: source-in; mask-composite: intersect; transition: scale 1000ms var(--ease); }
.gallery-photo:hover .gallery-image { scale: 1.025; }
.gallery-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, #0b0c09 8%, rgba(11, 12, 9, .84) 25%, transparent 72%), linear-gradient(0deg, #0b0c09, transparent 27%); pointer-events: none; z-index: 2; }
.gallery-copy { position: absolute; top: 27%; left: var(--gutter); z-index: 3; width: 31%; pointer-events: none; }
.gallery-copy > .eyebrow { color: #9a9882; font-size: 8px; }
.gallery-copy h2 { font-size: clamp(60px, 7.5vw, 120px); line-height: 1; margin-top: 33px; }
.gallery-controls { display: flex; align-items: center; gap: 23px; margin-top: 37px; pointer-events: auto; }
.arrow-button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(198, 183, 146, .32); border-radius: 50%; font-size: 19px; background: transparent; color: var(--cream); transition: border-color 350ms, background 350ms, transform 450ms var(--ease); flex-shrink: 0; }
.arrow-button:hover { border-color: var(--gold); background: rgba(199, 177, 126, .08); transform: scale(1.07); }
.arrow-button:active { transform: scale(.94); }
.gallery-count { font-size: 8px; color: #a7a18d; letter-spacing: .12em; }
.gallery-tabs { display: flex; gap: 10px; margin-top: 23px; pointer-events: auto; }
.gallery-tabs button { position: relative; width: 27px; height: 26px; padding: 0; background: none; }
.gallery-tabs button::after { content: ''; position: absolute; left: 0; right: 0; top: 12px; height: 1px; background: #68634e; transition: background 350ms, transform 350ms; }
.gallery-tabs button[aria-selected="true"]::after { background: var(--gold); transform: scaleY(2); }
.gallery-caption { position: absolute; bottom: 48px; left: var(--gutter); right: var(--gutter); display: flex; justify-content: space-between; gap: 20px; z-index: 3; font-size: 8px; color: #aaa490; pointer-events: none; }

.contact-scene { position: relative; min-height: 90svh; padding: 150px var(--gutter) 0; background: var(--night); display: flex; flex-direction: column; }
.contact-main { text-align: center; padding-bottom: 115px; margin: auto 0; }
.contact-main > .eyebrow { color: #9c927c; font-size: 8px; margin-bottom: 39px; }
.contact-main h2 { font-size: clamp(52px, 7.7vw, 120px); line-height: 1.1; }
.contact-main h2 em { color: var(--gold); }
.contact-links { margin-top: 46px; display: flex; flex-direction: column; align-items: center; gap: 21px; }
.phone-link { font-size: 23px; font-weight: 300; letter-spacing: -.03em; display: flex; align-items: center; gap: 25px; }
.phone-link > span { font-size: 22px; color: var(--gold); transition: transform 450ms var(--ease); }
.phone-link:hover > span { transform: translate(4px, -4px); }
.instagram-link { font-size: 10px; color: #999583; display: inline-flex; gap: 24px; padding: 8px; }
.instagram-link:hover { color: var(--gold); }
.footer { display: flex; justify-content: space-between; gap: 24px; align-items: center; border-top: 1px solid #2a2b22; padding: 28px 0 32px; color: #76796a; font-size: 8px; }
.footer-name { letter-spacing: .18em; font-size: 9px; color: #a7a28f; }
.footer a:last-child { color: #a7a28f; }
.floating-cta { position: fixed; z-index: 20; left: 50%; bottom: 30px; transform: translate(-50%, 0); display: flex; align-items: center; padding: 5px 5px 5px 21px; gap: 25px; background: var(--gold); color: #252317; box-shadow: 0 8px 35px rgba(0, 0, 0, .18); transition: opacity 450ms, transform 450ms var(--ease), background 350ms; font-size: 9px; }
.cta-arrow { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(70, 55, 25, .27); background: rgba(242, 228, 189, .2); font-size: 17px; transition: transform 450ms var(--ease), background 350ms; }
.floating-cta:hover { background: #dac392; transform: translate(-50%, -3px); }
.floating-cta:hover .cta-arrow { background: rgba(255, 246, 222, .4); transform: translate(1px, -1px); }
.floating-cta.is-hidden { opacity: 0; pointer-events: none; transform: translate(-50%, 15px); }

.reveal { transition: opacity 950ms var(--ease), transform 1100ms var(--ease); transition-delay: var(--reveal-delay, 0ms); }
.motion-ready .reveal:not(.is-visible) { opacity: 0; transform: translateY(24px); }
.motion-ready .reveal.is-visible, .motion-ready .reveal:focus-within { opacity: 1; transform: none; }
.lightbox { inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; border: 0; padding: 25px 40px 20px; margin: 0; background: #0b0c09; color: var(--cream); overscroll-behavior: contain; }
.lightbox::backdrop { background: #0b0c09; }
.lightbox[open] { display: flex; flex-direction: column; }
.lightbox-top { display: flex; justify-content: space-between; align-items: center; font-size: 11px; flex-shrink: 0; }
.lightbox-counter { margin-left: 25px; font-size: 9px; color: #9f947c; }
.lightbox-close { font-size: 28px; }
.lightbox-stage { display: flex; align-items: center; justify-content: center; gap: 48px; flex: 1; min-height: 0; padding-top: 22px; }
.lightbox-stage figure { display: flex; flex-direction: column; align-items: center; max-width: 76%; min-height: 0; overflow: hidden; }
.lightbox-image { width: auto; max-width: 100%; height: calc(100dvh - 185px); object-fit: contain; touch-action: pan-y; }
.lightbox-caption { font-size: 10px; color: #b1a996; padding-top: 14px; min-height: 32px; }
.lightbox-help { text-align: center; font-size: 8px; color: #8f8875; margin-top: 14px; }

@media (min-width: 1700px) { .intro-title-group { left: max(var(--gutter), calc((100vw - 1500px) / 2)); } .intro-role { left: max(var(--gutter), calc((100vw - 1500px) / 2)); } }
@media (max-width: 1100px) and (min-width: 761px) {
  .brand { font-size: 9px; letter-spacing: .14em; gap: 5px; }
  .desktop-nav { gap: 24px; }
  .intro-title-group { top: 34%; }
  h1 { font-size: 7vw; }
  .intro-role { width: 108px; }
  .intro-role p { font-size: 10px; }
  .intro-role .eyebrow { font-size: 6px; }
  .about-billboard { font-size: 8vw; }
  .about-facts { width: 23%; }
  .about-story { width: 23%; }
  .about-facts dl > div { font-size: 8px; gap: 5px; }
  .about-story p { font-size: 10px; }
  .subject-portrait { width: min(56svh, 48vw); }
  .personal-card-wrap { width: 335px; margin-left: 0; }
  .world-note { right: 7%; }
}
@media (max-width: 760px) {
  .header-inner { height: 78px; gap: 20px; }
  .brand { font-size: 8px; letter-spacing: .17em; gap: 5px; }
  .desktop-nav, .header-contact { display: none; }
  .menu-toggle { display: flex; align-items: center; gap: 13px; min-height: 44px; padding: 12px 0 12px 12px; font-size: 10px; background: none; color: inherit; }
  .menu-toggle > span { width: 19px; display: flex; flex-direction: column; gap: 5px; }
  .menu-toggle b { height: 1px; width: 100%; background: currentColor; transition: transform 400ms var(--ease); }
  .menu-toggle[aria-expanded="true"] b:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] b:last-child { transform: translateY(-3px) rotate(-45deg); }
  .mobile-menu { position: fixed; inset: 0; z-index: 25; background: #0b0c09; color: var(--cream); padding: 135px var(--gutter) 60px; display: flex; flex-direction: column; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 400ms, visibility 400ms; }
  .mobile-menu.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
  .mobile-menu > .eyebrow { font-size: 8px; color: #8f8773; margin-bottom: 35px; }
  .mobile-menu > a:not(.menu-instagram) { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #2b2c22; font-family: var(--serif); font-size: clamp(30px, 8vw, 45px); letter-spacing: -.04em; }
  .mobile-menu > a > span { font-family: var(--sans); font-size: 8px; color: #9b8e73; letter-spacing: .1em; }
  .menu-instagram { margin-top: auto; font-size: 9px; color: #a89d83; padding-top: 30px; }
  body.menu-open .site-header { color: var(--cream); background: #0b0c09; }
  .intro-scene { height: 230svh; }
  .intro-title-group { top: auto; bottom: 30%; left: var(--gutter); }
  .intro-title-group .eyebrow { font-size: 7px; margin-bottom: 18px; }
  h1 { font-size: clamp(53px, 13.4vw, 85px); line-height: 1.02; }
  .intro-portrait-image { right: 50%; height: 102%; transform: translateX(50%); mask-image: none; -webkit-mask-image: none; }
  .portrait-portal::after { background: linear-gradient(0deg, #0b0c09 8%, rgba(11, 12, 9, .8) 27%, rgba(11, 12, 9, .24) 52%, transparent 75%), linear-gradient(180deg, rgba(11, 12, 9, .45), transparent 20%); }
  .intro-role { bottom: 16%; width: 150px; }
  .intro-role p { font-size: 9px; line-height: 1.8; }
  .intro-role .eyebrow { display: none; }
  .hairline { width: 18px; margin-bottom: 12px; }
  .intro-foot { bottom: 82px; font-size: 7px; }
  .scroll-note { max-width: 110px; gap: 10px; line-height: 1.8; }
  .scroll-note i { flex-shrink: 0; height: 28px; }
  .intro-foot a { font-size: 7px; gap: 15px; }
  .scene-index { bottom: 138px; font-size: 6px; }
  .intro-statement { bottom: 24%; right: 20px; }
  .intro-statement .eyebrow { font-size: 7px; margin-bottom: 23px; }
  .intro-statement h2 { font-size: clamp(33px, 8.5vw, 56px); line-height: 1.14; }
  .about-scene { height: 200svh; }
  .about-overline { inset: 106px var(--gutter) auto; font-size: 7px; }
  .about-overline span { font-size: 6px; }
  .about-billboard { inset: 37% var(--gutter) auto; display: block; font-size: clamp(44px, 12.3vw, 76px); line-height: 1.13; }
  .about-billboard > span { display: block; text-align: left; }
  .about-billboard em { display: block; text-align: right; margin-top: 15px; }
  .subject-portrait { top: 50%; left: 50%; width: min(59svh, 109vw); }
  .about-aura { width: 100vw; left: 3%; bottom: 7%; height: 20vh; }
  .about-facts { left: var(--gutter); top: 26%; width: 49%; max-width: 260px; }
  .about-facts h3 { font-size: clamp(30px, 8.3vw, 45px); line-height: 1.04; margin-top: 18px; margin-bottom: 22px; }
  .about-facts dl > div { display: block; font-size: 11px; padding: 8px 0; }
  .about-facts dt { font-size: 8px; margin-bottom: 3px; }
  .about-facts dd { text-align: left; }
  .about-story { left: var(--gutter); right: auto; top: 66%; width: 58%; max-width: 255px; }
  .about-story > .eyebrow, .about-story h3 { display: none; }
  .about-story p { font-size: 11px; line-height: 1.8; margin-bottom: 0; }
  .about-story p + p { display: none; }
  .about-caption { bottom: 82px; font-size: 6px; letter-spacing: .11em; }
  .world-scene { min-height: 1120px; min-height: max(1120px, 140svh); padding-top: 112px; padding-bottom: 100px; }
  .world-word { font-size: 24vw; top: 13%; left: 2%; }
  .world-heading > .eyebrow { font-size: 7px; }
  .world-heading h2 { font-size: clamp(42px, 11vw, 65px); margin-top: 24px; }
  .personal-card-wrap { width: min(300px, 79vw); margin-left: 0; margin-top: 56px; }
  .personal-card { padding: 22px; }
  .card-body { gap: 20px; margin-top: 24px; }
  .card-body h3 { font-size: 27px; }
  .card-body p { font-size: 10px; }
  .interest-list li { font-size: 11px; }
  .orbital-scene { width: 116vw; right: -27%; top: auto; bottom: 8%; }
  .world-note { right: var(--gutter); bottom: 7%; font-size: 28px; }
  .world-note span { font-size: 6px; margin-top: 18px; }
  .gallery-scene { min-height: 780px; height: 105svh; }
  .gallery-visual { inset: 0 -17% 0 -8%; padding-top: 75px; }
  .gallery-image { object-position: 58% 0%; mask-image: linear-gradient(0deg, transparent 0%, #000 28%, #000 97%, transparent); -webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 28%, #000 97%, transparent); }
  .gallery-scrim { background: linear-gradient(0deg, #0b0c09 3%, rgba(11, 12, 9, .9) 24%, transparent 72%), linear-gradient(90deg, rgba(11, 12, 9, .62), transparent 80%); }
  .gallery-copy { top: auto; bottom: 15%; width: auto; right: var(--gutter); }
  .gallery-copy > .eyebrow { font-size: 7px; }
  .gallery-copy h2 { font-size: clamp(48px, 13vw, 74px); margin-top: 19px; }
  .gallery-controls { position: absolute; right: 0; bottom: 0; gap: 14px; margin-top: 0; }
  .gallery-controls .arrow-button { width: 36px; height: 36px; font-size: 17px; }
  .gallery-count { font-size: 7px; }
  .gallery-tabs { margin-top: 20px; }
  .gallery-caption { bottom: 45px; font-size: 7px; align-items: end; }
  .gallery-caption > span:last-child { max-width: 110px; line-height: 1.8; text-align: right; font-size: 6px; }
  .contact-scene { padding-top: 120px; min-height: 85svh; }
  .contact-main { padding-bottom: 90px; }
  .contact-main > .eyebrow { font-size: 7px; margin-bottom: 30px; }
  .contact-main h2 { font-size: clamp(38px, 10.4vw, 65px); line-height: 1.17; }
  .contact-links { margin-top: 38px; gap: 17px; }
  .phone-link { font-size: 21px; gap: 20px; }
  .instagram-link { font-size: 11px; gap: 19px; }
  .footer { flex-wrap: wrap; gap: 18px; font-size: 7px; padding: 23px 0; }
  .footer-name { width: 100%; font-size: 8px; }
  .floating-cta { bottom: 23px; font-size: 10px; padding-left: 17px; gap: 19px; }
  .cta-arrow { width: 28px; height: 28px; font-size: 16px; }
  .lightbox { padding: 18px; }
  .lightbox-top { font-size: 10px; }
  .lightbox-counter { font-size: 8px; margin-left: 15px; }
  .lightbox-stage { gap: 0; position: relative; padding-top: 18px; }
  .lightbox-stage figure { max-width: 100%; width: 100%; }
  .lightbox-image { width: 100%; height: calc(100dvh - 205px); object-fit: contain; }
  .lightbox-prev, .lightbox-next { position: absolute; bottom: 6px; z-index: 2; background: #14160e; }
  .lightbox-prev { left: 5px; }
  .lightbox-next { right: 5px; }
  .lightbox-caption { font-size: 9px; }
  .lightbox-help { margin-top: 25px; font-size: 7px; }
}
@media (max-width: 380px) {
  .intro-role { width: 140px; }
  .intro-role p { font-size: 8px; }
  .gallery-controls { gap: 8px; }
  .gallery-controls .arrow-button { width: 32px; height: 32px; }
  .gallery-copy h2 { font-size: 48px; }
  .about-story { top: 68%; width: 60%; }
  .brand { font-size: 7px; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  html, html.is-navigating { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .intro-scene { height: 100svh; }
  .about-scene { height: 110svh; }
  .intro-stage, .about-stage { position: relative; height: 100%; }
  .intro-title-group, .intro-role { opacity: 1; transform: none; }
  .portrait-portal { transform: none; }
  .intro-shade, .intro-statement { display: none; }
  .intro-full-image { display: none; }
  .about-billboard { display: none; }
  .subject-portrait { transform: translate(-50%, -50%) translateX(var(--subject-x, 0px)); }
  .motion-ready .about-facts, .motion-ready .about-story { opacity: 1; transform: none; }
  .reveal, .motion-ready .reveal:not(.is-visible) { opacity: 1; transform: none; }
  .personal-card-wrap { transform: rotate(-4deg); }
  .personal-card:hover { transform: none; }
  .orbital-scene { transform: rotate(-13deg); }
  .gallery-image { transform: none; }
}

.language-switch { display: flex; align-items: center; gap: 5px; flex-shrink: 0; }
.language-switch a { display: grid; place-items: center; min-width: 30px; min-height: 36px; font-size: 9px; letter-spacing: .08em; opacity: .5; transition: opacity 250ms, color 250ms; }
.language-switch a:hover { opacity: 1; }
.language-switch a[aria-current="page"] { color: var(--gold); opacity: 1; box-shadow: inset 0 -1px var(--gold); }
@media (max-width: 760px) { .header-inner { gap: 12px; } .language-switch { margin-left: auto; gap: 0; } .language-switch a { min-width: 27px; min-height: 40px; font-size: 8px; } .menu-toggle { gap: 8px; padding-left: 0; } }
