/* Immersive walkthrough presentation overrides.
   IMPORTANT: everything in this file is desktop-only so the mobile homepage
   keeps the stable pre-walkthrough layout and behavior. */

@media (min-width:851px){
  /* Remove numbered/timeline UI from the desktop immersive walkthrough. */
  .transition-house .chapter-no,
  .transition-house .progress,
  .transition-house .labels,
  .transition-house .walkthrough-labels{
    display:none!important;
  }

  /* Prevent inactive desktop chapter copy from lingering behind the active message. */
  .transition-house .chapter{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .transition-house .chapter.active{
    opacity:1!important;
    visibility:visible!important;
  }

  .transition-house.compact-scroll{
    height:500vh!important;
    background:#080808!important;
    position:relative!important;
  }
  .transition-house .sticky-stage{
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    overflow:hidden!important;
    background:#080808!important;
    isolation:isolate;
  }
  .transition-house .stage-bg{display:none!important}
  .transition-house .walkthrough-live-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:0;
    transform:translateZ(0);
    backface-visibility:hidden;
    background:#080808;
  }
  .transition-house .stage-gradient{
    z-index:1!important;
    background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.03) 60%,rgba(0,0,0,.11)),linear-gradient(180deg,rgba(0,0,0,.05),transparent 25%,rgba(0,0,0,.09))!important;
    pointer-events:none;
  }
  .transition-house .chapter{
    z-index:4!important;
    text-shadow:0 5px 28px rgba(0,0,0,.62);
  }
  .transition-house .walkthrough-loading{
    position:absolute;
    inset:0;
    z-index:8;
    display:grid;
    place-items:center;
    background:#0a0908;
    transition:opacity .45s ease;
    pointer-events:none;
  }
  .transition-house .walkthrough-loading.ready{opacity:0}
  .transition-house .walkthrough-loading-inner{text-align:center;color:#f8f3eb}
  .transition-house .walkthrough-loading-title{font-family:'Cinzel',serif;font-size:20px;letter-spacing:.08em}
  .transition-house .walkthrough-loading-sub{margin-top:10px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#d8c8b4}
}

/* The walkthrough video and loader never participate in mobile layout. */
@media (max-width:850px){
  .walkthrough-live-video,
  .walkthrough-loading{display:none!important}
}

/* Service area — shared by desktop and mobile. */
.service-area-luxe{
  background:#f8f3eb;
  color:#1a1a1a;
  padding:110px 7vw 115px;
  border-top:1px solid rgba(181,138,82,.28);
  border-bottom:1px solid rgba(181,138,82,.28);
}
.service-area-inner{max-width:1450px;margin:0 auto}
.service-area-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:70px;align-items:end;margin-bottom:52px}
.service-area-intro .section-kicker{grid-column:1/-1;color:#9a7448;margin-bottom:-40px}
.service-area-intro h2{font-family:'Cinzel',serif;font-weight:400;font-size:clamp(44px,5.2vw,82px);line-height:.98;letter-spacing:.025em;margin:0}
.service-area-intro>p{font-size:16px;line-height:1.85;color:#62594f;margin:0 0 5px}
.reunion-feature{display:grid;grid-template-columns:auto 1fr;gap:9px 26px;align-items:center;background:#1b1a19;color:#f8f3eb;padding:34px 38px;margin-bottom:20px;border:1px solid #b58a52}
.reunion-feature span{font-size:9px;letter-spacing:.27em;text-transform:uppercase;color:#d4b27e;grid-column:1/-1}
.reunion-feature strong{font-family:'Cinzel',serif;font-size:clamp(34px,3.5vw,56px);font-weight:400;letter-spacing:.08em}
.reunion-feature p{margin:0;max-width:720px;line-height:1.7;color:#d8d0c7;font-size:14px}
.service-area-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid rgba(181,138,82,.34);background:rgba(255,255,255,.26)}
.service-area-grid article{padding:30px 27px;min-height:170px;border-right:1px solid rgba(181,138,82,.30)}
.service-area-grid article:last-child{border-right:0}
.service-area-grid b{display:block;font-family:'Cinzel',serif;font-weight:400;font-size:17px;margin-bottom:16px}
.service-area-grid p{font-size:12px;line-height:1.85;color:#675e54;margin:0}
.service-area-grid em{font-style:normal;color:#9a6d36;font-weight:600}
.service-area-note{font-size:11px;letter-spacing:.04em;color:#786e63;margin:22px 0 0}

@media (max-width:1050px){
  .service-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-area-grid article{border-right:1px solid rgba(181,138,82,.30);border-bottom:1px solid rgba(181,138,82,.30)}
  .service-area-grid article:nth-child(2n){border-right:0}
  .service-area-grid article:last-child{border-bottom:0}
}

@media (max-width:850px){
  .service-area-luxe{padding:76px 6vw 78px}
  .service-area-intro{display:block;margin-bottom:34px}
  .service-area-intro .section-kicker{margin-bottom:20px}
  .service-area-intro h2{font-size:42px;line-height:1.02;margin-bottom:22px}
  .service-area-intro>p{font-size:14px;line-height:1.75}
  .reunion-feature{display:block;padding:28px 24px;margin-bottom:16px}
  .reunion-feature span{display:block;margin-bottom:12px}
  .reunion-feature strong{display:block;font-size:39px;margin-bottom:12px}
  .reunion-feature p{font-size:13px;line-height:1.7}
  .service-area-grid{grid-template-columns:1fr}
  .service-area-grid article{min-height:0;padding:24px 22px;border-right:0!important;border-bottom:1px solid rgba(181,138,82,.30)}
  .service-area-grid article:last-child{border-bottom:0}
  .service-area-note{font-size:10px;line-height:1.7;margin-top:18px}
}
