/* Deliberate specificity keeps these refinements above component-injected styles. */
:root{--font-serif:var(--font-sans);--text-secondary:#b0b0b8;--text-muted:#94949e;--border-color:#ffffff24;--page-gutter:clamp(1.25rem,4.5vw,5rem)}
html{scroll-snap-type:none;scroll-padding-top:90px}
body{line-height:1.6}
body .container,body .navbar-container{max-width:1440px;padding-inline:var(--page-gutter)}
body h1,body h2,body h3{font-weight:450;letter-spacing:-.045em;text-wrap:balance}
body p{font-weight:400;text-wrap:pretty}
body .text-serif-italic{font-style:normal;font-weight:350;color:#c5c5ce}
body .section-title{font-size:clamp(2.25rem,4.7vw,4.25rem);line-height:1.1}
body .section-pretitle,body .hero-pretitle{letter-spacing:.19em;font-size:.75rem;font-weight:550}
body .hero{height:auto;min-height:100svh}
body .hero-container{margin-top:0;padding-top:clamp(9rem,18vh,13rem);padding-bottom:8rem}
body .hero-content{max-width:960px}
body .hero-title{font-size:clamp(3rem,7.5vw,7rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:1.75rem}
body .hero-subtitle{font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:34ch;line-height:1.65;color:#c2c2cb}
body .hero-categories{flex-wrap:wrap;gap:.65rem;letter-spacing:.12em;color:#b2b2bd;margin-bottom:2rem}
body .hero-overlay{background:linear-gradient(90deg,#08080acc, #08080a30),linear-gradient(0deg,#08080a 0%,transparent 60%)}
body .hero-image{animation:refined-zoom 24s ease-in-out infinite alternate}
@keyframes refined-zoom{from{transform:scale(1.02)}to{transform:scale(1.08)}}
body .btn-explore,body .btn-premium{min-height:50px;border-radius:6px;letter-spacing:.09em;transition:background-color .25s,color .25s,border-color .25s}
body .btn-premium{isolation:isolate}
body .navbar{transition:height .3s,background-color .3s,border-color .3s}
body .logo-text{letter-spacing:.12em;font-weight:550}
body .nav-link{min-height:44px;letter-spacing:.08em}
body .mobile-toggle{min-width:44px;min-height:44px}
body .mobile-nav-overlay{height:100dvh;visibility:hidden;transition:opacity .3s,transform .4s,visibility .4s}
body .mobile-nav-overlay.open{visibility:visible}
body .mobile-nav-link{font-size:clamp(2rem,7vw,3rem);font-style:normal;min-height:48px}
body .categories-section,body .contact-section{padding-block:clamp(4.5rem,8vw,8rem)}
body .cat-grid{gap:clamp(1rem,2.5vw,2rem);margin-top:clamp(2rem,4vw,3.5rem)}
body .cat-card{height:clamp(360px,36vw,480px);padding:clamp(1.5rem,3vw,2.75rem)}
body .cat-content{flex-direction:column;align-items:flex-start;gap:1.5rem}
body .cat-meta{max-width:100%}
body .cat-title{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.1}
body .cat-description{opacity:1;transform:none;color:#c4c4cc;max-width:43ch;font-size:1rem;line-height:1.6}
body .cat-number{color:#c0c0c8}
body .cat-btn{opacity:1;font-size:.75rem;letter-spacing:.08em}
body .cat-image{transition:transform .85s var(--transition-smooth),filter .6s}
body .border-glow-back{opacity:.3;animation-duration:18s}
body .about-section{padding-block:clamp(8rem,13vw,12rem) clamp(4rem,8vw,8rem)}
body .about-container{gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
body .about-image-wrap{padding:0}
body .about-title{font-size:clamp(2.25rem,4vw,3.75rem);overflow-wrap:anywhere}
body .about-bio{max-width:60ch;gap:1.25rem;margin-bottom:2.5rem}
body .bio-lead{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.6}
body .detail-item{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.5rem}
body .detail-label{letter-spacing:.08em;line-height:1.6}
body .detail-val{line-height:1.65}
body .contact-header{max-width:660px;margin-bottom:2.5rem}
body .contact-intro{max-width:50ch;font-size:clamp(1rem,1.5vw,1.2rem)}
body .profile-card-inner{padding:2.5rem 1.5rem}
body .profile-actions{flex-wrap:wrap;gap:1rem}
body .profile-socials{display:flex;gap:.5rem}
body .profile-social-icon{width:44px;height:44px}
body .profile-name{font-size:1.75rem}
body .profile-card-wrapper{cursor:default}
body .footer{padding-block:3.5rem 2rem}
body .footer-brand h3{letter-spacing:.09em}
body .legal-btn{min-height:44px}
body .legal-overlay{height:100dvh;padding:1rem}
body .legal-content{max-height:calc(100dvh - 2rem);border-radius:12px}
body .legal-text{overflow-wrap:anywhere}
body .legal-text h2{font-size:clamp(1.8rem,5vw,2.5rem)}
body .reveal-on-scroll{transition:opacity .7s var(--transition-smooth),transform .7s var(--transition-smooth);transform:translateY(18px)}
body .reveal-on-scroll.is-revealed{transform:none;will-change:auto}
body :focus-visible{outline:2px solid #e3e3f1;outline-offset:5px}
body .photo-info h3{white-space:normal;overflow-wrap:anywhere}
body .category-detail-scroll-container .hero-title,body .end-title{font-size:clamp(2.75rem,6vw,5.5rem)}
body .hero-slogan,body .end-slogan{font-size:clamp(1.15rem,2vw,1.7rem);font-style:normal}
@media(max-width:1024px){body .about-container{grid-template-columns:1fr}body .about-image-wrap{max-width:520px}body .desktop-nav{gap:1.5rem}}
@media(max-width:600px){body .logo-text{font-size:.8rem;letter-spacing:.08em}body .hero-container{padding-top:9rem;padding-bottom:7rem}body .hero-categories{font-size:.65rem;gap:.45rem}body .hero-scroll-indicator{bottom:1.5rem}body .cat-card{height:390px}body .detail-item{grid-template-columns:1fr;gap:.4rem}body .detail-val{text-align:left}body .footer-bottom{gap:.5rem}body .profile-card-wrapper{max-width:360px}body .legal-content{padding:3.5rem 1.25rem 1.5rem}}
/* Only an explicit reduced-motion preference replaces spatial animation with a static gallery. */
@media(prefers-reduced-motion:reduce){
 body #featured{height:auto!important;padding:4.5rem var(--page-gutter)}
 body #featured .stuck-grid{position:relative;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:1rem;perspective:none;overflow:visible}
 body #featured .grid-title-layer{position:relative;grid-column:1/-1;padding-bottom:2rem;text-align:center;opacity:1!important;transform:none!important;visibility:visible!important}
 body #featured .grid-item{grid-area:auto!important;width:100%;height:auto;aspect-ratio:4/5;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;will-change:auto;cursor:pointer}
 body #featured .grid-item img{border-radius:6px;box-shadow:none}
 body #featured .photo-info{display:none}
 body #category-grid-transition-wrapper{margin-top:0!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
 body .category-detail-scroll-container{height:auto!important;padding-top:90px}
 body .category-detail-scroll-container .stuck-grid{position:relative;height:auto;display:block;perspective:none;overflow:visible}
 body .category-detail-scroll-container .text-layer{position:relative;padding:2rem 0;background:none;opacity:1!important;transform:none!important}
 body .category-detail-scroll-container .scaler-img-fixed{display:none}
 body .category-detail-scroll-container .end-text-layer{display:none}
 body .category-detail-scroll-container .layer-container{position:relative;top:auto;left:auto;width:auto;height:auto;margin:0 var(--page-gutter) 1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;opacity:1!important;transform:none!important;visibility:visible!important;pointer-events:auto!important;will-change:auto}
 body .category-detail-scroll-container .layer-item{height:auto;aspect-ratio:4/5;border-radius:6px}
 body .category-detail-scroll-container .layer-item img{width:100%;height:100%}
 body .category-detail-scroll-container .hero-placeholder img.placeholder-img{opacity:1!important}
 body .category-detail-footer-override{opacity:1!important;transform:none!important;pointer-events:auto!important}
 body .profile-card-wrapper{transform:none!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body .reveal-on-scroll{opacity:1;transform:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* Keep the animated stage on phones; fit its existing eight positions to two columns. */
@media(max-width:768px) and (prefers-reduced-motion:no-preference){
 body #featured .grid-item:nth-child(8n+2),body #featured .grid-item:nth-child(8n+4),body #featured .grid-item:nth-child(8n+6),body #featured .grid-item:nth-child(8n+8){grid-column:1!important}
 body #featured .grid-item:nth-child(8n+3),body #featured .grid-item:nth-child(8n+5),body #featured .grid-item:nth-child(8n+7),body #featured .grid-item:nth-child(8n+9){grid-column:2!important}
 body #featured .grid-title-layer{padding-inline:1.25rem;text-align:center}
 body #featured .grid-item img{border-radius:6px}
 body .category-detail-scroll-container .layer-container{width:94vw;height:80vh;gap:.5rem}
 body .category-detail-scroll-container .layer-item{height:13vh;max-width:44vw;border-radius:6px}
 body .category-detail-scroll-container .layer-item img{max-width:44vw;object-fit:cover}
 body .category-detail-scroll-container .text-layer{padding-bottom:3rem}
}
