@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/manrope-400.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/manrope-500.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/manrope-600.ttf') format('truetype')}
@font-face{font-family:'Prata';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/prata.ttf') format('truetype')}

/* Shared editorial system */
.archive-layout{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(0,2fr);gap:8vw;max-width:1200px;margin:auto}
.archive-layout aside{align-self:start;position:sticky;top:8rem;display:grid;gap:1rem}
.article-prose{max-width:790px;font-size:1.05rem;line-height:1.85;overflow-wrap:anywhere;min-width:0}
.article-prose p{margin-bottom:1.5rem}
.article-prose a:not(:has(img)){text-decoration:underline;text-underline-offset:5px}
.article-prose h2,.article-prose h3{font-family:var(--serif);line-height:1.4}
.legacy-reading>p:first-child{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.7rem)}
.legacy-reading b,.legacy-reading strong{font-weight:500}
.legacy-reading table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:2rem 0;font-size:.875rem}
.legacy-reading td,.legacy-reading th{padding:1rem;border-bottom:1px solid var(--line);min-width:135px;vertical-align:top}
.archive-media.album-grid{grid-template-columns:1fr;margin:3rem 0}
.archive-media img{aspect-ratio:auto;max-height:1100px;object-fit:contain;background:var(--white)}
.article-next{display:flex;flex-wrap:wrap;gap:1rem 2rem;border-top:1px solid var(--line);padding-top:2rem;margin-top:3rem}
.article-next a{min-height:44px;font-size:.9rem}
.archive-search{max-width:50rem;margin-bottom:3rem}
.archive-search label{display:block;margin-bottom:.75rem}
.archive-search input{width:100%;border:1px solid var(--line);background:transparent;padding:1rem;font:inherit;border-radius:0;color:var(--ink)}
.archive-search p{font-size:.85rem;margin-top:.7rem;color:var(--muted)}
.estate-route{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;border-block:1px solid var(--line);padding:2rem 0;margin-bottom:1.5rem;flex-wrap:wrap}
.estate-route a{display:grid;font-family:var(--serif);font-size:1.2rem;gap:.6rem;min-height:44px}
.estate-route a span{font:400 .8rem var(--sans);color:var(--rose)}
[data-archive-entry][hidden]{display:none!important}
.mega-aside img{width:100%;height:175px;object-fit:cover;margin-bottom:1rem}
.mobile-secondary{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem}
.mobile-secondary a{font-size:.9rem!important;min-height:44px}
@media(max-width:700px){.archive-article{padding-top:2rem}.archive-article aside>.kicker,.archive-article aside>p{display:none}.archive-article .archive-layout{gap:1rem}.archive-article .archive-media{margin-top:1.5rem}}
@media(max-width:700px){.archive-layout{grid-template-columns:1fr;gap:2rem}.archive-layout aside{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.5rem}.archive-layout aside p{margin:0}.article-prose{font-size:1rem}.archive-media{margin:2rem 0}.breadcrumbs{overflow-wrap:anywhere}}
.mobile-panel.open h3 { color:#ddbbb1 }
/* Expanded visitor guide */
.reading { max-width:58rem; margin-inline:auto }
.reading h2 { font:400 clamp(2rem,3.4vw,3.7rem)/1.2 var(--serif); letter-spacing:-.025em; margin:0 0 2rem }
.reading h3 { font:400 1.6rem/1.35 var(--serif); margin:2rem 0 1rem }
.reading li { margin-bottom:.7rem }
.reading p { max-width:48rem }
.reading .text-link { margin-right:1.5rem }
.page-hero.detail-hero { min-height:0; padding-top:clamp(8rem,13vw,12rem); padding-bottom:4rem }
.detail-hero .page-title { font-size:clamp(2.5rem,5.3vw,5.8rem) }
.wide-photo { padding:0 var(--pad); margin-top:3rem }
.wide-photo img { width:100%; max-height:680px; object-fit:cover; aspect-ratio:2/1 }
.source-note { border-top:1px solid var(--line); padding-top:1rem; margin-top:2rem; font-size:.8rem; color:var(--muted) }
.source-note span { display:block; margin-top:.7rem }
.source-note .text-link { font-size:.875rem }
.tariffs { margin:2rem 0; border-top:1px solid var(--line) }
.tariffs>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(8rem,.65fr); gap:2rem; border-bottom:1px solid var(--line); padding:1.2rem 0 }
.tariffs strong { font-weight:500; text-align:right; overflow-wrap:anywhere }
.tariffs .text-link { margin:0; padding:0 }
.room-list { margin-top:4rem }
.room { display:grid; grid-template-columns:1.1fr 1fr; gap:6vw; padding:3rem 0; border-top:1px solid var(--line); align-items:center }
.room>img { width:100%; aspect-ratio:4/3; object-fit:cover }
.room h2 { font:400 clamp(1.9rem,3vw,3rem)/1.2 var(--serif) }
.room-price { display:block; font:400 2rem/1.4 var(--serif) }
.guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem }
.guide-card { border-top:1px solid var(--line); padding-top:1.5rem }
.guide-card img { width:100%; aspect-ratio:4/3; object-fit:cover; margin-bottom:2rem }
.guide-card h3 { font:400 clamp(1.6rem,2.1vw,2.3rem)/1.3 var(--serif); margin:.5rem 0 1.2rem }
.guide-card p { font-size:.95rem }
.booking-strip { border-block:1px solid var(--line); padding:1.2rem 0; margin-top:2rem }
.booking-strip h3 { margin:0 0 .5rem }
.directory-grid,.expanded-footer { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.5rem }
.directory-grid h3,.expanded-footer h3 { font:400 1.5rem/1.4 var(--serif); margin:0 0 1.3rem }
.directory-grid a,.expanded-footer a { display:flex; align-items:center; min-height:44px; font-size:.95rem }
.directory-grid a:hover,.expanded-footer a:hover { text-decoration:underline; text-underline-offset:5px }
.state-signature { display:grid; grid-template-columns:auto 1fr 1fr; gap:2.5rem; padding:3rem 0 0; margin-top:3rem; border-top:1px solid var(--line); align-items:center }
.state-symbols { display:flex; gap:1.5rem; align-items:center }
.state-symbols img { width:66px; height:66px; object-fit:contain }
.state-signature p { margin:.7rem 0 0; color:var(--muted); font-size:.85rem }
.resource-links { display:grid; grid-template-columns:1fr 1fr; gap:.8rem 2rem }
.timeline>div { display:grid; grid-template-columns:6rem 1fr; gap:2rem; border-top:1px solid var(--line); padding:1.2rem 0 }
.timeline strong { font:400 1.6rem/1.4 var(--serif) }
.album-nav { display:flex; flex-wrap:wrap; gap:1rem 2rem; padding:1.5rem var(--pad); border-bottom:1px solid var(--line) }
.album-nav a { min-height:44px; display:flex; align-items:center; border-bottom:1px solid }
.album-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem }
.album-grid figure { margin:0 }
.album-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:opacity .3s }
.album-grid a:hover img { opacity:.8 }
.album-grid figcaption { font-size:.8rem; margin-top:.7rem; color:var(--muted) }
.document-grid img { aspect-ratio:auto; object-fit:contain; background:white }
.video-frame,.map-frame { width:100%; border:0; aspect-ratio:16/9; min-height:320px }
.news-list article { display:grid; grid-template-columns:10rem 1fr; gap:2rem; border-top:1px solid var(--line); padding:2rem 0 }
.news-list h2 { font-size:clamp(1.8rem,3vw,2.7rem) }
.news-list time { font-size:.85rem; color:var(--muted) }
.news-tag { display:inline-block; font-size:.75rem; border:1px solid var(--line); padding:.15rem .6rem; margin-bottom:1rem }
@media(min-width:1200px) { .header .nav { gap:1rem }.header .nav a { font-size:.875rem } }
@media(max-width:1199px) { .mobile-panel.open { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-content:start }.mobile-panel h3 { font:400 1.3rem/1.5 var(--serif); color:var(--rose); margin:0 0 .8rem }.mobile-panel>div>a { display:flex; font:400 .95rem/1.5 var(--sans); min-height:44px; margin:0; padding:.5rem 0 } }
@media(max-width:800px) { .guide-grid,.album-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }.room { grid-template-columns:1fr; gap:1.5rem }.directory-grid,.expanded-footer { grid-template-columns:1fr 1fr }.state-signature { grid-template-columns:1fr 1fr }.state-symbols { grid-column:1/-1 }.wide-photo img { aspect-ratio:4/3 }.news-list article { grid-template-columns:1fr; gap:.8rem } }
@media(max-width:480px) { .guide-grid,.album-grid,.directory-grid,.resource-links { grid-template-columns:1fr }.tariffs>div { grid-template-columns:1fr; gap:.4rem }.tariffs strong { text-align:left }.state-signature { grid-template-columns:1fr }.expanded-footer { gap:2.5rem 1rem }.expanded-footer a { font-size:.85rem }.timeline>div { grid-template-columns:4.5rem 1fr; gap:1rem }.mobile-panel.open { grid-template-columns:1fr }.detail-hero .page-title { font-size:clamp(2rem,9vw,2.8rem) }.video-frame,.map-frame { min-height:240px } }
:root {
  --paper:#f2f1ec; --white:#fafaf7; --ink:#18201d;
  --forest:#153129; --deep:#0d201b; --rose:#855057;
  --muted:#56615b; --line:rgba(24,32,29,.22);
  --serif:'Prata',Georgia,serif; --sans:'Manrope',Arial,sans-serif;
  --pad:clamp(1.25rem,4.5vw,6rem);
  --space-section:clamp(4.5rem,8.5vw,9rem);
  --ease:cubic-bezier(.22,.68,.2,1);
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:6.5rem; scrollbar-gutter:stable }
body { margin:0; background:var(--paper); color:var(--ink); font:400 1rem/1.7 var(--sans) }
img,video { display:block; max-width:100% }
a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent }
button { font:inherit; cursor:pointer }
p { margin:0 0 1.25rem; text-wrap:pretty }
h1,h2,h3 { font-weight:400; text-wrap:balance; overflow-wrap:break-word }
section,article,figure,nav { min-width:0 }
::selection { background:#cfb9a5; color:var(--ink) }
[id] { scroll-margin-top:6rem }
:focus-visible { outline:2px solid currentColor; outline-offset:6px }
.skip { position:fixed; z-index:200; top:1rem; left:1rem; background:var(--white); color:var(--ink); padding:.8rem 1rem; transform:translateY(-180%) }
.skip:focus { transform:none }
.index,.eyebrow,.caption { font-size:.75rem; line-height:1.5; letter-spacing:.12em; text-transform:uppercase }
.index { display:block; color:var(--rose); margin-bottom:1.4rem }
.eyebrow { display:block }
.dark,.forest,.rose,.cta,.footer {
  --line:rgba(242,241,236,.25); --muted:#c0cdc5; --rose:#ddbbb1;
  color:var(--paper);
}
.dark { background:var(--deep) }
.forest,.cta { background:var(--forest) }
.rose { background:#79464a }

/* Navigation retains its dimensions when the background changes. */
.header { position:fixed; z-index:100; inset:0 0 auto; height:88px; display:flex; align-items:center; gap:2rem; padding:0 var(--pad); color:#fff; border-bottom:1px solid rgba(255,255,255,.25); background:rgba(6,18,13,.65); transition:background .35s var(--ease),color .35s var(--ease),border-color .35s }
.header.light,.header.scrolled { background:var(--paper); color:var(--ink); border-color:var(--line) }
.brand { flex:none; display:flex; width:142px; min-height:44px; align-items:center }
.official-logo { width:100%; height:auto; filter:brightness(0) invert(1); transition:filter .35s,opacity .3s }
.brand:hover .official-logo { opacity:.7 }
.header.light .official-logo,.header.scrolled .official-logo { filter:none }
.nav { display:flex; gap:clamp(.9rem,1.6vw,1.8rem); margin-left:auto; align-items:center }
.nav a { position:relative; display:flex; align-items:center; min-height:44px; font-size:.875rem; white-space:nowrap }
.nav a:after { content:''; position:absolute; left:0; right:0; bottom:5px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease) }
.nav a:hover:after,.nav a[aria-current]:after,.nav a:focus-visible:after { transform:scaleX(1) }
.utility { flex:none; display:flex; align-items:center; min-height:44px; padding:.65rem 1rem; border:1px solid currentColor; font-size:.875rem; transition:background .3s,color .3s }
.utility:hover { color:var(--deep); background:var(--paper) }
.header.light .utility:hover,.header.scrolled .utility:hover { color:var(--paper); background:var(--ink) }
.menu-btn { display:none; background:none; border:0; color:inherit; min-height:44px; min-width:80px; padding:0; font-size:.875rem; align-items:center; justify-content:flex-end; gap:.75rem }
.menu-btn:after { content:''; width:20px; height:7px; border-top:1px solid; border-bottom:1px solid; transition:transform .35s }
.menu-btn[aria-expanded=true]:after { transform:rotate(-45deg); height:1px; border-bottom:0 }
.mobile-panel { display:none }

/* Hero and typography */
.hero { min-height:100svh; position:relative; color:#fff; display:grid; align-items:end; overflow:hidden; background:var(--deep) }
.hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.8) }
.hero:after,.page-hero.with-image:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,17,12,.12) 15%,rgba(6,17,12,.35) 42%,rgba(6,17,12,.85)) }
.hero-content { position:relative; z-index:2; width:100%; padding:10rem var(--pad) 2rem; display:grid; grid-template-columns:minmax(0,8fr) minmax(0,3fr); gap:2rem 4vw; align-items:end }
.display { font:400 clamp(3.8rem,6.5vw,7.8rem)/1.08 var(--serif); letter-spacing:-.035em; margin:1.25rem 0 0; text-wrap:initial }
.hero-note { max-width:36rem; margin:0; font-size:clamp(1rem,1.2vw,1.125rem); line-height:1.75 }
.hero-content>.hero-note { padding-bottom:.6rem }
.video-toggle { position:absolute; z-index:3; top:108px; right:var(--pad); border:1px solid rgba(255,255,255,.55); background:rgba(6,18,13,.4); color:white; min-height:44px; padding:.5rem .9rem; font-size:.75rem; transition:background .3s }
.video-toggle:hover { background:var(--deep) }
.quickbar { grid-column:1/-1; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.45); margin-top:1.5rem }
.quickbar a { min-width:0; min-height:84px; padding:1.1rem 1rem 1rem; display:flex; align-items:center; justify-content:space-between; gap:.5rem; font-size:.875rem; line-height:1.45; border-bottom:1px solid rgba(255,255,255,.25); transition:background .3s }
.quickbar a+a { border-left:1px solid rgba(255,255,255,.25) }
.quick-label { max-width:14ch }
.quick-arrow { flex:none; font-size:1.15rem; transition:transform .3s var(--ease) }
.quickbar a:hover,.quickbar a:focus-visible { background:rgba(255,255,255,.1) }
.quickbar a:hover .quick-arrow { transform:translate(3px,-3px) }
.page-hero { padding:11rem var(--pad) 4.5rem; min-height:65svh; display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); align-items:end; gap:3rem 5vw; border-bottom:1px solid var(--line) }
.page-title { font:400 clamp(3.5rem,6.5vw,7rem)/1.1 var(--serif); letter-spacing:-.035em; margin:0 }
.page-hero>p { max-width:29rem; margin:0 0 .45rem; line-height:1.8 }
.page-hero.with-image { min-height:88svh; color:#fff; position:relative; overflow:hidden; background:var(--deep) }
.page-hero.with-image>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.8) }
.page-hero.with-image>*:not(img) { position:relative; z-index:2 }
.page-hero.with-image .index { color:#eee4d4 }
.page-hero.with-image>p { color:#eee }
.section { padding:var(--space-section) var(--pad) }
.section.compact { padding-top:4.5rem; padding-bottom:4.5rem }
.kicker { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:3rem; margin-bottom:clamp(2.5rem,5vw,5rem) }
.kicker>.index { padding-top:.5rem }
.kicker h2,.split h2,.enter-copy h2 { font:400 clamp(2.6rem,4.5vw,5rem)/1.15 var(--serif); letter-spacing:-.03em; margin:0; max-width:19ch }
.kicker p { max-width:38rem; margin:1.75rem 0 0 }
.split { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:7vw; align-items:start }
.split>* { min-width:0 }
.split p { max-width:39rem }
.split .hero-note { margin-bottom:2rem }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; width:fit-content; max-width:100%; min-height:44px; gap:1.5rem; padding:.45rem 0; margin-top:1rem; border-bottom:1px solid currentColor; font-size:.875rem; line-height:1.5; letter-spacing:.025em; overflow-wrap:anywhere; transition:opacity .3s }
.arr { flex:none; display:inline-block; transition:transform .35s var(--ease) }
.text-link:hover .arr,.text-link:focus-visible .arr { transform:translateX(5px) }
.text-link:hover { opacity:.75 }
.info-list,.price-table { border-top:1px solid var(--line) }
.info-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.8fr); gap:1.5rem; align-items:baseline; padding:1.3rem 0; border-bottom:1px solid var(--line) }
.info-row span:first-child { font-size:.875rem; line-height:1.6; color:var(--muted) }
.info-row a { width:fit-content; min-height:44px; display:flex; align-items:center; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--line) }
.info-row a:hover { text-decoration-color:currentColor }
.price-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:baseline; gap:1.5rem; padding:1.5rem 0; border-bottom:1px solid var(--line) }
.price-row strong { text-align:right; font:400 clamp(1.45rem,2vw,2rem)/1.4 var(--serif); font-variant-numeric:tabular-nums }
.notice { border-left:1px solid var(--rose); padding:.1rem 0 .1rem 1.2rem; color:var(--muted); font-size:.875rem; line-height:1.8; margin:1.5rem 0 }
.utility-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line) }
.utility-item { padding:1.8rem 1.75rem 0; border-left:1px solid var(--line) }
.utility-item:first-child { padding-left:0; border:0 }
.utility-item strong { display:block; font:400 clamp(1.4rem,2.1vw,2.2rem)/1.4 var(--serif); margin:.7rem 0 }
.utility-item small { display:block; font-size:.875rem; color:var(--muted); line-height:1.7 }

/* Architectural image compositions */
.enter { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:6vw; align-items:center }
.enter-copy { padding:3rem 0 3rem var(--pad) }
.enter-copy h2 { font-size:clamp(2.2rem,3.8vw,4.4rem) }
.enter-copy p { margin:1.8rem 0 0; max-width:33rem }
.enter-media { height:clamp(32rem,70svh,54rem); overflow:hidden }
.enter-media img { width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease) }
.story-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:6vw }
.story-media { position:sticky; top:88px; height:calc(100svh - 88px) }
.story-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) }
.chapters { padding:4rem var(--pad) 4rem 0 }
.chapter { min-height:42svh; padding:3.5rem 0; display:flex; flex-direction:column; justify-content:center; border-bottom:1px solid var(--line) }
.chapter:last-child { border:0 }
.chapter h3 { font:400 clamp(2.3rem,4.1vw,4.5rem)/1.15 var(--serif); letter-spacing:-.025em; margin:0 0 1.5rem }
.chapter p { max-width:33rem; margin:0; color:var(--muted) }
.day-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem }
.day-stop { height:clamp(20rem,31vw,31rem); position:relative; overflow:hidden; background:var(--deep) }
.day-stop:nth-child(3n+2) { margin-top:2rem }
.day-stop img { position:absolute; width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease) }
.day-stop:after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 45%,rgba(7,15,12,.8)) }
.day-label { position:absolute; z-index:2; left:1.5rem; right:1.5rem; bottom:1.5rem; color:#fff }
.day-label small { font-size:.75rem; letter-spacing:.1em }
.day-label b { display:block; font:400 clamp(1.8rem,2.5vw,2.6rem)/1.4 var(--serif); margin-top:.4rem }
.photo-pair { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:4vw; align-items:end }
.photo-pair img { width:100%; height:auto; object-fit:cover }
.photo-pair img:first-child { aspect-ratio:1.2 }
.photo-pair img:last-child { aspect-ratio:.85 }
.full-image { height:min(82svh,800px); overflow:hidden }
.full-image img { width:100%; height:100%; object-fit:cover }
.caption { display:block; margin-top:1rem; color:var(--muted) }
.gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:5rem 2.5rem; align-items:start }
.gallery-grid figure { margin:0 }
.gallery-grid figure:nth-child(1) { grid-column:1/9 }
.gallery-grid figure:nth-child(2) { grid-column:9/13; padding-top:9rem }
.gallery-grid figure:nth-child(3) { grid-column:2/7 }
.gallery-grid figure:nth-child(4) { grid-column:8/13; padding-top:5rem }
.gallery-grid img { width:100%; height:auto; aspect-ratio:1.25; object-fit:cover }
.gallery-grid figure:nth-child(2) img { aspect-ratio:.78 }
.gallery-grid figure:nth-child(3) img { aspect-ratio:1.55 }
.gallery-grid figure:nth-child(4) img { aspect-ratio:.95 }

/* Page-specific content, using the same rhythm and type scale. */
.excursion { display:grid; grid-template-columns:minmax(2rem,1fr) minmax(0,6fr) minmax(0,2fr); gap:3rem; padding:3rem 0; border-top:1px solid var(--line) }
.excursion h3 { font:400 clamp(1.75rem,2.8vw,2.8rem)/1.3 var(--serif); letter-spacing:-.02em; margin:0 0 1.5rem }
.excursion-meta { text-align:right }
.excursion-meta strong { font:400 1.8rem/1.4 var(--serif); white-space:nowrap }
.excursion-meta p { font-size:.875rem; color:var(--muted); margin:.4rem 0 1.4rem }
.hospitality-scene { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); min-height:76svh }
.hospitality-scene:nth-child(even) { grid-template-columns:minmax(0,5fr) minmax(0,7fr) }
.hospitality-scene:nth-child(even) .h-media { order:2 }
.h-media { position:relative; min-height:36rem; overflow:hidden }
.h-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease) }
.h-copy { padding:5rem clamp(2rem,4.5vw,6rem); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0 }
.h-copy h2 { font:400 clamp(2.2rem,3.5vw,4rem)/1.2 var(--serif); letter-spacing:-.025em; margin:0 0 1.75rem }
.h-copy p { max-width:32rem }
.event-grid { padding:var(--space-section) var(--pad) }
.event { display:grid; grid-template-columns:minmax(2rem,1fr) minmax(0,5fr) minmax(0,5fr); gap:1.5rem 3rem; padding:3rem 0; border-top:1px solid var(--line) }
.event:last-child { border-bottom:1px solid var(--line) }
.event h3 { font:400 clamp(1.8rem,3vw,3rem)/1.2 var(--serif); letter-spacing:-.025em; margin:0 }
.event .notice { grid-column:3; margin:0 }
.event p { margin:0; max-width:36rem }
.cta { padding:var(--space-section) var(--pad); display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:4vw; align-items:end; border-bottom:1px solid var(--line) }
.cta h2 { font:400 clamp(2.6rem,5.2vw,5.7rem)/1.14 var(--serif); letter-spacing:-.03em; max-width:19ch; margin:0 }
.cta p { max-width:28rem }
.footer { background:#091712; padding:5rem var(--pad) 2rem }
.footer-grid { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr) minmax(0,2.3fr) minmax(0,3fr); gap:2.5rem }
.footer h2 { font:400 clamp(1.8rem,2.65vw,3rem)/1.3 var(--serif); margin:0; letter-spacing:-.02em }
.footer ul { list-style:none; margin:0; padding:0 }
.footer small { display:block; color:var(--muted); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.25rem }
.footer p,.footer a { font-size:.875rem; overflow-wrap:anywhere }
.footer li a { display:inline-flex; align-items:center; min-height:36px }
.footer a:hover { text-decoration:underline; text-underline-offset:5px }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem 3rem; border-top:1px solid var(--line); margin-top:4rem; padding-top:1.5rem; font-size:.75rem; color:var(--muted) }
.error-page { min-height:100svh; padding-top:8rem }

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .day-stop:hover img,.enter-media:hover img,.h-media:hover img { transform:scale(1.025) }
}
@media(min-width:1800px) {
  :root { --pad:max(6rem,calc((100vw - 1680px)/2)) }
}
@media(max-width:1199px) {
  .header { height:80px }
  .nav,.header>.utility { display:none }
  .menu-btn { display:flex; margin-left:auto }
  .mobile-panel { position:fixed; z-index:95; inset:0; background:var(--deep); color:var(--paper); padding:6.5rem var(--pad) 2rem; display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain; visibility:hidden; opacity:0; transform:translateY(-1rem); transition:opacity .35s,transform .45s var(--ease),visibility .45s }
  .mobile-panel.open { visibility:visible; opacity:1; transform:none }
  .mobile-panel a { display:flex; align-items:center; gap:1rem; padding:.65rem 0; min-height:48px; border-bottom:1px solid rgba(255,255,255,.15); font:400 clamp(1.5rem,3.5vw,2.6rem)/1.3 var(--serif) }
  .mobile-panel a[aria-current] { color:#ddbbb1 }
  .mobile-panel a:last-child { font:.875rem/1.5 var(--sans); margin-top:1rem; width:fit-content; border:0 }
  .header.menu-open { background:var(--deep); color:var(--paper); border-color:rgba(255,255,255,.2) }
  .header.menu-open .official-logo { filter:brightness(0) invert(1) }
  body.menu-open { overflow:hidden }
  .hero-content { grid-template-columns:minmax(0,7fr) minmax(0,3fr); gap:2rem }
  .display { font-size:clamp(3rem,6.6vw,5.5rem) }
  .quickbar { grid-template-columns:repeat(3,minmax(0,1fr)) }
  .quickbar a:nth-child(3n+1) { border-left:0 }
  .quickbar a { min-height:72px }
  .story-media { top:80px; height:calc(100svh - 80px) }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem }
  .excursion { gap:2rem; grid-template-columns:2rem minmax(0,5fr) minmax(0,2fr) }
}
@media(max-width:800px) {
  .hero-content,.page-hero,.cta,.split { grid-template-columns:minmax(0,1fr) }
  .hero-content { padding-top:12rem; gap:2rem }
  .display { font-size:clamp(2.7rem,8.6vw,4.7rem); max-width:17ch }
  .hero-note { max-width:36rem; font-size:1rem }
  .page-hero { min-height:58svh; padding-top:9rem; gap:2rem; align-content:end }
  .page-title { font-size:clamp(2.7rem,7.8vw,4.8rem) }
  .page-hero.with-image { min-height:83svh; padding-top:12rem }
  .page-hero>p { max-width:36rem }
  .split { gap:2.5rem }
  .kicker { grid-template-columns:minmax(0,1fr); gap:.5rem }
  .kicker h2,.split h2 { max-width:21ch }
  .utility-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .utility-item { border-left:0; padding:1.5rem 1rem 1.5rem 0; border-bottom:1px solid var(--line) }
  .enter { grid-template-columns:1fr; gap:0 }
  .enter-copy { padding:4rem var(--pad); max-width:42rem }
  .enter-media { height:auto; aspect-ratio:1.35 }
  .story-grid { grid-template-columns:1fr; gap:0 }
  .story-media { position:relative; top:auto; height:auto; aspect-ratio:1.4 }
  .chapters { padding:1rem var(--pad) }
  .chapter { min-height:0; padding:3rem 0 }
  .day-track { grid-template-columns:repeat(6,minmax(15rem,74vw)); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--rose) transparent; padding-bottom:1.25rem; gap:1rem }
  .day-stop,.day-stop:nth-child(3n+2) { height:23rem; margin:0; scroll-snap-align:start }
  .photo-pair { gap:1.25rem }
  .gallery-grid { gap:3rem 1.5rem }
  .gallery-grid figure:nth-child(1) { grid-column:1/13 }
  .gallery-grid figure:nth-child(2) { grid-column:1/7; padding:0 }
  .gallery-grid figure:nth-child(3) { grid-column:7/13; padding:3rem 0 0 }
  .gallery-grid figure:nth-child(4) { grid-column:3/11; padding:0 }
  .hospitality-scene,.hospitality-scene:nth-child(even) { grid-template-columns:1fr; min-height:0 }
  .hospitality-scene:nth-child(even) .h-media { order:0 }
  .h-media { min-height:0; aspect-ratio:1.3 }
  .h-copy { padding:3.5rem var(--pad) }
  .h-copy h2 { font-size:clamp(2rem,6vw,3.5rem) }
  .event { grid-template-columns:2rem minmax(0,1fr); gap:1rem 1.5rem }
  .event p,.event .notice { grid-column:2 }
  .cta { gap:2.5rem }
}
@media(max-width:560px) {
  .header { height:72px }
  .brand { width:118px }
  .hero-content { padding:10.5rem var(--pad) 1.25rem; gap:1.5rem }
  .display { font-size:clamp(2.05rem,10.4vw,3.65rem); line-height:1.15; letter-spacing:-.035em; margin-top:1rem }
  .hero-content .hero-note { font-size:1rem; line-height:1.65; padding:0 }
  .hero .eyebrow { max-width:23ch; font-size:.75rem }
  .video-toggle { top:86px; font-size:.75rem; min-height:44px }
  .quickbar { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:.5rem }
  .quickbar a { padding:.85rem .65rem; min-height:78px; font-size:.875rem }
  .quickbar a:nth-child(n) { border-left:1px solid rgba(255,255,255,.25) }
  .quickbar a:nth-child(2n+1) { border-left:0 }
  .quick-arrow { font-size:1rem }
  .page-hero { min-height:0; padding:9rem var(--pad) 3.5rem; gap:2rem }
  .page-title { font-size:clamp(1.9rem,9.5vw,3.4rem); line-height:1.15; letter-spacing:-.035em }
  .page-hero.with-image { min-height:85svh; padding-top:12rem; padding-bottom:2.5rem }
  .page-hero.with-image>img { object-position:center }
  .index { margin-bottom:1rem; font-size:.75rem }
  .kicker h2,.split h2,.enter-copy h2 { font-size:clamp(1.9rem,8.3vw,2.9rem); line-height:1.2; letter-spacing:-.035em }
  .kicker { margin-bottom:2.5rem }
  .kicker p { margin-top:1.5rem }
  .section.compact { padding-top:3.5rem; padding-bottom:3.5rem }
  .utility-grid { grid-template-columns:1fr }
  .utility-item,.utility-item:first-child { padding:1.4rem 0; border-bottom:1px solid var(--line) }
  .utility-item strong { font-size:1.9rem; margin:.3rem 0 }
  .utility-item:last-child { border-bottom:0 }
  .info-row { grid-template-columns:1fr; gap:.5rem; padding:1.2rem 0 }
  .price-row { grid-template-columns:minmax(0,1fr) auto; gap:1rem }
  .price-row strong { font-size:1.25rem }
  .text-link { gap:1rem; font-size:.875rem }
  .chapter h3 { font-size:2.15rem }
  .enter-media { aspect-ratio:1.1 }
  .photo-pair { grid-template-columns:1fr; gap:1.5rem }
  .photo-pair img:first-child { aspect-ratio:1.2 }
  .photo-pair img:last-child { width:80%; margin-left:auto; aspect-ratio:1 }
  .gallery-grid { grid-template-columns:1fr; gap:2.5rem }
  .gallery-grid figure:nth-child(n) { grid-column:auto; padding:0 }
  .gallery-grid figure:nth-child(2) { width:82%; margin-left:auto }
  .gallery-grid figure:nth-child(4) { width:90% }
  .gallery-grid figure:nth-child(1) img { aspect-ratio:1.1 }
  .excursion { grid-template-columns:1fr; gap:1rem; padding:2rem 0 }
  .excursion>.index { margin:0 }
  .excursion h3 { font-size:1.75rem; line-height:1.35 }
  .excursion-meta { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:baseline; gap:.5rem 1.5rem; text-align:left; padding-top:1.25rem; border-top:1px solid var(--line) }
  .excursion-meta strong { font-size:1.5rem }
  .excursion-meta p { margin:0 }
  .event { grid-template-columns:1fr; gap:1rem; padding:2.5rem 0 }
  .event>.index { margin:0 }
  .event p,.event .notice { grid-column:auto }
  .event h3 { font-size:1.9rem; line-height:1.3 }
  .h-media { aspect-ratio:1.1 }
  .cta h2 { font-size:clamp(2rem,9.2vw,3rem); line-height:1.2 }
  .footer { padding-top:3.5rem }
  .footer-grid { grid-template-columns:1fr; gap:2.5rem }
  .footer h2 { font-size:2.1rem; max-width:20ch }
  .footer li a { min-height:44px }
  .footer-bottom { margin-top:2.5rem; flex-direction:column }
  .mobile-panel { padding-top:5.5rem }
  .mobile-panel a { font-size:clamp(1.3rem,5.5vw,1.7rem); line-height:1.4 }
  .error-page { min-height:100svh; align-content:center }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*:before,*:after { animation:none!important; transition:none!important }
}
/* Final editorial journey and multi-level navigation */
.breadcrumbs{padding:7.5rem var(--pad) 0;display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.875rem}
.breadcrumbs+ .page-hero{padding-top:4rem}
.premium-nav{gap:1.8rem!important}
.mega-menu summary{cursor:pointer;list-style:none;padding:.8rem 0;font-size:.875rem}
.mega-menu summary::-webkit-details-marker{display:none}
.mega-menu summary:after{content:'+';margin-left:.6rem}
.mega-menu[open] summary:after{content:'−'}
.header:has(.mega-menu[open]){background:var(--paper);color:var(--ink);border-color:var(--line)}
.header:has(.mega-menu[open]) .official-logo{filter:none}
.header:has(.mega-menu[open])>.utility{color:var(--ink);border-color:var(--ink)}
.header:has(.mega-menu[open])>.utility:hover{color:var(--paper);background:var(--ink)}
.photo-open{overflow:hidden}
.photo-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:5rem 4vw 1rem;border:0;background:#0d1713;color:#f2f1ec}
.photo-dialog::backdrop{background:#0d1713}
.photo-dialog>img{width:100%;height:calc(100dvh - 12rem);object-fit:contain}
.photo-dialog button{min-width:48px;min-height:48px;background:transparent;border:1px solid #a7b1a9;color:inherit;padding:.6rem 1rem;cursor:pointer}
.photo-close{position:absolute;right:4vw;top:1rem}
.photo-original{position:absolute;left:4vw;top:1rem;min-height:48px;display:flex;align-items:center;text-decoration:underline}
.photo-controls{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-top:1rem}
.photo-controls p{font-size:.875rem;line-height:1.5;text-align:center;margin:0}
.mega-panel{position:absolute;top:100%;left:0;width:100%;display:grid;grid-template-columns:1fr 1fr .8fr;gap:4rem;padding:3rem var(--pad);background:var(--paper);color:var(--ink);border-block:1px solid var(--line);box-shadow:0 18px 30px #0d201b15;max-height:calc(100dvh - 6rem);overflow:auto}
.mega-panel h2{font:400 clamp(2rem,3vw,3.5rem)/1.3 var(--serif);margin:1rem 0 2rem}
.mega-links,.mega-aside{display:flex;flex-direction:column;align-items:stretch}
.header .mega-links a{font-size:1.1rem;line-height:1.5;min-height:48px;padding:.7rem 0;border-bottom:1px solid var(--line)}
.mega-aside{border-left:1px solid var(--line);padding-left:2rem;justify-content:center}
.mega-aside a{padding:.6rem 0;white-space:normal}
.language-links{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.875rem}
.language-links a{min-height:44px;display:inline-flex;align-items:center}
.footer-languages{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem}
.expanded-footer{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:3rem}
.expanded-footer a{font-size:.875rem}
.mobile-panel.grouped-mobile.open{display:block}
.grouped-mobile details{border-bottom:1px solid #ffffff30}
.grouped-mobile summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:1.2rem 0;font:400 1.5rem/1.3 var(--serif)}
.grouped-mobile summary:after{content:'+'}
.grouped-mobile details[open] summary:after{content:'−'}
.grouped-mobile summary::-webkit-details-marker{display:none}
.grouped-mobile details div{padding:0 0 1rem}
.grouped-mobile details a{font:400 1rem/1.5 var(--sans);display:flex;padding:.6rem 0;min-height:44px;border:0;margin:0!important}
.grouped-mobile .mobile-plan{font:400 1rem/1.5 var(--sans);margin:0 0 1.2rem;padding:.8rem 0;border-bottom:1px solid;display:block}
.grouped-mobile .language-links{margin-top:1.5rem}
.grouped-mobile .language-links a{font:400 .875rem/1.5 var(--sans);margin:0;border:0}
.cinema{min-height:100svh;height:auto;display:flex;align-items:flex-end}
.cinema:after{background:linear-gradient(180deg,#07171220 15%,#07171212 35%,#071712d9 100%)}
.cinema-title{position:relative;z-index:2;width:100%;padding:12rem var(--pad) 3rem;color:white}
.cinema h1{font:400 clamp(3.4rem,6.7vw,7.5rem)/1.16 var(--serif);letter-spacing:-.05em;margin:2rem 0 3rem;max-width:1200px;text-wrap:initial}
.cinema h1 em{font-style:normal;font-size:.65em;letter-spacing:-.035em}
.cinema-bottom{display:flex;align-items:end;justify-content:space-between;gap:2rem}
.cinema-bottom p{max-width:27rem;margin:0}
.cinema-bottom a{padding:.8rem 0;border-bottom:1px solid #fff8}
.cinema .video-toggle{top:7rem;bottom:auto}
.arrival-links{position:relative;margin:0;background:var(--paper);color:var(--ink);padding:0 var(--pad);border-bottom:1px solid var(--line)}
.arrival-links a{border-color:var(--line)!important;min-height:92px}
.arrival-links a:hover{background:#ddd9d0}
.arrival-links .quick-arrow{color:var(--rose)}
.introduction{display:grid;grid-template-columns:1fr 2fr;gap:3rem 6vw}
.introduction>.index{grid-column:1/-1}
.introduction h2{font:400 clamp(2.6rem,4.8vw,5.2rem)/1.3 var(--serif);letter-spacing:-.04em;grid-column:1/-1;margin:0}
.introduction>div{grid-column:2;max-width:36rem}
.introduction em,.experiences em,.final-invitation em{font-style:normal;color:var(--rose)}
.palace-reveal{padding:0 var(--pad) var(--space-section)}
.palace-reveal figure{margin:0;position:relative}
.palace-reveal figure img{width:100%;height:72svh;min-height:420px;object-fit:cover}
.palace-reveal figcaption{font-size:.75rem;margin-top:.7rem}
.reveal-caption{max-width:48rem;margin:4rem 0 0 auto}
.reveal-caption h2{font:400 clamp(2.2rem,4vw,4.3rem)/1.3 var(--serif);letter-spacing:-.035em}
.time-story{padding:var(--space-section) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:12vw;align-items:start}
.time-intro{position:sticky;top:9rem}
.time-intro h2{font:400 clamp(2.8rem,4.4vw,5rem)/1.3 var(--serif);margin:1.5rem 0}
.time-intro p{max-width:25rem}
.time-chapter{padding:3rem 0 5rem;border-top:1px solid #ffffff40}
.time-year{font:400 clamp(4rem,9vw,9rem)/1.3 var(--serif);letter-spacing:-.045em;color:#d5b5a4}
.time-chapter h3{font:400 1.7rem/1.4 var(--serif);margin:1rem 0}
.time-chapter p{max-width:26rem}
.story-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem 7vw;align-items:end}
.story-heading>.index{grid-column:1/-1}
.story-heading h2,.estate-explore h2,.day-editorial h2,.whats-on h2{font:400 clamp(2.6rem,4.3vw,4.8rem)/1.3 var(--serif);letter-spacing:-.035em;margin:1rem 0}
.paired-places{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;margin-top:4rem;align-items:start}
.paired-places>a:last-child{margin-top:8rem}
.paired-places img{width:100%;height:500px;object-fit:cover;margin-bottom:2rem}
.paired-places>a:last-child img{height:340px}
.paired-places h3{font:400 clamp(1.7rem,2.5vw,2.8rem)/1.4 var(--serif);margin:.6rem 0}
.estate-explore{background:#e7e4dc;display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.estate-explore>div>img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-top:3rem}
.explore-list a{display:grid;grid-template-columns:2rem 1fr 1.5rem;gap:1rem;border-top:1px solid var(--line);padding:1.5rem 0;align-items:center}
.explore-list h3{font:400 1.8rem/1.3 var(--serif);margin:0 0 .5rem}
.explore-list p{font-size:.9rem;margin:0;color:var(--muted)}
.explore-list small{align-self:start;padding-top:.3rem;color:var(--rose)}
.experiences h2{font:400 clamp(3rem,6vw,6.5rem)/1.3 var(--serif);letter-spacing:-.045em;margin:2rem 0 4rem}
.experience-rows a{display:grid;grid-template-columns:1.2fr 1.5fr 2rem;gap:2rem;align-items:center;padding:2rem 0;border-top:1px solid var(--line)}
.experience-rows h3{font:400 clamp(1.6rem,2.5vw,2.6rem)/1.4 var(--serif);margin:0}
.experience-rows p{margin:0}
.day-editorial{background:#e7e4dc;display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.day-editorial>div{align-self:start}
.day-editorial ol{list-style:none;counter-reset:day;margin:0;padding:0}
.day-editorial li{position:relative;padding:0 0 3rem 3.5rem;border-left:1px solid var(--line);counter-increment:day}
.day-editorial li:before{content:counter(day,decimal-leading-zero);position:absolute;left:-1rem;top:0;background:#e7e4dc;padding:.2rem 0;color:var(--rose)}
.day-editorial li p{margin:.5rem 0;max-width:28rem}
.hospitality-story .hospitality-scene{position:relative;min-height:85svh;background:var(--deep);color:white;display:flex;align-items:center}
.hospitality-story .hospitality-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hospitality-story .hospitality-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#05140bea,#07171170 65%,#07171115)}
.hospitality-story .hospitality-scene>div{position:relative;z-index:1;padding:6rem var(--pad);max-width:55rem}
.hospitality-story .hospitality-scene h2{font:400 clamp(3rem,5.7vw,6rem)/1.3 var(--serif);letter-spacing:-.04em;margin:1.5rem 0}
.hospitality-story .hospitality-scene p{max-width:30rem}
.dining-pair{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:4rem var(--pad);background:var(--deep);color:var(--paper)}
.dining-pair h3{font:400 2rem/1.4 var(--serif);margin:1rem 0}
.dining-pair p{max-width:28rem}
.whats-on{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.whats-on article{border-top:1px solid var(--line);padding:2rem 0}
.whats-on h3{font:400 2rem/1.4 var(--serif)}
.atmosphere{padding:0 var(--pad) var(--space-section)}
.atmosphere h2{font:400 clamp(3rem,7vw,7rem)/1.3 var(--serif);letter-spacing:-.045em;margin:2rem 0}
.atmosphere>div{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center;margin-bottom:2rem}
.atmosphere img{width:100%;aspect-ratio:4/3;object-fit:cover}
.atmosphere img:last-child{aspect-ratio:3/4}
.final-invitation{background:#e7e4dc;text-align:center}
.final-invitation h2{font:400 clamp(3.4rem,8vw,8rem)/1.25 var(--serif);letter-spacing:-.05em;margin:2rem 0}
.final-invitation .button{background:var(--forest);color:white;border:1px solid var(--forest);padding:1rem 1.5rem;display:inline-flex;gap:2rem;align-items:center;margin:1rem}
.final-invitation .text-link{display:table;margin:1rem auto}
.archive-list{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}
.archive-list article{border-top:1px solid var(--line);padding:1.5rem 0}
.archive-list h3{font:400 1.25rem/1.5 var(--serif);margin:.6rem 0}
.archive-list p{font-size:.875rem}
.source-index{columns:2;column-gap:3rem}
.source-index a{display:block;padding:.6rem 0;font-size:.875rem;break-inside:avoid;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.souvenir-photos img{object-fit:contain;background:white}
@media(max-width:1199px){.premium-nav{display:none!important}.cinema-title{padding-top:10rem}.mega-panel{display:none}}
@media(max-width:800px){
.breadcrumbs{padding-top:6rem;font-size:.75rem}.breadcrumbs+.page-hero{padding-top:2rem}
.cinema h1{font-size:clamp(2.8rem,7.5vw,4.8rem)}.cinema-title{padding-bottom:2rem}.cinema-bottom{align-items:start}.cinema-bottom p{font-size:.875rem}
.introduction{grid-template-columns:1fr;gap:1.5rem}.introduction>div{grid-column:1}
.time-story{grid-template-columns:1fr;gap:3rem}.time-intro{position:static}.time-intro h2 br{display:none}.time-chapter{padding:2rem 0}.time-chapter h3{margin:.5rem 0}
.story-heading,.estate-explore,.day-editorial,.whats-on{grid-template-columns:1fr;gap:2.5rem}
.paired-places{gap:2rem}.paired-places img{height:320px}.paired-places>a:last-child img{height:240px}.paired-places>a:last-child{margin-top:5rem}
.experience-rows a{grid-template-columns:1fr 1.5rem;gap:.7rem}.experience-rows p{grid-column:1;font-size:.9rem}.experience-rows a>span{grid-column:2;grid-row:1/3}
.hospitality-story .hospitality-scene{min-height:680px}.dining-pair{gap:2rem}.expanded-footer{grid-template-columns:1fr 1fr}
.palace-reveal figure img{min-height:0;height:55svh}.source-index{columns:1}
}
@media(max-width:480px){
.cinema{min-height:90svh}.cinema-title{padding-top:12rem}.cinema h1{font-size:2.8rem;line-height:1.3;letter-spacing:-.055em}.cinema h1 em{font-size:.64em;white-space:nowrap}.cinema-bottom{display:block}.cinema-bottom a{display:inline-block;margin-top:1rem}
.arrival-links{padding:0 var(--pad)}.arrival-links a{min-height:74px}
.paired-places{grid-template-columns:1fr;gap:3rem}.paired-places>a:last-child{margin-top:0}.paired-places img,.paired-places>a:last-child img{height:auto;aspect-ratio:4/3}
.time-story{padding-block:4rem}.time-year{font-size:5rem}.time-intro h2{font-size:2.5rem}
.dining-pair,.archive-list{grid-template-columns:1fr}.dining-pair>div+div{padding-top:2rem;border-top:1px solid #ffffff30}
.hospitality-story .hospitality-scene{min-height:650px}.hospitality-story .hospitality-scene>div{padding-block:4rem}.hospitality-story .hospitality-scene h2{font-size:2.8rem}
.atmosphere>div{gap:1rem;grid-template-columns:1fr}.atmosphere img:last-child{width:73%;margin-left:auto;aspect-ratio:4/3}
.expanded-footer a{font-size:.875rem}.state-signature{gap:1.8rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.time-intro{position:static}}
