:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#111;color:#eee}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem 5%;border-bottom:1px solid #242424;flex-wrap:wrap}.brand{font-size:1rem;letter-spacing:.22em;font-weight:600}.brand small{display:block;font-size:.56rem;letter-spacing:.3em;margin-top:.6rem;color:#aaa}a{color:inherit;text-decoration:none}nav{display:flex;gap:1.6rem;flex-wrap:wrap}nav a{font-size:.8rem;letter-spacing:.1em;color:#bbb}nav a:hover,button:hover{color:white}.langs{display:flex;gap:.5rem}button{cursor:pointer;color:#bbb;background:none;border:0;font:inherit}.langs button{font-size:.72rem;padding:.35rem}.langs button.active{color:white;border-bottom:1px solid white}main{min-height:70vh}.hero{height:min(68vw,70vh);min-height:340px;position:relative;overflow:hidden;background:#222}.hero img{width:100%;height:100%;object-fit:cover;filter:brightness(.67)}.hero .caption{position:absolute;left:7%;bottom:9%;font-size:clamp(2rem,6vw,5.5rem);letter-spacing:.04em;font-weight:300}section{padding:5rem 7%}h1,h2{font-weight:300;letter-spacing:.07em}h1{font-size:clamp(2.5rem,6vw,5rem)}h2{font-size:2rem}p{line-height:1.8;color:#bcbcbc;max-width:55rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.tile{display:block;text-align:left;border:0;padding:0;background:transparent}.tile img{width:100%;height:auto;display:block;background:#222;transition:opacity .2s}.tile:hover img{opacity:.8}.tile strong{display:block;margin-top:1rem;font-weight:400;letter-spacing:.07em}.tile span{display:block;margin-top:.3rem;color:#aaa;font-size:.85rem}.back{display:inline-block;margin:2rem 0;color:#aaa}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start}.photo-grid button{padding:0;text-align:left}.photo-grid img{width:100%;height:auto;display:block}footer{border-top:1px solid #222;padding:2rem 7%;font-size:.75rem;color:#777}dialog{background:#080808;border:0;color:white;max-width:100vw;max-height:100vh;width:100vw;height:100vh;padding:2rem;margin:0}dialog::backdrop{background:#000}dialog img{display:block;max-width:85%;max-height:80vh;object-fit:contain;margin:auto}dialog p{text-align:center;margin:1rem auto}dialog button{position:absolute;font-size:3rem;top:50%;transform:translateY(-50%)}dialog .previous{left:1rem}dialog .next{right:1rem}dialog .close{right:2rem;top:2rem;font-size:2rem;transform:none}@media(max-width:750px){header{padding:1.3rem 5%;gap:1rem}nav{order:3;width:100%;justify-content:space-between;gap:.4rem}.grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}section{padding:3rem 5%}.hero{min-height:360px}.photo-grid img{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

dialog .fullscreen{left:2rem;top:2rem;font-size:2rem;transform:none}

.hero img{object-position:var(--desktop-position,50% 50%);border:0;padding:0}
@media(max-width:750px){.hero img{object-position:var(--mobile-position,50% 50%)}}

body.has-hero>header{position:absolute;inset:0 0 auto;z-index:2;border:0;background:linear-gradient(#0009,transparent)}
.has-hero .hero{width:100%;height:50vh;height:50svh;height:50dvh;min-height:0}
.has-hero .hero img{display:block;width:100%;height:100%;object-fit:cover}

.has-hero .hero img{transform:scale(var(--desktop-zoom,1));transform-origin:var(--desktop-position,50% 50%)}
@media(max-width:750px){.has-hero .hero img{transform:scale(var(--mobile-zoom,1));transform-origin:var(--mobile-position,50% 50%)}}
/* Responsive public navigation and editorial pages. */
header{position:relative;gap:1.5rem;flex-wrap:nowrap;padding:1.5rem 4%;min-width:0}.brand{white-space:nowrap;flex-shrink:0}nav.site-nav{order:initial;width:auto;display:flex;flex-wrap:nowrap;gap:1.4rem}.langs{flex-shrink:0;margin-left:auto}.langs button{min-width:30px;min-height:38px}.menu-toggle{display:none}.site-nav a{padding:.5rem 0;white-space:nowrap}section{max-width:1600px;margin-inline:auto}.about-page{max-width:900px}.about-page p{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.85}.instagram-link{display:inline-block;margin-top:1.5rem;padding:.7rem 0;border-bottom:1px solid #888}a:focus-visible,button:focus-visible{outline:2px solid #eee;outline-offset:5px}img{max-width:100%}.hero img{max-width:none}.hero .caption{font-size:clamp(2rem,6vw,5.5rem);max-width:86%;overflow-wrap:anywhere}
@media(max-width:1024px){header{gap:1rem}.brand{font-size:.9rem;letter-spacing:.16em}nav.site-nav{gap:1rem}}
@media(max-width:699px){header{padding:1rem 4%;gap:.5rem;flex-wrap:nowrap}.brand{font-size:.8rem;letter-spacing:.12em}.brand small{font-size:.5rem;letter-spacing:.2em}.langs{order:1;gap:.15rem}.langs button{min-width:27px;min-height:40px;padding:.25rem}.menu-toggle{order:2;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;font-size:1.3rem}.site-nav{position:absolute;left:0;right:0;top:100%;padding:1rem 4%;background:#151515fa;z-index:3}nav.site-nav{width:100%;gap:1.5rem;justify-content:center}html.js .site-nav:not(.is-open){display:none}section{padding:2.5rem 5%}.photo-grid,.grid{gap:.8rem}.about-page h1{font-size:clamp(2rem,9vw,3rem)}dialog{padding:4rem 1rem 1rem}dialog img{max-width:85%;max-height:75dvh}}
@media(max-width:430px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{font-size:.75rem}.hero .caption{font-size:2.3rem}}
@media(max-height:500px) and (orientation:landscape){header{padding-block:.7rem}.hero .caption{font-size:clamp(1.8rem,6vw,3rem);bottom:8%}}

/* Keep the photo's intrinsic aspect ratio from sizing the viewport container. */
.has-hero .hero{min-width:0;max-width:100%;max-height:50vh;max-height:50dvh;isolation:isolate}
.has-hero .hero img{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none}
.instagram-link{display:inline-flex;align-items:flex-start;gap:.6rem;max-width:100%;overflow-wrap:anywhere}.instagram-link svg{width:1.2em;height:1.2em;flex:none;margin-top:.05em}.instagram-link span{min-width:0}

/* Hero slogan: compact system typography, no external font dependency. */
.hero .caption{font-family:"Aptos Narrow","Arial Narrow","Liberation Sans Narrow","Nimbus Sans Narrow",sans-serif;font-stretch:condensed;font-size:clamp(1.6rem,4.5vw,3.5rem);font-weight:300;letter-spacing:.015em;line-height:1.1}
.about-page{max-width:1200px}.about-layout{display:grid;grid-template-columns:minmax(180px,320px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}.about-layout:not(:has(.about-portrait)){grid-template-columns:minmax(0,1fr)}.about-portrait{display:block;width:100%;height:auto;border:0;max-width:320px}.about-biography{min-width:0}.about-biography p:first-child{margin-top:0}
@media(max-width:699px){.about-layout{grid-template-columns:minmax(0,1fr)}.about-portrait{max-width:260px}.hero .caption{font-size:clamp(1.5rem,6vw,2rem)}}

/* Shared hero and two-line site identity: retain the site's sans-serif family. */
.brand-title{display:block;text-transform:uppercase}.brand small{font-size:.65rem;letter-spacing:.035em;font-weight:300;line-height:1.35;text-transform:none}
.has-hero main>section{padding-top:clamp(1.5rem,3vw,2.5rem)}.has-hero main>section>h1:first-child,.has-hero main>section>h2:first-child{margin-top:0}.has-hero main>section>.back:first-child{margin-top:0}
@media(max-width:699px){.brand{font-size:.72rem;letter-spacing:.1em}.brand small{font-size:.6rem;letter-spacing:.02em}}
