@font-face {
  font-family: "Diore Bonneg";
  src: url("../fonts/diore-bonneg.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --black: #0d0c0a;
  --black-soft: #171510;
  --cream: #f1ece2;
  --cream-2: #e7dfd1;
  --gold: #d4b77a;
  --gold-deep: #9b7c45;
  --olive: #383d21;
  --white: #fffdf8;
  --line-light: rgba(255,255,255,.18);
  --line-dark: rgba(13,12,10,.18);
  --display: "Diore Bonneg", "Times New Roman", serif;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --shell: min(1380px, calc(100vw - 104px));
  --header: 92px;
  --ease: cubic-bezier(.22,1,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--header); }
body { margin: 0; color: var(--black); background: var(--cream); font-family: var(--sans); font-size: 15px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-underline-offset: .22em; }
button { font: inherit; }
::selection { color: var(--black); background: var(--gold); }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 16px; color: var(--black); background: var(--gold); transform: translateY(-150%); }
.skip-link:focus { transform: none; }

h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.025em; line-height: .98; }
h1 em,h2 em,h3 em { color: var(--gold); font-style: normal; }
.eyebrow { margin: 0 0 21px; font-family: var(--sans); font-size: .61rem; font-weight: 600; letter-spacing: .24em; line-height: 1.5; text-transform: uppercase; }
.lead { font-size: clamp(1.12rem,1.55vw,1.52rem); line-height: 1.55; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 27px; border: 1px solid transparent; font-size: .61rem; font-weight: 700; letter-spacing: .17em; line-height: 1; text-decoration: none; text-transform: uppercase; transition: background .3s,color .3s,border-color .3s; }
.button--gold { color: var(--black); background: var(--gold); }
.button--gold:hover { background: var(--white); }
.button--champagne { color: var(--black); background: var(--gold); }
.button--champagne:hover { background: var(--white); }
.button--ghost { color: var(--white); border-color: rgba(255,255,255,.5); }
.button--ghost:hover { color: var(--black); background: var(--white); border-color: var(--white); }
.button--line { color: var(--white); border-color: rgba(255,255,255,.5); }
.button--line:hover { color: var(--black); background: var(--white); border-color: var(--white); }
.button--ink { color: var(--white); background: var(--black); }
.button--ink:hover { color: var(--black); background: var(--gold); }
.editorial-link { display: inline-flex; gap: 15px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: .62rem; font-weight: 700; letter-spacing: .15em; text-decoration: none; text-transform: uppercase; }
.section-ink,.section-dark { color: var(--white); background: var(--black); }
.section-bone { background: var(--cream-2); }
.section-ivory { background: var(--cream); }
.section-olive-deep { color: var(--white); background: var(--olive); }
.eyebrow--gold { color: var(--gold); }
.eyebrow--bronze { color: var(--gold-deep); }

/* Header */
.site-header { position: fixed; z-index: 1000; inset: 0 0 auto; height: var(--header); color: var(--white); border-bottom: 1px solid rgba(255,255,255,.2); transition: height .35s,background .35s,border-color .35s; }
.site-header.is-scrolled { height: 72px; border-color: rgba(255,255,255,.1); background: rgba(13,12,10,.94); backdrop-filter: blur(18px); }
.site-header__inner { display: grid; grid-template-columns: 1fr 220px 1fr; align-items: center; width: calc(100% - 64px); height: 100%; margin-inline: auto; }
.site-logo { justify-self: center; width: 188px; }
.site-logo img { width: 100%; }
.site-nav { justify-self: start; }
.site-nav .menu,.site-footer .menu { display: flex; align-items: center; gap: 27px; margin: 0; padding: 0; list-style: none; }
.site-nav a,.header-social,.header-book { font-size: .59rem; font-weight: 600; letter-spacing: .17em; text-decoration: none; text-transform: uppercase; }
.site-nav a { position: relative; }
.site-nav .menu > li > a::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transition: transform .3s var(--ease); }
.site-nav .menu > li > a:hover::after,.site-nav .current-menu-item > a::after { transform: scaleX(1); }
.site-header__actions { display: flex; align-items: center; justify-self: end; gap: 24px; }
.header-book { padding: 11px 17px; border: 1px solid rgba(255,255,255,.5); }
.header-book:hover { color: var(--black); background: var(--gold); border-color: var(--gold); }
.nav-toggle,.site-nav__mobile-links { display: none; }

/* Home */
.home-hero { position: relative; min-height: 100svh; color: var(--white); background: var(--black); overflow: hidden; }
.home-hero__image,.home-hero__shade { position: absolute; inset: 0; }
.home-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 47%; filter: saturate(.68) brightness(.72) contrast(1.06); animation: home-hero 12s var(--ease) both; }
@keyframes home-hero { from { transform: scale(1.045); } to { transform: scale(1); } }
.home-hero__shade { background: linear-gradient(0deg,rgba(8,7,5,.72),transparent 48%,rgba(8,7,5,.32)),linear-gradient(90deg,rgba(8,7,5,.2),transparent 30%,transparent 70%,rgba(8,7,5,.2)); }
.home-hero__center { position: absolute; z-index: 2; top: 49%; left: 50%; display: grid; width: min(680px,70vw); justify-items: center; transform: translate(-50%,-50%); }
.home-hero__center > p { margin-bottom: 32px; font-size: .61rem; font-weight: 600; letter-spacing: .28em; text-align: center; text-transform: uppercase; }
.home-hero__center img { width: 100%; filter: drop-shadow(0 5px 22px rgba(0,0,0,.35)); }
.home-hero__bottom { position: absolute; z-index: 2; right: 0; bottom: 29px; left: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.home-hero__bottom p { margin: 0; font-size: .56rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.home-hero__bottom p:last-child { text-align: right; }
.home-hero__bottom div { display: flex; gap: 34px; }
.home-hero__bottom a { padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.6); font-size: .58rem; font-weight: 700; letter-spacing: .17em; text-decoration: none; text-transform: uppercase; }
.home-intro { padding-block: clamp(130px,15vw,230px); color: var(--white); background: var(--black); }
.home-intro__inner { display: grid; justify-items: center; text-align: center; }
.home-intro h1 { max-width: 1200px; margin: 0; font-size: clamp(4rem,7vw,8rem); }
.home-intro__lead { max-width: 670px; margin: 54px 0 0; color: rgba(255,255,255,.68); font-size: 1.02rem; line-height: 1.85; }
.home-panorama { padding-bottom: 70px; color: var(--white); background: var(--black); }
.home-panorama figure { margin: 0; overflow: hidden; }
.home-panorama figure img { width: 100%; height: min(82vh,920px); object-fit: cover; object-position: center 54%; filter: saturate(.76) contrast(1.03); }
.home-panorama__caption { display: flex; justify-content: space-between; padding-top: 17px; color: rgba(255,255,255,.62); font-size: .58rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
.home-chapters { padding-block: clamp(120px,13vw,210px); background: var(--cream); }
.home-chapters__heading { margin-bottom: clamp(95px,12vw,180px); }
.home-chapters__heading h2 { max-width: 850px; margin: 0; font-size: clamp(4rem,7vw,8rem); }
.home-chapter { display: grid; grid-template-columns: 1.18fr .82fr; align-items: center; gap: clamp(60px,9vw,150px); width: var(--shell); margin: 0 auto clamp(120px,14vw,220px); }
.home-chapter--cuisine { grid-template-columns: .82fr 1.18fr; }
.home-chapter--cuisine figure { order: 2; }
.home-chapter figure { margin: 0; overflow: hidden; }
.home-chapter figure img { width: 100%; aspect-ratio: 5/4; object-fit: cover; filter: saturate(.78); transition: transform 1s var(--ease),filter .7s; }
.home-chapter:hover figure img { transform: scale(1.018); filter: saturate(.95); }
.home-chapter__copy { max-width: 500px; }
.home-chapter__copy > span { display: block; margin-bottom: 62px; color: var(--gold-deep); font-size: .61rem; letter-spacing: .2em; }
.home-chapter__copy h3 { margin: 0 0 27px; font-size: clamp(3.7rem,5.8vw,7rem); }
.home-chapter__copy > p:last-child { max-width: 410px; color: rgba(13,12,10,.7); }
.home-chapters__action { display: flex; justify-content: center; }
.home-film { display: grid; grid-template-columns: 1fr 1fr; min-height: 90vh; color: var(--white); background: var(--black); }
.home-film__video { position: relative; min-height: 760px; overflow: hidden; }
.home-film__video video { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74) brightness(.83); }
.video-toggle { position: absolute; right: 28px; bottom: 28px; display: grid; width: 66px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; color: var(--white); background: rgba(0,0,0,.3); cursor: pointer; backdrop-filter: blur(8px); }
.video-toggle span { font-size: .56rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-film__copy { display: flex; max-width: 710px; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(70px,9vw,150px); }
.home-film__copy h2 { margin-bottom: 32px; font-size: clamp(3.8rem,5.8vw,7rem); }
.home-film__copy > p:not(.eyebrow) { max-width: 510px; margin-bottom: 37px; color: rgba(255,255,255,.65); }
.home-film__copy > a,.home-gallery__heading > a,.home-hotel__copy a { display: inline-flex; gap: 14px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: .6rem; font-weight: 700; letter-spacing: .15em; text-decoration: none; text-transform: uppercase; }
.home-gallery { padding-block: clamp(120px,13vw,200px); background: var(--cream-2); overflow: hidden; }
.home-gallery__heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 80px; }
.home-gallery__heading h2 { margin: 0; font-size: clamp(3.8rem,6vw,7rem); }
.home-gallery__strip { display: grid; grid-template-columns: 1.05fr .8fr 1.05fr; gap: 18px; width: calc(100vw - 36px); margin-inline: auto; }
.home-gallery__strip figure { margin: 0; overflow: hidden; }
.home-gallery__strip figure:nth-child(2) { margin-top: 90px; }
.home-gallery__strip img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.78); transition: transform 1s var(--ease); }
.home-gallery__strip figure:hover img { transform: scale(1.02); }
.home-hotel { padding-block: clamp(120px,13vw,200px); color: var(--white); background: var(--olive); }
.home-hotel__inner { display: grid; grid-template-columns: .52fr 1fr; align-items: center; gap: clamp(70px,12vw,190px); }
.home-hotel__logo { display: grid; place-items: center; padding: 55px; border: 1px solid rgba(212,183,122,.4); }
.home-hotel__logo img { width: min(100%,360px); }
.home-hotel__copy h2 { margin-bottom: 30px; font-size: clamp(4rem,6.5vw,7.5rem); }
.home-hotel__copy > p:not(.eyebrow) { max-width: 630px; margin-bottom: 36px; color: rgba(255,255,255,.7); }
.home-hotel__copy > div { display: flex; flex-wrap: wrap; gap: 32px; }

/* Shared page heroes */
.page-hero,.experience-hero { position: relative; min-height: 92svh; color: var(--white); background: var(--black); overflow: hidden; }
.page-hero__media,.page-hero__veil,.experience-hero__media,.experience-hero__veil { position: absolute; inset: 0; }
.page-hero__media img,.experience-hero__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65) brightness(.64); }
.page-hero__veil,.experience-hero__veil { background: linear-gradient(0deg,rgba(8,7,5,.8),transparent 62%),linear-gradient(90deg,rgba(8,7,5,.55),transparent 68%); }
.page-hero__content,.experience-hero__content { position: relative; z-index: 2; display: flex; min-height: 92svh; flex-direction: column; align-items: flex-start; justify-content: flex-end; width: var(--shell); margin-inline: auto; padding: calc(var(--header) + 80px) 0 105px; }
.page-hero h1,.experience-hero h1 { max-width: 1100px; margin: 0; font-size: clamp(4.3rem,7.8vw,9rem); }
.page-hero__content > p:not(.eyebrow),.experience-hero__content > p:last-child { max-width: 620px; margin: 30px 0 34px; color: rgba(255,255,255,.74); font-size: 1.02rem; }

/* Menu */
.menu-manifesto,.experience-story,.experience-craft,.experience-cta,.contact-directory,.contact-hotel { padding-block: clamp(115px,13vw,200px); }
.menu-manifesto__grid { display: grid; grid-template-columns: .4fr 1.1fr .6fr; gap: clamp(40px,7vw,110px); align-items: start; }
.menu-manifesto h2 { margin: 0; font-size: clamp(3.8rem,6vw,7rem); }
.menu-editorial { padding-block: 60px; }
.menu-feature { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 730px; border-bottom: 1px solid var(--line-light); }
.menu-feature--reverse figure { order: 2; }
.menu-feature figure { min-height: 620px; margin: 0; overflow: hidden; }
.menu-feature figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: transform 1s var(--ease); }
.menu-feature:hover figure img { transform: scale(1.018); }
.menu-feature__copy { display: flex; max-width: 720px; flex-direction: column; justify-content: center; padding: clamp(65px,8vw,130px); }
.menu-feature__copy > span { margin-bottom: 72px; color: var(--gold); font-size: .62rem; letter-spacing: .18em; }
.menu-feature__copy h2 { margin-bottom: 26px; font-size: clamp(3.6rem,5.5vw,6.5rem); }
.menu-feature__copy p:last-child { max-width: 460px; color: rgba(255,255,255,.65); }
.menu-portal { padding-block: clamp(100px,12vw,175px); }
.menu-portal__grid { display: grid; grid-template-columns: 1fr .65fr; gap: 80px; align-items: end; }
.menu-portal h2 { margin-bottom: 24px; font-size: clamp(3.5rem,5.5vw,6.5rem); }
.menu-portal__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 27px; }

/* Gallery */
.gallery-hero,.contact-hero { padding: calc(var(--header) + 90px) 0 110px; color: var(--white); background: var(--black); }
.gallery-hero__grid,.contact-hero__grid { display: grid; grid-template-columns: .82fr .7fr; align-items: center; gap: clamp(60px,10vw,155px); min-height: 72svh; }
.gallery-hero h1,.contact-hero h1 { margin-bottom: 31px; font-size: clamp(4.3rem,7vw,8.3rem); }
.gallery-hero__copy > p:last-child,.contact-hero__copy > p:not(.eyebrow) { max-width: 570px; color: rgba(255,255,255,.68); }
.gallery-hero__image,.contact-hero__image { margin: 0; }
.gallery-hero__image img,.contact-hero__image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.67); }
.gallery-chapter { padding-block: clamp(110px,13vw,200px); }
.gallery-chapter__heading { display: grid; grid-template-columns: .25fr 1fr; gap: 40px; margin-bottom: 90px; }
.gallery-chapter__heading > span { padding-top: 13px; color: var(--gold-deep); font-size: .6rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.gallery-chapter__heading h2 { margin: 0; font-size: clamp(4rem,7vw,8rem); }
.editorial-gallery { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 105px; gap: 16px; }
.editorial-gallery figure { margin: 0; overflow: hidden; }
.editorial-gallery button { position: relative; width: 100%; height: 100%; padding: 0; border: 0; color: var(--white); background: var(--black); cursor: zoom-in; }
.editorial-gallery img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); transition: transform .9s var(--ease),opacity .4s; }
.editorial-gallery button:hover img { opacity: .8; transform: scale(1.02); }
.editorial-gallery button span { position: absolute; right: 15px; bottom: 15px; padding: 9px 12px; color: var(--black); background: var(--gold); font-size: .55rem; font-weight: 700; letter-spacing: .12em; opacity: 0; text-transform: uppercase; transition: opacity .3s; }
.editorial-gallery button:hover span { opacity: 1; }
.editorial-gallery__landscape { grid-column: span 7; grid-row: span 5; }
.editorial-gallery__portrait { grid-column: span 5; grid-row: span 7; }
.editorial-gallery__wide { grid-column: span 8; grid-row: span 5; }
.editorial-gallery__square { grid-column: span 4; grid-row: span 4; }
.editorial-gallery__offset { margin-top: 85px !important; }
.editorial-gallery__small { margin-top: 50px !important; }
.lightbox { width: min(94vw,1500px); height: min(92vh,1000px); padding: 0; border: 0; color: var(--white); background: transparent; overflow: visible; }
.lightbox::backdrop { background: rgba(8,7,5,.96); backdrop-filter: blur(10px); }
.lightbox img { width: 100%; height: calc(100% - 45px); object-fit: contain; }
.lightbox p { text-align: center; }
.lightbox__close { position: absolute; top: -40px; right: 0; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: var(--white); background: var(--black); cursor: pointer; }
.gallery-closing { padding-block: 130px; text-align: center; }
.gallery-closing h2 { margin-bottom: 35px; font-size: clamp(4rem,7vw,8rem); }

/* Experience */
.experience-story__grid,.experience-service__grid { display: grid; grid-template-columns: .9fr .72fr; gap: clamp(70px,11vw,170px); }
.experience-story h2,.experience-service h2 { margin: 0; font-size: clamp(3.8rem,6vw,7rem); }
.experience-materials { padding-block: clamp(110px,13vw,200px); }
.experience-materials__grid { display: grid; grid-template-columns: .95fr .75fr; grid-template-rows: auto auto; gap: clamp(45px,8vw,120px); align-items: center; }
.experience-materials figure { margin: 0; }
.experience-materials__main { grid-row: 1/3; }
.experience-materials__main img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.68); }
.experience-materials__copy h2,.experience-craft__copy h2 { margin-bottom: 28px; font-size: clamp(3.7rem,5.8vw,6.8rem); }
.experience-materials__detail { width: 53%; justify-self: end; }
.experience-materials__detail img { aspect-ratio: 1; object-fit: cover; filter: saturate(.68); }
.experience-craft__grid { display: grid; grid-template-columns: .62fr 1fr; gap: clamp(70px,11vw,170px); align-items: center; }
.experience-craft .craft-video { position: relative; }
.experience-craft .craft-video video { width: 100%; aspect-ratio: 9/16; object-fit: cover; filter: saturate(.7); }
.experience-craft__copy .lead { margin-bottom: 40px; }
.experience-service { padding-block: 130px; }
.experience-service .lead { margin: 0; }
.experience-cta h2 { margin-bottom: 39px; font-size: clamp(4rem,7vw,8rem); }

/* Contact */
.contact-directory__grid { display: grid; grid-template-columns: .7fr 1fr; gap: clamp(70px,11vw,170px); align-items: start; }
.contact-directory__intro { position: sticky; top: 110px; }
.contact-directory__intro h2 { margin-bottom: 27px; font-size: clamp(3.7rem,6vw,6.8rem); }
.contact-list { border-top: 1px solid var(--line-dark); }
.contact-list article { display: grid; grid-template-columns: 42px minmax(135px,.5fr) 1fr; gap: 23px; padding-block: 32px; border-bottom: 1px solid var(--line-dark); }
.contact-list article > span { color: var(--gold-deep); font-size: .6rem; letter-spacing: .15em; }
.contact-list h3,.contact-list p { margin: 0; }
.contact-list h3 { font-family: var(--sans); font-size: .65rem; font-weight: 700; letter-spacing: .12em; line-height: 1.6; text-transform: uppercase; }
.map-section { position: relative; min-height: 640px; background: var(--black); }
.map-section iframe { display: block; width: 100%; height: 640px; border: 0; filter: grayscale(.8) sepia(.18) contrast(.9); }
.map-card { position: absolute; top: 50%; left: 7vw; width: min(430px,calc(100vw - 36px)); padding: 46px; color: var(--white); background: var(--olive); transform: translateY(-50%); }
.map-card h2 { margin-bottom: 29px; font-size: clamp(3rem,4.5vw,5.2rem); }
.contact-hotel__grid { display: grid; grid-template-columns: .45fr 1fr; align-items: center; gap: clamp(70px,11vw,170px); }
.contact-hotel__grid > img { width: min(100%,360px); justify-self: center; }
.contact-hotel h2 { margin-bottom: 28px; font-size: clamp(3.7rem,6vw,6.8rem); }

/* Footer */
.site-footer { padding: 0 0 30px; color: var(--white); background: var(--black); }
.footer-reservation { display: grid; justify-items: center; padding-block: clamp(120px,14vw,210px); border-bottom: 1px solid var(--line-light); text-align: center; }
.footer-reservation h2 { margin: 0 0 41px; font-size: clamp(4.5rem,8vw,9.5rem); }
.footer-main { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; padding-block: 78px; }
.footer-identity a { display: block; width: min(100%,320px); }
.footer-identity img { width: 100%; }
.footer-identity p { margin: 28px 0 0; color: rgba(255,255,255,.58); font-size: .7rem; letter-spacing: .08em; line-height: 1.8; text-transform: uppercase; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 38px; }
.footer-label { margin-bottom: 23px; color: var(--gold); font-size: .58rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.footer-links > div { display: flex; flex-direction: column; align-items: flex-start; }
.site-footer .menu { flex-direction: column; align-items: flex-start; gap: 7px; }
.footer-links a { margin-bottom: 6px; color: rgba(255,255,255,.74); text-decoration-color: rgba(255,255,255,.28); }
.footer-hotel-line { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 35px; padding-top: 27px; border-top: 1px solid var(--line-light); color: rgba(255,255,255,.55); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-hotel-line > p { margin: 0; }
.footer-hotel-line > a:last-child { justify-self: end; }
.footer-hotel-mark { display: flex; align-items: center; gap: 18px; text-decoration: none; }
.footer-hotel-mark img { width: 55px; }
.mobile-actions { display: none; }

.reveal-ready .reveal { opacity: 0; transform: translateY(27px); transition: opacity 1s var(--ease),transform 1s var(--ease); }
.reveal-ready .reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  :root { --shell: min(100% - 60px,1180px); }
  .site-header__inner { grid-template-columns: 1fr 185px 1fr; width: calc(100% - 42px); }
  .site-logo { width: 165px; }
  .site-nav .menu { gap: 17px; }
  .header-social { display: none; }
  .menu-manifesto__grid { grid-template-columns: 1fr 1.7fr; }
  .menu-manifesto .lead { grid-column: 2; }
}

@media (max-width: 860px) {
  :root { --shell: calc(100vw - 38px); --header: 74px; }
  .site-header,.site-header.is-scrolled { height: 74px; }
  .site-header__inner { grid-template-columns: 1fr auto 1fr; width: calc(100% - 30px); }
  .site-logo { width: 150px; }
  .site-header__actions { display: none; }
  .nav-toggle { position: relative; z-index: 1003; display: flex; align-items: center; gap: 10px; justify-self: end; padding: 8px 0; border: 0; color: inherit; background: transparent; }
  .nav-toggle__label { font-size: .57rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
  .nav-toggle__lines { display: grid; gap: 5px; width: 23px; }
  .nav-toggle__lines i { display: block; height: 1px; background: currentColor; transition: transform .3s; }
  .nav-toggle[aria-expanded="true"] .nav-toggle__lines i:first-child { transform: translateY(3px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] .nav-toggle__lines i:last-child { transform: translateY(-3px) rotate(-45deg); }
  .site-nav { position: fixed; z-index: 1001; inset: 0; display: flex; visibility: hidden; flex-direction: column; align-items: flex-start; justify-content: center; padding: 100px 9vw; color: var(--white); background: var(--black); opacity: 0; transition: opacity .35s,visibility .35s; }
  .site-nav.is-open { visibility: visible; opacity: 1; }
  .site-nav .menu { flex-direction: column; align-items: flex-start; gap: 18px; }
  .site-nav .menu a { font-family: var(--display); font-size: clamp(2.8rem,11vw,4.5rem); font-weight: 400; letter-spacing: -.02em; text-transform: none; }
  .site-nav .menu > li > a::after { display: none; }
  .site-nav__mobile-links { display: flex; flex-direction: column; gap: 6px; margin-top: 35px; padding-top: 24px; border-top: 1px solid var(--line-light); }
  .site-nav__mobile-links a { font-family: var(--sans); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; }
  .home-hero__center { width: min(680px,84vw); }
  .home-hero__bottom { grid-template-columns: 1fr; justify-items: center; gap: 13px; }
  .home-hero__bottom p:last-child { text-align: center; }
  .home-hero__bottom p:first-child { display: none; }
  .home-chapter,.home-chapter--cuisine,.home-film,.home-hotel__inner,.menu-portal__grid,.experience-story__grid,.experience-craft__grid,.experience-service__grid,.contact-directory__grid,.contact-hotel__grid { grid-template-columns: 1fr; gap: 55px; }
  .home-chapter--cuisine figure { order: 0; }
  .home-chapter__copy > span { margin-bottom: 27px; }
  .home-film__video { min-height: 76vh; }
  .home-film__copy { padding: 80px 30px 100px; }
  .home-gallery__heading { align-items: flex-start; flex-direction: column; }
  .home-hotel__logo { width: min(100%,460px); }
  .menu-manifesto__grid { grid-template-columns: 1fr; gap: 30px; }
  .menu-manifesto .lead { grid-column: auto; }
  .menu-feature { grid-template-columns: 1fr; min-height: 0; }
  .menu-feature--reverse figure { order: 0; }
  .menu-feature figure { min-height: 0; }
  .menu-feature figure img { aspect-ratio: 4/3; }
  .menu-feature__copy { padding: 70px 19px 90px; }
  .gallery-hero__grid,.contact-hero__grid { grid-template-columns: 1fr; }
  .gallery-hero__image,.contact-hero__image { width: 74%; margin-left: auto; }
  .gallery-chapter__heading { grid-template-columns: 1fr; gap: 14px; }
  .editorial-gallery { grid-auto-rows: 78px; gap: 11px; }
  .experience-materials__grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .experience-materials__main { grid-row: auto; }
  .contact-directory__intro { position: static; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-hotel-line { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .footer-hotel-line > a:last-child { justify-self: center; }
  .mobile-actions { position: fixed; z-index: 950; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: .72fr .88fr 1.2fr; min-height: 54px; color: var(--black); background: var(--gold); }
  .mobile-actions a { display: grid; place-items: center; border-right: 1px solid rgba(13,12,10,.2); font-size: .58rem; font-weight: 700; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
  .site-footer { padding-bottom: 78px; }
}

@media (max-width: 580px) {
  :root { --shell: calc(100vw - 28px); }
  .home-hero__center > p { max-width: 260px; }
  .home-hero__bottom div { gap: 20px; }
  .home-intro { padding-block: 110px; }
  .home-intro h1 { font-size: clamp(3.3rem,15vw,5rem); }
  .home-panorama figure img { height: 70vh; }
  .home-panorama__caption { flex-direction: column; gap: 5px; }
  .home-chapters { padding-block: 100px; }
  .home-chapters__heading { margin-bottom: 85px; }
  .home-chapters__heading h2,.home-gallery__heading h2,.home-hotel__copy h2 { font-size: clamp(3.3rem,14vw,5rem); }
  .home-chapter { margin-bottom: 110px; }
  .home-chapter figure img { aspect-ratio: 4/5; }
  .home-chapter__copy h3 { font-size: clamp(3.2rem,14vw,5rem); }
  .home-film__copy h2 { font-size: clamp(3.2rem,14vw,5rem); }
  .home-gallery__strip { display: flex; width: auto; padding-inline: 14px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .home-gallery__strip figure,.home-gallery__strip figure:nth-child(2) { flex: 0 0 82vw; margin-top: 0; scroll-snap-align: center; }
  .home-hotel__logo { padding: 33px; }
  .page-hero h1,.experience-hero h1,.gallery-hero h1,.contact-hero h1 { font-size: clamp(3.5rem,16vw,5.4rem); }
  .button-row { align-items: stretch; flex-direction: column; width: 100%; }
  .button-row .button { width: 100%; }
  .editorial-gallery { display: flex; flex-direction: column; }
  .editorial-gallery figure,.editorial-gallery__offset,.editorial-gallery__small { width: 100%; height: auto; margin: 0 !important; }
  .editorial-gallery figure img { aspect-ratio: 4/5; }
  .editorial-gallery__landscape img,.editorial-gallery__wide img { aspect-ratio: 4/3 !important; }
  .gallery-hero__image,.contact-hero__image { width: 100%; }
  .contact-list article { grid-template-columns: 28px 1fr; }
  .contact-list article > p,.contact-list article > a { grid-column: 2; }
  .map-card { top: auto; bottom: 18px; left: 14px; padding: 28px; transform: none; }
  .footer-links { grid-template-columns: 1fr 1fr; row-gap: 38px; }
  .footer-reservation h2 { font-size: clamp(4rem,17vw,6rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-ready .reveal { opacity: 1; transform: none; }
}

/* Version 4 — full navigation, stacked panels, ATICO identity */
.site-header__inner {
  grid-template-columns: 1fr 220px 1fr;
}

.nav-toggle {
  position: relative;
  z-index: 1003;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  justify-self: start;
  padding: 9px 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.nav-toggle__label {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.nav-toggle__lines {
  display: grid;
  gap: 6px;
  width: 27px;
}

.nav-toggle__lines i {
  display: block;
  height: 1px;
  background: currentColor;
  transition: transform .35s var(--ease);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__lines i:first-child {
  transform: translateY(3.5px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__lines i:last-child {
  transform: translateY(-3.5px) rotate(-45deg);
}

.header-app {
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}

.site-nav {
  position: fixed;
  z-index: 1001;
  inset: 0;
  display: block;
  visibility: hidden;
  color: var(--white);
  opacity: 0;
  transition: visibility .55s, opacity .55s;
}

.site-nav.is-open {
  visibility: visible;
  opacity: 1;
}

.site-nav__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5,5,4,.72);
  backdrop-filter: blur(9px);
}

.site-nav__panel {
  position: absolute;
  inset: 0 0 0 auto;
  display: grid;
  grid-template-columns: .7fr 1fr;
  grid-template-rows: 1fr auto;
  width: min(980px, 86vw);
  padding: clamp(110px,12vh,150px) clamp(50px,7vw,110px) 40px;
  background: var(--black);
  transform: translateX(4%);
  transition: transform .65s var(--ease);
}

.site-nav.is-open .site-nav__panel {
  transform: none;
}

.site-nav__identity {
  align-self: end;
  padding-right: 70px;
}

.site-nav__identity img {
  width: min(100%, 270px);
}

.site-nav__identity p {
  margin: 28px 0 0;
  color: rgba(255,255,255,.52);
  font-size: .61rem;
  letter-spacing: .12em;
  line-height: 1.9;
  text-transform: uppercase;
}

.site-nav__links {
  border-left: 1px solid var(--line-light);
  padding-left: clamp(45px,6vw,85px);
}

.nav-overline {
  margin-bottom: 28px;
  color: var(--gold);
  font-size: .57rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.site-nav .menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.site-nav .menu a {
  display: inline-block;
  padding-block: 2px;
  font-family: var(--display);
  font-size: clamp(2.25rem,3.5vw,4.3rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.02;
  text-transform: none;
  transition: color .25s, transform .35s var(--ease);
}

.site-nav .menu a::after {
  display: none;
}

.site-nav .menu a:hover {
  color: var(--gold);
  transform: translateX(8px);
}

.site-nav__foot {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 40px;
  padding-top: 26px;
  border-top: 1px solid var(--line-light);
}

.site-nav__foot div {
  display: flex;
  gap: 25px;
}

.site-nav__foot a {
  font-size: .57rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}

.panel-deck {
  position: relative;
  background: var(--black);
}

.scroll-panel {
  position: sticky;
  top: 0;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 -20px 55px rgba(0,0,0,.22);
}

.scroll-panel::after {
  position: absolute;
  z-index: 8;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: rgba(255,255,255,.16);
  content: "";
}

.panel-index {
  position: absolute;
  z-index: 9;
  right: 24px;
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .1em;
}

[data-panel-theme="dark"] .panel-index {
  color: rgba(255,255,255,.58);
}

[data-panel-theme="light"] .panel-index {
  color: rgba(13,12,10,.55);
}

.panel-index i {
  display: block;
  width: 30px;
  height: 1px;
  background: currentColor;
}

.panel-hero {
  color: var(--white);
  background: var(--black);
}

.panel-hero__media,
.panel-hero__shade {
  position: absolute;
  inset: 0;
}

.panel-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 47%;
  filter: saturate(.65) brightness(.7) contrast(1.06);
  transition: transform 1.4s var(--ease);
}

.panel-hero.is-active .panel-hero__media img {
  transform: scale(1.018);
}

.panel-hero__shade {
  background: linear-gradient(0deg,rgba(8,7,5,.76),transparent 50%,rgba(8,7,5,.28));
}

.panel-hero__center {
  position: absolute;
  z-index: 2;
  top: 49%;
  left: 50%;
  display: grid;
  width: min(680px,72vw);
  justify-items: center;
  transform: translate(-50%,-50%);
}

.panel-hero__center p {
  margin-bottom: 32px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .26em;
  text-align: center;
  text-transform: uppercase;
}

.panel-hero__center img {
  width: 100%;
}

.panel-hero__bottom {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 29px;
  left: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.panel-hero__bottom > span {
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.panel-hero__bottom > span:last-child {
  padding-right: 65px;
  text-align: right;
}

.panel-hero__bottom div {
  display: flex;
  gap: 31px;
}

.panel-hero__bottom a {
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(255,255,255,.6);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-decoration: none;
  text-transform: uppercase;
}

.panel-story {
  color: var(--black);
  background: var(--cream);
}

.panel-split {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  min-height: 100svh;
}

.panel-split__copy {
  display: flex;
  max-width: 690px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(100px,10vw,170px);
}

.panel-split__copy h1 {
  margin-bottom: 30px;
  font-size: clamp(3.7rem,5.5vw,6.7rem);
}

.panel-split__copy > p:not(.eyebrow) {
  max-width: 500px;
  margin-bottom: 34px;
}

.panel-split__image {
  min-height: 100svh;
  margin: 0;
  overflow: hidden;
}

.panel-split__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.7);
  transition: transform 1.2s var(--ease);
}

.scroll-panel.is-active .panel-split__image img {
  transform: scale(1.018);
}

.panel-link {
  display: inline-flex;
  gap: 15px;
  padding-bottom: 7px;
  border-bottom: 1px solid currentColor;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
}

.panel-link--light {
  color: var(--white);
}

.panel-feature {
  color: var(--white);
  background: var(--black);
}

.panel-feature__media,
.panel-feature__shade {
  position: absolute;
  inset: 0;
}

.panel-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.68) brightness(.66);
  transition: transform 1.4s var(--ease);
}

.panel-feature--sushi .panel-feature__media img {
  object-position: center 46%;
}

.panel-feature--cuisine .panel-feature__media img {
  object-position: center 54%;
}

.panel-feature.is-active .panel-feature__media img {
  transform: scale(1.022);
}

.panel-feature__shade {
  background: linear-gradient(90deg,rgba(8,7,5,.82),rgba(8,7,5,.15) 64%),linear-gradient(0deg,rgba(8,7,5,.48),transparent 55%);
}

.panel-feature--cuisine .panel-feature__shade {
  background: linear-gradient(270deg,rgba(8,7,5,.84),rgba(8,7,5,.08) 67%),linear-gradient(0deg,rgba(8,7,5,.45),transparent 55%);
}

.panel-feature__copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 100svh;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.panel-feature__copy--right {
  align-items: flex-start;
  padding-left: 54%;
}

.panel-feature__copy h2 {
  margin-bottom: 28px;
  font-size: clamp(4.3rem,7vw,8.6rem);
}

.panel-feature__copy > p:not(.eyebrow) {
  max-width: 450px;
  margin-bottom: 34px;
  color: rgba(255,255,255,.72);
}

.panel-film {
  display: grid;
  grid-template-columns: 1fr 1fr;
  color: var(--white);
  background: var(--black);
}

.panel-film__video {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
}

.panel-film__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.65) brightness(.78);
}

.panel-film__copy {
  display: flex;
  max-width: 760px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(80px,9vw,150px);
}

.panel-film__copy h2 {
  margin-bottom: 30px;
  font-size: clamp(3.8rem,5.7vw,7rem);
}

.panel-film__copy > p:not(.eyebrow) {
  max-width: 510px;
  margin-bottom: 36px;
  color: rgba(255,255,255,.65);
}

.panel-app {
  display: grid;
  grid-template-columns: 1fr 1fr;
  color: var(--black);
  background: var(--cream-2);
}

.panel-app__visual {
  position: relative;
  display: grid;
  min-height: 100svh;
  place-items: center;
  padding: 80px;
  background: var(--olive);
  overflow: hidden;
}

.panel-app__visual::before,
.panel-app__visual::after {
  position: absolute;
  width: 58%;
  aspect-ratio: 1;
  border: 1px solid rgba(212,183,122,.32);
  border-radius: 50%;
  content: "";
}

.panel-app__visual::after {
  width: 82%;
}

.panel-app__visual img {
  position: relative;
  z-index: 2;
  width: min(72%,500px);
}

.panel-app__visual span {
  position: absolute;
  right: 7%;
  bottom: 4%;
  color: rgba(255,255,255,.08);
  font-family: var(--display);
  font-size: clamp(9rem,18vw,20rem);
  line-height: .7;
}

.panel-app__copy {
  display: flex;
  max-width: 720px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(80px,9vw,150px);
}

.panel-app__copy h2 {
  margin-bottom: 29px;
  font-size: clamp(4rem,6.5vw,7.5rem);
}

.panel-app__copy > p:not(.eyebrow) {
  max-width: 490px;
  margin-bottom: 36px;
}

.panel-app__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.button--outline-ink {
  color: var(--black);
  border-color: rgba(13, 12, 10, .42);
  background: transparent;
}

.button--outline-ink:hover {
  color: var(--white);
  border-color: var(--black);
  background: var(--black);
}

.panel-app__outlet {
  margin-top: 18px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(13, 12, 10, .34);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
}

.panel-hotel {
  display: grid;
  grid-template-columns: .72fr 1fr;
  align-items: center;
  gap: clamp(70px,10vw,160px);
  padding-inline: max(6vw,50px);
  color: var(--white);
  background: var(--olive);
}

.panel-hotel__logo {
  display: grid;
  width: min(100%,480px);
  place-items: center;
  justify-self: end;
  padding: 55px;
  border: 1px solid rgba(212,183,122,.38);
}

.panel-hotel__logo img {
  width: min(100%,330px);
}

.panel-hotel__copy {
  max-width: 720px;
}

.panel-hotel__copy h2 {
  margin-bottom: 28px;
  font-size: clamp(4rem,6.5vw,7.5rem);
}

.panel-hotel__copy > p:not(.eyebrow) {
  max-width: 540px;
  margin-bottom: 35px;
  color: rgba(255,255,255,.7);
}

.panel-atico {
  color: var(--black);
  background: var(--cream);
}

.panel-atico__inner {
  display: grid;
  grid-template-columns: .7fr 1fr;
  align-items: center;
  gap: clamp(70px,11vw,180px);
  width: var(--shell);
  min-height: 100svh;
  margin-inline: auto;
}

.panel-atico__logo {
  display: grid;
  min-height: 45vh;
  place-items: center;
  padding: 55px;
  border: 1px solid var(--line-dark);
}

.panel-atico__logo img {
  width: min(100%,430px);
}

.panel-atico__copy h2 {
  margin-bottom: 28px;
  font-size: clamp(4rem,6.2vw,7.2rem);
}

.panel-atico__copy > p:not(.eyebrow) {
  max-width: 580px;
  margin-bottom: 35px;
}

/* ATICO page */
.atico-hero {
  display: grid;
  min-height: 100svh;
  place-items: center;
  padding: calc(var(--header) + 80px) 0 90px;
  color: var(--white);
  background: var(--black);
}

.atico-hero__inner {
  display: grid;
  justify-items: center;
  text-align: center;
}

.atico-hero__inner > img {
  width: min(500px,68vw);
  margin-bottom: 70px;
}

.atico-hero h1 {
  margin-bottom: 31px;
  font-size: clamp(4.4rem,8vw,9rem);
}

.atico-hero__inner > p:last-child {
  max-width: 640px;
  color: rgba(255,255,255,.65);
}

.atico-story,
.atico-services {
  padding-block: clamp(120px,14vw,210px);
  background: var(--cream);
}

.atico-story__grid {
  display: grid;
  grid-template-columns: 1fr .72fr;
  gap: clamp(70px,11vw,170px);
}

.atico-story h2,
.atico-services h2 {
  margin: 0;
  font-size: clamp(4rem,6.5vw,7.4rem);
}

.atico-story__grid > div:last-child p {
  margin-bottom: 28px;
}

.atico-hotel {
  padding-block: clamp(120px,14vw,210px);
  color: var(--white);
  background: var(--olive);
}

.atico-hotel__grid {
  display: grid;
  grid-template-columns: .55fr 1fr;
  align-items: center;
  gap: clamp(70px,11vw,180px);
}

.atico-hotel__mark {
  display: grid;
  place-items: center;
  padding: 55px;
  border: 1px solid rgba(212,183,122,.4);
}

.atico-hotel__mark img {
  width: min(100%,350px);
}

.atico-hotel h2 {
  margin-bottom: 30px;
  font-size: clamp(4rem,6.5vw,7.5rem);
}

.atico-hotel p:not(.eyebrow) {
  max-width: 560px;
  margin-bottom: 35px;
  color: rgba(255,255,255,.7);
}

.atico-services__head {
  margin-bottom: 90px;
}

.atico-services__links {
  border-top: 1px solid var(--line-dark);
}

.atico-services__links > a {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  align-items: center;
  gap: 30px;
  padding-block: 31px;
  border-bottom: 1px solid var(--line-dark);
  text-decoration: none;
}

.atico-services__links span {
  color: var(--gold-deep);
  font-size: .61rem;
  letter-spacing: .15em;
}

.atico-services__links strong {
  font-family: var(--display);
  font-size: clamp(2rem,3.4vw,4rem);
  font-weight: 400;
}

.atico-services__links i {
  font-size: .6rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* Footer v4 */
.site-footer {
  position: relative;
  z-index: 20;
  padding: 0 0 28px;
  color: var(--black);
  background: var(--cream-2);
}

.footer-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.footer-actions > a {
  position: relative;
  display: flex;
  min-height: 240px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 50px 7vw;
  text-decoration: none;
  transition: color .35s,background .35s;
}

.footer-actions > a:first-child {
  border-right: 1px solid var(--line-dark);
}

.footer-actions > a:hover {
  color: var(--white);
  background: var(--olive);
}

.footer-actions span {
  margin-bottom: 20px;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.footer-actions strong {
  font-family: var(--display);
  font-size: clamp(2.8rem,4.7vw,5.7rem);
  font-weight: 400;
  line-height: 1;
}

.footer-actions i {
  position: absolute;
  right: 7vw;
  bottom: 48px;
  font-style: normal;
  font-size: 1.2rem;
}

.footer-core {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 90px;
  padding-block: 85px;
}

.footer-brand > a {
  display: block;
  width: min(100%,320px);
}

.footer-brand img {
  width: 100%;
}

.footer-brand p {
  margin: 28px 0 0;
  color: rgba(13,12,10,.58);
  font-size: .65rem;
  letter-spacing: .1em;
  line-height: 1.9;
  text-transform: uppercase;
}

.footer-directory {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 40px;
  padding: 0;
}

.footer-directory > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-label {
  margin-bottom: 23px;
  color: var(--gold-deep);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.footer-directory address {
  margin-bottom: 14px;
  font-style: normal;
}

.footer-directory a {
  margin-bottom: 5px;
  text-decoration-color: rgba(13,12,10,.3);
}

.footer-partners {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.footer-partners > a {
  display: flex;
  min-height: 155px;
  align-items: center;
  gap: 35px;
  padding: 30px 0;
  text-decoration: none;
}

.footer-partners > a:first-child {
  border-right: 1px solid var(--line-dark);
}

.footer-partners span {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.footer-atico img {
  width: min(270px,55%);
}

.footer-alqasr {
  justify-content: flex-end;
  padding-left: 50px !important;
}

.footer-alqasr img {
  width: 92px;
}

.footer-legal {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding-top: 24px;
  font-size: .57rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer-legal p {
  margin: 0;
}

@media (max-width: 1000px) {
  .site-nav__panel {
    grid-template-columns: 1fr;
    width: min(700px,92vw);
  }
  .site-nav__identity {
    display: none;
  }
  .site-nav__links {
    border-left: 0;
    padding-left: 0;
  }
  .site-nav__foot {
    grid-column: 1;
  }
  .panel-split__copy {
    padding: 90px 55px;
  }
  .panel-feature__copy--right {
    padding-left: 45%;
  }
  .footer-core {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .site-header__inner {
    grid-template-columns: 1fr 145px 1fr;
  }
  .header-app {
    display: none;
  }
  .site-nav__panel {
    padding: 105px 30px 28px;
  }
  .site-nav .menu a {
    font-size: clamp(2.3rem,9.4vw,3.3rem);
  }
  .site-nav__foot {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
  .panel-index {
    right: 14px;
    bottom: 16px;
  }
  .panel-hero__center {
    width: 84vw;
  }
  .panel-hero__bottom {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
    padding-bottom: 25px;
  }
  .panel-hero__bottom > span:first-child {
    display: none;
  }
  .panel-hero__bottom > span:last-child {
    padding-right: 0;
  }
  .panel-split {
    grid-template-columns: 1fr;
  }
  .panel-split__copy {
    position: absolute;
    z-index: 2;
    inset: 0;
    justify-content: flex-end;
    padding: 100px 24px 90px;
    color: var(--white);
    background: linear-gradient(0deg,rgba(8,7,5,.88),transparent 68%);
  }
  .panel-split__copy h1 {
    font-size: clamp(3.2rem,13vw,4.7rem);
  }
  .panel-split__copy em {
    color: var(--gold);
  }
  .panel-split__image {
    grid-column: 1;
    grid-row: 1;
  }
  .panel-split__image img {
    filter: saturate(.67) brightness(.72);
  }
  .panel-link {
    color: inherit;
  }
  .panel-feature__copy,
  .panel-feature__copy--right {
    justify-content: flex-end;
    padding: 100px 24px 95px;
  }
  .panel-feature__copy h2 {
    font-size: clamp(3.6rem,15vw,5.5rem);
  }
  .panel-feature__shade,
  .panel-feature--cuisine .panel-feature__shade {
    background: linear-gradient(0deg,rgba(8,7,5,.9),transparent 72%);
  }
  .panel-film {
    grid-template-columns: 1fr;
  }
  .panel-film__video {
    grid-column: 1;
    grid-row: 1;
  }
  .panel-film__copy {
    position: absolute;
    z-index: 2;
    inset: 0;
    justify-content: flex-end;
    padding: 100px 24px 92px;
    background: linear-gradient(0deg,rgba(8,7,5,.94),transparent 70%);
  }
  .panel-film__copy h2 {
    font-size: clamp(3.3rem,14vw,5rem);
  }
  .panel-app {
    grid-template-columns: 1fr;
  }
  .panel-app__visual {
    min-height: 43svh;
  }
  .panel-app__copy {
    justify-content: flex-start;
    padding: 50px 24px 90px;
  }
  .panel-app__copy h2 {
    font-size: clamp(3.4rem,14vw,5rem);
  }
  .panel-hotel {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 35px;
    padding: 90px 24px;
  }
  .panel-hotel__logo {
    width: 45vw;
    justify-self: start;
    padding: 22px;
  }
  .panel-hotel__copy h2,
  .panel-atico__copy h2 {
    font-size: clamp(3.4rem,14vw,5rem);
  }
  .panel-atico__inner {
    grid-template-columns: 1fr;
    align-content: center;
    gap: 45px;
    padding-block: 90px;
  }
  .panel-atico__logo {
    min-height: 0;
    padding: 35px;
  }
  .atico-story__grid,
  .atico-hotel__grid {
    grid-template-columns: 1fr;
  }
  .atico-services__links > a {
    grid-template-columns: 40px 1fr;
  }
  .atico-services__links i {
    grid-column: 2;
  }
  .footer-actions {
    grid-template-columns: 1fr;
  }
  .footer-actions > a {
    min-height: 190px;
    padding: 40px 24px;
  }
  .footer-actions > a:first-child {
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }
  .footer-actions i {
    right: 24px;
    bottom: 35px;
  }
  .footer-directory {
    grid-template-columns: 1fr 1fr;
    row-gap: 38px;
  }
  .footer-partners {
    grid-template-columns: 1fr;
  }
  .footer-partners > a:first-child {
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }
  .footer-alqasr {
    justify-content: flex-start;
    padding-left: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-panel {
    position: relative;
  }
}

/* Version 5 — native navigation and book-page transitions */
.site-menu {
  position: relative;
  z-index: 1004;
  justify-self: start;
}

.site-menu > summary {
  list-style: none;
}

.site-menu > summary::-webkit-details-marker {
  display: none;
}

.site-menu[open] .nav-toggle {
  color: var(--white);
}

.site-menu[open] .nav-toggle__lines i:first-child {
  transform: translateY(3.5px) rotate(45deg);
}

.site-menu[open] .nav-toggle__lines i:last-child {
  transform: translateY(-3.5px) rotate(-45deg);
}

.site-menu__overlay {
  position: fixed;
  z-index: 1002;
  inset: 0;
  display: grid;
  grid-template-columns: .7fr 1fr;
  grid-template-rows: 1fr auto;
  padding: clamp(110px,12vh,150px) clamp(50px,7vw,110px) 40px;
  color: var(--white);
  background: rgba(13,12,10,.985);
  animation: menu-native-in .55s var(--ease) both;
}

@keyframes menu-native-in {
  from { opacity: 0; transform: translateY(-18px); }
  to { opacity: 1; transform: none; }
}

.site-menu__identity {
  align-self: end;
  padding-right: 70px;
}

.site-menu__identity img {
  width: min(100%,270px);
}

.site-menu__identity p {
  margin: 28px 0 0;
  color: rgba(255,255,255,.52);
  font-size: .61rem;
  letter-spacing: .12em;
  line-height: 1.9;
  text-transform: uppercase;
}

.site-menu__navigation {
  border-left: 1px solid var(--line-light);
  padding-left: clamp(45px,6vw,85px);
}

.site-menu__navigation .menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-menu__navigation .menu a {
  display: inline-block;
  padding-block: 2px;
  font-family: var(--display);
  font-size: clamp(2.25rem,3.5vw,4.3rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.02;
  text-decoration: none;
  transition: color .25s,transform .35s var(--ease);
}

.site-menu__navigation .menu a:hover {
  color: var(--gold);
  transform: translateX(8px);
}

.site-menu__foot {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 40px;
  padding-top: 26px;
  border-top: 1px solid var(--line-light);
}

.site-menu__foot div {
  display: flex;
  gap: 25px;
}

.site-menu__foot a {
  font-size: .57rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}

.panel-deck {
  position: relative;
  height: 100svh;
  overflow: hidden;
  perspective: 1800px;
  touch-action: none;
}

.scroll-panel {
  position: absolute !important;
  z-index: 1;
  inset: 0;
  width: 100%;
  min-height: 100svh;
  pointer-events: none;
  opacity: .15;
  clip-path: inset(100% 0 0 0);
  transform: translate3d(0,100%,0) rotateX(-8deg);
  transform-origin: 50% 100%;
  transition:
    transform .92s var(--ease),
    clip-path .92s var(--ease),
    opacity .65s ease,
    filter .92s var(--ease);
  will-change: transform,clip-path;
}

.scroll-panel.is-active {
  z-index: 4;
  pointer-events: auto;
  opacity: 1;
  clip-path: inset(0);
  transform: translate3d(0,0,0) rotateX(0);
  filter: none;
}

.scroll-panel.is-before {
  z-index: 3;
  opacity: .18;
  clip-path: inset(0 0 100% 0);
  transform: translate3d(0,-100%,0) rotateX(8deg);
  transform-origin: 50% 0;
  filter: brightness(.55);
}

.scroll-panel.is-after {
  z-index: 2;
  opacity: .18;
  clip-path: inset(100% 0 0 0);
  transform: translate3d(0,100%,0) rotateX(-8deg);
  transform-origin: 50% 100%;
  filter: brightness(.55);
}

.panel-deck[data-direction="forward"] .scroll-panel.is-active {
  animation: page-in-forward .92s var(--ease) both;
}

.panel-deck[data-direction="backward"] .scroll-panel.is-active {
  animation: page-in-backward .92s var(--ease) both;
}

@keyframes page-in-forward {
  from { clip-path: inset(100% 0 0 0); transform: translate3d(0,100%,0) rotateX(-9deg); }
  to { clip-path: inset(0); transform: translate3d(0,0,0) rotateX(0); }
}

@keyframes page-in-backward {
  from { clip-path: inset(0 0 100% 0); transform: translate3d(0,-100%,0) rotateX(9deg); }
  to { clip-path: inset(0); transform: translate3d(0,0,0) rotateX(0); }
}

.scroll-panel.is-active::before {
  position: absolute;
  z-index: 20;
  inset: 0;
  box-shadow: inset 0 28px 45px -35px rgba(0,0,0,.75), inset 0 -28px 45px -35px rgba(0,0,0,.75);
  content: "";
  pointer-events: none;
}

@media (max-width: 1000px) {
  .site-menu__overlay {
    grid-template-columns: 1fr;
  }
  .site-menu__identity {
    display: none;
  }
  .site-menu__navigation {
    border-left: 0;
    padding-left: 0;
  }
  .site-menu__foot {
    grid-column: 1;
  }
}

@media (max-width: 760px) {
  .site-menu__overlay {
    padding: 105px 30px 28px;
  }
  .site-menu__navigation .menu a {
    font-size: clamp(2.3rem,9.4vw,3.3rem);
  }
  .site-menu__foot {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .panel-deck {
    height: auto;
    overflow: visible;
    touch-action: auto;
  }
  .scroll-panel,
  .scroll-panel.is-active,
  .scroll-panel.is-before,
  .scroll-panel.is-after {
    position: relative !important;
    min-height: 100svh;
    pointer-events: auto;
    opacity: 1;
    clip-path: none;
    transform: none;
    filter: none;
    animation: none;
  }
}

/* Version 5.1 — isolated footer and deeper page-turn treatment */
.panel-deck {
  overscroll-behavior: contain;
  background: #050504;
}

.panel-deck::before,
.panel-deck::after {
  position: absolute;
  z-index: 12;
  right: 18px;
  left: 18px;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(212,183,122,.48) 20%,rgba(255,255,255,.22) 50%,rgba(212,183,122,.48) 80%,transparent);
  content: "";
  pointer-events: none;
}

.panel-deck::before { top: 6px; }
.panel-deck::after { bottom: 6px; }

.scroll-panel {
  inset: 7px;
  width: auto;
  height: calc(100svh - 14px);
  min-height: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  box-shadow: 0 22px 70px rgba(0,0,0,.42);
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.scroll-panel[data-panel-theme="light"] {
  border-color: rgba(13,12,10,.16);
}

.scroll-panel::after {
  z-index: 21;
  top: auto;
  height: 22px;
  background: linear-gradient(0deg,rgba(0,0,0,.18),transparent);
  opacity: .55;
  pointer-events: none;
}

.scroll-panel.is-turning-up {
  z-index: 8;
  animation: page-turn-up .96s var(--ease) both !important;
  box-shadow: 0 50px 100px rgba(0,0,0,.68), 0 -1px 0 rgba(255,255,255,.28);
}

.scroll-panel.is-turning-down {
  z-index: 8;
  animation: page-turn-down .96s var(--ease) both !important;
  box-shadow: 0 -50px 100px rgba(0,0,0,.68), 0 1px 0 rgba(255,255,255,.28);
}

.scroll-panel.is-turning-up::after,
.scroll-panel.is-turning-down::after {
  inset: 0;
  height: auto;
  background:
    linear-gradient(0deg,rgba(0,0,0,.66),transparent 31%),
    linear-gradient(180deg,rgba(255,255,255,.13),transparent 18%);
  opacity: 1;
  animation: page-fold-shadow .96s ease both;
}

@keyframes page-turn-up {
  0% {
    opacity: 1;
    clip-path: inset(0);
    transform: translate3d(0,0,0) rotateX(0) scale(1);
    transform-origin: 50% 0;
    filter: brightness(1);
  }
  44% {
    opacity: 1;
    clip-path: inset(0);
    transform: translate3d(0,-.7%,42px) rotateX(13deg) scale(.998);
    filter: brightness(.82);
  }
  100% {
    opacity: 0;
    clip-path: inset(0);
    transform: translate3d(0,-1.5%,0) rotateX(91deg) scale(.985);
    transform-origin: 50% 0;
    filter: brightness(.32);
  }
}

@keyframes page-turn-down {
  0% {
    opacity: 1;
    clip-path: inset(0);
    transform: translate3d(0,0,0) rotateX(0) scale(1);
    transform-origin: 50% 100%;
    filter: brightness(1);
  }
  44% {
    opacity: 1;
    clip-path: inset(0);
    transform: translate3d(0,.7%,42px) rotateX(-13deg) scale(.998);
    filter: brightness(.82);
  }
  100% {
    opacity: 0;
    clip-path: inset(0);
    transform: translate3d(0,1.5%,0) rotateX(-91deg) scale(.985);
    transform-origin: 50% 100%;
    filter: brightness(.32);
  }
}

@keyframes page-fold-shadow {
  0% { opacity: 0; }
  38% { opacity: 1; }
  100% { opacity: .2; }
}

/* The next sheet is already underneath; it settles into focus as the top sheet folds. */
@keyframes page-in-forward {
  from {
    opacity: .72;
    clip-path: inset(0);
    transform: translate3d(0,1.2%, -70px) scale(.978);
    filter: brightness(.58);
  }
  to {
    opacity: 1;
    clip-path: inset(0);
    transform: translate3d(0,0,0) scale(1);
    filter: none;
  }
}

@keyframes page-in-backward {
  from {
    opacity: .72;
    clip-path: inset(0);
    transform: translate3d(0,-1.2%, -70px) scale(.978);
    filter: brightness(.58);
  }
  to {
    opacity: 1;
    clip-path: inset(0);
    transform: translate3d(0,0,0) scale(1);
    filter: none;
  }
}

.panel-index {
  right: 18px;
  bottom: 17px;
  min-width: 92px;
  justify-content: center;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(8,7,5,.3);
  backdrop-filter: blur(10px);
}

[data-panel-theme="light"] .panel-index {
  border-color: rgba(13,12,10,.18);
  background: rgba(241,236,226,.64);
}

.scroll-panel.is-active .panel-index i {
  animation: panel-progress .9s var(--ease) both;
}

@keyframes panel-progress {
  from { transform: scaleX(.15); transform-origin: left; }
  to { transform: scaleX(1); transform-origin: left; }
}

.scroll-panel.is-active .panel-feature__copy,
.scroll-panel.is-active .panel-film__copy,
.scroll-panel.is-active .panel-app__copy,
.scroll-panel.is-active .panel-hotel__copy,
.scroll-panel.is-active .panel-atico__copy {
  animation: panel-content-in .82s .16s var(--ease) both;
}

@keyframes panel-content-in {
  from { opacity: 0; transform: translateY(34px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 760px) {
  .scroll-panel {
    inset: 4px;
    height: calc(100svh - 8px);
    border-radius: 12px;
  }
  .panel-index {
    right: 10px;
    bottom: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-panel,
  .scroll-panel.is-turning-up,
  .scroll-panel.is-turning-down {
    inset: 0;
    width: 100%;
    height: auto;
    min-height: 100svh;
    border-radius: 0;
    animation: none !important;
  }
}

/* Version 6 — practical visit card, closing footer card, and flash page turns */
.header-menu-link,
.header-app {
  position: relative;
  padding-block: 7px;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}

.header-menu-link {
  color: var(--gold);
}

.header-menu-link::after {
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
}

.panel-visit {
  color: var(--black);
  background: var(--cream);
}

.panel-visit__layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  min-height: 100%;
}

.panel-visit__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(105px,10vh,145px) clamp(48px,6vw,105px) clamp(50px,6vh,80px);
}

.panel-visit__copy h1 {
  max-width: 650px;
  margin: 0 0 clamp(22px,3.2vh,38px);
  font-size: clamp(3.4rem,4.7vw,5.75rem);
  line-height: .89;
}

.visit-facts {
  width: min(100%,620px);
  border-top: 1px solid var(--line-dark);
}

.visit-facts > div {
  display: grid;
  grid-template-columns: 135px 1fr;
  gap: 18px;
  align-items: start;
  padding: clamp(10px,1.55vh,17px) 0;
  border-bottom: 1px solid var(--line-dark);
}

.visit-facts span,
.panel-closing__directory span,
.panel-closing__partners span {
  color: var(--gold-deep);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.visit-facts strong,
.visit-facts a {
  font-size: .82rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.55;
}

.panel-visit__actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: clamp(20px,3vh,34px);
}

.panel-visit__image {
  min-height: 100%;
  margin: 0;
  overflow: hidden;
}

.panel-visit__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  filter: saturate(.72) contrast(1.02);
}

.panel-closing {
  color: var(--white);
  background:
    radial-gradient(circle at 8% 18%,rgba(212,183,122,.11),transparent 34%),
    var(--black);
}

.panel-closing__inner {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  grid-template-rows: 1fr auto;
  column-gap: clamp(55px,8vw,130px);
  min-height: 100%;
  padding-top: clamp(110px,12vh,150px);
  padding-bottom: clamp(28px,4vh,48px);
}

.panel-closing__lead {
  align-self: center;
}

.panel-closing__lead h2 {
  max-width: 680px;
  margin-bottom: clamp(26px,4vh,45px);
  font-size: clamp(4rem,5.5vw,6.7rem);
  line-height: .9;
}

.panel-closing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.panel-closing__directory {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: clamp(22px,3vw,52px);
  align-self: center;
}

.panel-closing__directory > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 19px;
  border-top: 1px solid var(--line-light);
}

.panel-closing__directory span {
  margin-bottom: 18px;
  color: var(--gold);
}

.panel-closing__directory p,
.panel-closing__directory a {
  margin: 0 0 6px;
  color: rgba(255,255,255,.68);
  font-size: .72rem;
  line-height: 1.7;
}

.panel-closing__partners {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: clamp(28px,5vw,75px);
  padding-top: clamp(20px,3vh,34px);
  border-top: 1px solid var(--line-light);
}

.panel-closing__partners > a {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
}

.panel-closing__partners img {
  width: 145px;
  max-height: 46px;
  object-fit: contain;
}

.panel-closing__partners > a:nth-child(2) img {
  width: 47px;
  max-height: 52px;
}

.panel-closing__partners > p {
  justify-self: end;
  margin: 0;
  color: rgba(255,255,255,.42);
  font-size: .53rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Fast, decisive page change instead of a long smooth slide. */
.scroll-panel {
  transition-duration: .34s,.34s,.2s,.34s;
  transition-timing-function: cubic-bezier(.82,0,.18,1);
}

.panel-deck[data-direction="forward"] .scroll-panel.is-active,
.panel-deck[data-direction="backward"] .scroll-panel.is-active,
.scroll-panel.is-turning-up,
.scroll-panel.is-turning-down,
.scroll-panel.is-turning-up::after,
.scroll-panel.is-turning-down::after {
  animation-duration: .34s !important;
  animation-timing-function: cubic-bezier(.82,0,.18,1) !important;
}

.panel-deck.is-flashing .scroll-panel.is-active::before {
  animation: panel-flash .24s steps(2,end) both;
}

@keyframes panel-flash {
  0% { background: rgba(255,248,225,.26); }
  42% { background: rgba(212,183,122,.09); }
  100% { background: transparent; }
}

.scroll-panel.is-active .panel-feature__copy,
.scroll-panel.is-active .panel-film__copy,
.scroll-panel.is-active .panel-app__copy,
.scroll-panel.is-active .panel-hotel__copy,
.scroll-panel.is-active .panel-atico__copy,
.scroll-panel.is-active .panel-visit__copy,
.scroll-panel.is-active .panel-closing__lead,
.scroll-panel.is-active .panel-closing__directory,
.scroll-panel.is-active .panel-closing__partners {
  animation-duration: .24s;
  animation-delay: .02s;
  animation-timing-function: steps(3,end);
}

@media (max-width: 1180px) {
  .header-app { display: none; }
  .panel-visit__copy { padding-inline: 45px; }
  .panel-closing__inner { column-gap: 45px; }
  .panel-closing__directory { grid-template-columns: 1fr 1fr; }
  .panel-closing__directory > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .site-header__actions { display: flex; }
  .header-app,
  .header-book { display: none; }
  .header-menu-link span { display: none; }
  .panel-visit__layout { grid-template-columns: 1fr; }
  .panel-visit__copy {
    position: relative;
    z-index: 2;
    justify-content: flex-end;
    padding: 95px 24px 78px;
    color: var(--white);
    background: linear-gradient(0deg,rgba(8,7,5,.96),rgba(8,7,5,.58) 72%,rgba(8,7,5,.32));
  }
  .panel-visit__copy h1 { font-size: clamp(3rem,12vw,4.6rem); }
  .panel-visit__image { position: absolute; inset: 0; }
  .visit-facts { border-color: var(--line-light); }
  .visit-facts > div { border-color: var(--line-light); }
  .visit-facts span { color: var(--gold); }
  .panel-visit__actions .button--ink { color: var(--black); background: var(--gold); }
  .panel-closing__inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    align-content: center;
    gap: 24px;
    padding-top: 92px;
    padding-bottom: 68px;
  }
  .panel-closing__lead h2 { margin-bottom: 22px; font-size: clamp(3.15rem,12vw,4.6rem); }
  .panel-closing__directory { grid-template-columns: repeat(3,1fr); }
  .panel-closing__directory > div:last-child { grid-column: auto; }
  .panel-closing__partners { grid-column: 1; }
}

@media (max-width: 620px), (max-height: 700px) {
  .panel-visit__copy { padding-top: 82px; padding-bottom: 60px; }
  .panel-visit__copy .eyebrow { margin-bottom: 10px; }
  .panel-visit__copy h1 { margin-bottom: 14px; font-size: clamp(2.7rem,10.8vw,3.75rem); }
  .visit-facts > div { grid-template-columns: 102px 1fr; padding-block: 8px; }
  .panel-visit__actions { margin-top: 16px; }
  .panel-visit__actions .button { min-height: 44px; padding: 11px 16px; }
  .panel-closing__inner { gap: 16px; padding-top: 84px; padding-bottom: 62px; }
  .panel-closing__lead .eyebrow { margin-bottom: 10px; }
  .panel-closing__lead h2 { margin-bottom: 15px; font-size: clamp(2.8rem,11vw,3.75rem); }
  .panel-closing__actions .button { min-height: 42px; padding: 10px 15px; }
  .panel-closing__directory { grid-template-columns: 1fr 1fr; gap: 12px; }
  .panel-closing__directory > div { padding-top: 9px; }
  .panel-closing__directory > div:last-child {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 14px;
  }
  .panel-closing__directory > div:last-child span { width: 100%; }
  .panel-closing__directory span { margin-bottom: 5px; }
  .panel-closing__directory p,
  .panel-closing__directory a { margin-bottom: 2px; font-size: .64rem; line-height: 1.45; }
  .panel-closing__partners { grid-template-columns: 1fr 1fr; gap: 15px; padding-top: 12px; }
  .panel-closing__partners > a { gap: 9px; }
  .panel-closing__partners img { width: 85px; max-height: 31px; }
  .panel-closing__partners > a:nth-child(2) img { width: 28px; max-height: 34px; }
  .panel-closing__partners > p { display: none; }
}

/* Version 6.1 — header contrast follows the active card. */
.site-header.is-on-light {
  color: var(--black);
  border-bottom-color: rgba(13,12,10,.2);
}

.site-header.is-on-light .site-logo img {
  filter: brightness(.12) saturate(.55);
}

.site-header.is-on-light .header-menu-link {
  color: #765a2b;
}

.site-header.is-on-light .header-book {
  border-color: rgba(13,12,10,.42);
}

.site-header.is-on-light .nav-toggle__lines i {
  background: var(--black);
}

body.nav-open .site-header {
  color: var(--white);
  border-bottom-color: rgba(255,255,255,.2);
}

body.nav-open .site-header .site-logo img {
  filter: none;
}

body.nav-open .site-header .header-menu-link {
  color: var(--gold);
}

body.nav-open .site-header .nav-toggle__lines i {
  background: var(--white);
}
