*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F7F2EB}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- tokens ---------- */
.site{
  --ruby:#962D27;--ruby-d:#5E1A1D;--basalt:#2A2522;--oak:#55603F;--stone:#F7F2EB;--sand:#E9DFD2;--honey:#C59A55;
  --ink2:#6B625B;--ink3:#4F4741;--line:#DCCFC0;--paper:#FFFCF7;--season:#B4602E;
  --sans:"Assistant","Liberation Sans",Arial,sans-serif;
  --display:"Secular One","Assistant",Arial,sans-serif;
  --serif:var(--sans);
  --logo:"Gveret Levin","Assistant",serif;--logo-w:400;
  --hs:.9;
  --max:1200px;
  --edge:max(48px, calc((100cqi - var(--max)) / 2));
  --gut:24px;
  --sec:120px;
  container-type:inline-size;container-name:site;
  direction:rtl;position:relative;overflow-x:clip;
  font-family:var(--sans);font-size:18px;line-height:1.7;color:var(--basalt);background:var(--stone);
  -webkit-font-smoothing:antialiased;
}
.site[data-season="winter"],.site[data-season="snow"]{--season:#7E9BB0}
.site[data-season="spring"]{--season:#C9677E}
.site[data-season="summer"]{--season:#D19A3C}
.site[data-season="autumn"]{--season:#B4602E}

:where(.site) a{color:inherit}
:where(.site) h1,:where(.site) h2,:where(.site) h3,:where(.site) p,:where(.site) figure,:where(.site) blockquote,:where(.site) dl,:where(.site) dd{margin:0}
:where(.site) ul,:where(.site) ol{margin:0;padding:0;list-style:none}
:where(.site) button{font:inherit;color:inherit}
.site :focus-visible{outline:2.5px solid var(--season);outline-offset:3px}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.site [hidden]{display:none!important}
.ltr{direction:ltr;unicode-bidi:isolate}
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:100;background:#fff;color:var(--basalt);padding:10px 16px;border-radius:10px;font-weight:600}
.skip:focus{top:12px}
.site section[id],.site main{scroll-margin-top:16px}

/* ---------- layout system: one edge, one 12-column grid ---------- */
.wrap{width:calc(100% - 2 * var(--edge));margin-inline:auto}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}
.g12>.side{grid-column:1 / span 4}
.g12>.main{grid-column:6 / -1}
.g12>.half-a{grid-column:1 / span 6}
.g12>.half-b{grid-column:8 / -1}
.h2{font-family:var(--display);font-weight:500;font-size:calc(var(--hs) * 58px);line-height:1.06;letter-spacing:-.01em;text-wrap:balance}
.lede{color:var(--ink2);font-size:18px;line-height:1.65}
.sec-head{align-items:end;margin-bottom:48px}
.sec-head .lede{max-width:30em}
.ic{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ic.bold{stroke-width:2}
.contours{fill:none;stroke:currentColor;stroke-width:1;pointer-events:none}
.mark{fill:currentColor}

/* snow-day banner */
.snowbar{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;background:#1F2B33;color:#fff;padding:12px var(--edge);font-size:16px;line-height:1.4;text-align:center}
.snowbar a{font-weight:600;text-underline-offset:4px}

/* ---------- hero ---------- */
.hero{position:relative;height:880px;color:#fff;overflow:hidden;background:#3B3531;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-img{width:100%;height:100%;object-fit:cover;display:block}
.tint{position:absolute;inset:0;background:var(--season);mix-blend-mode:soft-light;opacity:.5}
.site[data-season="winter"] .hero-img,.site[data-season="snow"] .hero-img{filter:saturate(.6) brightness(.96) contrast(1.04)}
.site[data-season="autumn"] .hero-img{filter:saturate(1.08) sepia(.12)}
.site[data-season="summer"] .hero-img{filter:saturate(1.12) brightness(1.03)}
.site[data-season="spring"] .tint{opacity:.3}
.shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(30,25,23,.9) 0%,rgba(30,25,23,.6) 30%,rgba(30,25,23,.08) 60%,rgba(30,25,23,.42) 100%)}
.glow{position:absolute;inset:0;background:radial-gradient(55% 45% at 12% 18%,rgba(255,190,110,.42),transparent 70%);mix-blend-mode:screen}

.fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.pt{position:absolute;top:-30px;display:block;will-change:transform;animation:fall linear infinite}
.fx-snow .pt{border-radius:50%;background:#fff}
.fx-petals .pt{border-radius:100% 0 100% 0;animation-name:drift}
.fx-leaves .pt{border-radius:0 100% 0 100%;animation-name:drift}
.fx.is-paused .pt{animation-play-state:paused}
@keyframes fall{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(16px,240px,0)}50%{transform:translate3d(-12px,480px,0)}75%{transform:translate3d(14px,720px,0)}100%{transform:translate3d(0,960px,0)}}
@keyframes drift{0%{transform:translate3d(0,0,0) rotate(0)}25%{transform:translate3d(-46px,240px,0) rotate(110deg)}50%{transform:translate3d(18px,480px,0) rotate(230deg)}75%{transform:translate3d(-34px,720px,0) rotate(320deg)}100%{transform:translate3d(8px,960px,0) rotate(430deg)}}

.hdr{position:absolute;inset-inline:0;top:0;z-index:5;display:flex;align-items:center;gap:28px;padding:26px var(--edge)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.mark{width:58px;height:36px;flex:none}
.brand-txt{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:var(--logo);font-size:28px;font-weight:var(--logo-w);letter-spacing:-.01em}
.brand-name{font-size:32px;letter-spacing:0;white-space:nowrap}
.brand-sub{font-size:13px;opacity:.85;margin-top:5px}
.nav{display:flex;gap:30px;margin-inline:auto;font-size:16px}
.nav a{text-decoration:none;padding:10px 0;border-bottom:1.5px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:currentColor}
.tools{display:flex;align-items:center;gap:18px;font-size:15px}
.tools a{text-decoration:none}
.phone{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.phone span{direction:ltr;unicode-bidi:isolate}
.lang{opacity:.9}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(20,17,15,.25);color:#fff;place-items:center;cursor:pointer}

.hero-body{position:absolute;z-index:3;inset-inline-start:var(--edge);bottom:136px;width:min(880px,calc(100% - 2 * var(--edge)))}
.tag-row{display:flex;align-items:center;gap:10px}
.season-tag{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;line-height:1;padding:12px 16px;border-radius:999px;background:rgba(20,17,15,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--season);box-shadow:0 0 0 4px rgba(255,255,255,.14);flex:none}
.pause{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(20,17,15,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer}
.pause .ic{width:16px;height:16px}
.hero-h1{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.4;margin-top:28px;opacity:.92}
.slogan{font-family:var(--display);font-weight:500;font-size:calc(var(--hs) * clamp(56px,9.2cqi,136px));line-height:.98;letter-spacing:-.02em;margin-top:12px;text-shadow:0 2px 30px rgba(20,17,15,.25)}
.season-line{display:flex;align-items:center;gap:16px;font-size:22px;line-height:1.4;margin-top:26px}
.season-line::before{content:"";width:44px;height:2px;background:var(--season);flex:none}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}

.ratings{position:absolute;z-index:3;inset-inline-end:var(--edge);bottom:136px;display:flex;padding:14px 4px;border-radius:18px;background:rgba(20,17,15,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16)}
.ratings li+li{border-inline-start:1px solid rgba(255,255,255,.2)}
.ratings a{display:flex;flex-direction:column;align-items:center;padding:2px 22px;text-decoration:none;line-height:1.15}
.ratings b{font-family:var(--display);font-size:32px;font-weight:500}
.ratings span{font-size:13px;opacity:.88;margin-top:6px;white-space:nowrap}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:999px;font-family:var(--sans);font-size:17px;font-weight:600;line-height:1;text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}
.btn-primary{background:var(--ruby);color:#fff}
.btn-primary:hover{background:var(--ruby-d)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-light{background:#FFF8F2;color:var(--ruby-d)}
.btn-light:hover{background:#fff}
.btn-line{border-color:rgba(255,255,255,.5);color:#fff}
.btn-line:hover{border-color:#fff}
.btn-sm{min-height:44px;padding:0 20px;font-size:15px}
.btn-call{background:var(--paper);border-color:var(--line);color:var(--basalt)}

/* ---------- availability ---------- */
.avail-wrap{position:relative;z-index:6;margin-top:-68px}
.avail{display:grid;grid-template-columns:1.15fr 1.15fr .8fr .8fr 1.5fr auto;background:var(--paper);border-radius:22px;border:1px solid #EADFD2;padding:10px;box-shadow:0 30px 60px -30px rgba(42,37,34,.55),0 2px 6px rgba(42,37,34,.06)}
.f{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 20px;border-inline-start:1px solid #EADFD2;min-width:0}
.f:first-child{border-inline-start:0}
.f label{font-size:13px;font-weight:600;color:var(--ink2);line-height:1.2}
.f input,.f select{font-family:var(--sans);font-size:17px;font-weight:600;color:var(--basalt);border:0;background:transparent;padding:4px 0;min-height:36px;width:100%;border-radius:6px}
.avail .btn{min-height:66px;border-radius:16px;padding:0 30px}
.avail-note{margin-top:14px;text-align:center;font-size:15px;color:var(--ink2);min-height:1.7em}

/* ---------- sections: one vertical rhythm ---------- */
.intro{position:relative;padding:112px 0 var(--sec);overflow:hidden}
.choose{padding:0 0 var(--sec)}
.now{position:relative;background:var(--sand);padding:var(--sec) 0;overflow:hidden}
.gallery{padding:var(--sec) 0}
.about{position:relative;padding:0 0 calc(var(--sec) + 40px);overflow:hidden}
.reviews{position:relative;background:var(--basalt);color:#F3ECE4;padding:var(--sec) 0;overflow:hidden}
.faq{padding:var(--sec) 0}
.book{position:relative;background:var(--ruby-d);color:#F7E6E1;padding:var(--sec) 0;overflow:hidden}

/* intro */
.intro .g12{position:relative;z-index:1;align-items:end}
.intro-lead{font-family:var(--serif);font-size:40px;line-height:1.36;font-weight:400;text-wrap:pretty}
.facts li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:20px 0;border-top:1px solid var(--line)}
.facts li:last-child{border-bottom:1px solid var(--line)}
.facts .ic{width:28px;height:28px;color:var(--oak);margin-top:3px}
.facts strong{display:block;font-size:19px;line-height:1.35}
.facts span{display:block;font-size:16px;color:var(--ink2);line-height:1.5;margin-top:2px}
.intro .contours{position:absolute;width:760px;inset-inline-end:-260px;top:-140px;color:var(--ruby);opacity:.12}

/* choose */
.panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut)}
.panel{position:relative;display:block;height:600px;border-radius:24px;overflow:hidden;color:#fff;text-decoration:none;background:#3B3531;isolation:isolate}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.panel:last-child img{object-position:50% 35%}
.panel:hover img{transform:scale(1.03)}
.panel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(30,25,23,.88) 0%,rgba(30,25,23,.35) 45%,rgba(30,25,23,0) 70%)}
.panel-body{position:absolute;inset-inline:40px;bottom:40px}
.panel-unit{font-size:16px;font-weight:600;opacity:.9}
.panel h3{font-family:var(--display);font-weight:500;font-size:calc(var(--hs) * 52px);line-height:1.02;letter-spacing:-.01em;margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips li{font-size:15px;line-height:1;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.08)}
.panel .btn{margin-top:26px}
.panel:hover .btn-light{background:#fff}
.choose-note{margin-top:28px;text-align:center;color:var(--ink2)}
.choose-note a{color:var(--ruby);font-weight:600;text-underline-offset:4px}

/* now in Odem */
.now .contours{position:absolute;width:900px;inset-inline-end:-320px;bottom:-400px;color:var(--season);opacity:.4}
.now .g12{position:relative;z-index:1;align-items:start}
.now-kicker{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--ink3)}
.now-head .h2{margin-top:14px}
.now-head .lede{margin-top:16px;color:var(--ink3)}
.now-head a{display:inline-block;margin-top:22px;color:var(--ruby);font-weight:600;text-underline-offset:4px}
.now-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gut);border-top:2px solid var(--season);margin-top:10px}
.now-list li{padding-top:26px}
.where{display:block;font-size:14px;font-weight:600;color:var(--oak)}
.now-list h3{font-family:var(--display);font-size:calc(var(--hs) * 28px);font-weight:500;line-height:1.2;margin-top:8px}
.now-list p{font-size:16px;line-height:1.65;color:var(--ink3);margin-top:12px}

/* gallery */
.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.filter{font-size:15px;font-weight:600;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--basalt);cursor:pointer}
.filter:hover{border-color:var(--basalt)}
.filter[aria-pressed="true"]{background:var(--basalt);border-color:var(--basalt);color:#fff}
.mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;grid-auto-flow:dense;gap:var(--gut)}
.mosaic.is-filtered{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc((4 * 220px + 3 * var(--gut) - var(--gut)) / 2)}
.tile{display:block;border:0;padding:0;border-radius:18px;overflow:hidden;cursor:zoom-in;background:#D8CCBE}
.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.tile:hover img{transform:scale(1.03)}
.tile.big{grid-column:span 2;grid-row:span 2}
.tile.tall{grid-row:span 2}
.mosaic .tile.end{grid-column:3 / span 2}
.gal-foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:22px;font-size:15px;color:var(--ink2)}
.gal-foot a{color:var(--ruby);font-weight:600;text-underline-offset:4px}

/* about */
.about .contours{position:absolute;width:820px;inset-inline-start:-320px;top:60px;color:var(--ruby);opacity:.1}
.about .g12{position:relative;z-index:1;align-items:center}
.about-media{position:relative}
.about-media .main{width:100%;height:600px;object-fit:cover;border-radius:24px;display:block}
.about-media .inset{position:absolute;width:48%;height:250px;inset-inline-end:-56px;bottom:-48px;object-fit:cover;border-radius:18px;border:8px solid var(--stone)}
.about-text .h2{margin-bottom:6px}
.about-text p{margin-top:18px;font-size:19px;color:#3D3631}
.host{display:flex;gap:20px;align-items:center;margin-top:32px;padding:22px 24px;border-radius:20px;background:var(--sand)}
.host-ph{width:84px;height:84px;border-radius:50%;flex:none;border:1.5px dashed #9C8E80;display:grid;place-items:center;text-align:center;font-size:12px;line-height:1.25;color:var(--ink2);padding:8px}
.about-text .host p{margin:0;font-size:17px}

/* reviews */
.reviews .contours{position:absolute;width:900px;inset-inline-start:-360px;bottom:-420px;color:#fff;opacity:.06}
.reviews .g12{position:relative;z-index:1;align-items:start}
.reviews .h2{color:#fff}
.scores{margin-top:40px}
.scores li{border-top:1px solid rgba(255,255,255,.14)}
.scores li:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.scores a{display:flex;align-items:baseline;gap:18px;padding:18px 0;text-decoration:none}
.scores .score{font-family:var(--display);font-size:44px;font-weight:500;line-height:1;color:#fff;min-width:2.6em}
.scores .src{font-size:16px;color:#D3C8BD}
.scores a:hover .src{color:#fff;text-decoration:underline;text-underline-offset:4px}
.stars{display:block;color:var(--honey);font-size:15px;letter-spacing:2px;margin-top:4px}
.qmark{display:block;font-family:var(--display);font-size:150px;line-height:.7;height:72px;color:var(--honey)}
.quote blockquote{font-family:var(--serif);font-size:34px;line-height:1.45;font-weight:400;color:#fff;min-height:7.4em;text-wrap:pretty}
.quote figcaption{margin-top:20px;font-size:16px;color:#BDB2A7}
.rev-nav{display:flex;align-items:center;gap:12px;margin-top:28px}
.icon-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.icon-btn:hover{border-color:#fff}
.rev-count{font-size:15px;color:#BDB2A7;min-width:4.5em;text-align:center}
.themes-title{font-size:15px;font-weight:600;color:#BDB2A7;margin-top:48px}
.themes{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.themes li{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:9px 16px;font-size:15px;line-height:1.3}
.rev-link{display:inline-block;margin-top:28px;color:#fff;font-weight:600;text-underline-offset:4px}

/* faq */
.faq .g12{align-items:start}
.faq-side .lede{margin-top:16px}
.faq-side a{color:var(--ruby);font-weight:600;text-underline-offset:4px}
.acc details{border-top:1px solid var(--line)}
.acc details:last-child{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;font-size:19px;font-weight:600;line-height:1.4}
.acc summary::-webkit-details-marker{display:none}
.pm{width:32px;height:32px;flex:none;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:transform .25s,background-color .25s}
.pm .ic{width:16px;height:16px}
.acc details[open] .pm{transform:rotate(45deg);background:var(--basalt);border-color:var(--basalt);color:#fff}
.ans{padding:0 0 22px;color:var(--ink3);max-width:40em}
.faq-group{font-size:15px;font-weight:600;color:var(--ink2);margin:0 0 6px}
.faq-tabs{justify-content:flex-start;margin-top:28px}
.foot-h{font-size:15px;font-weight:600;color:#fff;margin-bottom:12px}
.contact{font-style:normal}
.as-of{font-size:14px;color:#BDB2A7;margin-top:14px}

/* booking */
.book .contours{position:absolute;width:980px;inset-inline-end:-280px;top:-300px;color:#fff;opacity:.08}
.book .g12{position:relative;z-index:1;align-items:center}
.book .h2{color:#fff}
.book-lead{margin-top:20px;font-size:21px;line-height:1.6;max-width:28em;color:#F2DCD6}
.book-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.contact div{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:18px 0;border-top:1px solid rgba(255,255,255,.18)}
.contact div:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.contact dt{font-size:15px;color:#E9C2B9}
.contact dd{font-size:18px;color:#fff}
.contact dd a{text-underline-offset:4px}
.contact .ltr{direction:ltr;unicode-bidi:isolate}
.nav-links{display:flex;gap:18px;flex-wrap:wrap}

/* footer */
.foot{background:var(--basalt);color:#D3C8BD;padding:72px 0 32px;font-size:15px}
.foot .g12{row-gap:40px}
.foot-brand{grid-column:1 / span 5}
.foot-col1{grid-column:7 / span 3}
.foot-col2{grid-column:10 / -1}
.foot .brand{color:#fff}
.foot-about{margin-top:18px;max-width:26em;line-height:1.65}
.foot h2{font-size:15px;font-weight:600;color:#fff;margin-bottom:12px}
.foot li{padding:5px 0}
.foot a{text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid #443C37;font-size:14px;color:#BDB2A7}

/* floating whatsapp + mobile bar */
.float{position:sticky;bottom:0;height:0;z-index:30}
.wa-fab{position:absolute;inset-inline-end:28px;bottom:28px;width:62px;height:62px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 14px 34px -10px rgba(30,25,23,.45);text-decoration:none}
.wa-fab .ic{width:32px;height:32px;stroke:none}
.wa-fab .wa-b{fill:#25D366}
.wa-fab .wa-p{fill:#fff}
.mbar{display:none}

/* lightbox */
.lb{position:fixed;inset:0;z-index:60;background:rgba(24,20,18,.94);display:grid;grid-template-columns:72px 1fr 72px;align-items:center;padding:56px 24px}
.lb img{grid-column:2;grid-row:1;max-width:100%;max-height:calc(100vh - 112px);margin:auto;border-radius:14px;display:block}
.lb .icon-btn{justify-self:center}
.lb-prev{grid-column:1;grid-row:1}
.lb-next{grid-column:3;grid-row:1}
.lb .close{position:absolute;top:18px;inset-inline-end:18px}
.lb-cap{position:absolute;bottom:18px;inset-inline:0;text-align:center;color:#D3C8BD;font-size:15px}

@media (prefers-reduced-motion:reduce){
  .pt{display:none}
  .panel img,.tile img{transition:none}
}

/* ---------- tablet ---------- */
@container site (max-width:1180px){
  .site>*{--sec:104px}
  .nav{gap:20px}
  .lang{display:none}
  .ratings{bottom:auto;top:110px}
  .intro-lead{font-size:34px}
}

/* ---------- phone ---------- */
@container site (max-width:760px){
  .site>*{--edge:20px;--gut:16px;--sec:80px}
  .g12{grid-template-columns:minmax(0,1fr)}
  .g12>*,.g12>.side,.g12>.main,.g12>.half-a,.g12>.half-b,.foot-brand,.foot-col1,.foot-col2{grid-column:1 / -1}
  .h2{font-size:calc(var(--hs) * 38px)}
  .sec-head{row-gap:12px;margin-bottom:28px}
  .snowbar{font-size:15px;padding:10px var(--edge)}
  .hdr{padding:16px var(--edge);gap:10px}
  .nav,.tools .phone,.tools .lang,.brand-sub{display:none}
  .brand-name{font-size:23px}
  .brand-name{font-size:26px}
  .mark{width:48px;height:30px}
  .tools{margin-inline-start:auto}
  .menu-btn{display:grid}
  .hero{height:780px}
  .hero-body{bottom:96px}
  .hero-h1{font-size:15px;margin-top:20px}
  .slogan{font-size:calc(var(--hs) * 56px);line-height:1}
  .season-line{font-size:18px;margin-top:18px;gap:12px}
  .season-line::before{width:28px}
  .hero-ctas{margin-top:26px}
  .hero-ctas .btn{flex:1 1 100%}
  .hero-ctas .btn-ghost{display:none}
  .ratings{inset-inline:var(--edge);top:86px;bottom:auto;justify-content:space-between;padding:10px 0}
  .ratings li{flex:1}
  .ratings a{padding:0 6px}
  .ratings b{font-size:24px}
  .ratings span{font-size:11.5px;white-space:normal;text-align:center}
  .avail-wrap{margin-top:-52px}
  .avail{grid-template-columns:1fr 1fr;padding:6px;border-radius:20px}
  .f{padding:10px 14px;border-inline-start:0;border-top:1px solid #EADFD2}
  .f:nth-child(1),.f:nth-child(2){border-top:0}
  .f:nth-child(2),.f:nth-child(4){border-inline-start:1px solid #EADFD2}
  .f-unit{grid-column:1 / -1}
  .avail .btn{grid-column:1 / -1;min-height:56px;margin-top:6px}
  .intro{padding-top:72px}
  .intro .g12{row-gap:36px}
  .intro-lead{font-size:28px}
  .intro .contours{width:520px;inset-inline-end:-260px;top:-60px}
  .panels{grid-template-columns:1fr}
  .panel{height:520px;border-radius:22px}
  .panel-body{inset-inline:24px;bottom:28px}
  .panel h3{font-size:calc(var(--hs) * 40px)}
  .now .g12{row-gap:28px}
  .now-list{grid-template-columns:1fr}
  .now-list li{padding:22px 0;border-top:1px solid #D3C4B2}
  .now-list li:first-child{border-top:0}
  .filters{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}
  .filter{white-space:nowrap}
  .mosaic,.mosaic.is-filtered{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .tile{border-radius:14px}
  .tile.big,.mosaic .tile.end{grid-column:span 2}
  .mosaic.is-filtered{grid-auto-rows:230px}
  .mosaic.is-filtered .tile{grid-column:span 2;grid-row:span 1}
  .about .g12{row-gap:72px}
  .about-media .main{height:420px;border-radius:22px}
  .about-media .inset{inset-inline-end:-6px;bottom:-40px;height:160px}
  .about-text p{font-size:18px}
  .reviews .g12{row-gap:44px}
  .scores .score{font-size:38px}
  .quote blockquote{font-size:24px;min-height:8.2em}
  .qmark{font-size:110px;height:52px}
  .faq .g12{row-gap:28px}
  .acc summary{font-size:18px}
  .book .g12{row-gap:44px}
  .book-lead{font-size:19px}
  .book-ctas .btn{flex:1 1 100%}
  .foot{padding:56px 0 96px}
  .foot-col1{grid-column:1 / -1}
  .float{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;position:sticky;bottom:0;z-index:30;padding:10px 12px;background:rgba(247,242,235,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar .btn{min-height:50px;font-size:16px}
}

/* ===== production additions ===== */
/* pause button: one icon at a time */
.pause .ic-play{display:none}
.pause[aria-pressed="true"] .ic-pause{display:none}
.pause[aria-pressed="true"] .ic-play{display:block}

/* host note without a photo */
.host-mark{width:64px;height:64px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--stone);color:var(--oak)}
.host-mark .ic{width:30px;height:30px}

/* mobile menu */
.hdr.open .nav{display:flex;flex-direction:column;gap:0;position:absolute;top:calc(100% - 4px);inset-inline:var(--edge);margin:0;padding:8px 20px;border-radius:18px;background:var(--paper);color:var(--basalt);box-shadow:0 24px 50px -20px rgba(30,25,23,.5);z-index:10}
.hdr.open .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:18px}
.hdr.open .nav a:last-child{border-bottom:0}

/* inner pages: shorter photo header */
.hero-sub{height:640px}
.hero-sub .hero-body{bottom:88px}
.hero-404{height:760px}
.crumbs{display:flex;gap:10px;align-items:center;font-size:15px;opacity:.92}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.sub-h1{font-family:var(--display);font-weight:400;font-size:calc(var(--hs) * clamp(42px,5.4cqi,76px));line-height:1.05;letter-spacing:-.01em;margin-top:16px;max-width:15em;text-wrap:balance;text-shadow:0 2px 30px rgba(20,17,15,.25)}
.btn-outline{border-color:var(--basalt);color:var(--basalt)}
.btn-outline:hover{background:var(--basalt);color:#fff}

.unit-intro{position:relative;padding:var(--sec) 0;overflow:hidden}
.unit-intro .contours{position:absolute;width:760px;inset-inline-end:-260px;top:-160px;color:var(--ruby);opacity:.1}
.unit-intro .g12{position:relative;z-index:1;align-items:start}
.unit-intro .h2{margin-bottom:6px}
.lede-lg{margin-top:18px;font-size:19px;line-height:1.7;color:#3D3631}
.note{margin-top:24px;padding:16px 20px;border-radius:16px;background:var(--sand);font-size:16px;line-height:1.6}
.note a,.lede-lg a{color:var(--ruby);font-weight:600;text-underline-offset:4px}
.spec div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.spec div:last-child{border-bottom:1px solid var(--line)}
.spec dt{font-weight:600}
.spec dd{color:var(--ink3);line-height:1.6}

.split-band{background:var(--sand);padding:var(--sec) 0}
.split-band .g12{align-items:center}
.split-band .hero-ctas{margin-top:28px}
.split-photo{display:block;border-radius:24px;overflow:hidden}
.split-photo img{width:100%;height:440px;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.split-photo:hover img{transform:scale(1.03)}

.kids{padding:var(--sec) 0}
.kids .g12{align-items:start}
.text-link{display:inline-block;margin-top:20px;color:var(--ruby);font-weight:600;text-underline-offset:4px}
.kid-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px var(--gut)}
.kid-list li{padding-top:18px;border-top:2px solid var(--line)}
.kid-list h3{font-family:var(--display);font-weight:400;font-size:calc(var(--hs) * 27px);line-height:1.25}
.kid-list p{margin-top:8px;font-size:17px;line-height:1.65;color:var(--ink3)}

.reviews-short .quote-list{display:grid;gap:44px}
.reviews-short .quote blockquote{min-height:0;font-size:28px}
.reviews-short .rev-link{margin-top:24px}

.area-group{padding:var(--sec) 0}
.area-group.alt{background:var(--sand)}
.area-group .g12{align-items:start}
.area-items article{padding:24px 0;border-top:1px solid var(--line)}
.area-items article:first-child{padding-top:0;border-top:0}
.area-items h3{font-family:var(--display);font-weight:400;font-size:calc(var(--hs) * 28px);line-height:1.25}
.area-items p{margin-top:8px;color:var(--ink3);line-height:1.7}
.area-items a{color:var(--ruby);font-weight:600;text-underline-offset:4px}
.warn{padding:18px 22px;border-radius:16px;border:1.5px solid #E7BDB4;background:#FBEFEC;color:var(--ruby-d);line-height:1.6}
.tips{margin-top:20px}
.tips li{padding:14px 0;border-top:1px solid var(--line);color:var(--ink3)}
.tips li:last-child{border-bottom:1px solid var(--line)}

/* the English page reads left to right */
[dir="ltr"] .slogan{letter-spacing:-.01em}
[dir="ltr"] .hero-h1,[dir="ltr"] .lede,[dir="ltr"] .ans{letter-spacing:0}

@container site (max-width:1180px){
  .hero-sub{height:600px}
}
@container site (max-width:760px){
  .hero-sub{height:620px}
  .hero-sub .hero-body{bottom:84px}
  .hero-404{height:700px}
  .sub-h1{font-size:calc(var(--hs) * 44px)}
  .unit-intro .g12,.split-band .g12,.kids .g12,.area-group .g12{row-gap:32px}
  .spec div{grid-template-columns:110px 1fr}
  .split-photo img{height:300px}
  .kid-list{grid-template-columns:1fr;gap:20px}
  .reviews-short .quote blockquote{font-size:22px}
}
