html{scroll-behavior:auto}body[data-room]{background:var(--surface-forest-deep);color:var(--cream-100)}.global-header{padding-top:20px;padding-bottom:20px;background:linear-gradient(#101b16aa,transparent)}.suite-detail{display:flex;flex-direction:column}.suite-wrap{width:100%;max-width:1440px;margin:auto;padding:76px clamp(22px,5vw,72px)}.suite-hero{position:relative;isolation:isolate;height:78svh;max-height:820px;min-height:520px;overflow:hidden}.suite-hero>img,.suite-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.suite-hero>img{object-fit:cover;object-position:60% 57%}.suite-shade{background:linear-gradient(90deg,#081811a6,transparent 82%),linear-gradient(0deg,#081811b0,transparent 65%)}.suite-hero-copy{position:absolute;left:clamp(22px,5vw,72px);right:22px;bottom:52px;max-width:680px}.suite-return{display:inline-flex;align-items:center;min-height:44px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.suite-hero h1{font-size:var(--text-hero);line-height:1.04;margin:16px 0}.suite-hero-copy>p{font-size:18px;max-width:43ch;line-height:1.65}.suite-actions{display:flex;gap:36px;align-items:center;padding:26px clamp(22px,5vw,72px);border-bottom:1px solid #f4efdf22}.support-link{font-size:14px;text-decoration:underline;text-underline-offset:7px;min-height:44px;display:inline-flex;align-items:center}.quick-features{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;padding:23px clamp(22px,5vw,72px);font-size:12px;letter-spacing:.04em;color:var(--cream-100);border-bottom:1px solid #f4efdf22}.suite-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.suite-section-heading h2{font-size:clamp(36px,4vw,58px)}.suite-detail .eyebrow{color:var(--gold-400);margin-bottom:18px}.gallery-counter{font-size:11px;letter-spacing:.18em;white-space:nowrap}.gallery-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:start}.gallery-layout figure{min-width:0}.gallery-stage{position:relative;display:block;width:100%;padding:0;border:0;background:#0a1810;color:#fff;overflow:hidden;aspect-ratio:16/10}.gallery-stage img{width:100%;height:100%;object-fit:cover}.expand-label{position:absolute;right:22px;bottom:22px;padding:8px 12px;background:#0b1e15bf;font-size:11px;letter-spacing:.12em}.gallery-layout figcaption{font-size:13px;padding-top:14px;color:#ebe7dbcc;min-height:38px}.gallery-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px;min-width:0;padding:3px}.gallery-thumb{position:relative;display:block;width:100%;min-width:0;padding:0;border:1px solid transparent;background:#0a1810;opacity:.8;aspect-ratio:4/3;overflow:hidden}.gallery-thumb[aria-pressed=true]{opacity:1;border-color:var(--gold-400);outline:1px solid var(--gold-400);outline-offset:2px}.gallery-thumb img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.fact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;border-top:1px solid #f4efdf33;padding-top:38px}.measurements{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:0}.measurements dt{font-size:12px;text-transform:uppercase;letter-spacing:.14em}.measurements dd{font-family:var(--font-serif);font-size:76px;line-height:1.3;margin:8px 0 0}.measurements dd span{font-family:var(--font-sans);font-size:18px}.verified-features{padding-left:20px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;font-size:15px;align-content:start}.suite-editorial{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;align-items:center;padding-top:24px}.editorial-photo img{width:100%;height:470px;object-fit:cover}.editorial-copy h2{font-size:clamp(44px,4.5vw,64px);margin-bottom:24px}.editorial-copy>p:last-child{font-size:17px;max-width:37ch}.suite-story,.special-moments,.prestay{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw}.suite-story{border-top:1px solid #f4efdf22}.story-text>p{font-size:18px;max-width:60ch}.story-differences{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.story-differences h3{font-size:26px;margin-bottom:8px}.story-differences p{font-size:14px;line-height:1.7}.special-moments{max-width:none;padding-inline:max(5vw,calc((100vw - 1296px)/2));background:var(--surface-forest)}.special-moments p+p{margin-top:16px}.special-moments .text-link{margin-top:26px;text-transform:none;font-size:15px;letter-spacing:.025em}.prestay{color:var(--ink-900);background:var(--cream-100);max-width:none;padding-inline:max(5vw,calc((100vw - 1296px)/2))}.prestay .eyebrow{color:var(--gold-on-light)}.prestay h2{margin-bottom:26px}.prestay>div>p:last-child{font-size:15px}.guest-room-conditions h2{font-family:var(--font-serif);font-size:26px;line-height:1.2;margin-bottom:18px}.guest-conditions{font-size:15px;margin:0}.guest-conditions>div{padding:20px 0;border-top:1px solid var(--border-hair)}.guest-conditions dt{font-weight:500;margin-bottom:12px}.guest-conditions dd{margin:0}.guest-policy-list{padding-left:20px;margin:0}.guest-policy-list li+li{margin-top:12px}.suite-final{text-align:center;padding-block:74px}.suite-final h2{font-size:clamp(40px,4.5vw,64px);margin-bottom:34px}.other-suites{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--cream-50);color:var(--ink-900);max-width:none;padding:48px max(5vw,calc((100vw - 1296px)/2))}.other-suites h2{font-size:clamp(32px,3vw,42px);line-height:1.2;margin:0}.other-suites .button{flex-shrink:0}.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;position:fixed;inset:0;margin:0;padding:68px 70px 55px;border:0;background:#08120ff7;color:#fff;overflow:hidden}.lightbox::backdrop{background:#08120f}.lightbox figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.lightbox img{width:100%;height:calc(100% - 38px);object-fit:contain;touch-action:pan-y}.lightbox figcaption{font-size:14px;text-align:center}.lightbox button{position:absolute;z-index:2;background:#10231ba6;color:#fff;border:1px solid #ffffff55;min-width:44px;min-height:44px}.lb-close{top:14px;right:18px;padding:7px 16px}.lb-prev{left:15px;top:50%;font-size:24px}.lb-next{right:15px;top:50%;font-size:24px}.lb-counter{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.12em}.suite-return:focus-visible{outline-color:var(--gold-400)}@media(prefers-reduced-motion:no-preference){.suite-hero-copy{animation:suite-arrive 250ms ease-out both}@keyframes suite-arrive{from{opacity:0;transform:scale(.995)}to{opacity:1;transform:none}}}@media(max-width:900px){.gallery-layout{display:block}.gallery-thumbs{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:5px 3px 10px;margin-top:14px;scrollbar-width:thin;scrollbar-color:#bea56855 transparent}.gallery-thumb{flex:0 0 110px;height:82.5px}.story-differences{grid-template-columns:1fr}.suite-wrap{padding-block:60px}.editorial-photo img{height:400px}.prestay{grid-template-columns:1fr 1.4fr;gap:35px}}@media(max-width:700px){.suite-wrap{padding:48px 22px}.suite-hero{height:64svh;min-height:360px;max-height:620px}.suite-hero>img{object-position:61% 60%}.suite-hero-copy{left:22px;bottom:26px}.suite-hero h1{font-size:46px;max-width:12ch;margin:7px 0 10px}.suite-hero-copy>p{font-size:15px;line-height:1.55;max-width:32ch}.suite-hero .suite-return{font-size:10px;min-height:36px}.suite-actions{flex-wrap:wrap;justify-content:center;gap:5px;padding:17px 22px}.suite-actions .button{width:100%}.suite-actions .support-link{font-size:13px;min-height:36px}.quick-features{display:none}.suite-section-heading{display:block;margin-bottom:24px}.gallery-counter{display:block;margin-top:18px}.gallery-layout{display:block}.gallery-stage{aspect-ratio:4/3}.gallery-thumbs{display:flex;gap:10px;max-height:none;overflow-x:auto;padding:5px 3px 8px;margin-top:12px}.gallery-thumb{flex:0 0 88px;height:66px;min-width:0}.gallery-layout figcaption{font-size:12px}.expand-label{right:12px;bottom:12px;font-size:10px}.fact-layout{display:block;padding-top:24px}.measurements{gap:15px}.measurements dd{font-size:58px}.measurements dt{font-size:10px}.verified-features{margin-top:28px;font-size:14px;grid-template-columns:1fr}.suite-editorial{grid-template-columns:1fr;gap:30px;padding-top:0}.editorial-photo img{height:auto;aspect-ratio:4/3}.editorial-copy h2{font-size:44px}.editorial-copy>p:last-child{font-size:16px}.suite-story,.special-moments,.prestay{grid-template-columns:1fr;gap:26px}.story-text>p{font-size:16px}.story-differences{gap:22px}.special-moments .text-link{gap:14px;font-size:14px;letter-spacing:0}.prestay h2{font-size:38px}.guest-room-conditions h2{font-size:24px}.guest-conditions{font-size:14px}.suite-final .reservation-actions{gap:10px}.suite-final .support-link{font-size:13px}.lightbox{padding:64px 12px 70px}.lightbox img{height:calc(100% - 45px)}.lightbox figcaption{font-size:12px}.lb-prev,.lb-next{top:auto;bottom:10px}.lb-counter{bottom:22px}.suite-section-heading h2{font-size:38px}}@media(max-width:360px){.suite-hero{min-height:330px;height:61svh}.suite-hero h1{font-size:41px}.suite-hero-copy>p{font-size:14px}.suite-actions{padding-block:12px}.suite-actions .button{font-size:11px;letter-spacing:.08em;min-height:46px}.suite-hero-copy{bottom:22px}.global-header .header-booking{font-size:10px}.suite-wrap{padding-inline:20px}.special-moments .text-link{font-size:12.5px}.measurements dd{font-size:54px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Optional owner-approved editorial media and expanded feature row. Shared template slots. */
.editorial-photo--portrait{width:100%;max-width:360px;margin-inline:auto}
.editorial-photo--portrait img{height:auto;aspect-ratio:4/5;object-position:50% 78%}
.story-photo{margin:30px 0 0;max-width:520px}
.story-photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 68%}
@media(max-width:700px){
  .quick-features--expanded{display:flex;justify-content:flex-start;gap:10px 20px;padding:17px 22px;font-size:11px;line-height:1.6}
  .quick-features--expanded span{max-width:100%}
  .quick-features--expanded span:last-child{width:100%;color:#ebe7dbcc}
  .story-photo{margin-top:24px;max-width:none}
}

.story-photo--landscape{max-width:none}
.story-photo--landscape img{aspect-ratio:auto;object-position:50% 50%}

.moments-photo{width:160px;max-width:100%;margin:24px 0 0}
.moments-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 68%}
@media(max-width:700px){.moments-photo{width:112px;margin-top:18px}}

/* Narrative sections share one hierarchy; existing Lov’Inn font families retained. */
.suite-story h2,.special-moments h2{font-size:clamp(2.25rem,3.6vw,3.25rem);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:var(--tracking-display);text-wrap:balance}
.story-text>p,.special-moments>div:last-child>p{font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);max-width:58ch}
@media(max-width:700px){.story-text>p,.special-moments>div:last-child>p{font-size:1rem;line-height:1.65}}

/* Bounded portrait editorial; gallery selections never share compressed rows. */
@media(max-width:700px){.editorial-photo--portrait{max-width:240px}}

/* Compact collection return after the room detail; no recommendation cards. */
@media(max-width:700px){.other-suites{flex-direction:column;text-align:center;gap:22px;padding:36px 22px}.other-suites h2{font-size:32px}.other-suites .button{max-width:100%;font-size:11px;letter-spacing:.12em}}

/* Illustrated stories: desktop copy below its title, photograph beside it.
   The mobile reading order stays heading, story, photograph. */
@media(min-width:701px){
  .suite-story:has(.story-photo){grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);grid-template-rows:auto 1fr;column-gap:clamp(36px,6vw,86px);row-gap:24px}
  .suite-story:has(.story-photo) .story-text{display:contents}
  .suite-story:has(.story-photo) .story-text>p{grid-column:1;grid-row:2;margin:0;max-width:44ch;align-self:start}
  .suite-story:has(.story-photo) .story-photo{grid-column:2;grid-row:1 / span 2;margin:0;align-self:start}
  .suite-story:has(.story-photo) .story-differences{grid-column:1;grid-row:3}
}

/* Shared closing copy; the collection CTA intentionally starts at the top. */
.other-suites p{font-size:15px;line-height:1.6;margin:12px 0 0;max-width:44ch}

/* Optional room-context note below the existing features column. */
.suite-facts-note{margin:24px 0 0;font-size:15px;line-height:1.65;max-width:52ch}
