/* Approved corrections: clear hierarchy, real menu, no decorative numbering. */
@media (min-width:801px){
  .desktop-more{display:none!important}
  .menu{display:grid!important;grid-template-columns:13px auto;gap:3px 8px;align-items:center}
  .menu span{width:13px;height:1px;background:var(--ink);grid-column:1}
  .menu i{font-style:normal;grid-column:2;grid-row:1/4;font:500 .66rem 'DM Mono',monospace}
  .mobile-nav.is-open{position:absolute;display:grid;gap:.8rem;top:86px;right:5.5vw;left:auto;width:270px;padding:1.4rem;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 44px #2f2a2618}
  .desktop-nav{margin:auto;gap:clamp(.8rem,1.7vw,1.6rem);justify-content:center}
  .desktop-nav a{white-space:nowrap}
  .header-tools{gap:.8rem;margin-left:0}
  .header-tools .language{display:none}
  .hero-content{padding-top:clamp(6.5rem,15vh,10rem)}
}
.count{display:none!important}
.programme summary{grid-template-columns:1fr auto}
.programme summary span{display:none}
.programme details p{margin-left:0}
.video-review video{width:100%;min-height:210px;object-fit:cover;background:#2f2a26}
.price-table{margin:1.25rem 0 1.5rem;border-top:1px solid var(--line)}
.price-table p{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;margin:0!important;border-bottom:1px solid var(--line);color:var(--ink)}
.price-table b{color:#a76a4e;white-space:nowrap}
.food{grid-template-columns:1fr 1fr}
.food img{display:block}
.reviews-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0 10vw 8rem}
.review-video-card{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr;gap:2.5rem;align-items:center;padding:0 0 2rem;border-bottom:1px solid var(--line)}
.review-video-card video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#2f2a26}
.review-video-card h3{font-size:clamp(2rem,3vw,3.5rem);line-height:1.04;margin:.5rem 0 1.25rem}
.review-video-card>div>p:last-child{color:var(--soft);max-width:300px}
.review-card{min-height:250px;padding:2rem;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.review-card>p{margin:0;font:500 clamp(1.1rem,1.7vw,1.45rem)/1.42 'Playfair Display',Georgia,serif}
.review-card footer{padding-top:1.3rem;border-top:1px solid var(--line);display:flex;align-items:center;gap:.8rem;font-size:.82rem}
.review-card footer img{width:48px;height:48px;object-fit:cover;border-radius:50%}
.review-card footer span{display:grid;gap:.1rem}.review-card footer small{color:var(--soft)}
@media(max-width:800px){.reviews-layout{display:block;padding:0 7vw 5.5rem}.review-video-card{display:block;border:0;padding:0;margin-bottom:1rem}.review-video-card>div{padding:1.4rem 0}.review-card{margin-bottom:.8rem;min-height:220px}}
/* Desktop refinements requested before release. */
@media (min-width:801px){
  .header-tools .language{display:inline-flex!important}
  .intro{padding-top:7rem!important;padding-bottom:7rem!important}
  .quote-section{padding-top:7rem!important;padding-bottom:7rem!important}
  .space-picture{min-height:570px!important}
  .space-copy{padding-top:7vw!important;padding-bottom:7vw!important}
  .section-heading{padding-top:5.5rem!important}
  .programme,.gallery,.testimonials,.team{padding-bottom:6rem!important}
  .dates{padding-bottom:6rem!important}

  .team-showcase{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(1.25rem,4vw,4rem);align-items:center;margin:2.5rem 5vw 3.5rem;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--line);background:linear-gradient(115deg,#f4e2d3 0%,#fbf7f1 47%,#e4d0bb 100%);box-shadow:0 24px 60px #6c402219;overflow:hidden}
  .team-showcase-copy{position:relative;z-index:1}.team-showcase-copy h3{font-size:clamp(2rem,3.8vw,4.25rem);line-height:.96;margin:.5rem 0 1rem}.team-showcase-copy>p:last-child{max-width:34rem;line-height:1.55}.team-showcase-video{position:relative;min-height:320px;overflow:hidden;background:#2c251f}.team-showcase-video:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#ffdab36b,transparent 44%,#35211828)}.team-showcase-video video{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;filter:saturate(1.06) contrast(1.03)}
  .date-explorer{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:2rem 5vw 2.5rem;padding:1.4rem 1.6rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f7eee7,#fbf8f3 60%,#efe0d3)}
  .date-explorer-lead{max-width:42rem;margin:.35rem 0 0;line-height:1.5}.season-switch{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.season-switch button{border:1px solid #4b4137;background:transparent;border-radius:999px;padding:.62rem .9rem;font:inherit;font-size:.85rem;cursor:pointer;transition:.2s}.season-switch button:hover,.season-switch button.is-active{background:#342b24;color:#fff;border-color:#342b24}.date-list a[hidden]{display:none!important}
  @media(max-width:760px){.team-showcase{grid-template-columns:1fr;margin:1.5rem 7vw 2.5rem}.team-showcase-video,.team-showcase-video video{min-height:230px}.date-explorer{align-items:flex-start;flex-direction:column;margin:1.5rem 7vw 2rem}.season-switch{justify-content:flex-start}}
}

/* Gallery: an editorial, layered composition instead of a uniform tile wall. */
.gallery-grid{position:relative;isolation:isolate;max-width:1440px;margin:0 auto;padding:2rem;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(90px,9vw,150px);gap:.75rem;overflow:hidden;background:#29221e}
.gallery-grid:before{content:"";position:absolute;inset:-35px;z-index:-1;background:linear-gradient(110deg,#241e1a80,#241e1a30),url('/assets/selected-gallery/photo-001.jpg') center/cover;filter:blur(24px);opacity:.72;transform:scale(1.08)}
.gallery-item{position:relative;z-index:1;grid-column:span 3;grid-row:span 2;min-width:0;border-radius:3px;box-shadow:0 16px 38px #120c0980;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.gallery-item.gallery-hero{grid-column:span 6;grid-row:span 4;border-radius:110px 4px 4px 4px}
.gallery-item.gallery-portrait{grid-column:span 3;grid-row:span 4;border-radius:4px 4px 90px 4px}
.gallery-item.gallery-landscape{grid-column:span 6;grid-row:span 2}
.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffd5aa24 0%,transparent 38%,#6b351b36 100%);mix-blend-mode:soft-light;pointer-events:none}
.gallery-item:hover{z-index:3;transform:translateY(-8px) scale(1.015);box-shadow:0 25px 60px #120c09b3}
.gallery-item img{filter:saturate(1.14) contrast(1.06) sepia(.08) hue-rotate(-3deg) brightness(1.02)}
.lightbox-nav{top:50%!important;bottom:auto;right:auto!important;transform:translateY(-50%);width:52px;height:52px;border-radius:50%!important;background:#faf7f2e8!important;color:var(--ink)!important;font:1.5rem/1 Arial!important;display:grid;place-items:center}.lightbox-nav.lightbox-prev{left:1.5rem}.lightbox-nav.lightbox-next{right:1.5rem!important}

/* Food becomes a soft image composition rather than a rigid half-and-half split. */
.food{position:relative;overflow:hidden;isolation:isolate}
.food:before{content:"";position:absolute;inset:-30px;z-index:-1;background:linear-gradient(90deg,#f4e5dcf2 0%,#f4e5dc8c 50%,#f4e5dc35 100%),url('/assets/food.png') center/cover;filter:blur(20px);transform:scale(1.08)}
.food img{padding:2.2rem 2.2rem 2.2rem 0;object-fit:cover;border-radius:150px 0 0 12px;filter:saturate(.9) contrast(1.03);box-shadow:-20px 22px 55px #5f3d2b45}
@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:155px;padding:.7rem;gap:.45rem}.gallery-item,.gallery-item.gallery-portrait{grid-column:span 1;grid-row:span 1;border-radius:2px}.gallery-item.gallery-hero{grid-column:span 2;grid-row:span 2;border-radius:70px 2px 2px}.gallery-item.gallery-landscape{grid-column:span 2;grid-row:span 1}.lightbox-nav.lightbox-prev{left:.7rem}.lightbox-nav.lightbox-next{right:.7rem!important}.food img{padding:1rem 7vw 2.5rem;border-radius:100px 0 0 0;min-height:0}}

/* Soft photographic layers bring depth to the narrative sections. */
.intro,.quote-section,.space{position:relative;isolation:isolate;overflow:hidden}
.intro:before,.quote-section:before,.space:before{content:"";position:absolute;inset:-46px;z-index:-1;background:linear-gradient(110deg,#faf7f2f2 0%,#faf7f2cc 55%,#e9c9b077 100%),url('/assets/selected-gallery/photo-023.jpg') center/cover;filter:blur(24px);transform:scale(1.08)}
.quote-section:before{background:linear-gradient(100deg,#f6eee7ed,#f4dac5b0),url('/assets/selected-gallery/photo-038.jpg') center/cover}
.space:before{background:linear-gradient(100deg,#faf7f2f3,#e6c3ac80),url('/assets/selected-gallery/photo-018.jpg') center/cover}
.intro-copy,.space-copy{position:relative}
.intro-copy:after,.space-copy:after{content:"";position:absolute;inset:-2rem;z-index:-1;border:1px solid #fff8;border-radius:48px 5px 48px 5px;background:#fff3;backdrop-filter:blur(9px)}
.feature-grid{position:relative;isolation:isolate;overflow:hidden;background:#2b211b}
.feature-grid:before{content:"";position:absolute;inset:-35px;z-index:-1;background:linear-gradient(90deg,#37271fa6,#c7835f45),url('/assets/selected-gallery/photo-034.jpg') center/cover;filter:blur(20px);transform:scale(1.08)}
.feature{min-height:600px}
.peach-feature{background:#f1d2bfd9;backdrop-filter:blur(14px)}
.peach-feature:after{content:"";position:absolute;inset:1rem;border:1px solid #fff8;border-radius:80px 4px 80px 4px;pointer-events:none}
.space-picture{overflow:hidden;border-radius:0 120px 0 0;margin:2rem 0 2rem 2rem;min-height:610px}
.space-picture img{filter:saturate(1.04) contrast(1.05)}

/* Direct day navigation supplements the expandable programme. */
.programme-navigator{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 10vw 1.4rem}
.programme-navigator button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff9;color:var(--ink);cursor:pointer;font:500 .74rem 'DM Mono',monospace;transition:background .2s,transform .2s}
.programme-navigator button:hover,.programme-navigator button.is-active{background:#a76a4e;color:#fff;border-color:#a76a4e;transform:translateY(-2px)}
@media(max-width:800px){.intro-copy:after,.space-copy:after{inset:-1.25rem}.space-picture{margin:1rem 0;border-radius:0 70px 0 0;min-height:460px}.feature{min-height:500px}.programme-navigator{margin:0 7vw 1.2rem;gap:.38rem}.programme-navigator button{width:31px;height:31px;font-size:.68rem}}

.community-dock{position:fixed;right:1.25rem;bottom:1.25rem;z-index:30;display:grid;gap:.55rem;width:178px}
.community-link{display:grid;grid-template-columns:34px 1fr;column-gap:.6rem;align-items:center;padding:.68rem .8rem;border:1px solid #fff7;border-radius:14px;color:#fff;box-shadow:0 14px 35px #2f2a2645;backdrop-filter:blur(14px);transition:transform .2s,box-shadow .2s}
.community-link:hover{transform:translateY(-3px);box-shadow:0 18px 42px #2f2a2670}.community-link span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:700 .95rem Arial;background:#fff;color:#2f2a26}.community-link b{font-size:.78rem;line-height:1}.community-link small{font-size:.61rem;opacity:.78;line-height:1.3}.community-link--telegram{background:#2a9fd8e8}.community-link--max{background:#4c44c8e8}.max-community{color:#4c44c8}@media(max-width:800px){.community-dock{right:.7rem;bottom:.7rem;width:154px}.community-link{padding:.58rem .65rem}.community-link span{width:30px;height:30px}.community-link b{font-size:.72rem}.community-link small{font-size:.56rem}}

/* The video and season chooser must remain contained on phones as well. */
.team-showcase{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(1.25rem,4vw,4rem);align-items:center;margin:2.5rem 5vw 3.5rem;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--line);background:linear-gradient(115deg,#f4e2d3 0%,#fbf7f1 47%,#e4d0bb 100%);box-shadow:0 24px 60px #6c402219;overflow:hidden}.team-showcase-copy{position:relative;z-index:1}.team-showcase-copy h3{font-size:clamp(2rem,3.8vw,4.25rem);line-height:.96;margin:.5rem 0 1rem}.team-showcase-copy>p:last-child{max-width:34rem;line-height:1.55}.team-showcase-video{position:relative;min-width:0;min-height:320px;overflow:hidden;background:#2c251f}.team-showcase-video:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#ffdab36b,transparent 44%,#35211828)}.team-showcase-video video{display:block;width:100%;max-width:100%;height:100%;min-height:320px;object-fit:cover;filter:saturate(1.06) contrast(1.03)}
.date-explorer{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:2rem 5vw 2.5rem;padding:1.4rem 1.6rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f7eee7,#fbf8f3 60%,#efe0d3)}.date-explorer-lead{max-width:42rem;margin:.35rem 0 0;line-height:1.5}.season-switch{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.season-switch button{border:1px solid #4b4137;background:transparent;border-radius:999px;padding:.62rem .9rem;font:inherit;font-size:.85rem;cursor:pointer;transition:.2s}.season-switch button:hover,.season-switch button.is-active{background:#342b24;color:#fff;border-color:#342b24}.date-list a[hidden]{display:none!important}
@media(max-width:760px){.team-showcase{grid-template-columns:minmax(0,1fr);margin:1.5rem 7vw 2.5rem}.team-showcase-video,.team-showcase-video video{min-height:230px}.date-explorer{align-items:flex-start;flex-direction:column;margin:1.5rem 7vw 2rem}.season-switch{justify-content:flex-start}}

/* Final layout pass: keep the review, gallery and team sections compact on every screen. */
.review-card footer{padding:1.3rem 0 0!important}
@media(min-width:1100px){
  .team-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}
}
@media(max-width:800px){
  /* The featured rhythm panel should follow its content instead of reserving an empty screen. */
  .feature.peach-feature{min-height:0;padding:3.25rem 1.6rem}
  .feature.peach-feature>div{position:relative;left:auto;right:auto;bottom:auto}

  /* Remove excess section air after the hotel and gallery blocks. */
  .space-copy{padding-top:4rem;padding-bottom:3.25rem}
  .gallery{padding-bottom:3.5rem}
  .testimonials{padding-bottom:3.5rem}
  .reviews-layout{padding-bottom:3.5rem}
  .team .section-heading{padding-top:4rem}

  /* A strict two-column sequence prevents any unfilled black cells in the gallery. */
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:row;padding:.7rem;gap:.45rem}
  .gallery-item,.gallery-item.gallery-hero,.gallery-item.gallery-portrait,.gallery-item.gallery-landscape{grid-column:auto;grid-row:auto;aspect-ratio:1/1.12;border-radius:3px}
  .gallery-item img{display:block;height:100%;object-fit:cover}

  .review-card{min-height:0;padding:1.45rem;margin-bottom:.8rem}
  .review-card footer{padding:1rem 0 0!important}
}

/* Private gallery curation mode, enabled only with ?select-gallery=1. */
.gallery-selection-mode .gallery-item::before{content:attr(data-gallery-number);position:absolute;z-index:4;top:.65rem;left:.65rem;display:grid;place-items:center;min-width:2.2rem;height:2.2rem;padding:0 .45rem;border:1px solid #fff;background:#2f2a26e8;color:#fff;border-radius:999px;font:600 .72rem 'DM Mono',monospace;letter-spacing:.04em;box-shadow:0 5px 15px #0006;pointer-events:none}
.gallery-selection-mode .gallery-item::after{display:none}
.gallery-selection-mode .gallery-grid{outline:3px solid #eab28e;outline-offset:4px}
