/* Photography, identity and moving-image collections have separate destinations. */
.site-header nav{gap:clamp(16px,2.1vw,30px);letter-spacing:.025em}
.photography-gallery{padding-bottom:100px}
.photo-overview{columns:3;column-gap:24px}
.photo-tile{break-inside:avoid;margin:0 0 24px;display:block;width:100%}
.photo-tile img{height:auto;transition:filter .4s ease}
.photo-tile .photo-open:focus-visible{outline-offset:5px}
@media(hover:hover){.photo-tile .photo-open:hover img{filter:brightness(1.06)}}
.photography-home .section-heading{align-items:flex-end;margin-bottom:42px}
.photography-home .section-heading h2{font-size:clamp(40px,5.2vw,74px);line-height:1.35}
.series-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.series-project:first-child{grid-column:1/-1}
.series-project:not(:first-child){aspect-ratio:3/2}
.series-project:not(:first-child) .project-caption{left:28px;right:28px;bottom:28px}
.series-project:not(:first-child) .project-caption h3{font-size:clamp(26px,2.6vw,38px)}
.series-project{aspect-ratio:16/9;isolation:isolate;--image-pan:0px;--hover-zoom:1}
.photography-home .series-project img{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;transform:translate3d(0,var(--image-pan),0) scale(var(--hover-zoom));transition:transform .7s cubic-bezier(.16,1,.3,1)}
.series-project .project-caption{left:40px;right:40px;bottom:34px}
.series-project .project-caption h3{font-size:clamp(30px,3.3vw,48px)}
.series-project .project-caption p{font-size:14px;line-height:1.8}
.series-project .project-caption>svg{width:48px;height:48px;padding:13px;background:#c8ac70;color:#11130f;border-radius:50%;transition:transform .3s ease}
@media(hover:hover){.series-project:hover{--hover-zoom:1.025}.series-project:hover .project-caption>svg{transform:rotate(45deg)}}
.contact{padding:56px 0;gap:36px}
.contact-channel{gap:16px}
.contact-invite{text-align:right}
.contact-invite h3{font:700 26px/1.5 var(--sans);margin:0 0 6px}
.contact-invite p{font-size:14px;line-height:1.8;color:var(--muted)}
.contact-qr{width:152px;max-width:100%}
.about-page .bio-intro{grid-template-columns:1.1fr 1fr;align-items:start;gap:clamp(40px,6vw,88px);padding-bottom:90px}
.about-page .bio-intro .about-portrait{position:sticky;top:128px;overflow:hidden;background:#191b17}
.about-page .bio-intro .about-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:44% 50%}
.about-page .bio-intro h2{font-size:clamp(29px,3vw,42px);line-height:1.65}
.about-page .bio-intro .about-copy{padding-top:24px}
.about-page .bio-intro .about-copy p{font-size:16px;line-height:2.05}
.guestbook{padding:70px 0 80px;border-top:1px solid var(--line)}
.guestbook .section-heading{margin-bottom:30px}
.guestbook .section-heading p{max-width:44em;font-size:15px;line-height:1.85}
.guestbook-list{margin-bottom:30px}
.guestbook-empty{padding:26px 0;color:var(--muted);font-size:15px}
.guestbook-entry{padding:24px 0;border-bottom:1px solid var(--line)}
.guestbook-entry:first-child{border-top:1px solid var(--line)}
.guestbook-entry>p{font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.guestbook-entry footer{display:flex;gap:14px;align-items:center;margin-top:12px;font-size:12px;color:var(--muted)}
.guestbook-entry strong{font-size:13px;font-weight:500;color:var(--gold)}
.guestbook-more{background:transparent;margin-bottom:24px;min-height:44px}
.guestbook-form{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:20px 28px;padding-top:30px;border-top:1px solid var(--line)}
.guestbook-form label{display:block;font-size:14px;margin-bottom:10px}
.guestbook-form input,.guestbook-form textarea{display:block;width:100%;padding:13px 16px;font:16px/1.7 var(--sans);color:var(--ink);border:1px solid #626657;border-radius:3px;background:#11130f;caret-color:var(--gold)}
.guestbook-form input::placeholder,.guestbook-form textarea::placeholder{color:#a7aa9c}
.guestbook-form input:focus,.guestbook-form textarea:focus{outline:2px solid var(--gold);outline-offset:3px}
.guestbook-form textarea{resize:vertical;min-height:135px;max-height:380px}
.guestbook-count{display:block;text-align:right;font-size:12px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}
.guestbook-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px}
.guestbook-submit p{font-size:12px;line-height:1.8;color:var(--muted)}
.guestbook-submit button{flex:none;border:0}
.guestbook-submit button:disabled{opacity:.6;cursor:wait}
.guestbook-status{grid-column:1/-1;min-height:24px;font-size:14px;line-height:1.8;color:var(--gold)}
@media(max-width:1100px){.photo-overview{columns:2}.about-page .bio-intro{gap:40px}}
@media(max-width:900px){.site-header nav{gap:16px;font-size:13px}}
@media(max-width:800px){
 .site-header nav{gap:0;font-size:18px}
 .photography-gallery{padding-bottom:65px}
 .photography-home .section-heading{gap:18px;margin-bottom:26px}
 .photography-home .section-heading h2{font-size:40px}
 .series-stack{gap:16px}
 .series-project{aspect-ratio:4/3}
 .series-project .project-caption{left:24px;right:24px;bottom:24px;gap:14px}
 .series-project .project-caption h3{font-size:32px}
 .series-project .project-caption p{font-size:13px}
 .series-project .project-caption>svg{width:44px;height:44px;padding:12px}
 .contact-invite{text-align:left}
 .contact-invite h3{font-size:24px}
 .contact-qr{width:152px}
 .about-page .bio-intro{grid-template-columns:1fr;gap:30px}
 .about-page .bio-intro .about-portrait{position:static;max-width:540px;width:100%}
 .about-page .bio-intro .about-portrait img{aspect-ratio:5/4;object-position:44% 48%}
 .about-page .bio-intro h2{font-size:31px}
 .guestbook{padding:50px 0}
 .guestbook-form{grid-template-columns:1fr;gap:18px}
 .guestbook-submit{align-items:flex-start;flex-direction:column;gap:18px}
 .guestbook-submit button{width:100%}
 .guestbook .section-heading h2{font-size:32px}
}
@media(max-width:600px){.photo-overview{columns:1}.photo-tile{margin-bottom:20px}.series-project{aspect-ratio:4/5}.series-project .project-caption h3{font-size:30px}.series-project .project-caption p{max-width:15em}.photography-home .section-heading h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.photography-home .series-project img{transform:none;transition:none}.series-project:hover .project-caption>svg{transform:none}}

.guestbook-scope{color:var(--muted);font-size:12px;margin:-12px 0 20px}

/* Align the homepage portrait with the full introduction, instead of centering a short image. */
@media(min-width:801px){
 .home-page .about{align-items:stretch;padding-top:88px;padding-bottom:88px;gap:clamp(40px,5vw,72px)}
 .home-page .about-portrait{position:relative;min-height:420px;overflow:hidden}
 .home-page .about-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:44% 50%}
 .home-page .about-heading h2{font-size:clamp(32px,3vw,42px);line-height:1.55}
 .home-page .about-signature{margin-top:24px}
 .home-page .about-copy{padding-top:24px}
 .home-page .about-copy>p{line-height:1.95}
 .home-page .about-link{margin-top:28px}
}
@media(max-width:800px){
 .series-project:not(:first-child){aspect-ratio:4/5}
 .series-project:not(:first-child) .project-caption{left:18px;right:18px;bottom:20px;gap:8px}
 .series-project:not(:first-child) .project-caption h3{font-size:26px}
 .series-project:not(:first-child) .project-caption p{font-size:12px}
 .series-project:not(:first-child) .project-caption>svg{width:36px;height:36px;padding:9px}
 .contact{padding:44px 0;gap:28px}
}
@media(max-width:520px){
 .series-project:first-child{aspect-ratio:4/3}
 .series-project:not(:first-child) .project-caption{left:14px;right:14px;bottom:16px}
 .series-project:not(:first-child) .project-caption h3{font-size:21px}
 .series-project:not(:first-child) .project-caption p,.series-project:not(:first-child) .project-caption>svg{display:none}
}

/* Compact conversation area: one horizontal contact band, then a linear form. */
.contact{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;padding:40px 0}
.contact-channel{flex-direction:row;align-items:center;gap:24px}
.contact-invite{text-align:left;max-width:13em}
.contact-invite h3{font-size:24px;white-space:nowrap}
.contact-invite p{font-size:13px;line-height:1.7}
.contact-qr{flex:none;width:132px}
.contact h2{font-size:clamp(24px,2.4vw,34px);line-height:1.5}
.contact>div>p{margin-top:12px;max-width:30em;line-height:1.8}
.guestbook{padding:44px 0 48px}
.guestbook .section-heading{margin-bottom:20px}
.guestbook .section-heading>div{display:flex;align-items:baseline;gap:24px;width:100%;flex-wrap:wrap}
.guestbook .section-heading h2{font-size:34px}
.guestbook .section-heading p{font-size:14px;margin:0}
.guestbook-scope{margin:-10px 0 18px;font-size:12px}
.guestbook-form{display:flex;flex-direction:column;gap:14px;padding-top:0;border-top:0}
.guestbook-form textarea{min-height:112px;max-height:300px}
.guestbook-form label{margin-bottom:8px}
.guestbook-count{margin-top:4px}
.guestbook-submit{display:flex;flex-direction:row;gap:24px;align-items:flex-end;justify-content:space-between}
.guestbook-name{width:min(320px,60%)}
.guestbook-submit button{min-height:54px;margin:0}
.guestbook-privacy{font-size:12px;color:var(--muted);line-height:1.7}
.guestbook-status{min-height:0}
.guestbook-status:empty{display:none}
.guestbook-list{margin:24px 0 0;border-top:1px solid var(--line)}
.guestbook-empty{padding:18px 0 0;font-size:14px}
.guestbook-entry:first-child{border-top:0}
.guestbook-more{margin:18px 0 0}
.ai-video-page .work-media{aspect-ratio:4/3;height:auto;position:relative}
.ai-video-page .work-media img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
@media(max-width:1000px) and (min-width:801px){
 .contact{gap:24px}.contact-channel{gap:18px}.contact-invite{max-width:11em}.contact-invite h3{font-size:22px}
 .contact h2{font-size:24px}.contact>div>p{font-size:13px}
}
@media(max-width:800px){
 .contact{grid-template-columns:1fr;gap:24px;padding:32px 0}
 .contact-channel{justify-content:space-between;gap:24px;max-width:420px;width:100%}
 .contact-invite{max-width:14em}.contact-invite h3{font-size:24px}.contact-qr{width:120px}
 .guestbook{padding:32px 0}.guestbook .section-heading>div{display:block}.guestbook .section-heading p{margin-top:8px}
 .guestbook-submit{flex-direction:row;align-items:flex-end;gap:16px}.guestbook-submit button{width:auto;padding:0 20px;gap:12px}
 .guestbook-name{width:auto;flex:1;min-width:0}
}
@media(max-width:420px){
 .contact-invite h3{font-size:21px}.contact-channel{gap:16px}.contact-invite p{font-size:12px}
 .guestbook-submit{flex-wrap:wrap;gap:14px}.guestbook-name{flex-basis:100%}.guestbook-submit button{width:100%;min-height:48px}
}
.ai-video-page a[href="projects/ai-hair.html"] .work-media img,.ai-video-page a[href="projects/ai-fashion.html"] .work-media img{object-position:50% 20%}

/* Homepage: one featured series followed by two paired rows. */
.photography-home .series-curated{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.series-curated .series-project:first-child{grid-column:1/-1;aspect-ratio:2/1}
.series-curated .series-project:not(:first-child){aspect-ratio:3/2}
.series-curated .project-shade{background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.12) 58%,rgba(0,0,0,.78) 100%)}
.series-curated .project-caption p{max-width:34em;font-size:13px;line-height:1.7;color:rgba(255,255,255,.85)}
.series-curated .series-project:focus-visible{outline:2px solid #c8ac70;outline-offset:5px}
@media(max-width:800px){
 .photography-home .series-curated{gap:16px}
 .series-curated .series-project:first-child{aspect-ratio:16/10}
 .series-curated .series-project:first-child .project-caption{left:22px;right:22px;bottom:24px}
 .series-curated .series-project:first-child .project-caption h3{font-size:34px}
}
@media(max-width:520px){
 .series-curated .series-project:first-child{aspect-ratio:4/3}
 .series-curated .series-project:not(:first-child){aspect-ratio:4/3}
 .series-curated .series-project:not(:first-child) .project-caption{left:12px;right:12px;bottom:13px}
 .series-curated .series-project:not(:first-child) .project-caption h3{font-size:20px;line-height:1.4}
 .series-curated .series-project:first-child .project-caption p{font-size:12px;max-width:22em}
}

/* Mobile homepage: immediately visible section links. */
.mobile-contact,.mobile-channels{display:none}
@media(max-width:800px){
 .home-page .site-header{display:grid;grid-template-columns:1fr auto;gap:0;padding:6px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:rgba(16,17,15,.96);border-bottom:1px solid rgba(200,172,112,.25)}
 .home-page .site-header .brand-link{width:44px;height:44px}
 .home-page .site-header .brand-mark{width:31px;height:38px}
 .home-page .site-header .menu-toggle,.home-page .site-header #main-nav{display:none}
 .home-page .mobile-contact{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 8px;font-size:13px;color:#c8ac70}
 .home-page .mobile-channels{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;border-top:1px solid rgba(255,255,255,.08)}
 .home-page .mobile-channels a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px 0;font:500 14px/1.4 var(--sans);color:#f3f1eb;white-space:nowrap;transition:color .2s,background-color .2s}
 .home-page .mobile-channels a:hover,.home-page .mobile-channels a:active{color:#e6c98f;background:rgba(200,172,112,.08)}
 .home-page .mobile-channels a:focus-visible,.home-page .mobile-contact:focus-visible{outline:2px solid #c8ac70;outline-offset:-3px}
 .home-page :is(#works,#about,#contact){scroll-margin-top:20px}
}
