/* Hadorak: a photographic, unhurried journey through the house. */
.home-page  {
  --home-max:1600px;
}

.home-page main  {
  padding-top:88px;
}

.home-page h2  {
  font-size:clamp(31px,4vw,58px);
  font-weight:300;
  letter-spacing:-.065em;
  line-height:1.55;
}

.home-page p  {
  word-break:keep-all;
}

.home-section  {
  padding:100px var(--gutter);
  max-width:var(--home-max);
  margin-inline:auto;
}

.home-hero  {
  position:relative;
  isolation:isolate;
  height:calc(100svh - 108px);
  min-height:650px;
  max-height:1050px;
  margin:0 20px;
  overflow:hidden;
  background:#313a3d;
  color:white;
}

.hero-photos,.hero-shade  {
  position:absolute;
  inset:0;
  z-index:-1;
}

.hero-photo  {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.8s ease;
  overflow:hidden;
}

.hero-photo.is-current  {
  opacity:1;
}

.hero-photo img  {
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center 56%;
  transform:scale(1.04);
}

.motion-ready:not(.motion-paused) .hero-photo.is-current img  {
  animation:photo-drift 12s ease-out both;
}

.hero-shade  {
  background:linear-gradient(90deg,rgba(30,41,45,.97) 0%,rgba(30,41,45,.65) 26%,rgba(30,41,45,.06) 70%),linear-gradient(0deg,rgba(22,31,32,.65),transparent 35%);
}

.hero-topline  {
  position:absolute;
  top:32px;
  left:44px;
  right:44px;
  display:flex;
  justify-content:space-between;
  font-size:9px;
  letter-spacing:.16em;
  color:#f0f2e9;
}

.hero-topline i  {
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#dbb882;
  margin:0 9px 2px 0;
  box-shadow:0 0 0 4px #dbb88215;
}

.home-hero-copy  {
  position:absolute;
  top:24%;
  left:clamp(30px,5vw,80px);
  right:30px;
}

.hero-eyebrow  {
  font-size:12px;
  letter-spacing:.1em;
  margin-bottom:23px;
  color:#e5e5d9;
}

.home-hero h1  {
  color:#fffef3;
  font-size:clamp(42px,5.4vw,82px);
  font-weight:300;
  letter-spacing:-.065em;
  line-height:1.5;
}

.home-hero h1 span  {
  display:block;
}

.home-hero-description  {
  color:#e2e3db;
  margin-top:26px;
  font-size:13px;
  line-height:2;
}

.round-link  {
  display:inline-flex;
  align-items:center;
  gap:25px;
  margin-top:28px;
  font-size:11px;
  letter-spacing:.02em;
}

.round-arrow  {
  border:1px solid #ffffff70;
  border-radius:50%;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  font:24px/1 var(--font-sans);
  transition:transform .4s,background .4s;
}

.round-link:hover .round-arrow  {
  transform:rotate(45deg);
  background:#ffffff20;
}

.hero-bottomline  {
  position:absolute;
  bottom:0;
  left:44px;
  right:44px;
  min-height:82px;
  border-top:1px solid #ffffff38;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.scene-controls  {
  display:flex;
  gap:9px;
  align-items:center;
}

.scene-dot,.hero-pause  {
  background:none;
  border:0;
  color:#d5dacf;
  min-width:40px;
  min-height:44px;
  font:11px var(--font-sans);
  cursor:pointer;
  position:relative;
}

.scene-dot::after  {
  content:'';
  position:absolute;
  left:8px;
  right:8px;
  bottom:4px;
  height:1px;
  background:white;
  transform:scaleX(0);
  transition:transform .4s;
}

.scene-dot.is-current  {
  color:white;
}

.scene-dot.is-current::after  {
  transform:scaleX(1);
}

.scene-rule  {
  width:40px;
  height:1px;
  background:#ffffff55;
  margin-left:8px;
}

.hero-caption  {
  font-size:10px;
  letter-spacing:.08em;
  color:#e5e7dc;
}

.scroll-cue  {
  font-size:9px;
  letter-spacing:.1em;
  display:flex;
  gap:17px;
  align-items:center;
}

.scroll-cue span  {
  font-size:25px;
}

.chapter-line  {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:9px;
  letter-spacing:.13em;
  color:#6b7067;
  border-bottom:1px solid #b5b9aa;
  padding-bottom:22px;
  margin-bottom:65px;
}

.chapter-line span:last-child  {
  font-size:11px;
  letter-spacing:.03em;
}

.editorial-kicker  {
  display:block;
  font-size:10px;
  letter-spacing:.12em;
  color:var(--text-dim);
  margin-bottom:20px;
}

.story-heading  {
  text-align:center;
  margin:50px 0 65px;
}

.story-heading em  {
  font-style:normal;
  color:var(--sea);
}

.story-composition  {
  display:grid;
  grid-template-columns:1.45fr 1fr;
  gap:clamp(35px,7vw,105px);
  align-items:start;
}

.story-landscape  {
  margin-top:65px;
}

.story-landscape img  {
  width:100%;
  height:auto;
  aspect-ratio:1.13;
  object-fit:cover;
}

.story-landscape figcaption  {
  margin-top:15px;
  font-size:10px;
  color:var(--text-dim);
  letter-spacing:.04em;
}

.story-detail  {
  width:72%;
  margin-left:auto;
  overflow:hidden;
}

.story-detail img  {
  width:100%;
  height:auto;
  aspect-ratio:.87;
  object-fit:cover;
}

.story-copy  {
  margin-top:42px;
  padding-left:15px;
}

.story-copy p  {
  font-size:13px;
  line-height:2.1;
  color:#686e63;
  margin:0 0 20px;
}

.story-copy p:first-child  {
  color:var(--ink);
  font-size:16px;
}

.editorial-link  {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:44px;
  width:fit-content;
  min-width:180px;
  padding:14px 0;
  border-bottom:1px solid #969e90;
  font-size:12px;
  transition:color .2s;
}

.editorial-link span  {
  font-size:21px;
  transition:transform .3s;
}

.editorial-link:hover  {
  color:var(--accent-dark);
}

.editorial-link:hover span  {
  transform:translate(3px,-3px);
}

.landscape-word  {
  white-space:nowrap;
  font:clamp(30px,6.8vw,104px)/1.2 Georgia,serif;
  letter-spacing:-.05em;
  color:#c4c8bb;
  text-align:center;
  margin:95px -10px -35px;
}

.landscape-word span  {
  font-style:italic;
  color:#87917f;
}

.home-scenes  {
  background:#303c3c;
  color:#e8ecdf;
}

.scene-intro  {
  max-width:var(--home-max);
  padding:65px var(--gutter) 45px;
  margin-inline:auto;
}

.home-scenes .chapter-line  {
  color:#c1cbbf;
  border-color:#6c7971;
  margin-bottom:42px;
}

.scene-intro-row  {
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:end;
}

.home-scenes h2  {
  color:#f1f1e7;
  font-size:clamp(30px,3.5vw,50px);
}

.scene-intro-row p  {
  font-size:12px;
  line-height:2;
  color:#c1cbbf;
  margin-bottom:12px;
}

.landscape-stage  {
  position:relative;
}

.landscape-panel  {
  position:relative;
  height:660px;
  overflow:hidden;
}

.landscape-panel::after  {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#152322cc,transparent 65%);
}

.landscape-panel img  {
  width:100%;
  height:100%;
  object-fit:cover;
}

.landscape-panel figcaption  {
  position:absolute;
  bottom:125px;
  left:var(--gutter);
  z-index:1;
}

.landscape-panel figcaption > span  {
  font-size:9px;
  letter-spacing:.18em;
}

.landscape-panel h3  {
  color:white;
  font-size:clamp(30px,3.2vw,46px);
  letter-spacing:-.05em;
  margin:14px 0;
}

.landscape-panel p  {
  font-size:12px;
  color:#eef0e5;
}

.landscape-tabs  {
  display:none;
}

.scenes-ready .landscape-panels  {
  display:grid;
}

.scenes-ready .landscape-panel  {
  grid-area:1/1;
  opacity:0;
  visibility:hidden;
  transition:opacity .8s,visibility .8s;
}

.scenes-ready .landscape-panel.is-current  {
  opacity:1;
  visibility:visible;
}

.scenes-ready .landscape-tabs  {
  position:absolute;
  bottom:0;
  left:var(--gutter);
  right:var(--gutter);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #ffffff66;
  z-index:2;
}

.landscape-tabs button  {
  cursor:pointer;
  border:0;
  border-top:2px solid transparent;
  margin-top:-1px;
  color:#e4e9df;
  background:transparent;
  padding:25px 18px;
  display:flex;
  gap:24px;
  align-items:center;
  font-size:14px;
}

.landscape-tabs button[aria-pressed=true]  {
  border-color:white;
  background:#ffffff0c;
  color:white;
}

.landscape-tabs button span:first-child  {
  font-size:9px;
  opacity:.8;
}

.landscape-tabs button span:last-child  {
  margin-left:auto;
}

.section-heading-row  {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-bottom:55px;
}

.section-heading-row .editorial-link  {
  margin-bottom:10px;
}

.stays-grid  {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:start;
}

.stay-card:nth-child(2)  {
  margin-top:80px;
}

.stay-card:nth-child(3)  {
  margin-top:160px;
}

.stay-card .room-card-img  {
  aspect-ratio:.89;
}

.stay-card .room-card-img img  {
  height:100%;
  width:100%;
  object-fit:cover;
  transition:transform 1s var(--ease-out);
}

.stay-card:hover img  {
  transform:scale(1.055);
}

.stay-card .room-card-body  {
  padding:25px 0 0;
}

.stay-number  {
  display:block;
  color:#777c72;
  font-size:9px;
  letter-spacing:.16em;
  margin-bottom:22px;
}

.stay-card .room-card-name  {
  font-size:30px;
  margin:15px 0;
}

.stay-card .room-card-meta  {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}

.stay-card .room-card-tag  {
  background:transparent;
  padding:0;
  font-size:10px;
  letter-spacing:.04em;
}

.stay-card .room-card-price  {
  color:var(--sea);
  font-size:11px;
}

.stay-card .room-card-desc  {
  font-size:12px;
  line-height:1.95;
  min-height:72px;
}

.stay-card .room-card-cta  {
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid #b5b9aa;
  padding:14px 0;
  font-size:11px;
}

.home-neighborhood  {
  padding-top:30px;
  padding-bottom:110px;
  display:grid;
  grid-template-columns:1.45fr 1fr;
  align-items:center;
  gap:8%;
}

.village-image  {
  display:block;
  position:relative;
  overflow:hidden;
}

.village-image img  {
  width:100%;
  height:auto;
  aspect-ratio:1.3;
  object-fit:cover;
  transition:transform 1s;
}

.village-image:hover img  {
  transform:scale(1.04);
}

.image-link-arrow  {
  position:absolute;
  bottom:24px;
  right:24px;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid #fff9;
  background:#293d3455;
  font-size:28px;
  color:white;
}

.village-copy h2  {
  font-size:clamp(30px,3.3vw,48px);
}

.village-copy p  {
  color:var(--text-dim);
  font-size:12px;
  line-height:2;
  margin:25px 0;
}

.home-guests  {
  background:#eae7df;
  max-width:none;
}

.home-guests .section-heading-row h2  {
  font-size:clamp(30px,3.5vw,48px);
}

.guest-controls  {
  display:flex;
  gap:10px;
}

.guest-controls button  {
  width:48px;
  height:48px;
  border:1px solid #9ea695;
  background:transparent;
  border-radius:50%;
  font-size:20px;
  color:var(--ink);
  cursor:pointer;
}

.guest-controls button:hover  {
  background:#d9ddd0;
}

.guest-controls button:disabled  {
  opacity:.35;
  cursor:default;
}

.guest-track  {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 56px)/3);
  gap:28px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:#a9afa1 transparent;
  padding-bottom:25px;
  overscroll-behavior-x:contain;
}

.guest-note  {
  scroll-snap-align:start;
  padding:28px;
  border-top:1px solid #8c9584;
  background:#f5f3ed;
}

.note-number  {
  font-size:9px;
  letter-spacing:.13em;
  color:#777f70;
}

.guest-note .review-stars  {
  color:#8a6640;
  font-size:10px;
  letter-spacing:3px;
  margin:30px 0 18px;
}

.guest-note .review-text  {
  font-size:12px;
  line-height:2.05;
  color:#555e51;
  font-style:normal;
  max-height:230px;
  overflow-y:auto;
  scrollbar-width:thin;
  padding-right:4px;
}

.guest-note .review-meta  {
  font-size:10px;
  color:#6f7767;
  margin-top:30px;
}

.guest-footnote  {
  font-size:10px;
  color:#6c7465;
  margin-top:22px;
}

.home-booking  {
  position:relative;
  min-height:690px;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  text-align:center;
  color:#f5f3ed;
}

.booking-backdrop,.booking-shade  {
  position:absolute;
  inset:0;
  z-index:-1;
}

.booking-backdrop img  {
  width:100%;
  height:100%;
  object-fit:cover;
}

.booking-shade  {
  background:#192b2bb3;
}

.booking-copy  {
  padding:80px 24px;
}

.booking-copy .editorial-kicker  {
  color:#d9e1d2;
  font-size:9px;
  letter-spacing:.2em;
}

.booking-copy h2  {
  color:#f5f3ed;
  font-size:clamp(34px,4.4vw,63px);
}

.booking-copy p  {
  font-size:12px;
  color:#d9e1d2;
  margin:28px 0;
}

.booking-circle  {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  padding:22px 34px;
  border:1px solid #d7e0cd;
  margin:35px auto 20px;
  width:fit-content;
  border-radius:100%;
  font-size:12px;
  transition:background .3s,color .3s;
}

.booking-circle span  {
  font-size:27px;
}

.booking-circle:hover  {
  background:#f5f3ed;
  color:#303c3c;
}

.naver-booking  {
  font-size:10px;
  border-bottom:1px solid #d5dfc688;
  padding-bottom:5px;
}

.motion-toggle  {
  position:fixed;
  bottom:20px;
  right:22px;
  z-index:950;
  padding:9px 14px;
  border:1px solid #afb8a2;
  border-radius:30px;
  background:#f5f3edef;
  color:#364034;
  font-size:10px;
  cursor:pointer;
  backdrop-filter:blur(10px);
}

.motion-ready [data-reveal]  {
  opacity:0;
  transform:translateY(35px);
  transition:opacity 1s ease,transform 1.2s var(--ease-out);
}

.motion-ready [data-reveal].is-visible  {
  opacity:1;
  transform:none;
}

.motion-ready .home-hero-copy > *  {
  animation:home-arrive 1.2s var(--ease-out) both;
}

.motion-ready .home-hero-copy h1  {
  animation-delay:.12s;
}

.motion-ready .home-hero-description  {
  animation-delay:.23s;
}

.motion-ready .round-link  {
  animation-delay:.35s;
}

.motion-paused [data-reveal]  {
  opacity:1;
  transform:none;
  transition:none;
}

.motion-paused *, .motion-paused *::after,.motion-paused *::before  {
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}

@keyframes home-arrive  {
  from  {
    opacity:0;
    transform:translateY(25px);
  }

  to  {
    opacity:1;
    transform:none;
  }

}

@keyframes photo-drift  {
  from  {
    transform:scale(1.08);
  }

  to  {
    transform:scale(1);
  }

}

@media (min-width:1700px)  {
  .home-hero-copy  {
    left:6%;
  }

}

@media (max-width:1050px)  {
  .hero-caption  {
    display:none;
  }

  .home-hero  {
    min-height:610px;
  }

  .home-hero-copy  {
    top:23%;
  }

  .story-composition  {
    gap:45px;
  }

  .stays-grid  {
    gap:20px;
  }

  .stay-card .room-card-meta  {
    display:block;
  }

  .stay-card .room-card-price  {
    display:block;
    margin-top:8px;
  }

  .guest-track  {
    grid-auto-columns:calc((100% - 28px)/2);
  }

}

@media (max-width:768px)  {
  .home-page main  {
    padding-top:72px;
  }

  .home-section  {
    padding:65px var(--gutter);
  }

  .home-hero  {
    margin:0 10px;
    height:calc(100svh - 145px);
    min-height:595px;
    max-height:850px;
  }

  .hero-photo  {
    inset:0;
  }

  .hero-photo img  {
    object-position:60% center;
  }

  .hero-shade  {
    background:linear-gradient(90deg,#1e292dc9,transparent),linear-gradient(0deg,#18272ed9,transparent 65%);
  }

  .hero-topline  {
    top:24px;
    left:24px;
    right:24px;
    font-size:8px;
  }

  .hero-topline > span:last-child  {
    display:none;
  }

  .home-hero-copy  {
    top:22%;
    left:26px;
    right:20px;
  }

  .home-hero h1  {
    font-size:clamp(35px,6.8vw,53px);
  }

  .hero-eyebrow  {
    font-size:10px;
    margin-bottom:16px;
  }

  .home-hero-description  {
    font-size:12px;
    margin-top:22px;
  }

  .round-link  {
    margin-top:20px;
  }

  .hero-bottomline  {
    left:24px;
    right:24px;
    min-height:70px;
  }

  .scroll-cue  {
    font-size:0;
    gap:0;
  }

  .scroll-cue span  {
    font-size:26px;
  }

  .scene-controls  {
    gap:3px;
  }

  .scene-rule  {
    width:22px;
  }

  .chapter-line  {
    font-size:8px;
    margin-bottom:42px;
    padding-bottom:16px;
    letter-spacing:.08em;
  }

  .chapter-line span:last-child  {
    font-size:9px;
  }

  .story-heading  {
    margin:15px 0 35px;
  }

  .story-heading h2  {
    font-size:clamp(25px,5.8vw,43px);
  }

  .story-composition  {
    grid-template-columns:1fr;
    gap:28px;
  }

  .story-landscape  {
    margin-top:0;
    padding-right:30px;
  }

  .story-landscape img  {
    aspect-ratio:1.2;
  }

  .story-side  {
    display:grid;
    grid-template-columns:.7fr 1fr;
    gap:25px;
    align-items:start;
  }

  .story-detail  {
    width:100%;
    margin:30px 0 0;
  }

  .story-detail img  {
    aspect-ratio:.65;
  }

  .story-copy  {
    padding:0;
    margin-top:0;
  }

  .story-copy p  {
    font-size:11px;
    margin-bottom:13px;
  }

  .story-copy p:first-child  {
    font-size:12px;
  }

  .story-copy .editorial-link  {
    min-width:0;
    width:100%;
    font-size:10px;
    gap:10px;
  }

  .landscape-word  {
    font-size:clamp(24px,5.7vw,42px);
    margin:45px -8px -10px;
  }

  .scene-intro  {
    padding:45px var(--gutter) 32px;
  }

  .scene-intro-row  {
    display:block;
  }

  .scene-intro-row p  {
    margin:20px 0 0;
    font-size:11px;
  }

  .landscape-panel  {
    height:520px;
  }

  .landscape-panel img  {
    object-position:60% center;
  }

  .landscape-panel figcaption  {
    bottom:110px;
    right:24px;
  }

  .landscape-panel p  {
    font-size:11px;
  }

  .landscape-tabs button  {
    padding:20px 5px;
    gap:10px;
    font-size:12px;
  }

  .landscape-tabs button span:last-child  {
    display:none;
  }

  .section-heading-row  {
    gap:24px;
    margin-bottom:32px;
    flex-wrap:wrap;
  }

  .section-heading-row .editorial-link  {
    font-size:11px;
    min-width:170px;
  }

  .stays-grid  {
    grid-template-columns:1fr;
    gap:42px;
  }

  .stay-card:nth-child(n)  {
    margin-top:0;
  }

  .stay-card .room-card-link  {
    display:grid;
    grid-template-columns:1fr;
  }

  .stay-card .room-card-img  {
    aspect-ratio:1.14;
  }

  .stay-card .room-card-body  {
    padding-top:18px;
  }

  .stay-number  {
    margin-bottom:14px;
  }

  .stay-card .room-card-meta  {
    display:flex;
  }

  .stay-card .room-card-price  {
    margin:0;
  }

  .stay-card .room-card-desc  {
    min-height:0;
  }

  .stay-card .room-card-name  {
    margin:12px 0;
  }

  .home-neighborhood  {
    display:block;
    padding-top:0;
  }

  .village-copy  {
    margin-top:30px;
  }

  .village-copy h2  {
    font-size:33px;
  }

  .guest-track  {
    grid-auto-columns:85%;
    gap:18px;
  }

  .guest-note  {
    padding:25px;
  }

  .home-guests .section-heading-row  {
    flex-wrap:nowrap;
    align-items:end;
  }

  .home-guests .section-heading-row h2  {
    font-size:29px;
  }

  .guest-controls  {
    gap:6px;
  }

  .guest-controls button  {
    width:36px;
    height:36px;
    font-size:16px;
  }

  .home-booking  {
    min-height:610px;
  }

  .motion-toggle  {
    bottom:calc(78px + env(safe-area-inset-bottom));
    right:15px;
    padding:7px 11px;
  }

  .home-page .mobile-cta-bar  {
    display:block;
  }

}

@media (max-width:370px)  {
  .home-hero h1  {
    font-size:32px;
  }

  .home-guests .section-heading-row  {
    flex-wrap:wrap;
  }

  .chapter-line span:last-child  {
    letter-spacing:0;
  }

  .story-side  {
    gap:18px;
  }

  .story-copy p  {
    word-break:normal;
  }

}

@media (prefers-reduced-motion:reduce)  {
  .motion-ready [data-reveal]  {
    opacity:1;
    transform:none;
  }

  .hero-photo img  {
    transform:none;
  }

}

#our-story, #stays  {
  scroll-margin-top:88px;
}

.motion-paused  {
  scroll-behavior:auto;
}

.home-page .hero-pause:disabled  {
  opacity:.55;
  cursor:default;
}

@media (max-width:768px)  {
  #our-story, #stays  {
    scroll-margin-top:72px;
  }

}

.scene-controls, .guest-controls  {
  visibility:hidden;
}

.home-enhanced .scene-controls, .home-enhanced .guest-controls  {
  visibility:visible;
}

.home-story  {
  overflow:hidden;
}

.reading-progress  {
  position:fixed;
  top:86px;
  left:0;
  width:100%;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  z-index:1002;
  pointer-events:none;
}

.motion-ready figure[data-reveal], .motion-ready .village-image[data-reveal]  {
  clip-path:inset(8% 0 8% 0);
  transition:opacity 1s,transform 1.2s var(--ease-out),clip-path 1.4s var(--ease-out);
}

.motion-ready figure[data-reveal].is-visible, .motion-ready .village-image[data-reveal].is-visible, .motion-paused figure[data-reveal], .motion-paused .village-image[data-reveal]  {
  clip-path:inset(0);
}

.landscape-stage  {
  clip-path:inset(0 var(--scene-inset, 0px));
}

@media (max-width:768px)  {
  .reading-progress  {
    top:70px;
  }

}

@media (prefers-reduced-motion:reduce)  {
  .motion-ready figure[data-reveal], .motion-ready .village-image[data-reveal]  {
    clip-path:none;
  }

}

/* Photo proportions and content geometry — feedback revision. */
.home-page main section, .story-composition > *, .story-side > *, .feature-layout > *, .scene-intro-row > *, .landscape-panel > *, .stays-grid > *, .home-neighborhood > * { min-width:0; }
.home-hero { display:grid; grid-template-rows:auto 1fr auto; padding:30px 44px 0; min-height:660px; max-height:none; }
.hero-topline { position:relative; inset:auto; }
.home-hero-copy { position:relative; inset:auto; align-self:center; margin:32px 0; max-width:570px; }
.home-hero h1 { font-size:clamp(38px,4.8vw,72px); line-height:1.45; }
.hero-bottomline { position:relative; inset:auto; width:100%; min-height:76px; }
.hero-photo img { object-position:center center; }
.hero-shade { background:linear-gradient(90deg,#152026b3,transparent 78%),linear-gradient(0deg,#152026b3,transparent 45%); }
.home-hero-description { margin-top:22px; }
.round-link { margin-top:22px; }
.story-composition { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
.story-landscape img, .story-detail img { height:auto; aspect-ratio:auto; object-fit:contain; }
.story-detail { width:65%; }
.story-copy { padding:0; }
.story-copy .editorial-link { min-width:0; width:100%; max-width:280px; }
.landscape-word { white-space:normal; text-wrap:balance; margin-inline:0; font-size:clamp(29px,6.1vw,92px); }
.scene-intro-row { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); }
.scene-intro-row h2 { font-size:clamp(30px,3.4vw,48px); }
.landscape-panel { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:center; gap:4%; padding:34px var(--gutter) 112px; height:640px; }
.landscape-panel::after { display:none; }
.landscape-panel > img { width:100%; height:100%; max-height:490px; object-fit:contain; object-position:center; }
.landscape-panel figcaption { position:static; padding:0; }
.landscape-panel h3 { font-size:clamp(25px,2.65vw,40px); line-height:1.5; }
.landscape-panel p { font-size:13px; line-height:1.9; }
.section-heading-row > p { font-size:13px; color:var(--text-dim); line-height:2; }
.stays-grid { align-items:stretch; }
.stay-card:nth-child(n) { margin-top:0; }
.stay-card .room-card-img { aspect-ratio:3 / 2; }
.stay-card .room-card-img img { object-fit:contain; }
.stay-card .room-card-link { display:flex; flex-direction:column; }
.stay-card .room-card-body { display:flex; flex:1; flex-direction:column; }
.stay-card .room-card-cta { margin-top:auto; }
.village-image img { height:auto; aspect-ratio:auto; }
.home-neighborhood { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#our-features, #exteriors { scroll-margin-top:110px; }

/* Four reasons to stay, moved from the former introduction page. */
.home-features { padding-top:30px; }
.feature-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:8%; align-items:start; }
.feature-item { border-top:1px solid #b5b9aa; }
.feature-item:last-child { border-bottom:1px solid #b5b9aa; }
.feature-item summary { display:flex; align-items:center; gap:22px; padding:25px 0; cursor:pointer; list-style:none; }
.feature-item summary::-webkit-details-marker { display:none; }
.feature-number { font:10px var(--font-sans); letter-spacing:.1em; color:var(--text-dim); }
.feature-item h3 { font-size:25px; }
.feature-symbol { margin-left:auto; font-size:25px; color:var(--text-dim); transition:transform .45s; }
.feature-item[open] .feature-symbol { transform:rotate(45deg); }
.feature-item[open] h3 { color:var(--sea); }
.feature-body { padding:0 0 27px 40px; }
.feature-body h4 { font-size:22px; line-height:1.65; margin-bottom:16px; letter-spacing:-.04em; }
.feature-body p { font-size:13px; line-height:2; color:var(--text-dim); }
.feature-inline-photo { margin-top:25px; }
.feature-inline-photo img { width:100%; height:auto; }
.feature-stage { display:none; }
.features-ready .feature-inline-photo { display:none; }
.features-ready .feature-stage { display:grid; position:sticky; top:130px; min-height:500px; }
.feature-stage-photo { grid-area:1/1; opacity:0; visibility:hidden; display:grid; align-items:center; transform:translateY(15px); transition:opacity .65s,transform .85s var(--ease-out),visibility .65s; }
.feature-stage-photo.is-current { opacity:1; visibility:visible; transform:none; }
.feature-stage-photo img { width:100%; height:auto; max-height:560px; object-fit:contain; }
.motion-ready:not(.motion-paused) .feature-item[open] .feature-body { animation:home-arrive .65s var(--ease-out) both; }

/* Every exterior is accessible without cropping the originals. */
.home-exteriors { border-top:1px solid var(--linen); }
.exterior-filter { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:35px; }
.exterior-filter button, .exterior-more, .reviews-pause { cursor:pointer; border:1px solid #a4ad9a; color:var(--ink); background:transparent; padding:12px 20px; font-size:12px; }
.exterior-filter button { border-radius:30px; }
.exterior-filter button span { margin-left:5px; font-size:9px; }
.exterior-filter button[aria-pressed=true] { color:white; background:var(--sea); border-color:var(--sea); }
.exterior-grid { columns:3; column-gap:24px; }
.exterior-item { break-inside:avoid; display:inline-block; vertical-align:top; width:100%; margin:0 0 28px; }
.exterior-item a { display:block; position:relative; overflow:hidden; background:#e7e4dc; }
.exterior-item img { width:100%; height:auto; transition:filter .6s; }
.photo-expand { position:absolute; right:14px; bottom:14px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#f5f3ede6; font-size:19px; transform:translateY(6px); opacity:0; transition:transform .4s,opacity .4s; }
.exterior-item a:hover .photo-expand,.exterior-item a:focus-visible .photo-expand { transform:none; opacity:1; }
.exterior-item a:hover img { filter:brightness(.92); }
.exterior-item figcaption { display:flex; justify-content:space-between; font-size:10px; color:var(--text-dim); padding-top:11px; }
.exterior-more { display:flex; margin:22px auto 0; gap:40px; align-items:center; }
.home-enhanced:not(.motion-paused) .exterior-item:not([hidden]) { animation:home-arrive .65s var(--ease-out) both; }
.exterior-dialog { position:fixed; inset:0; margin:auto; width:min(1140px,94vw); max-width:none; max-height:94dvh; padding:22px; border:1px solid #69756a; background:#243030; color:white; overflow:auto; }
.exterior-dialog::backdrop { background:#071213e8; backdrop-filter:blur(8px); }
.exterior-dialog-top,.exterior-dialog-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; }
.exterior-dialog button { min-height:44px; background:transparent; border:1px solid #8c9c8e; padding:8px 18px; color:white; cursor:pointer; }
.exterior-dialog-image { height:calc(88dvh - 166px); min-height:120px; position:relative; margin:15px 0; display:grid; place-items:center; }
.exterior-dialog-image img { width:100%; height:100%; object-fit:contain; transition:opacity .3s; }
.photo-load-status { position:absolute; inset:auto; font-size:13px; text-align:center; }
.exterior-dialog-controls { padding-top:5px; }

/* The original three upward-flowing review columns, with readable pause states. */
.home-guests .reviews-marquee { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; max-height:none; overflow:visible; mask-image:none; -webkit-mask-image:none; }
.home-guests .reviews-col { display:block; width:auto; max-width:none; min-width:0; }
.home-guests .review-card { border-radius:3px; box-shadow:none; border:1px solid #d2d6c7; padding:25px; margin:0 0 22px; background:var(--ivory); }
.home-guests .review-text { font-size:13px; line-height:1.95; }
.home-guests .review-meta { font-size:11px; }
.home-guests .review-stars { font-size:11px; }
.home-guests .reviews-marquee--play { max-height:660px; overflow:hidden; mask-image:linear-gradient(transparent,#000 5%,#000 95%,transparent); -webkit-mask-image:linear-gradient(transparent,#000 5%,#000 95%,transparent); }
.home-guests .reviews-marquee--play .reviews-col-inner { animation:review-scroll 56s linear infinite; }
.home-guests .reviews-marquee--play .reviews-col:nth-child(2) .reviews-col-inner { animation-duration:48s; }
.home-guests .reviews-marquee--play .reviews-col:nth-child(3) .reviews-col-inner { animation-duration:64s; }
.home-guests .review-set { display:flow-root; }
.home-guests .reviews-marquee:hover .reviews-col-inner { animation-play-state:paused; }
.home-guests .reviews-marquee:focus-within .reviews-col-inner,
.home-guests .reviews-is-paused .reviews-col-inner,
.motion-paused .home-guests .reviews-col-inner { animation:none; transform:none; }
.home-guests .reviews-marquee:focus-within,
.home-guests .reviews-is-paused,
.motion-paused .home-guests .reviews-marquee { overflow:auto; mask-image:none; -webkit-mask-image:none; }
.home-guests .reviews-marquee:focus-within .review-clone,
.home-guests .reviews-is-paused .review-clone,
.motion-paused .review-clone { display:none; }
@media (max-width:1000px) {
  .scene-intro-row { grid-template-columns:1fr; gap:18px; }
  .landscape-panel { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:28px; }
  .stays-grid { grid-template-columns:1fr; gap:36px; }
  .stay-card .room-card-link { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; }
  .stay-card .room-card-body { padding:0; }
  .stay-card .room-card-img { align-self:center; }
  .feature-layout { gap:35px; }
  .features-ready .feature-stage { min-height:400px; }
  .feature-body { padding-left:0; }
  .home-guests .reviews-marquee { gap:14px; }
  .home-guests .review-card { padding:18px; }
}
@media (max-width:767px) {
  .home-hero { height:auto; min-height:calc(100svh - 144px); padding:24px 24px 0; }
  .hero-topline { inset:auto; }
  .home-hero-copy { inset:auto; margin:70px 0 50px; }
  .home-hero h1 { font-size:clamp(34px,7vw,50px); }
  .hero-bottomline { inset:auto; min-height:70px; }
  .hero-photo img { object-position:57% center; }
  .story-composition { grid-template-columns:1fr; }
  .story-landscape { padding:0; }
  .story-side { grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:24px; }
  .story-detail { width:100%; margin:0; }
  .story-copy p { font-size:12px; }
  .story-copy p:first-child { font-size:14px; }
  .landscape-word { font-size:clamp(28px,6vw,44px); line-height:1.35; }
  .section-heading-row { display:grid; grid-template-columns:1fr; gap:20px; }
  .section-heading-row > p { font-size:12px; }
  .feature-layout { display:block; }
  .features-ready .feature-stage { display:none; }
  .features-ready .feature-inline-photo { display:block; }
  .feature-item summary { padding:22px 0; }
  .feature-body { padding:0 0 25px; }
  .feature-body h4 { font-size:22px; }
  .feature-inline-photo img { max-height:420px; object-fit:contain; }
  .landscape-panel { display:grid; grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) auto; gap:22px; height:650px; padding:28px var(--gutter) 105px; }
  .landscape-panel > img { height:100%; max-height:360px; object-fit:contain; }
  .landscape-panel figcaption { position:static; }
  .landscape-panel h3 { font-size:27px; margin:10px 0; }
  .landscape-panel p { font-size:12px; }
  .landscape-tabs button { min-height:66px; }
  .stay-card .room-card-link { display:flex; gap:0; }
  .stay-card .room-card-img { width:100%; }
  .stay-card .room-card-body { padding-top:20px; }
  .exterior-grid { columns:2; column-gap:16px; }
  .exterior-item { margin-bottom:20px; }
  .exterior-filter { gap:8px; }
  .exterior-filter button { padding:10px 12px; font-size:11px; }
  .photo-expand { opacity:1; transform:none; width:32px; height:32px; right:10px; bottom:10px; }
  .exterior-item figcaption { font-size:9px; gap:5px; }
  .exterior-dialog { padding:14px; }
  .exterior-dialog-top { font-size:11px; }
  .home-neighborhood { display:block; }
  .home-guests .section-heading-row { display:flex; flex-wrap:wrap; }
  .home-guests .reviews-marquee { grid-template-columns:1fr; gap:0; }
  .home-guests .reviews-marquee--play { max-height:620px; }
  .home-guests .reviews-marquee--play .reviews-col-inner { animation-duration:135s; }
  .home-guests .review-card { padding:25px; }
  #our-features, #exteriors { scroll-margin-top:88px; }
}
@media (max-width:420px) { .exterior-grid { columns:1; } .story-side { grid-template-columns:1fr; } .story-detail { width:54%; margin-left:auto; } .story-copy { margin-top:0; } }
@media (prefers-reduced-motion:reduce) {
  .home-guests .reviews-marquee { overflow:auto; mask-image:none; -webkit-mask-image:none; }
  .home-guests .reviews-col-inner { animation:none; transform:none; }
  .review-clone { display:none; }
}

/* Scroll-led photo composition: all stories are open and visible. */
.story-composition { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(30px,5vw,72px); }
.story-detail { width:70%; margin-left:0; margin-right:auto; }
.story-copy { max-width:350px; }
.motion-ready [data-reveal="right"] { transform:translateX(70px); }
.motion-ready [data-reveal="left"] { transform:translateX(-50px); }
.motion-ready [data-reveal].is-visible { transform:none; }
.home-moments { background:#303c3c; color:#f4f1e8; padding:75px var(--gutter) 100px; overflow:clip; }
.moments-inner { max-width:1400px; margin:auto; }
.home-moments .chapter-line { color:#c1c8bd; border-color:#ffffff30; }
.moments-heading { position:relative; margin:30px 0 75px; }
.moments-heading h2 { color:#f4f1e8; font-size:clamp(33px,4.2vw,60px); line-height:1.55; letter-spacing:-.045em; }
.home-moments .editorial-kicker { color:#b5c4b9; }
.moments-heading > p { font-size:12px; line-height:2; color:#bdc7bd; margin-top:26px; margin-left:51%; }
.moments-composition { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:75px 28px; align-items:start; }
.moment { min-width:0; }
.moment-books { grid-column:1/8; }
.moment-sea { grid-column:9/13; margin-top:190px; }
.moment-stone { grid-column:2/6; margin-top:10px; }
.moment-sky { grid-column:7/13; margin-top:130px; }
.moment-photo { position:relative; margin:0; }
.moment-photo img { display:block; width:100%; height:auto; }
.moment-photo figcaption { position:absolute; bottom:18px; left:20px; padding:7px 12px; background:#223333bd; color:#f3f1e8; font-size:10px; letter-spacing:.12em; backdrop-filter:blur(8px); }
.moment-copy { position:relative; max-width:420px; padding:26px 0 0; }
.moment-label { color:#b7c4b5; font-size:9px; letter-spacing:.14em; }
.moment-copy h3,.moment-evening h3 { font-size:clamp(24px,2.5vw,38px); line-height:1.55; margin:17px 0 14px; letter-spacing:-.04em; color:#f5f1e6; }
.moment-copy p,.moment-evening p { font-size:12px; line-height:2; color:#c0c9bd; }
.moment-books .moment-copy { margin-left:13%; }
.moment-sky .moment-copy { margin-left:13%; }
.moment-evening { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.1fr); gap:6%; align-items:center; margin:115px 0 0 5%; }
.moment-evening img { width:100%; height:auto; grid-column:2; grid-row:1; }
.moment-evening figcaption { grid-column:1; grid-row:1; }
/* Dots are quiet, generous hit areas; all eight photos can also be selected. */
.scene-controls { gap:1px; }
.scene-dot { min-width:27px; width:27px; min-height:44px; display:grid; place-items:center; padding:0; }
.scene-dot::after { display:none; }
.scene-dot > span { display:block; width:5px; height:5px; border:1px solid #fff9; border-radius:50%; background:transparent; transition:transform .4s,background .4s; }
.scene-dot.is-current > span { background:#f8f5ec; border-color:#f8f5ec; transform:scale(1.4); box-shadow:0 0 0 5px #ffffff18; }
.scene-dot:hover > span { transform:scale(1.5); }
.hero-caption { font-size:10px; }
/* Free-standing room photographs, staggered inside a deliberate grid. */
.stays-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.88fr) minmax(0,1fr); gap:clamp(25px,4vw,62px); align-items:start; }
.stay-card:nth-child(2) { margin-top:180px; }
.stay-card:nth-child(3) { margin-top:65px; }
.stay-card .room-card-link { display:block; }
.stay-card .room-card-img { aspect-ratio:auto; }
.stay-card .room-card-img img { display:block; height:auto; width:100%; aspect-ratio:auto; object-fit:contain; }
.stay-card .room-card-body { padding:25px 0 0; display:block; }
.stay-card .room-card-meta { display:flex; flex-wrap:wrap; gap:8px 12px; }
.stay-card .room-card-desc { margin-bottom:24px; }
.stay-card .room-card-cta { margin-top:22px; }
/* Twenty original compositions flow past without a filter or a more button. */
.home-exteriors { padding-left:0; padding-right:0; overflow:clip; }
.home-exteriors > .chapter-line,.home-exteriors > .section-heading-row { margin-left:var(--gutter); margin-right:var(--gutter); }
.exterior-flow { display:grid; gap:30px; }
.exterior-lane { overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; }
.exterior-track { display:flex; width:max-content; }
.exterior-set { display:flex; flex:none; align-items:center; gap:24px; padding-right:24px; }
.exterior-item { display:block; flex:none; width:auto; margin:0; animation:none !important; }
.exterior-item a { height:clamp(200px,23vw,340px); width:auto; aspect-ratio:var(--photo-ratio); }
.exterior-item img { display:block; width:100%; height:100%; object-fit:contain; }
.exterior-item:nth-child(even) { padding-top:36px; }
.exterior-item figcaption { padding:13px 5px 0; }
.flow-ready .exterior-lane { overflow-x:hidden; }
.flow-ready .exterior-track { animation:exterior-flow 110s linear infinite; }
.flow-ready .exterior-lane:nth-child(2) .exterior-track { animation-direction:reverse; animation-duration:125s; }
.exterior-lane:hover .exterior-track { animation-play-state:paused; }
.exterior-lane:focus-visible, .exterior-lane:has(a:focus-visible) { overflow-x:auto; }
.exterior-lane:focus-visible .exterior-track, .exterior-lane:has(a:focus-visible) .exterior-track { animation:none; transform:none; }
.exterior-lane:focus-visible .exterior-clone, .exterior-lane:has(a:focus-visible) .exterior-clone { display:none; }
.exterior-dialog[open] ~ * { pointer-events:none; }
@keyframes exterior-flow { to { transform:translateX(-50%); } }
/* Two genuine circles, Naver first. */
.booking-actions { display:flex; justify-content:center; gap:32px; margin-top:42px; }
.booking-actions .booking-circle { position:relative; flex:none; width:190px; height:190px; border-radius:50%; margin:0; padding:22px; flex-direction:column; gap:16px; border:0; }
.booking-circle::before,.booking-circle::after { content:''; position:absolute; inset:0; border:1px solid #e6e9db7a; border-radius:50%; pointer-events:none; transition:transform .7s,border-color .7s; }
.booking-circle::after { border:1px solid transparent; border-top-color:#eef1dc; border-right-color:#eef1dc66; animation:booking-orbit 10s linear infinite; }
.booking-circle-primary { background:#f1f2e315; }
.booking-circle-primary::before { border-color:#e6e9db; }
.booking-actions .booking-action-label { display:block; font-size:15px; }
.booking-action-label small { display:block; font:8px var(--font-sans); letter-spacing:.12em; margin-bottom:11px; opacity:.7; }
.booking-actions .booking-action-arrow { display:block; font-size:32px; line-height:1; animation:booking-arrow 3s ease-in-out infinite; }
.booking-circle:nth-child(2) .booking-action-arrow { animation-delay:.6s; }
.booking-circle:hover::before,.booking-circle:focus-visible::before { transform:scale(1.07); }
.booking-circle:hover::after { border-top-color:#8b9b7e; }
@keyframes booking-orbit { to { transform:rotate(360deg); } }
@keyframes booking-arrow { 0%,65%,100% { transform:translate(0,0); } 35% { transform:translate(5px,-5px); } }
@media(max-width:1100px) {
  .moments-composition { gap:60px 24px; }
  .moment-books { grid-column:1/8; }
  .moment-sea { grid-column:9/13; margin-top:140px; }
  .moment-stone { grid-column:1/6; }
  .moment-sky { margin-top:100px; }
  .stays-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:55px; }
  .stay-card:nth-child(2) { margin-top:150px; }
  .stay-card:nth-child(3) { grid-column:1/3; width:62%; margin:20px auto 0; }
  .stay-card:nth-child(3) .room-card-link { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:30px; align-items:center; }
  .stay-card:nth-child(3) .room-card-body { padding:0; }
  .hero-caption { display:none; }
}
@media(max-width:767px) {
  .story-composition { grid-template-columns:1fr; gap:35px; }
  .story-side { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); align-items:center; gap:22px; }
  .story-detail { width:100%; margin:0; }
  .story-copy { margin:0; }
  .motion-ready [data-reveal="right"] { transform:translateX(30px); }
  .motion-ready [data-reveal="left"] { transform:translateX(-25px); }
  .motion-ready [data-reveal].is-visible { transform:none; }
  .home-moments { padding-top:55px; padding-bottom:60px; }
  .moments-heading { margin-bottom:45px; }
  .moments-heading > p { margin-left:20%; }
  .moments-composition { grid-template-columns:repeat(6,minmax(0,1fr)); gap:55px 0; }
  .moment-books { grid-column:1/7; }
  .moment-sea { grid-column:2/7; margin-top:0; }
  .moment-stone { grid-column:1/6; margin-top:0; }
  .moment-sky { grid-column:2/7; margin-top:0; }
  .moment-copy { padding-top:20px; }
  .moment-books .moment-copy,.moment-sky .moment-copy { margin-left:0; }
  .moment-copy h3 { font-size:26px; }
  .moment-evening { margin:65px 0 0; display:flex; flex-direction:column; align-items:stretch; gap:25px; }
  .moment-evening figcaption { padding-left:16%; }
  .stays-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:55px 0; }
  .stay-card:nth-child(1) { grid-column:1/6; margin:0; }
  .stay-card:nth-child(2) { grid-column:2/7; margin:0; }
  .stay-card:nth-child(3) { grid-column:1/7; width:100%; margin:0; }
  .stay-card:nth-child(3) .room-card-link { display:block; }
  .stay-card:nth-child(3) .room-card-body { padding-top:25px; }
  .exterior-flow { gap:22px; }
  .exterior-set { gap:15px; padding-right:15px; }
  .exterior-item a { height:200px; }
  .exterior-item:nth-child(even) { padding-top:24px; }
  .booking-actions { gap:18px; }
  .booking-actions .booking-circle { width:145px; height:145px; padding:16px; gap:14px; }
  .booking-actions .booking-action-label { font-size:13px; }
  .booking-action-label small { font-size:7px; }
}
@media(max-width:420px) {
  .story-side { grid-template-columns:1fr; }
  .story-detail { width:67%; margin-left:8%; }
  .story-copy { margin-top:12px; }
  .booking-actions { gap:14px; }
  .booking-actions .booking-circle { width:129px; height:129px; }
  .booking-copy { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .motion-ready [data-reveal] { opacity:1; transform:none; transition:none; }
  .flow-ready .exterior-lane { overflow-x:auto; }
  .flow-ready .exterior-track { animation:none; transform:none; }
  .exterior-clone { display:none; }
  .booking-circle::after,.booking-actions .booking-action-arrow { animation:none; }
}
