/* =========================================================
   V94 — inline Video Guidance playback + refined hero titles
   ========================================================= */

/* Video Guidance: player stays inside the selected mosaic tile. */
.video-guides-consistent .video-guide-media{
  position:relative!important;
  cursor:default!important;
}
.video-guides-consistent .video-guide-poster{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:#d3cdc3;
  overflow:hidden;
  text-align:left;
  cursor:pointer;
}
.video-guides-consistent .video-guide-poster[disabled]{cursor:default}
.video-guides-consistent .video-guide-poster img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:scale(1.001)!important;
  filter:saturate(.88) contrast(1.015)!important;
  transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .55s ease!important;
}
.video-guides-consistent .video-guide-poster:not([disabled]):hover img{
  transform:scale(1.04)!important;
  filter:saturate(.98) contrast(1.02)!important;
}
.video-guides-consistent .video-guide-poster:not([disabled]):hover .video-guide-shade{opacity:.92!important}
.video-guides-consistent .video-guide-poster:not([disabled]):hover .video-guide-play,
.video-guides-consistent .video-guide-poster:not([disabled]):focus-visible .video-guide-play{
  background:#fff!important;
  color:var(--ink)!important;
  border-color:#fff!important;
  transform:translateY(-2px)!important;
}
.video-guides-consistent .video-guide-poster:focus-visible{
  outline:2px solid var(--accent)!important;
  outline-offset:-2px!important;
}
.video-guides-consistent .is-preview-only .video-guide-caption-label:after{
  content:" · Coming soon";
  color:rgba(255,255,255,.68);
  font-weight:400;
}
.video-guide-inline-stage{
  position:absolute;
  inset:0;
  z-index:5;
  display:none;
  width:100%;
  height:100%;
  background:#0d0d0d;
}
.video-guide-media.is-playing .video-guide-inline-stage{display:block}
.video-guide-inline-stage iframe,
.video-guide-inline-stage video{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#000;
}
.video-guide-inline-stage video{object-fit:contain}
.video-guide-inline-close{
  position:absolute;
  z-index:7;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0 0 2px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:50%;
  color:#fff;
  background:rgba(12,12,12,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font:300 24px/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.video-guide-inline-close:hover,
.video-guide-inline-close:focus-visible{
  color:#111;
  background:#fff;
  transform:translateY(-1px);
  outline:none;
}

/* Hero typography: preserve the existing cinematic motion while giving each
   message its own considered scale and consistent luxury rhythm. */
.hero .hero-copy{
  width:min(100%,1120px);
  max-width:1120px;
}
.hero .hero-title{
  max-width:1100px;
  font-size:clamp(62px,7.25vw,114px);
  line-height:.91;
  letter-spacing:-.058em;
  text-wrap:balance;
  text-shadow:0 2px 22px rgba(0,0,0,.12);
}
.hero .hero-title .reveal-line{
  padding:.035em 0 .075em;
  margin:-.035em 0 -.075em;
}
.hero .hero-title .reveal-line + .reveal-line{margin-top:.08em}
.hero .hero-title em{
  color:#e8d7bd;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.045em;
}
.hero[data-hero-slide="1"] .hero-title{
  max-width:1080px;
  font-size:clamp(60px,7vw,110px);
  line-height:.92;
}
.hero[data-hero-slide="2"] .hero-title{
  max-width:980px;
  font-size:clamp(76px,9.1vw,142px);
  line-height:.84;
  letter-spacing:-.07em;
}
.hero[data-hero-slide="2"] .hero-intro{
  display:flex;
  align-items:center;
  gap:14px;
  width:max-content;
  max-width:100%;
  margin-top:28px;
  color:rgba(255,255,255,.86);
  font:700 10px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.hero[data-hero-slide="2"] .hero-intro:before{
  content:"";
  width:42px;
  height:1px;
  flex:0 0 42px;
  background:rgba(232,215,189,.78);
}
.hero[data-hero-slide="3"] .hero-title{
  max-width:1040px;
  font-size:clamp(50px,5.65vw,88px);
  line-height:.96;
  letter-spacing:-.048em;
}
.hero[data-hero-slide="4"] .hero-title{
  max-width:1030px;
  font-size:clamp(68px,8vw,126px);
  line-height:.88;
}

@media(max-width:1100px){
  .hero .hero-copy{max-width:820px}
  .hero .hero-title{font-size:clamp(58px,8.3vw,94px)}
  .hero[data-hero-slide="2"] .hero-title{font-size:clamp(70px,10vw,108px)}
  .hero[data-hero-slide="3"] .hero-title{font-size:clamp(48px,6.9vw,75px)}
  .hero[data-hero-slide="4"] .hero-title{font-size:clamp(62px,9vw,102px)}
}
@media(max-width:720px){
  .hero .hero-title,
  .hero[data-hero-slide="1"] .hero-title,
  .hero[data-hero-slide="2"] .hero-title,
  .hero[data-hero-slide="4"] .hero-title{
    max-width:100%;
    font-size:clamp(47px,13.8vw,64px)!important;
    line-height:.92!important;
    letter-spacing:-.048em!important;
  }
  .hero[data-hero-slide="3"] .hero-title{
    max-width:100%;
    font-size:clamp(39px,11.4vw,53px)!important;
    line-height:.98!important;
    letter-spacing:-.038em!important;
  }
  .hero[data-hero-slide="2"] .hero-intro{
    width:auto;
    font-size:8px;
    letter-spacing:.17em;
    margin-top:22px;
  }
  .hero[data-hero-slide="2"] .hero-intro:before{width:28px;flex-basis:28px}
  .video-guide-inline-close{top:9px;right:9px;width:34px;height:34px;font-size:21px}
}
@media(max-width:480px){
  .hero .hero-title,
  .hero[data-hero-slide="1"] .hero-title,
  .hero[data-hero-slide="2"] .hero-title,
  .hero[data-hero-slide="4"] .hero-title{
    font-size:clamp(42px,13.4vw,52px)!important;
  }
  .hero[data-hero-slide="3"] .hero-title{
    font-size:clamp(35px,10.7vw,44px)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .video-guide-poster img,.video-guide-inline-close{transition:none!important}
}
