/* V8 R5 — locked site refinements, October 2026. */

/* HOME — one sequential controller. The MP4 contains ONLY the progressive BVS logo reveal. */
.hero-page{
  min-height:100svh!important;
  min-height:100dvh!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:clamp(1.5rem,4.5svh,3rem) 1rem max(1rem,env(safe-area-inset-bottom))!important;
}
.hero-logo-window{
  position:relative!important;
  top:auto!important;
  width:min(88vw,640px,calc(48svh * 5 / 4))!important;
  aspect-ratio:5/4!important;
  overflow:hidden!important;
  opacity:1;
  transition:opacity .9s cubic-bezier(.4,0,.2,1)!important;
  background:#000;
}
.hero-logo-face{position:absolute!important;inset:0!important;overflow:hidden!important;background:#000!important;z-index:3!important}
.hero-logo-video,.hero-logo-fallback{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
}
.hero-logo-fallback{display:none}
.hero-logo-video--fallback-final{visibility:hidden}
.hero-logo-video--fallback-final + .hero-logo-fallback{display:block;position:absolute;inset:0}
.hero-bottom{
  position:relative!important;
  top:auto!important;
  width:min(92vw,720px)!important;
  margin-top:clamp(.35rem,.9svh,.65rem)!important;
}
.hero-author,.hero-tagline,.hero-rule,.hero-enter,.hero-url{animation:none!important}
.hero-author{
  display:block!important;
  visibility:visible!important;
  margin-bottom:.42rem!important;
  opacity:0!important;
  transform:translateY(5px)!important;
  transition:opacity .85s cubic-bezier(.2,0,0,1),transform .85s cubic-bezier(.2,0,0,1)!important;
}
.hero-tagline{
  max-width:46rem!important;
  padding:0 .5rem!important;
  white-space:normal!important;
  font-family:var(--font-display)!important;
  font-size:clamp(.92rem,1.7vw,1.28rem)!important;
  font-style:italic!important;
  font-weight:400!important;
  line-height:1.35!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
  color:var(--color-accent)!important;
  opacity:0!important;
  transform:translateY(5px)!important;
  transition:opacity .85s cubic-bezier(.2,0,0,1),transform .85s cubic-bezier(.2,0,0,1)!important;
}
.hero-rule{
  width:min(100%,650px)!important;
  height:1px!important;
  margin-top:clamp(.72rem,1.45svh,1rem)!important;
  background:rgb(243 239 230 / .9)!important;
  opacity:0!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  transition:opacity .72s cubic-bezier(.2,0,0,1),transform .72s cubic-bezier(.2,0,0,1)!important;
}
.hero-enter{
  margin-top:clamp(.72rem,1.4svh,.95rem)!important;
  opacity:0!important;
  transform:translateY(5px)!important;
  transition:opacity .78s cubic-bezier(.2,0,0,1),transform .78s cubic-bezier(.2,0,0,1)!important;
}
.hero-url{
  margin-top:clamp(.72rem,1.45svh,.95rem)!important;
  opacity:0!important;
  transform:translateY(5px)!important;
  transition:opacity .78s cubic-bezier(.2,0,0,1),transform .78s cubic-bezier(.2,0,0,1)!important;
}
.hero-page.intro-identity-visible .hero-author,.hero-page.intro-identity-visible .hero-tagline{opacity:1!important;transform:translateY(0)!important}
.hero-page.intro-rule-visible .hero-rule{opacity:1!important;transform:scaleX(1)!important}
.hero-page.intro-controls-visible .hero-enter,.hero-page.intro-controls-visible .hero-url{opacity:1!important;transform:translateY(0)!important}
.hero-page.intro-cycle-fade .hero-logo-window,.hero-page.intro-cycle-fade .hero-author,.hero-page.intro-cycle-fade .hero-tagline,.hero-page.intro-cycle-fade .hero-rule{opacity:0!important}
.hero-page.intro-cycle-fade .hero-author,.hero-page.intro-cycle-fade .hero-tagline{transform:translateY(2px)!important}
.hero-page.intro-cycle-fade .hero-rule{transform:scaleX(1)!important}
.hero-page.intro-reduced .hero-logo-video{display:none!important}
.hero-page.intro-reduced .hero-logo-fallback{display:block!important}
.hero-page.intro-reduced .hero-logo-window,.hero-page.intro-reduced .hero-author,.hero-page.intro-reduced .hero-tagline,.hero-page.intro-reduced .hero-rule,.hero-page.intro-reduced .hero-enter,.hero-page.intro-reduced .hero-url{opacity:1!important;transform:none!important;transition:none!important}
.hero-page.intro-reduced .hero-rule{transform:scaleX(1)!important}

@media(max-width:767px){
  .hero-page{padding:clamp(1rem,2.6svh,1.45rem) .7rem max(.9rem,env(safe-area-inset-bottom))!important}
  .hero-logo-window{width:min(94vw,500px,calc(43svh * 5 / 4))!important}
  .hero-bottom{width:min(94vw,520px)!important;margin-top:.35rem!important}
  .hero-author{margin-bottom:.34rem!important;font-size:.68rem!important;letter-spacing:.2em!important}
  .hero-tagline{font-size:clamp(.8rem,3.75vw,.98rem)!important;line-height:1.3!important;letter-spacing:.012em!important;padding:0 .2rem!important}
  .hero-rule{margin-top:.65rem!important;width:92%!important}
  .hero-enter{margin-top:.62rem!important;gap:clamp(2rem,14vw,4rem)!important}
  .hero-language-button{gap:.4rem!important;min-width:5.6rem!important}
  .hero-language-button span{font-size:clamp(.9rem,3.8vw,1.08rem)!important}
  .hero-url{margin-top:.65rem!important;font-size:clamp(.9rem,4vw,1.08rem)!important}
}
@media(max-height:700px) and (min-width:768px){
  .hero-page{padding-top:1rem!important;padding-bottom:.85rem!important}
  .hero-logo-window{width:min(80vw,580px,calc(43svh * 5 / 4))!important}
  .hero-bottom{margin-top:.2rem!important}
  .hero-author{margin-bottom:.28rem!important}
  .hero-rule{margin-top:.5rem!important}
  .hero-enter{margin-top:.5rem!important}
  .hero-url{margin-top:.5rem!important}
}

/* PORTFOLIO / GALLERIES — collection names stand on their own. */
.collection-generic-subtitle{display:none!important}

/* FINE ART — exact same scale for silhouettes and hanging prints, responsive as one system. */
.scale-wall-stage{
  --cm:2px;
  height:calc(190 * var(--cm) + 18px)!important;
  gap:clamp(.85rem,2vw,1.8rem)!important;
  padding:0 1rem!important;
  align-items:flex-end!important;
  border-bottom:1px solid rgb(243 239 230 / .28)!important;
  overflow:visible!important;
}
.scale-wall-person__img--170{height:calc(170 * var(--cm))!important}
.scale-wall-person__img--180{height:calc(180 * var(--cm))!important}
.scale-wall-frame--45{width:calc(45 * var(--cm))!important;height:calc(30 * var(--cm))!important;margin-bottom:calc(130 * var(--cm))!important}
.scale-wall-frame--60{width:calc(60 * var(--cm))!important;height:calc(40 * var(--cm))!important;margin-bottom:calc(125 * var(--cm))!important}
.scale-wall-frame--90{width:calc(90 * var(--cm))!important;height:calc(60 * var(--cm))!important;margin-bottom:calc(115 * var(--cm))!important}
.offer-scale__visual--wall{overflow:hidden!important;padding:0!important;margin-top:.7rem!important}
.offer-scale__note{margin-top:.72rem!important}
@media(max-width:760px){
  .scale-wall-stage{--cm:1.18px;min-width:0!important;width:100%!important;justify-content:center!important;gap:clamp(.38rem,2.2vw,.7rem)!important;padding:0 .25rem!important;height:calc(190 * var(--cm) + 14px)!important}
  .scale-wall-frame span{font-size:.58rem!important}
  .scale-wall-person__img{max-width:4rem!important}
}
@media(max-width:430px){
  .scale-wall-stage{--cm:.98px;gap:.34rem!important}
  .scale-wall-person__img{max-width:3.35rem!important}
}

/* ABOUT — keep one typographic rhythm. */
.about-v8__text{font-size:15.5px!important;line-height:1.82!important}
.about-v8__closing{border:0!important;padding-top:0!important}

/* MOBILE — preserve natural photographs and avoid horizontal layout breakage. */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}
@media(max-width:640px){
  .portfolio-intro{padding-top:3rem!important}
  .portfolio-series{padding-top:1.4rem!important}
  .portfolio-card--classic h3{font-size:1.75rem!important}
  .gallery-natural-grid{margin-top:1.5rem!important}
  .art-spaces-original__hero{padding-top:3rem!important}
  .art-spaces-original__feature{padding-bottom:2.5rem!important}
  .site-footer__social .brand-icon{width:2.2rem!important;height:2.2rem!important}
}
.hero-enter{pointer-events:none}
.hero-page.intro-controls-visible .hero-enter{pointer-events:auto}
