/*
 * Design "Zen": quiet and minimal, light throughout.
 *
 * Rice paper, sumi ink, moss green as the one accent. Shippori Mincho for display,
 * Work Sans for text. Hairlines instead of boxes, no shadows, square corners, a lot of
 * empty paper, small moss squares as the only ornament.
 *
 * Its own layouts (not Classic's with new colours):
 *   header   computers: a slim RAIL down the left edge - Menu at the top, the name set
 *            vertically, Book at the foot - the page beside it; tablets: a slim top bar;
 *            the menu opens as a full calm page at every width (variant nav: drawer)
 *   footer   the name set vertically at the left, quiet columns of links beside it,
 *            the sister hotels as a plain list
 *   pages    asymmetric: the title in the paper at the left, the photograph at the right
 *   home     GroupHome.astro / HotelHome.astro in this folder
 *
 * Every rule is scoped to html[data-design="zen"].
 *
 * Contrast (WCAG AA, checked): ink #22231F on #F6F4EE 14.9:1; body #45463F 9.2:1;
 * muted #6B6B62 5.2:1; moss #556347 on paper 6.0:1; white on moss 6.6:1.
 */

/* ---------- tokens ---------- */
html[data-design="zen"]{
  --zn-moss:#556347;
  --zn-moss-deep:#45523A;
  --zn-rail:96px;

  --paper:#F6F4EE;
  --paper-2:#EEEBE2;
  --white:#FBFAF6;
  --ink:#22231F;
  --ink-soft:#33342F;
  --text:#45463F;
  --muted:#6B6B62;
  --line:#DEDAD0;
  --sand:var(--zn-moss);
  --sand-deep:var(--zn-moss-deep);
  --sand-text:var(--zn-moss);
  --sand-tint:#E6E9E0;

  --f-display:"Shippori Mincho", "Hiragino Mincho ProN", Georgia, serif;
  --f-body:"Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --radius:0px;
  --radius-lg:0px;
  --radius-btn:0px;
  --shadow:none;
  --shadow-soft:none;
}
html[data-design="zen"] body,
html[data-design="zen"] body[class]{
  --accent:var(--zn-moss);
  --accent-strong:var(--zn-moss);
  --accent-text:var(--zn-moss);
  --on-accent:#FFFFFF;
  --accent-tint:rgba(85,99,71,.10);
  background:var(--paper);
  color:var(--text);
}

/* ---------- type ---------- */
html[data-design="zen"] :is(h1,h2,h3){font-family:var(--f-display);font-weight:500;letter-spacing:.01em;color:var(--ink)}
html[data-design="zen"] h1{line-height:1.2}
html[data-design="zen"] h2{line-height:1.3}
html[data-design="zen"] :is(.hero__inner,.p-hero__inner) :is(h1,h2,h3){color:#fff}
html[data-design="zen"] .eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-body);font-size:.75rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--zn-moss)}
html[data-design="zen"] .eyebrow::before{content:"";display:inline-block;width:7px;height:7px;background:var(--zn-moss);border:0}
html[data-design="zen"] :focus-visible{outline:2px solid var(--zn-moss);outline-offset:3px}
html[data-design="zen"] .zn-link{display:inline-flex;align-items:center;min-height:44px;font-size:.88rem;font-weight:500;letter-spacing:.06em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--zn-moss)}
html[data-design="zen"] .zn-link:hover{color:var(--zn-moss)}
html[data-design="zen"] .zn-more{margin-top:2rem}
html[data-design="zen"] .zn-dots{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem 0;margin:.8rem 0 0;padding:0;color:var(--text)}
html[data-design="zen"] .zn-dots li{display:inline-flex;align-items:center}
html[data-design="zen"] .zn-dots li + li::before{content:"";display:inline-block;width:3px;height:3px;margin:0 .8rem;background:var(--zn-moss)}
html[data-design="zen"] .zn-dots--center{justify-content:center}
html[data-design="zen"] .zn-quiet{list-style:none;margin:1.6rem 0 0;padding:0}

/* ---------- shape and buttons ---------- */
html[data-design="zen"] body *{border-radius:0}
html[data-design="zen"] body :is(.hero__dot,.thing-pin__dot,.photo-pin,.photo-pin__img,.leaflet-marker-icon,.cal__day,.stepper button,.drawer-close,.rail-arrow,.edge-arrow,.aw-ring){border-radius:50%}
html[data-design="zen"] .btn{font-family:var(--f-body);font-weight:500;letter-spacing:.08em;text-transform:none}
html[data-design="zen"] :is(.btn--primary,.btn--accent){background:var(--zn-moss);border-color:var(--zn-moss);color:#fff}
html[data-design="zen"] :is(.btn--primary,.btn--accent):hover{background:var(--zn-moss-deep);border-color:var(--zn-moss-deep);color:#fff;filter:none}
html[data-design="zen"] :is(.btn--outline,.btn--accent-outline,.btn--light){background:transparent;color:var(--ink);border:1px solid var(--ink)}
html[data-design="zen"] :is(.btn--outline,.btn--accent-outline,.btn--light):hover{background:var(--ink);color:var(--paper)}
html[data-design="zen"] .btn--dark{background:var(--zn-moss);border-color:var(--zn-moss);color:#fff}
html[data-design="zen"] body :is(.card__tag,.offer__badge,.offer-badge,.rtile__tag,.dine__badge,.compare__badge,.chip[aria-pressed="true"],.faq-filter button[aria-pressed="true"],.cal__done,.offer-cta,.rc-badge){background:var(--zn-moss);border-color:var(--zn-moss);color:#fff}
html[data-design="zen"] body :is(.offer-row,.rcard){--rc:var(--zn-moss)!important}
html[data-design="zen"] :is(.card,.rcard,.room,.offer,.facility,.dine,.booking__card,.router__card,.compare__card,.loc,.stat,.dx-facts,.ex-card,.faq details){box-shadow:none}

/* ---------- light everywhere ---------- */
html[data-design="zen"] :is(.section--ink,.cta,.footstrip,.p-topbar,.aw-band,.g-cta,.p-facts,.faq-band){background:var(--paper);color:var(--text)}
html[data-design="zen"] :is(.section--ink,.cta,.aw-band,.g-cta) :is(h1,h2,h3){color:var(--ink)}
html[data-design="zen"] :is(.section--ink,.cta,.aw-band,.g-cta) :is(p,li){color:var(--text)}
html[data-design="zen"] :is(.section--ink,.cta,.aw-band) .eyebrow{color:var(--zn-moss)}
html[data-design="zen"] .section--tint{background:var(--paper-2)}
html[data-design="zen"] .hero__overlay{background:linear-gradient(180deg,rgba(34,35,31,.3),rgba(34,35,31,.12) 40%,rgba(34,35,31,.4))}

/* =====================================================================
   HEADER. Computers: a slim rail down the left edge (Menu, the name set
   vertically, Book). Tablets: a slim top bar. Phones keep their bar.
   The menu is a drawer at every width (design.json variant nav: drawer).
   ===================================================================== */
html[data-design="zen"] body #siteHeader,
html[data-design="zen"] body #siteHeader.is-transparent{background:var(--paper)!important;backdrop-filter:none!important;border-bottom:1px solid var(--line)!important;box-shadow:none}
html[data-design="zen"] body #siteHeader::before{display:none!important}
html[data-design="zen"] body #siteHeader :is(.p-mainnav,.p-topbar){background:transparent!important;backdrop-filter:none!important}
html[data-design="zen"] body #siteHeader :is(.nav-links>li>a,.nav-links>li>button,.nav-toggle,.brand,.p-mainmenu>li>a,.p-burger,.p-mainnav__brand,.p-sub-toggle,.p-topbar a,.p-topbar button,.logo-text){color:var(--ink)!important;text-shadow:none}
html[data-design="zen"] body #siteHeader .lang-menu__btn{background:transparent!important;border-color:var(--line)!important;color:var(--ink)!important}
html[data-design="zen"] body #siteHeader :is(.p-mainnav__logo,.brand__logo){filter:invert(1)!important}
html[data-design="zen"] body #siteHeader .logo-text{font-family:var(--f-display);font-weight:500;letter-spacing:.04em}
html[data-design="zen"] :is(.p-burger,.nav-toggle){display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-width:44px;min-height:44px;background:none;border:0;cursor:pointer}
html[data-design="zen"] .p-burger__label{font-size:.75rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
@media (max-width:720px){
  html[data-design="zen"] .p-burger__label{display:none}
}
@media (min-width:721px){
  html[data-design="zen"] body[data-resort] #siteHeader .p-topbar{display:none}
  html[data-design="zen"] body #siteHeader .nav-inline{display:none}
  html[data-design="zen"] body #siteHeader .p-mainnav__inner{height:68px}
  html[data-design="zen"] body #siteHeader .p-mainnav__lang{display:flex}
  html[data-design="zen"] body.no-hero-header #main{padding-top:68px!important}
}
@media (min-width:1121px){
  html[data-design="zen"] body{padding-left:var(--zn-rail)}
  html[data-design="zen"] body #siteHeader,
  html[data-design="zen"] body #siteHeader.is-transparent{position:fixed!important;top:0;left:0;bottom:0;right:auto;width:var(--zn-rail);height:100vh;border-bottom:0!important;border-right:1px solid var(--line)!important;z-index:1000}
  html[data-design="zen"] body.drawer-open #siteHeader{z-index:1250}
  html[data-design="zen"] body #siteHeader :is(.p-mainnav,.nav-shell){height:100%}
  html[data-design="zen"] body #siteHeader :is(.p-mainnav__inner,.nav){height:100%;max-width:none;padding:1.2rem 0 1.4rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem}
  html[data-design="zen"] body #siteHeader :is(.p-mainnav__right,.nav-cta){display:contents}
  html[data-design="zen"] body #siteHeader :is(.p-burger,.nav-toggle){order:1;flex-direction:column;gap:.45rem}
  html[data-design="zen"] body #siteHeader :is(.p-mainnav__brand,.brand){order:2;flex:1;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;white-space:nowrap}
  html[data-design="zen"] body #siteHeader :is(.p-mainnav__logo-text,.logo-text){font-size:1.35rem;letter-spacing:.12em}
  html[data-design="zen"] body #siteHeader :is(.p-mainnav__cta,.nav-cta > .btn--primary){order:3;writing-mode:vertical-rl;min-height:0;padding:1.1rem .7rem;font-size:.8rem;letter-spacing:.14em}
  html[data-design="zen"] body #siteHeader :is(.p-mainnav__lang,.nav-cta .lang-menu){order:4}
  html[data-design="zen"] body #siteHeader .cta-short{display:none}
  html[data-design="zen"] body #siteHeader .cta-long{display:inline}
  html[data-design="zen"] body.no-hero-header #main{padding-top:0!important}
}

/* The menu: a full calm page. */
html[data-design="zen"] body #pMenu[data-drawer="always"],
html[data-design="zen"] body .site-header--drawer .nav-drawer{position:fixed;top:0;right:0;bottom:0;left:0;width:auto;height:100dvh;background:var(--paper);box-shadow:none;border:0;overflow-y:auto;overscroll-behavior:contain;transform:none;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s linear .35s;z-index:1200;writing-mode:horizontal-tb}
html[data-design="zen"] body #pMenu[data-drawer="always"][data-open="true"],
html[data-design="zen"] body .site-header--drawer .nav-drawer[data-open="true"]{opacity:1;visibility:visible;transition:opacity .35s var(--ease),visibility 0s}
html[data-design="zen"] body.drawer-open .drawer-scrim{background:transparent}
/* The base hides the close button on wide screens (the menu is a row there); as a
   full page it must show at every width. */
html[data-design="zen"] body #pMenu[data-drawer] .drawer-close{display:inline-flex;align-items:center;justify-content:center}
html[data-design="zen"] :is(#pMenu,.nav-drawer) .drawer-close{position:absolute;top:1.4rem;right:var(--gutter);width:48px;height:48px;background:transparent;color:var(--ink);border:1px solid var(--line)}
html[data-design="zen"] body #pMenu[data-drawer="always"]{display:block;padding:6rem max(var(--gutter),calc((100vw - 900px) / 2)) 3rem}
html[data-design="zen"] #pMenu[data-drawer] li{border:0}
html[data-design="zen"] body #pMenu[data-drawer] > li:not(.p-menu-extra,.p-menu-cta,.p-menu-contact){border-bottom:1px solid var(--line)}
html[data-design="zen"] body #pMenu[data-drawer] > li:not(.p-menu-extra,.p-menu-cta,.p-menu-contact) > a{display:block;padding:1rem 0;font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:.02em;text-transform:none;color:var(--ink);white-space:normal}
html[data-design="zen"] body #pMenu[data-drawer] a::after,
html[data-design="zen"] body #pMenu[data-drawer] .has-sub > a::before{display:none}
html[data-design="zen"] body #pMenu[data-drawer] > li > a:is(:hover,[aria-current="page"]){color:var(--zn-moss)}
html[data-design="zen"] #pMenu[data-drawer] .p-sub-toggle{display:none}
html[data-design="zen"] body #pMenu[data-drawer] .p-submenu{position:static;display:flex;flex-wrap:wrap;gap:0 1.6rem;max-height:none;overflow:visible;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;min-width:0;padding:0 0 .9rem;transition:none}
html[data-design="zen"] body #pMenu[data-drawer] .p-submenu a{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text)}
html[data-design="zen"] body #pMenu[data-drawer] .has-sub > a{padding-right:0}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-extra{display:block}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-extra__head{padding:2rem 0 .6rem;font-size:.75rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--zn-moss)}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-extra a{display:flex;align-items:center;gap:1rem;min-height:48px;padding:.5rem 0;font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);border-bottom:1px solid var(--line)}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-extra img{width:64px;height:44px;object-fit:cover;flex:none}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-extra small{display:block;font-size:.8rem;color:var(--muted)}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-cta{display:block;padding:2rem 0 .6rem}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-cta a{display:flex;justify-content:center;align-items:center;min-height:52px}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-contact{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:0}
html[data-design="zen"] body #pMenu[data-drawer] .p-menu-contact a{display:flex;justify-content:center;align-items:center;min-height:48px}
html[data-design="zen"] body .site-header--drawer .nav-drawer .wrap{max-width:900px;padding:6rem var(--gutter) 3rem}
html[data-design="zen"] body .site-header--drawer .nav-drawer__resorts{display:block}
html[data-design="zen"] body .site-header--drawer .nav-drawer__list li{border:0}
html[data-design="zen"] body .site-header--drawer .nav-drawer__head{padding:2rem 0 .6rem;font-size:.75rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--zn-moss)}
html[data-design="zen"] body .site-header--drawer .nav-drawer__list > li:not(.nav-drawer__head):not(.nav-drawer__resorts) > a{display:block;padding:1rem 0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--ink)}
html[data-design="zen"] body .site-header--drawer .nav-drawer__resort{display:flex;align-items:center;gap:1rem;min-height:56px;padding:.5rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
html[data-design="zen"] body .site-header--drawer .nav-drawer__resort img{width:72px;height:50px;object-fit:cover;flex:none}
html[data-design="zen"] body .site-header--drawer .nav-drawer__resort small{display:block;font-size:.8rem;color:var(--muted)}
html[data-design="zen"] body .site-header--drawer .nav-drawer__actions{margin-top:2rem;padding:0}

/* =====================================================================
   FOOTER: the name set vertically at the left; quiet columns beside it;
   the sister hotels as a plain list.
   ===================================================================== */
html[data-design="zen"] .site-footer{background:var(--paper);color:var(--text);border-top:1px solid var(--line);padding-block:clamp(72px,9vw,128px) 1.6rem}
html[data-design="zen"] .site-footer a{color:var(--ink)}
html[data-design="zen"] .site-footer a:hover{color:var(--zn-moss)}
html[data-design="zen"] .site-footer :is(p,.footer__note){color:var(--text)}
html[data-design="zen"] .site-footer .footer__logo{filter:invert(1)}
html[data-design="zen"] body .site-footer .footer__h{font-family:var(--f-body);font-size:.75rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--zn-moss)}
html[data-design="zen"] body .site-footer .footer__logo-text{font-family:var(--f-display);font-weight:500;font-size:clamp(1.6rem,2.2vw,2rem);letter-spacing:.06em;color:var(--ink)}
html[data-design="zen"] body .site-footer .footer__grid li a{display:inline-flex;align-items:center;min-height:36px}
html[data-design="zen"] body .site-footer .footer__legal a{display:inline-flex;align-items:center;min-height:44px;color:var(--text)}
html[data-design="zen"] body .site-footer :is(.footer__bottom,.footer__bottom a){color:var(--muted)}
html[data-design="zen"] body .site-footer :is(.footer__legal-row,.footer__bottom){border-color:var(--line)}
@media (min-width:901px){
  html[data-design="zen"] body .site-footer .footer__grid{grid-template-columns:auto repeat(auto-fit,minmax(170px,1fr));gap:2rem 4rem;align-items:start}
  html[data-design="zen"] body .site-footer .footer__grid > div:first-child{display:flex;gap:1.6rem;align-items:flex-start;grid-row:span 2}
  html[data-design="zen"] body .site-footer .footer__grid > div:first-child :is(.footer__logo-text,.logo-text){writing-mode:vertical-rl;font-size:clamp(1.9rem,2.6vw,2.6rem);letter-spacing:.14em;line-height:1.2}
  html[data-design="zen"] body .site-footer .footer__grid > div:first-child p{max-width:22ch;font-size:.92rem;line-height:1.9;margin:0}
}
html[data-design="zen"] body .site-footer .footsib{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.6rem}
html[data-design="zen"] body .site-footer .footsib__lbl{font-size:.75rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--zn-moss)}
html[data-design="zen"] body .site-footer .footsib__row{display:flex;align-items:baseline;gap:1.2rem;padding:.8rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
html[data-design="zen"] body .site-footer :is(.footsib__thumb,.footsib__arw){display:none}
html[data-design="zen"] body .site-footer .footsib__name{font-family:var(--f-display);font-weight:500;font-size:1.15rem;color:var(--ink)}
html[data-design="zen"] body .site-footer .footsib__desc{margin:0 0 0 auto;text-align:right;font-size:.88rem;color:var(--muted)}
/* The strip above the group footer: small, quiet photographs with captions. */
html[data-design="zen"] .footstrip{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.4rem;padding:clamp(3rem,5vw,4.4rem) var(--gutter) 0;border-top:1px solid var(--line)}
html[data-design="zen"] .footstrip + .site-footer{border-top:0}
html[data-design="zen"] .footstrip a{display:flex;flex-direction:column;gap:.6rem;aspect-ratio:auto;overflow:visible}
html[data-design="zen"] .footstrip a::after{display:none}
html[data-design="zen"] .footstrip img{aspect-ratio:4/5;height:auto;filter:saturate(.8)}
html[data-design="zen"] .footstrip a:hover img{transform:none;filter:none}
html[data-design="zen"] .footstrip span{position:static;color:var(--ink);text-shadow:none;font-family:var(--f-display);font-size:1rem;font-weight:500;letter-spacing:.04em}

/* =====================================================================
   INNER PAGE HERO: asymmetric - the title in the paper at the left, the
   photograph at the right.
   ===================================================================== */
html[data-design="zen"] body .p-pagehead{background:var(--paper);color:var(--text);overflow:visible}
html[data-design="zen"] body .p-pagehead__img{opacity:1}
html[data-design="zen"] body .p-pagehead__inner{text-align:left}
html[data-design="zen"] body .p-pagehead h1{color:var(--ink);font-size:clamp(2.2rem,4.4vw,3.6rem);text-shadow:none}
html[data-design="zen"] body .p-pagehead .eyebrow{justify-content:flex-start;color:var(--zn-moss)}
html[data-design="zen"] body .p-pagehead__inner > p:not(.eyebrow){color:var(--text);margin-inline:0;max-width:40ch;line-height:1.9}
@media (min-width:901px){
  html[data-design="zen"] body .p-pagehead{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);min-height:clamp(380px,48vw,600px);padding-top:68px}
  html[data-design="zen"] body .p-pagehead__img{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;min-height:clamp(380px,46vw,560px)}
  html[data-design="zen"] body .p-pagehead__inner,
  html[data-design="zen"] body[data-resort] .p-pagehead__inner{grid-column:1;grid-row:1;align-self:end;max-width:none;margin:0;padding:3rem 3rem clamp(2.4rem,4vw,3.6rem) var(--gutter)}
  html[data-design="zen"] body .p-pagehead:not(:has(.p-pagehead__img)){display:block;min-height:0}
}
@media (min-width:1121px){
  html[data-design="zen"] body .p-pagehead{padding-top:0}
}
@media (max-width:900px){
  html[data-design="zen"] body .p-pagehead{display:flex;flex-direction:column;padding-top:64px}
  html[data-design="zen"] body .p-pagehead__img{position:static;order:-1;height:240px}
  html[data-design="zen"] body .p-pagehead__inner,
  html[data-design="zen"] body[data-resort] .p-pagehead__inner{padding:1.8rem var(--gutter) 2rem}
}
/* Hero insets: the top bar on tablets, none beside the rail on computers. */
@media (min-width:721px){
  html[data-design="zen"] body .hero__inner{padding-top:110px}
}

/* =====================================================================
   SHARED SECTION PIECES: hairlines, quiet type, a vertical label.
   ===================================================================== */
@media (min-width:901px){
  html[data-design="zen"] .section__head:not(.center){display:grid;grid-template-columns:2.4rem minmax(0,1fr);column-gap:1.6rem;max-width:56rem;margin-inline:0;text-align:left}
  html[data-design="zen"] .section__head:not(.center) > *{grid-column:2}
  html[data-design="zen"] .section__head:not(.center) .eyebrow{grid-column:1;grid-row:1 / span 3;writing-mode:vertical-rl;align-self:start;justify-self:center;margin:0;padding-top:.4rem;flex-direction:row}
  html[data-design="zen"] .section__head h2{font-size:clamp(2rem,3.2vw,2.8rem)}
  html[data-design="zen"] .section{padding-block:clamp(84px,10vw,150px)}
}
html[data-design="zen"] .section__head.center{text-align:center;margin-inline:auto!important}
html[data-design="zen"] .p-crumbs{font-size:.8rem;letter-spacing:.04em}
html[data-design="zen"] .p-crumbs a{color:var(--zn-moss);display:inline-flex;align-items:center;min-height:44px}

/* Key facts: a hairline list with moss squares. */
html[data-design="zen"] body .p-keyfacts{background:none;border:0;border-top:1px solid var(--line);padding:0}
html[data-design="zen"] body .p-keyfacts li{align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
html[data-design="zen"] body .p-keyfacts svg{display:none}
html[data-design="zen"] body .p-keyfacts li::before{content:"";flex:none;width:6px;height:6px;background:var(--zn-moss)}

/* Facilities: a plain two-column list, no boxes, no icons. */
html[data-design="zen"] body .facilities{gap:0 3rem;border-top:1px solid var(--line)}
html[data-design="zen"] body .facility{background:none;border:0;border-bottom:1px solid var(--line);padding:1.3rem 0}
html[data-design="zen"] body .facility__ic{display:none}
html[data-design="zen"] body .facility h3{font-family:var(--f-display);font-weight:500;font-size:1.2rem}
html[data-design="zen"] body .facility:hover{transform:none}
@media (min-width:721px){
  html[data-design="zen"] body .facilities{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Offers: no box - hairlines above and below, the photograph to one side. */
html[data-design="zen"] body .offer-list .offer-row{background:none;box-shadow:none}
html[data-design="zen"] body .offer-row{background:none;box-shadow:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:1.6rem 0}
html[data-design="zen"] body .offer-media{border-right:0}
html[data-design="zen"] body .offer-body h3{font-weight:500}
@media (min-width:721px){
  html[data-design="zen"] body .offer-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-areas:"body media" "band band";column-gap:3rem}
  html[data-design="zen"] body .offer-body{padding:0}
  html[data-design="zen"] body .offer-media{aspect-ratio:4/5}
}

/* "With every booking": three quiet columns. */
html[data-design="zen"] body .perks-ribbon{background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.6rem 0}
html[data-design="zen"] body .perks-ribbon__head{font-size:.75rem;font-weight:500;letter-spacing:.22em;color:var(--zn-moss)}
html[data-design="zen"] body .perk__ic{background:none;border:0;width:auto;height:auto;color:var(--zn-moss)}
html[data-design="zen"] body .perk b{font-family:var(--f-display);font-weight:500;font-size:1.1rem;color:var(--ink)}

/* Room tiles: staggered photographs, the caption beneath (computers/tablets). */
@media (min-width:721px){
  html[data-design="zen"] body .roombento{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-auto-rows:auto;gap:2.4rem;align-items:start}
  html[data-design="zen"] body .rtile{grid-column:auto;grid-row:auto;display:flex;flex-direction:column;min-height:0;overflow:visible;background:none;color:var(--text)}
  html[data-design="zen"] body .roombento > .rtile:nth-child(even){margin-top:5rem}
  html[data-design="zen"] body .rtile img{position:relative;inset:auto;height:auto;aspect-ratio:4/5}
  html[data-design="zen"] body .rtile:hover img{transform:none}
  html[data-design="zen"] body .rtile__scrim{display:none}
  html[data-design="zen"] body .rtile__body{position:static;padding:1rem 0 0}
  html[data-design="zen"] body .rtile h3{color:var(--ink);font-size:1.35rem;font-weight:500}
  html[data-design="zen"] body .rtile__tag{background:none!important;color:var(--zn-moss)!important;padding:0;letter-spacing:.18em;margin:0 0 .3rem}
  html[data-design="zen"] body .rtile__desc{max-height:none;opacity:1;margin:.3rem 0 0;color:var(--text)}
  html[data-design="zen"] body .rtile__link{color:var(--ink);text-transform:none;letter-spacing:.06em;min-height:44px;border-bottom:1px solid var(--zn-moss)}
  html[data-design="zen"] body .rtile--nomedia{background:none}
}

/* The booking panel: plain paper between hairlines, left-aligned. */
html[data-design="zen"] body .section--ink{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media (min-width:901px){
  html[data-design="zen"] body .section--ink .section__head{text-align:left!important;margin:0!important}
  html[data-design="zen"] body .section--ink .section__head .eyebrow{justify-content:flex-start!important}
  html[data-design="zen"] body .section--ink > .wrap > div:last-child{text-align:left!important}
}

/* Attractions: a quiet list. */
html[data-design="zen"] body .attr-row{border-top:1px solid var(--line);padding:1.4rem 0}
html[data-design="zen"] body .attr-idx{font-family:var(--f-display);color:var(--zn-moss);font-size:1.2rem}
html[data-design="zen"] body .attr-thumb:not(:has(img)){display:none}
html[data-design="zen"] body .attr-main h3{font-weight:500;font-size:1.25rem}
html[data-design="zen"] body .attr-dist{color:var(--muted)}
html[data-design="zen"] body .attr-dist svg{color:var(--zn-moss)}

/* Questions: one quiet column. */
html[data-design="zen"] body :is(.faqx__item,.faq details){background:none;border:0;border-bottom:1px solid var(--line)}
html[data-design="zen"] body :is(.faqx__item,.faq details) summary{font-family:var(--f-display);font-weight:500;font-size:1.1rem;padding:1.1rem 0;background:none}
html[data-design="zen"] body .faq-band{border-top:1px solid var(--line)}

/* Gallery: photographs at different heights. */
@media (min-width:721px){
  html[data-design="zen"] body .gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:2rem;align-items:start}
  html[data-design="zen"] body .gallery a{box-shadow:none}
  html[data-design="zen"] body .gallery a:nth-child(3n+1){aspect-ratio:4/5}
  html[data-design="zen"] body .gallery a:nth-child(3n+2){aspect-ratio:1;margin-top:4rem}
  html[data-design="zen"] body .gallery a:nth-child(3n){aspect-ratio:3/4;margin-top:1.6rem}
}

/* Address panels, awards, facts: hairlines only. */
html[data-design="zen"] body .p-location__card{background:none;border:0;border-top:1px solid var(--ink);box-shadow:none;padding-left:0;padding-right:0}
html[data-design="zen"] body .aw-band{min-height:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html[data-design="zen"] body .aw-band > img,
html[data-design="zen"] body .aw-band::after{display:none}
html[data-design="zen"] body .aw-band :is(h2,.aw-score span){color:var(--ink)}
html[data-design="zen"] body .aw-band .aw-ring{color:var(--ink);background:transparent;border-color:var(--zn-moss)}
html[data-design="zen"] body .aw-band__logo{filter:none}
html[data-design="zen"] body .aw-band__in > div > p{color:var(--text)}
html[data-design="zen"] body .dx-facts{background:none;border:0;border-top:1px solid var(--ink)}

/* =====================================================================
   HOMEPAGE (GroupHome.astro) AND HOTEL PAGE (HotelHome.astro)
   ===================================================================== */
/* Hero: the photograph at the right, the words in the paper at the left. */
@media (min-width:1025px){
  html[data-design="zen"] .zn-hero{background:var(--paper);min-height:min(92vh,880px);display:flex}
  html[data-design="zen"] .zn-hero .hero__bg{left:36%}
  html[data-design="zen"] .zn-hero .hero__overlay{display:none}
  html[data-design="zen"] body .zn-hero .hero__inner{width:100%;max-width:none;margin:0;justify-content:center;padding:clamp(72px,8vw,120px) calc(64% + 3rem) clamp(72px,8vw,120px) max(var(--gutter),3rem);text-shadow:none}
  html[data-design="zen"] body .zn-hero :is(h1,h2){color:var(--ink)}
  html[data-design="zen"] body .zn-hero h1{font-size:clamp(2.2rem,3vw,3rem);max-width:none;text-shadow:none}
  html[data-design="zen"] body .zn-hero .hero__eyebrow{color:var(--zn-moss);font-size:.75rem;letter-spacing:.22em}
  html[data-design="zen"] body .zn-quiet{display:grid;gap:0;border-top:1px solid var(--line);color:var(--text)}
  html[data-design="zen"] body .zn-quiet li{padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--text)}
  html[data-design="zen"] .zn-hero__links{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin-top:1.4rem}
  html[data-design="zen"] .zn-hero__links a{display:inline-flex;align-items:center;min-height:44px;font-size:.88rem;letter-spacing:.06em;color:var(--ink);border-bottom:1px solid var(--zn-moss)}
  html[data-design="zen"] body .zn-hero :is(.hero__dot,.hero__pause){color:var(--ink)}
  html[data-design="zen"] body .zn-hero .hero__dot::before{background:rgba(34,35,31,.3)}
  html[data-design="zen"] body .zn-hero .hero__dot[aria-current="true"]::before{background:var(--ink)}
  html[data-design="zen"] body .zn-booking{margin-top:0}
}
@media (max-width:1024px){
  html[data-design="zen"] .zn-hero__links{display:none}
  html[data-design="zen"] .zn-quiet{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem}
  html[data-design="zen"] body .zn-hero .hero__overlay{background:linear-gradient(180deg,rgba(34,35,31,.48),rgba(34,35,31,.5) 50%,rgba(34,35,31,.6))}
}
/* FIRST SCREEN: the booking form always sits fully on the first screen. Computers: no
   overlap, card 204px + 16px -> hero = 100svh - 220px; the words get a wider column and
   the facts and links run on single lines on short screens. Tablets use the base rule. */
@media (min-width:1025px){
  html[data-design="zen"] body .zn-hero{min-height:min(880px,calc(100svh - 220px))}
  html[data-design="zen"] .zn-hero .hero__bg{left:44%}
  html[data-design="zen"] body .zn-hero .hero__inner{min-height:0;padding:40px calc(56% + 3rem) 40px max(var(--gutter),3rem)}
}
@media (min-width:1025px) and (max-width:1120px){
  html[data-design="zen"] body .zn-hero .hero__inner{padding-top:96px}
  html[data-design="zen"] body .zn-hero{min-height:min(880px,calc(100svh - 220px))}
}
@media (min-width:1025px) and (max-height:960px){
  html[data-design="zen"] body .zn-hero h1{font-size:clamp(2rem,5vh,3rem)}
  html[data-design="zen"] body .zn-quiet{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;border-top:0;margin-top:1rem}
  html[data-design="zen"] body .zn-quiet li{padding:0;border:0}
  html[data-design="zen"] .zn-hero__links{flex-direction:row;flex-wrap:wrap;gap:0 1.4rem;margin-top:.6rem}
}
html[data-design="zen"] .zn-booking .booking__card{background:var(--white);border:1px solid var(--line);box-shadow:none}

/* Welcome: a narrow centred column. */
html[data-design="zen"] .zn-welcome{text-align:center}
html[data-design="zen"] .zn-welcome .eyebrow{justify-content:center}
html[data-design="zen"] .zn-welcome h2{font-size:clamp(1.8rem,3vw,2.5rem);max-width:22ch;margin:1rem auto 1.4rem}
html[data-design="zen"] .zn-welcome__body{max-width:36rem;margin:0 auto}
html[data-design="zen"] .zn-welcome__body p{font-size:1.02rem;line-height:2.05;color:var(--text)}

/* Stepping stones (phones: the swipe row of cards). */
html[data-design="zen"] .zn-stone{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);color:var(--text);text-decoration:none}
html[data-design="zen"] .zn-stone__media{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--paper-2)}
html[data-design="zen"] .zn-stone__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
html[data-design="zen"] .zn-stone:hover .zn-stone__media img{transform:scale(1.02)}
html[data-design="zen"] .zn-stone__body{display:flex;flex-direction:column;padding:1rem 1rem 1.2rem;flex:1}
html[data-design="zen"] .zn-stone__place{display:block;margin:0;font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--zn-moss)}
html[data-design="zen"] .zn-stone h3{margin:.4rem 0 .4rem;font-size:1.45rem}
html[data-design="zen"] .zn-stone h3 a{color:var(--ink);text-decoration:none}
html[data-design="zen"] .zn-stone__desc{display:block;margin:0 0 .8rem;font-size:.95rem;line-height:1.8;color:var(--text)}
html[data-design="zen"] .zn-stone__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;margin-top:auto}
html[data-design="zen"] .zn-stone.is-nomedia .zn-stone__media{display:none}
@media (min-width:721px){
  html[data-design="zen"] body .zn-stones{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1.2rem,2vw,2rem);row-gap:clamp(2rem,4vw,3.6rem);margin-top:3rem}
  html[data-design="zen"] body .zn-stones > .zn-stone{background:none;border:0;box-shadow:none;transform:none}
  html[data-design="zen"] body .zn-stones > .zn-stone .zn-stone__body{padding:1.2rem 0 0}
  html[data-design="zen"] body .zn-stones > .zn-stone:nth-child(4n+1){grid-column:1 / 7}
  html[data-design="zen"] body .zn-stones > .zn-stone:nth-child(4n+2){grid-column:8 / 13;margin-top:9rem}
  html[data-design="zen"] body .zn-stones > .zn-stone:nth-child(4n+3){grid-column:2 / 7}
  html[data-design="zen"] body .zn-stones > .zn-stone:nth-child(4n){grid-column:8 / 12;margin-top:7rem}
  html[data-design="zen"] body .zn-stones > .zn-stone:last-child:nth-child(4n+1){grid-column:4 / 10}
}

/* Finder: a plain list, the match beside its photograph. */
html[data-design="zen"] .zn-finder .router__result{background:none;border:0}
@media (min-width:721px){
  html[data-design="zen"] .zn-finder__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start;margin-top:2.4rem}
  html[data-design="zen"] body .zn-list{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}
  html[data-design="zen"] body .zn-list .chip{justify-content:flex-start;min-height:54px;padding:0;background:none;border:0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-size:1.15rem;font-weight:500;color:var(--muted);transform:none}
  html[data-design="zen"] body .zn-list .chip::before{content:"";width:7px;height:7px;margin-right:.9rem;background:transparent;border:1px solid var(--line)}
  html[data-design="zen"] body .zn-list .chip[aria-pressed="true"]{background:none;color:var(--ink);border-color:var(--line)}
  html[data-design="zen"] body .zn-list .chip[aria-pressed="true"]::before{background:var(--zn-moss);border-color:var(--zn-moss)}
  html[data-design="zen"] .zn-finder__answer .match.is-current{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 2.4rem;align-items:end}
  html[data-design="zen"] .zn-finder__answer .match__thumb{grid-row:1 / span 2;width:100%;height:auto;aspect-ratio:4/5}
  html[data-design="zen"] .zn-finder__answer .match__body h3{font-size:clamp(1.6rem,2.4vw,2.2rem)}
  html[data-design="zen"] .zn-finder__answer .match__cta{flex-direction:row;align-items:center;gap:1.2rem;margin-top:1rem}
}
/* Computers: the list beside the answer; tablets stack them, the list as a row. */
@media (min-width:1025px){
  html[data-design="zen"] .zn-finder__grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr);gap:clamp(2rem,5vw,4.5rem)}
}
@media (min-width:721px) and (max-width:1024px){
  html[data-design="zen"] body .zn-list{flex-direction:row;flex-wrap:wrap;gap:0 1.6rem;border-top:0}
}
@media (max-width:720px){
  html[data-design="zen"] body #routerResult.zn-finder__answer{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
}

/* The price list: offers as text under hairlines. */
html[data-design="zen"] .zn-price{display:flex;flex-direction:column;gap:.4rem;background:var(--white);border:1px solid var(--line);padding:1.2rem}
html[data-design="zen"] .zn-price__where{display:flex;flex-direction:column;margin:0;font-family:var(--f-display);font-size:1.2rem;color:var(--ink)}
html[data-design="zen"] .zn-price__where .beach{font-family:var(--f-body);font-size:.75rem;letter-spacing:.2em;color:var(--zn-moss)}
html[data-design="zen"] .zn-price .offer__name{margin:0;font-family:var(--f-body);font-size:1rem;font-weight:500;color:var(--ink)}
html[data-design="zen"] .zn-price .zn-dots{margin:.3rem 0 0;font-size:.9rem}
html[data-design="zen"] body .zn-price__figure .offer__badge{position:static;display:inline-block;background:none!important;border:0!important;color:var(--zn-moss)!important;padding:0;font-family:var(--f-display);font-size:clamp(1.5rem,2vw,1.9rem)!important;font-weight:500;letter-spacing:0;line-height:1.2;text-transform:none}
html[data-design="zen"] .zn-price__figure{margin:0}
html[data-design="zen"] .zn-price__book{align-self:flex-start}
@media (min-width:721px){
  html[data-design="zen"] .zn-prices{display:block;margin-top:2.6rem;border-top:1px solid var(--ink)}
  html[data-design="zen"] body .zn-price{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,.7fr) auto;align-items:baseline;gap:1.6rem;padding:1.5rem 0;background:none;border:0;border-bottom:1px solid var(--line)}
  html[data-design="zen"] .zn-price__figure{text-align:right}
}

/* Scores: a quiet row of figures. */
html[data-design="zen"] .zn-scores{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:2.4rem 0 0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html[data-design="zen"] .zn-scores li{flex:1 1 160px;display:flex;flex-direction:column;padding:1.6rem 1.2rem}
html[data-design="zen"] .zn-scores li + li{border-left:1px solid var(--line)}
html[data-design="zen"] .zn-scores b{font-family:var(--f-display);font-size:clamp(2.2rem,3.4vw,2.8rem);font-weight:500;color:var(--ink);line-height:1.1}
html[data-design="zen"] .zn-scores span{margin-top:.4rem;color:var(--ink)}
html[data-design="zen"] .zn-scores small{color:var(--muted)}
html[data-design="zen"] .zn-scores__award{margin-top:1.4rem;color:var(--text)}

/* Questions: one column. */
html[data-design="zen"] .zn-faq .faq__grid{max-width:780px}

/* Close: small, quiet. */
html[data-design="zen"] body .zn-close{text-align:left;border-top:1px solid var(--line)}
html[data-design="zen"] .zn-close h2{font-size:clamp(1.8rem,3vw,2.6rem);max-width:20ch;margin-inline:0}
html[data-design="zen"] .zn-close p{margin-inline:0;max-width:44ch}
html[data-design="zen"] .zn-close__media{margin-top:2rem}
html[data-design="zen"] body .zn-close__media img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;position:static}
@media (min-width:721px){
  html[data-design="zen"] .zn-close__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(3rem,8vw,8rem);align-items:end}
  html[data-design="zen"] .zn-close__media{margin-top:0}
}
html[data-design="zen"] .zn-note__small{margin-top:.8rem;font-size:.88rem;color:var(--muted)}

/* Hotel page: facts in a quiet row. */
html[data-design="zen"] .zn-facts{list-style:none;display:flex;flex-wrap:wrap;margin:clamp(2.4rem,4vw,3.4rem) 0 0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html[data-design="zen"] .zn-facts li{flex:1 1 150px;display:flex;flex-direction:column;padding:1.3rem 1rem}
html[data-design="zen"] .zn-facts li + li{border-left:1px solid var(--line)}
@media (max-width:720px){
  html[data-design="zen"] .zn-facts li{flex:1 1 50%}
  html[data-design="zen"] .zn-facts li + li{border-left:0}
  html[data-design="zen"] .zn-facts li:nth-child(even){border-left:1px solid var(--line)}
  html[data-design="zen"] .zn-facts li:nth-child(n+3){border-top:1px solid var(--line)}
}
html[data-design="zen"] .zn-facts b{font-family:var(--f-display);font-size:clamp(1.8rem,2.8vw,2.4rem);font-weight:500;color:var(--ink);line-height:1.2}
html[data-design="zen"] .zn-facts span{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--zn-moss);margin-top:.3rem}

/* Hotel page: facilities as a plain list. */
html[data-design="zen"] .zn-plain{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;gap:0 3rem;border-top:1px solid var(--line)}
html[data-design="zen"] .zn-plain li{padding:1.3rem 0;border-bottom:1px solid var(--line)}
html[data-design="zen"] .zn-plain h3{display:flex;align-items:center;gap:.8rem;margin:0 0 .3rem;font-size:1.2rem}
html[data-design="zen"] .zn-plain h3::before{content:"";flex:none;width:7px;height:7px;background:var(--zn-moss)}
html[data-design="zen"] .zn-plain p{margin:0 0 0 1.25rem;font-size:.95rem;line-height:1.8;color:var(--text)}
@media (min-width:721px){
  html[data-design="zen"] .zn-plain{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Hotel page: restaurants - a wide photograph with a paper note over a corner. */
html[data-design="zen"] .zn-note{background:var(--white);border:1px solid var(--line)}
html[data-design="zen"] .zn-note__media{aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}
html[data-design="zen"] .zn-note__media img{width:100%;height:100%;object-fit:cover}
html[data-design="zen"] .zn-note__body{padding:1.2rem 1.2rem 1.4rem}
html[data-design="zen"] .zn-note h3{margin:.4rem 0;font-size:clamp(1.6rem,2.4vw,2.2rem)}
html[data-design="zen"] .zn-note__hours{margin:0 0 .6rem;color:var(--muted);font-size:.92rem}
html[data-design="zen"] .zn-note__body > p{line-height:1.9;color:var(--text)}
@media (min-width:721px){
  html[data-design="zen"] .zn-notes{display:grid;gap:clamp(4rem,8vw,7rem);margin-top:3rem}
  html[data-design="zen"] .zn-note{position:relative;background:none;border:0}
  html[data-design="zen"] .zn-note__media{aspect-ratio:21/9}
  html[data-design="zen"] .zn-note__body{position:relative;width:min(520px,60%);margin:-6rem 0 0 3rem;background:var(--paper);padding:2rem 2.2rem}
  html[data-design="zen"] .zn-note:nth-child(even) .zn-note__body{margin-left:auto;margin-right:3rem}
}

/* Hotel page: three photographs at different sizes and heights. */
html[data-design="zen"] .zn-trio a{display:block;overflow:hidden;background:var(--paper-2)}
html[data-design="zen"] .zn-trio img{width:100%;height:100%;object-fit:cover}
@media (max-width:720px){
  html[data-design="zen"] .zn-trio > a{height:260px}
}
@media (min-width:721px){
  html[data-design="zen"] .zn-trio{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:clamp(1.2rem,2.4vw,2.4rem);align-items:start;margin-top:3rem}
  html[data-design="zen"] .zn-trio a:nth-child(1){aspect-ratio:4/5}
  html[data-design="zen"] .zn-trio a:nth-child(2){aspect-ratio:1;margin-top:5rem}
  html[data-design="zen"] .zn-trio a:nth-child(3){aspect-ratio:3/4;margin-top:10rem}
}

/* Hotel page: the map at the left, the details at the right. */
html[data-design="zen"] .zn-where__map{position:relative;z-index:0;height:320px}
html[data-design="zen"] .zn-where__map #resort-map{width:100%;height:100%;filter:grayscale(.4)}
html[data-design="zen"] .zn-where__card{margin-top:1.6rem;border-top:1px solid var(--ink);padding-top:1.2rem}
html[data-design="zen"] .zn-where__card h3{font-size:1.5rem;margin:0 0 .6rem}
html[data-design="zen"] .zn-where__card address{font-style:normal;color:var(--ink);line-height:1.8}
html[data-design="zen"] .zn-where__contact{list-style:none;margin:.8rem 0 0;padding:0;border-top:1px solid var(--line)}
html[data-design="zen"] .zn-where__contact li{border-bottom:1px solid var(--line)}
html[data-design="zen"] .zn-where__contact a{display:inline-flex;align-items:center;min-height:48px;color:var(--ink)}
html[data-design="zen"] .zn-where__go{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;margin-top:1.2rem}
@media (min-width:901px){
  html[data-design="zen"] .zn-where__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2.4rem,5vw,4.5rem);align-items:start;margin-top:2.6rem}
  html[data-design="zen"] .zn-where__map{height:clamp(440px,44vw,560px)}
  html[data-design="zen"] .zn-where__card{margin-top:0}
}

@media (prefers-reduced-motion:reduce){
  html[data-design="zen"] *{transition:none!important}
}
