:where(html:not(.reveal-enhanced) .section) .reveal{opacity:1;transform:none;filter:none}
.hero-media{background:#080808}
.hero-video{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1)}
.hero-video.is-ready{opacity:1}
:where(html.reveal-enhanced .section) .scroll-reveal{opacity:0;transform:translate3d(0,var(--reveal-y,22px),0) scale(var(--reveal-scale,.997));filter:none;transition:opacity var(--reveal-opacity-duration,620ms) cubic-bezier(.22,1,.36,1),transform var(--reveal-transform-duration,700ms) cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
:where(html.reveal-enhanced .section) .scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}

/* Homepage cursor and Studio/Maps refinements */
.studio-maps-cta{display:none!important}

/* Studio: immersive section, narrower editorial card, dominant map */
@media (min-width:981px){
  .studio-contact{
    min-height:calc(100svh - 78px);
    padding-top:clamp(62px,4.6vw,82px)!important;
    padding-bottom:clamp(44px,3.5vw,62px)!important;
    display:flex;
    flex-direction:column;
  }
  .studio-contact>.editorial-heading{flex:0 0 auto}
  .studio-contact>.studio-contact-grid{
    flex:1 1 auto;
    margin-top:clamp(26px,2.3vw,36px);
  }
}

.studio-contact-grid{
  grid-template-columns:minmax(360px,.43fr) minmax(0,.57fr)!important;
  gap:12px!important;
  align-items:stretch!important;
}
.studio-card,.map-card{height:100%!important;min-height:0!important}
.studio-card{
  padding:0!important;
  justify-content:flex-start!important;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
}
.studio-card-content{
  display:flex;
  flex-direction:column;
  width:100%;
  min-height:100%;
}
.studio-photo-frame{
  position:relative;
  margin:0!important;
  width:100%;
  aspect-ratio:4/3;
  min-height:0;
  max-height:none;
  overflow:hidden;
  flex:0 0 auto;
  border-bottom:1px solid rgba(255,255,255,.11);
  background:#0a0a0a;
}
.studio-photo-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 68%,rgba(8,8,8,.22));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.studio-photo{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 54%;
  transform:none!important;
}
.studio-card-content>p{
  position:relative;
  max-width:none!important;
  margin:0!important;
  padding:clamp(16px,1.25vw,20px) clamp(20px,1.55vw,25px)!important;
  border-bottom:1px solid rgba(255,255,255,.10);
  font:300 clamp(15.5px,.92vw,17px)/1.43 var(--font-body)!important;
  color:#e0e0e0!important;
}
.studio-card-content>p::before{
  content:"";
  position:absolute;
  left:0;
  top:clamp(16px,1.25vw,20px);
  bottom:clamp(16px,1.25vw,20px);
  width:2px;
  background:var(--red);
  box-shadow:0 0 16px rgba(234,24,24,.28);
}
.studio-data{
  display:block!important;
  margin:0!important;
  padding:0 clamp(20px,1.55vw,25px)!important;
  border:0!important;
  background:transparent!important;
}
.studio-data>div{
  min-width:0;
  min-height:0!important;
  padding:clamp(11px,.9vw,14px) 0!important;
  display:grid!important;
  grid-template-columns:minmax(112px,.31fr) minmax(0,1fr);
  align-items:start;
  gap:16px;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  background:transparent!important;
  transition:none!important;
}
.studio-data>div:last-child{border-bottom:0!important}
.studio-data>div:hover{background:transparent!important;border-color:rgba(255,255,255,.09)!important}
.studio-data span{
  padding-top:2px;
  font:400 9px/1.2 var(--font-ui)!important;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(255,255,255,.47)!important;
}
.studio-data strong{
  display:block;
  max-width:100%;
  font:400 clamp(12px,.76vw,13.5px)/1.38 var(--font-ui)!important;
  letter-spacing:-.01em;
  color:#f2f2f2!important;
  overflow-wrap:anywhere;
}
.studio-data strong a{border-bottom:1px solid rgba(234,24,24,.42);transition:border-color .22s,color .22s}
.studio-data strong a:hover,.studio-data strong a:focus-visible{color:#fff;border-color:var(--red)}

/* Keep the live Google Map treatment unchanged; only let it match the Studio card height. */
.map-card{align-self:stretch!important}
.map-placeholder{position:relative;overflow:hidden!important;background:#080808!important;height:100%!important;min-height:100%!important}
.map-placeholder iframe{filter:grayscale(1) saturate(0) contrast(1.14) brightness(.72);transition:filter .35s cubic-bezier(.22,1,.36,1);height:100%!important;min-height:100%!important}
.map-placeholder::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(234,24,24,.14),inset 0 0 90px rgba(234,24,24,.055);background:linear-gradient(135deg,rgba(234,24,24,.055),transparent 28%,transparent 72%,rgba(0,0,0,.14))}
.map-card:hover .map-placeholder iframe{filter:grayscale(1) saturate(0) contrast(1.12) brightness(.78)}

@media (max-width:1180px) and (min-width:981px){
  .studio-contact-grid{grid-template-columns:minmax(350px,.44fr) minmax(0,.56fr)!important}
  .studio-data>div{grid-template-columns:minmax(104px,.34fr) minmax(0,1fr);gap:13px}
}

@media (max-width:980px){
  .studio-contact{min-height:0!important;padding-bottom:10px!important;display:block}
  .studio-contact-grid{grid-template-columns:1fr!important;gap:10px!important;margin-top:0}
  .studio-card,.map-card{height:auto!important;min-height:auto!important}
  .studio-card-content{min-height:0}
  .studio-photo-frame{aspect-ratio:4/3;max-height:none}
  .map-placeholder,.map-placeholder iframe{min-height:390px!important;height:390px!important}
}

@media (max-width:620px){
  .studio-photo-frame{aspect-ratio:4/3}
  .studio-card-content>p{padding:17px 18px 16px!important;font-size:16px!important;line-height:1.44!important}
  .studio-card-content>p::before{top:17px;bottom:16px}
  .studio-data{padding:0 18px!important}
  .studio-data>div{
    display:block!important;
    padding:12px 0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }
  .studio-data span{display:block;margin-bottom:6px;padding-top:0}
  .studio-data strong{font-size:13px!important}
  .map-placeholder,.map-placeholder iframe{min-height:360px!important;height:360px!important}
}

@media (prefers-reduced-motion:reduce){
  .hero-video{transition:none}
  :where(.section) .reveal,:where(.section) .scroll-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;will-change:auto!important}
  .map-placeholder iframe{transition:none}
}
