/* Trisect Media / Studio Edition V6.6. Additive stylesheet.
   V6.5 foundation, same CMS and film/gallery logic. */
:root {--studio-accent:#E9A72F; --studio-gold-soft:rgba(233,167,47,.55)}
/* The original V6 orange hero ring, stronger and more visible than V6.5's grey. */
.hero-photo::after{width:142px;height:142px;top:-26px;right:-16px;border:2px solid rgba(236,162,42,.89);opacity:.95;border-radius:50%;box-shadow:0 0 34px rgba(236,162,42,.085);transition:transform .6s cubic-bezier(.2,.8,.2,1),border-color .35s}
.hero-photo:hover::after{transform:scale(1.055);border-color:rgba(248,185,63,.95)}
/* Editorial typography: a little larger than V6.5 but still more restrained than PRISM. */
.hero h1{font-size:clamp(53px,5.65vw,91px);line-height:1.18;letter-spacing:-.017em}
.section-top h2,.page-intro h1{font-size:clamp(44px,4.9vw,77px);line-height:1.135;letter-spacing:-.03em}
.section-top p,.page-intro p{font-size:clamp(16px,1.22vw,18px)}
.about-layout h2{font-size:clamp(37px,4.1vw,62px)}
.contact-layout h1{font-size:clamp(55px,6.3vw,96px);letter-spacing:-.055em}
.project-info h1{font-size:clamp(34px,3.2vw,52px);line-height:1.12}
.end-cta h2{font-size:clamp(48px,5.8vw,89px)}
.service-card h3{font-size:clamp(35px,3.75vw,55px)}
.film-details h3{font-size:17px}
/* More visible orange accent, without turning navigation into a spectacle. */
.hy-discipline-index a{position:relative;transition:background-color .35s cubic-bezier(.2,.8,.2,1),color .35s}
.hy-discipline-index a::after{content:"";position:absolute;bottom:-1px;left:18px;right:18px;height:2px;background:var(--studio-accent);opacity:0;transform:scaleX(.75);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.hy-discipline-index a:hover::after,.hy-discipline-index a:focus-visible::after{opacity:1;transform:scaleX(1)}
.hy-discipline-index a:focus-visible,.service-card:focus-visible,.photo-card:focus-visible,.film-art:focus-visible{outline:2px solid var(--studio-accent);outline-offset:4px}
/* The orange border blooms in gradually instead of appearing on hover. */
.service-card {outline-color:rgba(255,255,255,.06)!important;position:relative}
.service-card::before{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;border:2px solid var(--studio-accent);border-radius:inherit;opacity:0;background:radial-gradient(340px circle at var(--studio-x,50%) var(--studio-y,50%),rgba(233,167,47,.09),transparent 73%);transition:opacity .58s cubic-bezier(.2,.8,.2,1)}
.service-card:hover::before,.service-card:focus-visible::before{opacity:1}
.film-art{box-shadow:0 0 0 0 rgba(233,167,47,0);transition:box-shadow .55s cubic-bezier(.2,.8,.2,1),transform .45s}
.film-card:hover .film-art,.film-art:focus-visible{box-shadow:0 0 0 1.5px rgba(233,167,47,.85)}
.photo-card{outline:0!important;box-shadow:0 0 0 1px rgba(255,255,255,.07);transition:box-shadow .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1)}
.photo-card:hover{box-shadow:0 0 0 1.5px rgba(233,167,47,.83)}
/* Native photography albums: equal cards and stable ordering after a filter is applied. */
#all-photos.photography-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:20px;align-items:stretch}
#all-photos.photography-grid > .photo-card,
#all-photos.photography-grid > .photo-card:nth-child(n){grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:16/10;width:100%;height:auto;border-radius:17px}
#all-photos.photography-grid .photo-card img{display:block;object-fit:cover}
/* Reveal feedback for photography filter changes; positions are assigned by the grid. */
#all-photos .photo-card[hidden]{display:none!important}
/* Orange scroll indicator — returning to the stronger V6 accent. */
.studio-back-to-top{--studio-progress:0deg;position:fixed;right:clamp(14px,2.4vw,34px);bottom:clamp(18px,2.5vw,34px);z-index:88;width:57px;height:57px;padding:3px;border:0;border-radius:50%;background:conic-gradient(var(--studio-accent) 0deg var(--studio-progress),rgba(233,167,47,.26) var(--studio-progress) 360deg);color:var(--studio-accent);display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.34);opacity:0;visibility:hidden;transform:translateY(14px) scale(.94);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility .35s;cursor:pointer}
.studio-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.studio-back-to-top .studio-to-top-disc{width:100%;height:100%;border-radius:50%;background:#191b19;display:grid;place-items:center;border:1px solid rgba(233,167,47,.48);transition:background .3s,color .3s}
.studio-back-to-top:hover .studio-to-top-disc,.studio-back-to-top:focus-visible .studio-to-top-disc{background:var(--studio-accent);color:#151514}
.studio-back-to-top svg{height:23px;width:23px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.studio-back-to-top:focus-visible{outline:3px solid #fff;outline-offset:4px}
/* Increase word-space for Photography at mobile breakpoint. */
@media(max-width:760px){
 .hero-photo::after{width:110px;height:110px;top:-12px;right:-4px;border-width:2px}
 .hy-discipline-index{grid-template-columns:minmax(0,.85fr) minmax(0,1.38fr) minmax(0,.77fr)}
 .hy-discipline-index a{min-width:0;padding:19px clamp(10px,2.4vw,22px);gap:6px}
 .hy-discipline-index a:nth-of-type(2){padding-inline:clamp(16px,3vw,23px) 8px}
 .hy-discipline-index strong{font-size:clamp(14px,3.65vw,18px);letter-spacing:-.025em}
 .hy-index-number{font-size:10px;letter-spacing:.12em}
 .section-top h2,.page-intro h1{font-size:clamp(42px,8.75vw,64px)}
 .hero h1{font-size:clamp(44px,9.65vw,68px)}
 .section-top p,.page-intro p{font-size:16px}
 #all-photos.photography-grid{grid-template-columns:1fr;gap:15px}
 #all-photos.photography-grid > .photo-card,#all-photos.photography-grid > .photo-card:nth-child(n){aspect-ratio:16/11;min-height:0}
 .studio-back-to-top{width:54px;height:54px;right:16px;bottom:20px}
}
@media(max-width:380px){
 .hy-discipline-index strong{font-size:13.6px}
 .hy-discipline-index a{padding:16px 8px}
 .hy-discipline-index a:nth-of-type(2){padding-left:12px}
 .hero h1{font-size:43px}
}
@media(prefers-reduced-motion:reduce){
 .studio-back-to-top,.studio-back-to-top .studio-to-top-disc,.service-card::before,.hy-discipline-index a::after,.photo-card,.film-art{transition:none!important}
}
