/* ═══════════════════════════════════════════════════
   Mary's Dreamy Maisonette — Editorial Luxury Skin
   Design System: "The Timeless Sommelier"
   Philosophy: Organic Editorialism · Tonal Layering · Glass on Paper
   ═══════════════════════════════════════════════════ */

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ─── TOKENS ─── */
:root{
  /* Surface hierarchy (Soil & Sun palette) */
  --surface:#F6F3EC;--surface-low:#EDEAD2;--surface-high:#FDFBF6;--surface-bright:#FFFFFF;
  --primary:#4E5540;--primary-dim:#3D4432;--primary-light:#6B7A5A;
  --gold:#B8A67D;--gold-light:#D4C9A8;--gold-glow:rgba(184,166,125,.12);
  --on-primary:#fff;--on-surface:#33361E;--on-surface-muted:#7A7D6A;--on-surface-faint:#A8AA9C;
  /* Semantic */
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans','Manrope',sans-serif;
  --script:'Pinyon Script',cursive;
  /* Spacing scale */
  --s-xs:.5rem;--s-sm:.75rem;--s-md:1.25rem;--s-lg:1.75rem;--s-xl:2.8rem;--s-2xl:3.8rem;--s-3xl:4.2rem;
  /* Radii — organic, never sharp */
  --r-sm:8px;--r-md:16px;--r-lg:24px;--r-xl:32px;--r-pill:50px;--r-full:9999px;
  /* Shadows — tinted, ambient, never black */
  --shadow-soft:0 8px 32px rgba(78,85,64,.06);
  --shadow-lift:0 16px 48px rgba(78,85,64,.08);
  --shadow-glass:0 4px 24px rgba(78,85,64,.04);
  /* Glass */
  --glass-bg:rgba(253,251,246,.72);--glass-border:rgba(180,193,97,.12);--glass-blur:16px;
  /* Transitions */
  --tr:.35s cubic-bezier(.4,0,.2,1);
}

/* ─── DARK THEME ─── */
[data-theme="dark"]{
  --surface:#1A1C15;--surface-low:#222418;--surface-high:#262820;--surface-bright:#2E3026;
  --primary:#A4B48A;--primary-dim:#8A9C70;--primary-light:#BCC8A8;
  --gold:#C8B898;--gold-light:#4A4538;--gold-glow:rgba(200,184,152,.08);
  --on-primary:#1A1C15;--on-surface:#DDD8C8;--on-surface-muted:#9A977A;--on-surface-faint:#6A6852;
  --shadow-soft:0 8px 32px rgba(0,0,0,.2);--shadow-lift:0 16px 48px rgba(0,0,0,.25);--shadow-glass:0 4px 24px rgba(0,0,0,.12);
  --glass-bg:rgba(30,32,24,.78);--glass-border:rgba(164,180,138,.08);
}

/* ─── BASE ─── */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--sans);background:var(--surface);color:var(--on-surface);line-height:1.75;overflow-x:hidden;transition:background var(--tr),color var(--tr);font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;display:block;height:auto}
button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a{-webkit-tap-highlight-color:transparent}
a{color:var(--primary);text-decoration:none;transition:color var(--tr)}
a:hover{color:var(--primary-light)}
button{font-family:var(--sans);cursor:pointer}
::selection{background:var(--primary);color:var(--on-primary)}
.wrap{max-width:1100px;margin:0 auto;padding:0 var(--s-xl)}.tc{text-align:center}

/* ─── FOCUS (WCAG) ─── */
:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:4px}
.nv--glass :focus-visible{outline-color:rgba(255,255,255,.7)}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}

/* ─── BUTTONS (pill, organic) ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.8rem;font-size:.78rem;font-weight:500;letter-spacing:.06em;border:none;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--primary),var(--primary-dim));color:var(--on-primary);transition:all .3s;cursor:pointer;text-decoration:none;box-shadow:var(--shadow-soft)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);color:var(--on-primary)}
.btn-glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--on-surface);font-size:.82rem;padding:.9rem 2.4rem;letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-glass)}
.btn-glass:hover{background:rgba(255,255,255,.85);color:var(--primary)}
.btn-ol{background:transparent;border:1.5px solid var(--on-surface-faint);color:var(--on-surface);box-shadow:none}.btn-ol:hover{background:var(--surface-low);border-color:var(--primary)}
.btn-w{background:var(--surface-bright);color:var(--primary);box-shadow:var(--shadow-soft)}.btn-w:hover{background:#fff}
.btn-ow{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);box-shadow:none}.btn-ow:hover{background:rgba(255,255,255,.15)}
.btn.btn-air{background:#FF5A5F!important;color:#fff!important;border:2px solid #FF5A5F}.btn.btn-air:hover{background:#E04E52!important}
.btn.btn-bkg{background:#003580!important;color:#fff!important;box-shadow:var(--shadow-soft)}.btn-bkg:hover{background:#002A66;color:#fff}
.btn-sm{padding:.5rem 1.1rem;font-size:.7rem}.btn-lg{padding:1rem 2.2rem;font-size:.85rem;min-width:190px}

/* ═══ NAV — Floating Island ═══ */
.nv{position:fixed;top:0;left:0;right:0;z-index:300;padding:.75rem 1rem 0;transition:opacity .3s,transform .3s}
.nv.nv-lb{opacity:0;pointer-events:none;transform:translateY(-110%)}
.nv-island{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.6rem 1.2rem;border-radius:var(--r-xl);background:rgba(246,243,236,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 40px 60px -15px rgba(78,85,64,.06);ring:1px solid rgba(255,255,255,.2);transition:all .5s}
.nv--glass .nv-island{background:rgba(255,255,255,.12);box-shadow:0 40px 60px -15px rgba(0,0,0,.1)}
.nv--solid .nv-island{background:rgba(246,243,236,.75);box-shadow:0 20px 40px -10px rgba(78,85,64,.08)}

/* Brand */
.nv-brand{display:flex;align-items:baseline;gap:.2rem;flex-shrink:0}


/* Tabs */
.nv-tabs{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.5rem)}
.nt{background:none;border:none;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface-muted);padding:.3rem 0;border-bottom:1.5px solid transparent;transition:all .3s;cursor:pointer;white-space:nowrap}
.nt:hover{color:var(--on-surface)}
.nt.active{color:var(--on-surface);font-weight:700;border-bottom-color:var(--on-surface-faint)}
.nv--glass .nt{color:rgba(255,255,255,.55)}
.nv--glass .nt:hover{color:rgba(255,255,255,.85)}
.nv--glass .nt.active{color:#fff;border-bottom-color:rgba(255,255,255,.3)}

/* End section: utils + CTA */
.nv-end{display:flex;align-items:center;gap:.8rem}
.nv-utils{display:flex;align-items:center;gap:.4rem}
.lang-sw{display:flex;gap:2px;padding:2px;border-radius:var(--r-pill)}
.lbtn{background:none;border:none;font-size:.52rem;font-weight:700;letter-spacing:.06em;color:var(--on-surface-muted);padding:.15rem .35rem;border-radius:var(--r-pill);transition:all .25s;cursor:pointer}
.lbtn.active{background:var(--primary);color:var(--on-primary)}
.lbtn:hover:not(.active){color:var(--on-surface)}
.nv--glass .lbtn{color:rgba(255,255,255,.4)}
.nv--glass .lbtn:hover:not(.active){color:rgba(255,255,255,.8)}
.nv--glass .lbtn.active{background:rgba(255,255,255,.2);color:#fff}
.nv-theme{background:none;border:none;width:26px;height:26px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;color:var(--on-surface-muted);transition:all .25s;cursor:pointer}
.nv-theme:hover{color:var(--on-surface)}
.nv--glass .nv-theme{color:rgba(255,255,255,.4)}.nv--glass .nv-theme:hover{color:#fff}
[data-theme="light"] .ic-moon{display:none}[data-theme="dark"] .ic-sun{display:none}
.nv-cta{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg,var(--primary),var(--primary-dim));color:var(--on-primary);padding:.55rem 1.3rem;border-radius:var(--r-pill);border:none;cursor:pointer;transition:all .3s;box-shadow:0 8px 20px -4px rgba(78,85,64,.2);white-space:nowrap}
.nv-cta:hover{transform:scale(1.03);box-shadow:0 12px 28px -4px rgba(78,85,64,.25)}

/* Burger (mobile) */
.burger{display:none;position:relative;margin-left:.25rem;background:none;border:none;width:44px;height:44px;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:0;z-index:301;cursor:pointer;-webkit-tap-highlight-color:transparent}
.burger span{display:block;width:24px;height:2.5px;background:var(--on-surface);border-radius:2px;transition:all .3s}
.burger span:not(:last-child){margin-bottom:5px}
.nv--solid .burger{background:rgba(78,85,64,.12);border-radius:10px}
.nv--solid .burger span{background:var(--primary-dim)}
.nv--glass:not(.scrolled) .burger span{background:#fff}
.nv--glass:not(.scrolled) .burger{background:rgba(0,0,0,.28);border-radius:10px;-webkit-filter:none;filter:none}
.burger[aria-expanded="true"] span:nth-child(1){-webkit-transform:translateY(7px) rotate(45deg);transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}
.burger[aria-expanded="true"] span:nth-child(3){-webkit-transform:translateY(-7px) rotate(-45deg);transform:translateY(-7px) rotate(-45deg)}
.mob-menu{display:none}

/* ═══ PANELS ═══ */
.pan{display:none;animation:panFade .4s ease;overflow:hidden}.pan.active{display:block}
@keyframes panFade{from{opacity:0}to{opacity:1}}

/* ═══ HERO — Full Bleed, Editorial ═══ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero-img{position:absolute;inset:0;background:url('images/hero.webp') center bottom/cover no-repeat}
.hero-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,40,34,.2) 0%,rgba(42,40,34,.5) 100%)}
.hero-c{position:relative;z-index:1;padding:2rem;max-width:700px}

.hero-h1{font-family:var(--serif);font-size:clamp(3rem,7vw,5.8rem);font-weight:300;line-height:.95;color:#fff;margin-bottom:var(--s-lg);opacity:0;animation:heroUp .8s .5s forwards}
.hero-h1 em{font-family:var(--script);font-weight:400;font-style:normal;color:var(--gold-light);font-size:1.15em;display:block;margin:-.15em 0 -.1em}
.hero-location{display:block;font-family:var(--sans);font-weight:300;font-size:.3em;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:.7em}
.hero-sub{font-size:.95rem;font-weight:300;color:rgba(255,255,255,.65);max-width:420px;margin:0 auto var(--s-xl);line-height:1.9;opacity:0;animation:heroUp .8s .7s forwards}
.btn-glass{opacity:0;animation:heroUp .8s .9s forwards}
@keyframes heroUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ═══ SECTIONS — Tonal Layering, No Borders ═══ */
.sec{padding:var(--s-2xl) 0 var(--s-xl);position:relative;z-index:1}
.sec-cream{background:var(--surface-low);transition:background var(--tr)}
.sec-olive{background:linear-gradient(135deg,var(--primary),var(--primary-dim));color:var(--on-primary);padding:var(--s-2xl) 0}
.ey{font-size:.58rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--primary-light);text-align:center;margin-bottom:var(--s-xs)}
.sec-h{font-family:var(--serif);font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:300;color:var(--on-surface);margin-bottom:var(--s-xs);letter-spacing:-.01em}
.sec-h--w{color:var(--on-primary)}
.sec-sub{font-size:.88rem;color:var(--on-surface-muted);max-width:440px;margin:0 auto var(--s-lg);line-height:1.85}
.sec-sub--w{color:rgba(255,255,255,.7)}

/* ═══ WHY — Editorial Asymmetry ═══ */
.why-g{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-lg);margin-top:var(--s-md)}
.why-c{text-align:center;padding:var(--s-lg) var(--s-md);background:var(--surface-high);border-radius:var(--r-lg);box-shadow:var(--shadow-soft);transition:all .3s}
.why-c:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.why-c span{font-size:1.8rem;display:block;margin-bottom:var(--s-sm)}
.why-c h3{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--on-surface);margin-bottom:var(--s-xs)}
.why-c p{font-size:.8rem;color:var(--on-surface-muted);line-height:1.7}
.cta-row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}

/* ═══ HOST ═══ */
.host-g{display:flex;align-items:center;gap:var(--s-xl);justify-content:center;margin-top:var(--s-lg)}
/* Circular host photo with floral wreath */



/* Host photo with wreath */
.host-frame{position:relative;width:340px;height:340px;flex-shrink:0}

.host-ph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;border-radius:var(--r-full);background:var(--surface) url('images/host.webp') center/cover no-repeat;box-shadow:var(--shadow-soft),0 0 50px rgba(180,140,200,.32),0 0 100px rgba(180,140,200,.16);z-index:2}
.host-txt{max-width:450px;flex:1}
.host-txt h3{font-family:var(--serif);font-size:1.7rem;font-weight:300;color:var(--on-surface);margin-bottom:var(--s-sm)}
.host-txt p{font-size:.88rem;color:var(--on-surface-muted);line-height:1.9;margin-bottom:var(--s-sm)}

/* ═══ AMENITIES — No-Divider, Tonal Cards ═══ */
.am-g{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-md)}
.am{background:var(--surface-high);border-radius:var(--r-lg);padding:var(--s-xl) var(--s-lg);text-align:left;transition:all .3s;box-shadow:var(--shadow-glass)}
.am:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.am span{font-size:1.6rem;display:block;margin-bottom:var(--s-sm)}
.am h3{font-family:var(--sans);font-size:.92rem;font-weight:600;color:var(--on-surface);margin-bottom:var(--s-xs)}
.am p{font-size:.78rem;color:var(--on-surface-muted);line-height:1.7}

/* ═══ GALLERY ═══ */
.gf{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;margin-bottom:var(--s-lg)}
.fb{background:var(--surface-high);border:none;border-radius:var(--r-pill);padding:.42rem 1.1rem;font-size:.68rem;color:var(--on-surface-muted);transition:all .25s;font-family:var(--sans);box-shadow:var(--shadow-glass)}
.fb:hover,.fb.active{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-soft)}
.gg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gi{overflow:hidden;cursor:pointer;border-radius:var(--r-md);aspect-ratio:4/3;background:var(--surface-low);transition:transform .4s}.gi:hover{transform:scale(1.03)}
.gi img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-md)}
.gn{text-align:center;font-size:.78rem;color:var(--on-surface-faint);margin-top:var(--s-md);font-style:italic}

/* Lightbox */
.lbox{position:fixed;inset:0;z-index:999;background:rgba(10,8,6,.92);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.lbox.open{display:flex}
.lbox-w{position:relative;width:min(92vw,1000px);display:flex;align-items:center;justify-content:center}
.lbox-ph{width:100%;border-radius:var(--r-md);overflow:hidden}.lbox-ph img{display:block;max-width:100%;max-height:88vh;width:auto;height:auto;margin:0 auto}
.lbox-x{position:absolute;top:-44px;right:0;background:none;border:none;color:#fff;width:36px;height:36px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s}.lbox-x:hover{background:rgba(255,255,255,.1)}
.lbox-p,.lbox-n{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.06);color:#fff;width:44px;height:44px;border-radius:var(--r-full);border:none;display:flex;align-items:center;justify-content:center;font-size:1.2rem;z-index:1000;transition:all .2s;backdrop-filter:blur(8px)}.lbox-p:hover,.lbox-n:hover{background:rgba(255,255,255,.12)}.lbox-p{left:1.5rem}.lbox-n{right:1.5rem}

/* ═══ REVIEWS — Editorial ═══ */
.car{overflow:hidden;border-radius:var(--r-xl);margin-bottom:var(--s-lg);background:var(--surface-low)}
.car-t{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.rv{min-width:100%;padding:var(--s-xl) var(--s-lg);background:var(--surface-high);border-radius:var(--r-xl);display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:var(--shadow-soft)}

.rv-q{font-family:var(--serif);font-size:1.15rem;font-weight:300;font-style:italic;color:var(--on-surface);line-height:1.85;max-width:500px;margin-bottom:var(--s-md)}
.rv-a{font-size:.72rem;color:var(--on-surface-muted);font-weight:500;display:inline-block}
.car-nav{display:flex;justify-content:space-between;align-items:center;margin-top:var(--s-md)}
.car-dots{display:flex;gap:.4rem}
.car-dot{width:8px;height:8px;border-radius:var(--r-full);background:var(--on-surface-faint);border:none;transition:all .3s;padding:0;cursor:pointer}.car-dot.active{background:var(--primary);transform:scale(1.4)}
.car-btns{display:flex;gap:.3rem}
.car-b{background:var(--surface-high);border:none;color:var(--on-surface-muted);width:40px;height:40px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .25s;box-shadow:var(--shadow-glass)}.car-b:hover{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-soft)}
.rv-aw{text-align:center;font-size:.8rem;color:var(--primary-light);margin-bottom:var(--s-md)}
.rv-ext{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}

/* ═══ EXPLORE ═══ */
.dist-row{display:flex;justify-content:center;gap:var(--s-sm);margin-bottom:var(--s-sm);flex-wrap:wrap}
.dist{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface-high);border-radius:var(--r-pill);padding:.48rem 1.1rem;font-size:.8rem;color:var(--on-surface);transition:all .25s;box-shadow:var(--shadow-glass)}.dist:hover{box-shadow:var(--shadow-soft)}.dist-ico{width:14px;height:14px;flex-shrink:0;color:var(--primary)}
.map-box{width:100%;height:360px;border-radius:var(--r-xl) var(--r-xl) 0 0;z-index:1;background:var(--surface-low);box-shadow:var(--shadow-soft);overflow:hidden}
[data-theme="dark"] .leaflet-tile{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(1.1)}
.dir-bar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.4rem;background:var(--surface-low);border-radius:0 0 var(--r-xl) var(--r-xl);flex-wrap:wrap;gap:.6rem;box-shadow:var(--shadow-soft)}.dir-bar>span{font-family:var(--serif);font-size:.9rem;color:var(--on-surface)}.dir-btns{display:flex;gap:.3rem}
.nb-h{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--on-surface);text-align:center;margin:var(--s-lg) 0 var(--s-md)}
.nb-g{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-md)}
.nb{border-radius:var(--r-lg);padding:var(--s-lg);background:var(--surface-high);transition:all .3s;box-shadow:var(--shadow-soft)}.nb:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.nb-i{font-size:1.5rem;display:block;margin-bottom:var(--s-xs)}

.nb{position:relative}
.nb h4{font-family:var(--serif);font-size:.98rem;font-weight:400;color:var(--on-surface);margin-bottom:var(--s-xs)}
.nb-d{font-size:.73rem;color:var(--on-surface-muted);line-height:1.6;margin-bottom:var(--s-xs)}


/* ═══ HOW TO GET HERE ═══ */
.howto-g{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-md)}
.howto-c{border-radius:var(--r-lg);padding:var(--s-lg);background:var(--surface-high);transition:all .3s;box-shadow:var(--shadow-soft)}.howto-c:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.howto-i{font-size:1.5rem;display:block;margin-bottom:var(--s-xs)}
.howto-c h4{font-family:var(--serif);font-size:.95rem;font-weight:400;color:var(--on-surface);margin-bottom:var(--s-xs)}
.howto-c p{font-size:.73rem;color:var(--on-surface-muted);line-height:1.6}

/* ═══ BOOK ═══ */
.bk-btns{display:flex;gap:.8rem;justify-content:center;margin-bottom:var(--s-xl);flex-wrap:wrap}
.bk-g{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-lg)}
.bk-box{background:var(--surface-high);border-radius:var(--r-lg);padding:var(--s-lg);box-shadow:var(--shadow-soft)}
.bk-box h3{font-family:var(--serif);font-size:1.1rem;font-weight:300;color:var(--on-surface);margin-bottom:var(--s-sm)}
.ct{display:flex;align-items:center;gap:.5rem;padding:var(--s-xs) 0;font-size:.82rem}.ct a{color:var(--primary)}
/* FAQ — No-Divider Rule: spacing instead of borders */
.faq{padding:var(--s-sm) 0}.faq+.faq{margin-top:var(--s-xs)}
.faq summary{padding:var(--s-xs) 0;font-family:var(--serif);font-size:.9rem;color:var(--on-surface);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::after{content:'+';font-size:1rem;color:var(--primary);transition:transform .3s}.faq[open] summary::after{transform:rotate(45deg)}
.faq p{font-size:.78rem;color:var(--on-surface-muted);line-height:1.85;padding-bottom:var(--s-xs)}

/* ═══ FOOTER — Editorial, Layered ═══ */
.ft{background:var(--on-surface);padding:var(--s-xl) 0 var(--s-lg)}
[data-theme="dark"] .ft{background:#0F1009}
[data-theme="dark"] .hero-h1 em{color:var(--gold)}
[data-theme="dark"] .sec-olive{background:linear-gradient(135deg,#2D3524,#1F2518);color:#E8E4D8}
[data-theme="dark"] .sec-olive .sec-h--w,[data-theme="dark"] .sec-olive .sec-sub--w,[data-theme="dark"] .sec-olive .book-title,[data-theme="dark"] .sec-olive a,[data-theme="dark"] .sec-olive button{color:#E8E4D8!important}
[data-theme="dark"] .sec-olive .btn-ow{border-color:rgba(232,228,216,.35)}
/* Nav island dark mode — solid tabs */
[data-theme="dark"] .nv--solid .nv-island{background:rgba(26,28,21,.92);box-shadow:0 20px 40px -10px rgba(0,0,0,.35)}
[data-theme="dark"] .nv--solid .nv-brand-full{color:var(--primary-light)}
[data-theme="dark"] .nv--solid .nt{color:var(--on-surface-muted)}
[data-theme="dark"] .nv--solid .nt:hover{color:var(--on-surface)}
[data-theme="dark"] .nv--solid .nt.active{color:var(--primary-light);border-bottom-color:var(--primary)}
[data-theme="dark"] .nv--solid .lbtn{color:var(--on-surface-muted)}
[data-theme="dark"] .nv--solid .lbtn.active{background:rgba(164,180,138,.18);color:var(--primary-light)}
[data-theme="dark"] .nv--solid .nv-theme{color:var(--on-surface-muted)}
[data-theme="dark"] .nv-cta{background:linear-gradient(135deg,#3A4530,#28311E);color:var(--primary-light);box-shadow:0 8px 20px -4px rgba(0,0,0,.3)}
[data-theme="dark"] .nv--solid .burger{background:rgba(255,255,255,.1)}
[data-theme="dark"] .nv--solid .burger span{background:var(--on-surface)}
[data-theme="dark"] .nv--glass .burger span{background:#fff}
.ft-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--s-lg)}
.ft-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.ft-logo-img{width:34px;height:34px;border-radius:var(--r-full);object-fit:cover}
.ft-brand{font-family:var(--serif);font-size:1rem;color:rgba(255,255,255,.55)}.ft-brand em{font-family:var(--script);font-size:1.15em;color:var(--gold);font-style:normal}
.ft-loc{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.5;margin-top:.15em}
.ft-social{display:flex;gap:.4rem}
.ft-soc-btn{width:38px;height:38px;border-radius:var(--r-full);background:rgba(255,255,255,.05);color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;transition:all .3s;text-decoration:none;border:none}
.ft-soc-btn:hover{background:rgba(255,255,255,.1);color:var(--gold)}
.ft-grid{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-sm);padding-top:var(--s-md);margin-top:var(--s-md);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.ft-copy{font-size:.65rem;color:rgba(255,255,255,.25)}
.ft-legal{display:flex;gap:var(--s-md)}.ft-legal a{font-size:.65rem;color:rgba(255,255,255,.25);text-decoration:none;transition:color .25s}.ft-legal a:hover{color:var(--gold)}

/* ═══ MODALS — Glass ═══ */
.modal{position:fixed;inset:0;z-index:950;background:rgba(10,8,6,.4);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:2rem}.modal.open{display:flex}
.modal-box{background:var(--surface);max-width:600px;width:100%;max-height:85vh;overflow-y:auto;padding:var(--s-xl);border-radius:var(--r-xl);box-shadow:var(--shadow-lift);position:relative}
.modal-x{position:absolute;top:var(--s-sm);right:var(--s-sm);background:var(--surface-low);border:none;color:var(--on-surface-muted);width:32px;height:32px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s}.modal-x:hover{background:var(--primary);color:var(--on-primary)}
.modal-box h2{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--on-surface);margin-bottom:var(--s-sm)}
.modal-box h3{font-family:var(--serif);font-size:.92rem;color:var(--on-surface);margin:var(--s-sm) 0 var(--s-xs)}
.modal-box p{font-size:.8rem;color:var(--on-surface-muted);line-height:1.8}
.modal-date{font-size:.68rem;color:var(--on-surface-faint);margin-bottom:var(--s-md);font-style:italic}
/* Direct contact modal */
.modal-direct-box{max-width:360px;text-align:center}
.modal-direct-box h2{margin-bottom:.4rem}
.modal-direct-sub{font-size:.82rem;color:var(--on-surface-muted);margin-bottom:var(--s-lg);line-height:1.6}
.direct-btns{display:flex;flex-direction:column;gap:.75rem}
.btn-social{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 1.4rem;border-radius:var(--r-pill);font-size:.82rem;font-weight:500;font-family:var(--sans);text-decoration:none;transition:all .25s;letter-spacing:.01em}
.btn-fb{background:#1877F2;color:#fff}.btn-fb:hover{background:#166fe5;transform:translateY(-1px);box-shadow:0 8px 20px -4px rgba(24,119,242,.35)}
.btn-ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}.btn-ig:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 8px 20px -4px rgba(220,39,67,.35)}
.btn-wa{background:#25D366;color:#fff}.btn-wa:hover{background:#20bd5a;transform:translateY(-1px);box-shadow:0 8px 20px -4px rgba(37,211,102,.35)}

/* ═══ COOKIE BANNER ═══ */
.ck-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}
.ck-box{background:var(--surface-bright);border-radius:var(--r-xl);padding:2rem;max-width:380px;width:100%;text-align:center;box-shadow:var(--shadow-lift)}

.ck-box h2{font-family:var(--serif);font-size:1.15rem;font-weight:400;font-style:italic;color:var(--on-surface);margin-bottom:.5rem}
.ck-box .ck-msg{font-size:.78rem;color:var(--on-surface-muted);line-height:1.7;margin-bottom:1.2rem}
.ck-btns{display:flex;gap:.6rem;justify-content:center;margin-bottom:.8rem}
.ck-accept{background:linear-gradient(135deg,var(--primary),var(--primary-dim));color:var(--on-primary);border:none;padding:.5rem 1.4rem;border-radius:var(--r-pill);font-size:.7rem;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:all .3s}
.ck-accept:hover{transform:scale(1.03)}
.ck-decline{background:var(--surface-low);color:var(--on-surface-muted);border:none;padding:.5rem 1.4rem;border-radius:var(--r-pill);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .3s}
.ck-decline:hover{background:var(--surface)}
.ck-links{display:flex;justify-content:center;gap:1rem}
.ck-pol{font-size:.58rem;color:var(--on-surface-faint);text-decoration:none;letter-spacing:.04em}.ck-pol:hover{color:var(--primary)}

/* ═══ A11Y — Glass Panel, Left Side ═══ */
.a11y-btn{position:fixed;bottom:calc(4rem + env(safe-area-inset-bottom,0px));left:1.5rem;z-index:650;width:44px;height:44px;border-radius:var(--r-full);background:linear-gradient(135deg,var(--primary),var(--primary-dim));color:var(--on-primary);border:none;box-shadow:var(--shadow-soft);display:flex;align-items:center;justify-content:center;transition:all .3s}.a11y-btn:hover{box-shadow:var(--shadow-lift);transform:scale(1.06)}
.a11y-pan{position:fixed;bottom:calc(7.5rem + env(safe-area-inset-bottom,0px));left:1.5rem;z-index:651;width:290px;max-height:min(80vh,560px);overflow-y:auto;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--r-xl);padding:var(--s-md);box-shadow:var(--shadow-lift);display:none;animation:panFade .25s ease}
html.a11y-xlarge .a11y-pan,html.a11y-vi .a11y-pan{font-size:12px;width:min(300px,calc(100vw - 3rem))}
.a11y-pan.open{display:block}
.a11y-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-sm)}
.a11y-hd h3{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--on-surface)}
.a11y-x{background:none;border:none;color:var(--on-surface-muted);width:26px;height:26px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .2s}.a11y-x:hover{background:var(--surface-low)}
.a11y-g{margin-bottom:var(--s-sm);padding-bottom:var(--s-sm)}.a11y-g+.a11y-g{padding-top:0}
.a11y-lbl{font-size:.66rem;font-weight:600;color:var(--on-surface-muted);margin-bottom:var(--s-xs);letter-spacing:.05em;text-transform:uppercase}
.a11y-row{display:flex;gap:.25rem;flex-wrap:wrap}
.a11y-o{background:var(--surface-high);border:none;border-radius:var(--r-pill);padding:.3rem .65rem;font-size:.62rem;color:var(--on-surface-muted);transition:all .25s;font-family:var(--sans);box-shadow:var(--shadow-glass)}.a11y-o:hover{color:var(--on-surface)}.a11y-o.active{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-soft)}
.a11y-tgl-btn{display:flex;align-items:center;gap:.6rem;width:100%;background:var(--surface-high);border:none;border-radius:var(--r-pill);padding:.48rem .85rem;font-size:.7rem;color:var(--on-surface-muted);cursor:pointer;transition:all .25s;font-family:var(--sans);text-align:left;box-shadow:var(--shadow-glass)}
.a11y-tgl-btn:hover{color:var(--on-surface)}
.a11y-tgl-btn.on{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-soft)}
.a11y-ind{width:10px;height:10px;border-radius:var(--r-full);background:var(--on-surface-faint);flex-shrink:0;transition:all .25s}
.a11y-tgl-btn.on .a11y-ind{background:var(--on-primary);box-shadow:0 0 6px rgba(255,255,255,.3)}

/* A11y states */
html.a11y-large{font-size:118%}html.a11y-xlarge{font-size:136%}
html.a11y-dyslexia,html.a11y-dyslexia *{font-family:'Lexend',sans-serif!important}
html.a11y-hc{--surface:#fff;--surface-low:#eee;--surface-high:#fff;--primary:#111;--primary-dim:#000;--on-surface:#000;--on-surface-muted:#222;--on-surface-faint:#555;--on-primary:#fff}
html.a11y-hc[data-theme="dark"]{--surface:#000;--surface-low:#111;--surface-high:#0a0a0a;--primary:#8f8;--primary-dim:#6d6;--on-surface:#eee;--on-surface-muted:#ccc;--on-primary:#000}
html.a11y-vi{font-size:125%;letter-spacing:.02em;word-spacing:.05em}
html.a11y-vi *{line-height:1.9!important}
html.a11y-vi .btn,.a11y-vi .nt,.a11y-vi .fb,.a11y-vi .a11y-o,.a11y-vi .lbtn,.a11y-vi .mm{min-height:48px;font-size:.85rem!important}
html.a11y-vi :focus-visible{outline-width:4px;outline-offset:4px}
html.cb-protanopia{--primary:#4A6FA5;--primary-dim:#2E4A7A;--primary-light:#6B8DB5;--gold:#C4A35A}
html.cb-deuteranopia{--primary:#5B6AAF;--primary-dim:#3A4580;--primary-light:#7A88BF;--gold:#C4A35A}
html.cb-tritanopia{--primary:#A05050;--primary-dim:#7A3535;--primary-light:#B86868;--gold:#8B8B40}
/* SR mode */
html.a11y-sr .sec-h{font-size:1.8rem!important}
html.a11y-sr p{font-size:.95rem!important;line-height:2!important}
html.a11y-sr .hero-img,.a11y-sr .hero-ov{display:none}
html.a11y-sr .hero{background:var(--primary);min-height:auto;padding:var(--s-xl) var(--s-lg)}
html.a11y-sr .hero-h1{font-size:2.5rem!important}

/* ═══ SHARE ═══ */
.share-btn{position:fixed;bottom:calc(7rem + env(safe-area-inset-bottom,0px));left:1.5rem;z-index:649;width:36px;height:36px;border-radius:var(--r-full);background:var(--surface-high);border:none;color:var(--on-surface-muted);box-shadow:var(--shadow-glass);display:flex;align-items:center;justify-content:center;transition:all .25s}.share-btn:hover{box-shadow:var(--shadow-soft);color:var(--primary)}
.share-toast{position:fixed;bottom:calc(10rem + env(safe-area-inset-bottom,0px));left:1.5rem;z-index:700;background:var(--on-surface);color:var(--surface);padding:.5rem 1.2rem;border-radius:var(--r-pill);font-size:.72rem;box-shadow:var(--shadow-lift);animation:toastIn .3s ease}
@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ═══ BTT ═══ */
.btt{position:fixed;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));right:1.5rem;z-index:600;width:42px;height:42px;border-radius:var(--r-full);background:linear-gradient(135deg,var(--primary),var(--primary-dim));color:var(--on-primary);border:none;font-size:1rem;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;transform:translateY(8px)}.btt.visible{opacity:1;pointer-events:all;transform:none}.btt:hover{box-shadow:var(--shadow-lift)}

/* ═══ SCROLL REVEAL ═══ */
.sr{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.sr.visible{opacity:1;transform:none}.no-js .sr{opacity:1!important;transform:none!important}

/* Tab section top spacing (replaces inline style) */
.sec-tab-top{padding-top:var(--s-3xl)}
.sec-tab-top-sm{padding-top:5rem;padding-bottom:0}
#panel-house section:nth-of-type(2){padding-top:var(--s-lg)}
/* A11y reset button (replaces inline style) */
.a11y-reset{width:100%;margin-top:.6rem}

/* ═══ SCREEN READER ONLY ═══ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.5rem 1rem;background:var(--on-surface);color:var(--surface);border-radius:0 0 var(--r-sm) var(--r-sm);font-size:.85rem;text-decoration:none;transition:top .2s}.skip-link:focus{top:0}


/* ═══ RESPONSIVE ═══ */
@media(max-width:1280px){
  /* Hide desktop-only nav elements */
  .nv-tabs{display:none!important}
  .nv-utils{display:none!important}
  /* Show burger, keep brand + BOOK NOW */
  .burger{display:flex;flex-shrink:0;min-width:44px;border-radius:10px}
  .nv-cta{font-size:.58rem;padding:.48rem .95rem;letter-spacing:.1em}
  /* Let brand shrink on narrow screens so burger is never squeezed off */
  .nv-brand{flex:1 1 auto;min-width:0;overflow:hidden}
  .nv-brand-full{overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
  /* Mobile dropdown card */
  .mob-menu{
    display:none;
    position:fixed;
    top:74px;
    left:.75rem;
    right:.75rem;
    background:var(--surface-high);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    border-radius:var(--r-xl);
    padding:.5rem;
    flex-direction:column;
    gap:2px;
    z-index:299;
    box-shadow:0 24px 48px -8px rgba(78,85,64,.18),0 0 0 1px rgba(78,85,64,.06)
  }
  .mob-menu.open{display:flex}
  /* Nav items */
  .mm{
    background:none;border:none;
    padding:.8rem 1rem;
    font-size:.9rem;font-weight:400;
    color:var(--on-surface);
    text-align:left;
    border-radius:var(--r-md);
    transition:background .18s;
    font-family:var(--sans)!important;
    cursor:pointer;
    min-height:48px;
    display:flex;align-items:center;gap:.75rem
  }
  .mm:hover{background:rgba(78,85,64,.06)}
  .mm.active{background:rgba(78,85,64,.07);color:var(--primary);font-weight:500}
  .mm.active::before{content:'';width:3px;height:16px;background:var(--primary);border-radius:2px;flex-shrink:0}
  /* Divider */
  .mm-div{height:1px;background:rgba(78,85,64,.08);margin:.35rem .5rem}
  /* Lang + theme row */
  .mm-utils{display:flex;align-items:center;justify-content:space-between;padding:.55rem 1rem}
  .mm-utils .nv-theme{color:var(--on-surface-muted);width:44px;height:44px}
  .mm-utils .lbtn{font-size:.82rem;padding:.6rem 1rem;min-height:44px;display:inline-flex;align-items:center}
  /* Footer flower corners — shrink on tablet/mobile */
  .ft-fl{width:clamp(50px,7vw,80px);opacity:.25}
}
@media(max-width:380px){
  /* Extra-small phones: shrink brand further so burger always fits */
  .nv-brand-full{font-size:.72rem}
  .nv-island{padding:.5rem .8rem}
}
@media(max-width:480px){
  /* On small phones, hide BOOK NOW pill — it's in the mobile menu */
  .nv-cta{display:none}
}
@media(max-width:768px){
  .pf{width:clamp(45px,10vw,60px)}
  .wrap{padding:0 var(--s-lg)}
  .why-g{grid-template-columns:1fr}.am-g,.nb-g{grid-template-columns:1fr 1fr}.host-g{flex-direction:column;text-align:center}
  .host-frame{width:260px;height:260px}.host-ph{width:220px;height:220px}
  .gg{grid-template-columns:1fr 1fr;gap:6px}.bk-g{grid-template-columns:1fr}.howto-g{grid-template-columns:1fr}
  .ft-top{flex-direction:column;gap:var(--s-md);align-items:center}
  .ft-grid{flex-direction:column;align-items:center;gap:var(--s-sm);text-align:center}
  .ft-legal{justify-content:center}
  .sec{padding:var(--s-2xl) 0 var(--s-xl)}
  .hero-h1{font-size:clamp(2.5rem,10vw,4rem)}
  .bk-btns,.rv-ext,.cta-row{flex-direction:column;align-items:center}
  .bk-btns .btn,.rv-ext .btn{width:100%}.cta-row .btn,.cta-row a{width:80%;max-width:280px}
  .lbox-p{left:.5rem}.lbox-n{right:.5rem}
  .a11y-pan{left:.8rem;width:calc(100vw - 1.6rem);max-width:320px}
  .a11y-btn{left:1rem;bottom:calc(3.5rem + env(safe-area-inset-bottom,0px))}
  .share-btn{left:1rem;bottom:calc(8.5rem + env(safe-area-inset-bottom,0px))}
  .btt{right:1rem;width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.nv,.btt,.a11y-btn,.a11y-pan,.share-btn,.ck-overlay,.ft,.modal,.mob-menu{display:none!important}.pan{display:block!important}}
/* Noscript fallback */












/* ═══ FOOTER FLOWER CORNERS ═══ */
.ft{position:relative;overflow:hidden}
.ft-fl{position:absolute;width:clamp(90px,12vw,150px);height:auto;pointer-events:none;opacity:.4;z-index:0}
.ft-fl-l{bottom:0;left:0}
.ft-fl-r{bottom:0;right:0;transform:scaleX(-1)}
.ft .wrap{position:relative;z-index:1}
.ft-top,.ft-grid{position:relative;z-index:1}

/* Page corner flowers */
#panel-house{position:relative}
.page-florals{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.pf{position:absolute;width:clamp(70px,9vw,120px);height:auto;opacity:.35}
.pf-tl{top:0;left:0;transform:scaleY(-1)}
.pf-tr{top:0;right:0;transform:scale(-1)}




/* ═══ HOME REDESIGN — Editorial ═══ */
/* Hero title lines */
.hero-line1,.hero-line3{display:block;font-family:var(--serif);font-weight:300;font-style:italic}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.45);font-size:2rem;animation:bounceDown 2s infinite}
@keyframes bounceDown{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* Why — Editorial asymmetric */
.why-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--s-lg);gap:var(--s-lg)}
.why-header-txt{max-width:600px}
.why-h{font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.75rem);font-weight:300;font-style:italic;line-height:1.4;color:var(--on-surface-muted);text-align:left;margin-bottom:var(--s-sm)}
.why-h em{font-style:italic;font-family:var(--serif)}

.why-since{font-family:var(--script);font-size:clamp(2rem,3.2vw,3.5rem);color:var(--primary);opacity:.25;white-space:nowrap;flex-shrink:0}
.why-icon{width:56px;height:56px;border-radius:var(--r-full);background:var(--surface-bright);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-sm);box-shadow:var(--shadow-glass)}.why-icon svg{width:24px;height:24px;color:var(--primary)}
.why-c-off{transform:translateY(2rem)}

/* Art of Living — Asymmetric grid */
.art-g{display:grid;grid-template-columns:7fr 5fr;gap:0;align-items:center}
.art-img-w{position:relative}
.art-arch{border-radius:500px 500px 0 0;overflow:hidden;height:clamp(350px,45vw,550px);box-shadow:var(--shadow-lift);background:var(--surface-low)}
.art-arch img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.art-arch:hover img{transform:scale(1.04)}
.art-card{background:var(--surface-bright);padding:var(--s-lg);border-radius:var(--r-lg);box-shadow:var(--shadow-lift);margin-left:-4rem;position:relative;z-index:1}
.art-h{font-family:var(--serif);font-size:1.8rem;font-weight:300;font-style:italic;color:var(--on-surface);margin-bottom:var(--s-sm)}
.art-p{font-size:.88rem;color:var(--on-surface-muted);line-height:1.85;margin-bottom:var(--s-md)}
.art-link{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--primary);text-decoration:none;transition:color .25s}.art-link:hover{color:var(--primary-light)}

/* CTA Strip — flex layout */
.cta-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--s-lg);flex-wrap:wrap}
.cta-strip-txt{text-align:left}
.cta-strip-txt .sec-h{margin-bottom:var(--s-xs);text-align:left}

/* Mobile overrides */
@media(max-width:768px){
  .why-header{flex-direction:column;align-items:flex-start}
  .why-since{font-size:1.8rem;margin-top:var(--s-xs)}
  .why-c-off{transform:none}
  .art-g{grid-template-columns:1fr}
  .art-card{margin-left:0;margin-top:-2rem}
  .art-arch{height:300px;border-radius:500px 500px 0 0}
  .cta-strip{flex-direction:column;text-align:center}
  .cta-strip-txt .sec-h,.cta-strip-txt{text-align:center}
}

/* ═══ HOUSE TAB REDESIGN ═══ */
.house-title{font-family:var(--serif);font-size:clamp(3rem,7vw,5.5rem);font-weight:300;font-style:italic;letter-spacing:-.02em;color:var(--on-surface);margin-bottom:var(--s-sm)}

/* Host — editorial layout */
.host-g{display:flex;align-items:center;gap:clamp(2rem,5vw,4rem);justify-content:center}
.host-name{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;font-style:italic!important;color:var(--on-surface);margin-bottom:var(--s-md);letter-spacing:-.02em;white-space:nowrap}
.host-bio{display:flex;flex-direction:column;gap:var(--s-md)}
.host-bio p{font-size:.98rem;font-family:var(--serif)!important;font-style:italic;font-weight:300;color:var(--on-surface-muted);line-height:2}
.host-sign{padding-top:var(--s-md)}
.host-script{font-family:var(--serif);font-size:2rem;font-weight:300;font-style:italic;color:var(--primary);display:block;letter-spacing:-.01em}
.host-role{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--on-surface-muted);display:block;margin-top:.3rem}

/* Amenities — editorial header */
.am-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--s-lg);gap:var(--s-lg)}
.am-header-txt{max-width:500px}
.am-ey{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--on-surface-muted);display:block;margin-bottom:var(--s-xs)}
.am-h{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:300;font-style:italic;color:var(--on-surface);line-height:1.15;text-align:left}
.am-header-sub{font-size:.88rem;color:var(--on-surface-muted);line-height:1.8;max-width:350px;text-align:right}


/* Retreat CTA arch */
.retreat-outer{display:grid;grid-template-columns:7fr 5fr;align-items:center;gap:0}
.retreat-wrap{position:relative;width:100%;height:clamp(350px,45vw,550px);overflow:hidden;border-radius:500px 500px 0 0;box-shadow:var(--shadow-lift)}
.retreat-arch{position:absolute;inset:0;background:var(--primary)}
.retreat-arch img{width:100%;height:100%;object-fit:cover;object-position:30% center}
.retreat-overlay{position:absolute;inset:0;background:rgba(78,85,64,.15)}
.retreat-card{position:relative;z-index:2;background:rgba(253,251,246,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--s-xl);text-align:center;border-radius:var(--r-lg);margin-left:-4rem}
[data-theme="dark"] .retreat-card{background:rgba(30,32,24,.92)}
.retreat-h{font-family:var(--serif);font-size:1.6rem;font-weight:300;font-style:italic;color:var(--on-surface);margin-bottom:var(--s-sm)}
.retreat-p{font-size:.85rem;color:var(--on-surface-muted);line-height:1.8;margin-bottom:var(--s-md)}

/* Mobile */
@media(max-width:768px){
  .host-g{flex-direction:column;text-align:center}
  .host-sign{text-align:center}
  .am-header{flex-direction:column;align-items:flex-start}
  .am-header-sub{text-align:left;max-width:none}
  .retreat-outer{grid-template-columns:1fr}
  .retreat-wrap{aspect-ratio:unset;min-height:320px;border-radius:500px 500px 0 0}
  .retreat-card{margin:-2.5rem auto 0;max-width:88vw;width:88vw;padding:var(--s-lg) var(--s-md)}
}



.pan.active{padding-top:0}

/* Language-consistent text sizing */
.host-bio p,.am p,.sec-sub,.art-p{word-break:break-word;hyphens:auto}
[lang="el"] .sec-h,[lang="el"] .house-title,[lang="el"] .why-h,[lang="el"] .am-h{letter-spacing:-.01em}

/* Minimal amenity icons */
.am-ico{width:32px;height:32px;color:var(--primary);margin-bottom:var(--s-md);stroke-width:1.5}

/* ═══ GALLERY TAB REDESIGN ═══ */
.gal-title{font-family:var(--serif);font-size:clamp(3rem,7vw,5.5rem);font-weight:300;font-style:italic;letter-spacing:-.02em;color:var(--primary);margin-bottom:var(--s-sm)}

/* Grid — editorial with hover desaturation effect */
.gg{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.6rem,1.2vw,1.2rem)}
.gi{overflow:hidden;cursor:pointer;border-radius:var(--r-lg);background:var(--surface-low);transition:all .5s;box-shadow:var(--shadow-soft);aspect-ratio:4/3}
.gi:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}
.gi img{width:100%;height:100%;object-fit:cover;filter:grayscale(10%);transition:all .6s;will-change:transform}
.gi:hover img{filter:grayscale(0);transform:scale(1.04)}


/* Featured arch section */
.gal-feat{display:flex;align-items:center;gap:var(--s-xl)}
.gal-feat-img{flex:1;min-width:0}
.gal-arch{border-radius:500px 500px 0 0;overflow:hidden;box-shadow:var(--shadow-lift);background:var(--surface-low)}
.gal-arch img{width:100%;aspect-ratio:3/4;object-fit:cover}
.gal-feat-txt{flex:1}
.gal-feat-h{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.5rem);font-weight:300;font-style:italic;color:var(--primary);line-height:1.25;margin-bottom:var(--s-lg)}
.gal-feat-list{display:flex;flex-direction:column;gap:var(--s-md);margin-bottom:var(--s-xl)}
.gal-feat-item{display:flex;align-items:flex-start;gap:var(--s-sm)}
.gal-feat-item span{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}
.gfi-ico{width:18px;height:18px;flex-shrink:0;margin-top:.2rem;color:var(--primary)}
.gal-feat-item p{font-size:.88rem;color:var(--on-surface-muted);line-height:1.7}

@media(max-width:768px){
  .gg{grid-template-columns:1fr 1fr;gap:.5rem}
  .gal-feat{flex-direction:column}
  .gal-arch{border-radius:500px 500px 0 0}
}
@media(max-width:480px){
  .gg{grid-template-columns:1fr 1fr;gap:4px}
  .gi{border-radius:var(--r-md)}
  .lbox-w{width:96vw}
  .lbox-p{left:.25rem}.lbox-n{right:.25rem}
}
@media(max-width:360px){
  .gg{grid-template-columns:1fr}
}

/* ═══ REVIEWS TAB ═══ */
.rev-title{font-family:var(--serif);font-size:clamp(3rem,7vw,5.5rem);font-weight:300;font-style:italic;letter-spacing:-.02em;color:var(--on-surface);margin-bottom:var(--s-sm)}
.rv-links{margin-top:var(--s-xl)}
.rv-aw{font-size:.55rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--on-surface-muted);margin-bottom:var(--s-md)}
.rv-ext{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-md)}
.btn-ol{background:transparent;border:1.5px solid var(--primary);color:var(--primary);padding:.6rem 1.5rem;border-radius:var(--r-pill);font-size:.7rem;font-weight:600;letter-spacing:.06em;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.btn-ol:hover{background:var(--primary);color:var(--on-primary)}
/* Photo trio — arch-shaped */
.rev-trio{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:clamp(1rem,2vw,1.5rem);align-items:end}
.rev-trio-img{border-radius:500px 500px 0 0;overflow:hidden;aspect-ratio:3/4;background:var(--surface-low);box-shadow:var(--shadow-lift)}
.rev-trio-img img{width:100%;height:100%;object-fit:cover}
.rev-trio-img:nth-child(2){box-shadow:var(--shadow-lift),0 0 0 2px rgba(184,166,125,.15)}
.rev-trio-off1{transform:translateY(1.5rem)}
.rev-trio-off2{transform:translateY(1.5rem)}

/* ═══ EXPLORE TAB ═══ */
.exp-title{font-family:var(--serif);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:300;font-style:italic;color:var(--primary);line-height:1.15;margin-bottom:var(--s-md);text-align:center}
.ey{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--on-surface-muted);display:block;margin-bottom:var(--s-xs)}
.dist-row{display:flex;flex-wrap:wrap;gap:var(--s-sm);margin-top:var(--s-md);justify-content:center}
.dist{background:var(--surface-bright);padding:.4rem 1rem;border-radius:var(--r-pill);font-size:.75rem;color:var(--on-surface-muted);box-shadow:var(--shadow-glass);display:inline-flex;align-items:center;gap:.3rem}
/* Map + vantage 2-col */
.exp-map-g{display:grid;grid-template-columns:8fr 4fr;gap:var(--s-xl);align-items:start}
.exp-map-col{display:flex;flex-direction:column;gap:var(--s-md)}
.exp-vantage{display:flex;flex-direction:column;gap:var(--s-md)}
.exp-vantage-h{font-family:var(--serif);font-size:1.6rem;font-weight:300;font-style:italic;color:var(--primary)}
.exp-vantage-p{font-size:.88rem;color:var(--on-surface-muted);line-height:1.8}
.exp-quote{background:var(--surface-low);padding:var(--s-lg);border-radius:var(--r-lg);position:relative}
.exp-quote-label{font-size:.5rem;font-weight:700;letter-spacing:.15em;color:var(--on-surface-faint);display:block;margin-bottom:var(--s-xs)}
.exp-quote-txt{font-family:var(--serif);font-size:.95rem;font-style:italic;color:var(--primary);line-height:1.7}
/* Nearby — arch image cards */
.nb-h{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:300;color:var(--primary);margin-bottom:var(--s-xl)}
.nb-img-arch{border-radius:500px 500px 0 0;overflow:hidden;aspect-ratio:4/5;background:var(--surface-low);margin-bottom:var(--s-sm);box-shadow:var(--shadow-soft)}
.nb-img-arch img{width:100%;height:100%;object-fit:cover}
.nb-km{display:none}
.nb h4{font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--on-surface);margin-bottom:.2rem}
.nb-d{font-size:.75rem;color:var(--on-surface-muted);line-height:1.6}
/* How to get here */
.howto-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:300;font-style:italic;color:var(--primary);margin-bottom:var(--s-xs)}
.howto-g{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-md);margin-top:var(--s-xl)}
.howto-c{background:var(--surface-bright);padding:var(--s-lg);border-radius:var(--r-xl);box-shadow:var(--shadow-soft);text-align:center;transition:all .4s}
.howto-c:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.howto-icon{width:48px;height:48px;border-radius:var(--r-full);background:var(--surface-low);display:flex;align-items:center;justify-content:center;margin:0 auto var(--s-sm)}.howto-icon svg{width:22px;height:22px;color:var(--primary)}
.howto-c h4{font-family:var(--serif);font-size:1.1rem;font-style:italic;color:var(--primary);margin-bottom:.3rem}
.howto-c p{font-size:.7rem;color:var(--on-surface-muted);line-height:1.6}

/* ═══ BOOK TAB ═══ */
.book-title{font-family:var(--serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;font-style:italic;color:var(--on-primary);line-height:1.2;margin-bottom:var(--s-sm)}
.bk-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-md);margin-top:var(--s-xl)}
.btn-air{background:#FF5A5F;color:#fff;border:2px solid #FF5A5F}.btn-air:hover{background:#e04e53}
.btn.btn-bkg{background:#003580!important;color:#fff!important;border:2px solid #003580}.btn-bkg:hover{background:#002a66}
.btn-ow{background:transparent;border:2px solid rgba(255,255,255,.5);color:var(--on-primary)}.btn-ow:hover{background:rgba(255,255,255,.15)}
.btn-lg{padding:.8rem 2rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;border-radius:var(--r-pill);text-decoration:none;display:inline-block;transition:all .3s}
/* Contact + rules */
.bk-g{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-xl);align-items:start}
.bk-box{padding:var(--s-xl)}
.bk-contact{background:var(--surface-low);border-radius:var(--r-xl);box-shadow:var(--shadow-soft)}
.bk-box-h{font-family:var(--serif);font-size:1.8rem;font-weight:300;font-style:italic;color:var(--primary);margin-bottom:var(--s-xs)}
.bk-box-sub{font-size:.82rem;color:var(--on-surface-muted);margin-bottom:var(--s-lg);line-height:1.7}
.bk-info{display:flex;flex-direction:column;gap:var(--s-lg)}
.ct{display:flex;align-items:flex-start;gap:var(--s-md)}
.ct>span:first-child{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}
.ct-ico{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-full);background:var(--surface-low);flex-shrink:0}.ct-ico svg{width:16px;height:16px;color:var(--primary)}
.ct-label{font-size:.5rem;font-weight:700;letter-spacing:.15em;color:var(--on-surface-faint);display:block;margin-bottom:.15rem}
.ct a,.ct span:not(.ct-label){font-size:.92rem;color:var(--on-surface);text-decoration:none}
.ct a:hover{color:var(--primary)}
.bk-rules{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-lg)}
.bk-rule h4{font-size:.85rem;font-weight:700;color:var(--on-surface);margin-bottom:.2rem}
.bk-rule p{font-size:.78rem;color:var(--on-surface-muted);line-height:1.6}
/* FAQ */
.faq-title{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:300;font-style:italic;color:var(--primary);margin-bottom:var(--s-xs)}
.faq-list{margin-top:var(--s-xl);max-width:700px;margin-left:auto;margin-right:auto}

/* Long-stay note */
.bk-long-stay{margin-top:var(--s-md);font-size:.78rem;color:var(--on-surface-muted);line-height:1.8;padding:var(--s-sm) var(--s-md);background:var(--surface-high);border-radius:var(--r-md);border-left:3px solid var(--gold)}

/* Mobile for new tabs */
@media(max-width:768px){
  .rev-trio{grid-template-columns:1fr 1.25fr 1fr;gap:.4rem}
  .rev-trio-img{aspect-ratio:2/3}
  .rev-trio-img:nth-child(2){aspect-ratio:3/5}
  .rev-trio-off1,.rev-trio-off2{transform:none}
  .exp-map-g{grid-template-columns:1fr}
  .nb-img-arch{aspect-ratio:4/5;border-radius:500px 500px 0 0}
  .howto-g{grid-template-columns:1fr 1fr}
  .bk-g{grid-template-columns:1fr}
  .bk-rules{grid-template-columns:1fr}
  .exp-title{text-align:center}
  .dist-row{margin-top:var(--s-sm);margin-bottom:0}
  .exp-map-g{margin-top:var(--s-sm)}
}

/* Brand — single unified font */
.nv-brand-full{font-family:var(--serif);font-size:clamp(.85rem,1.3vw,1.1rem);font-weight:400;font-style:italic;color:var(--on-surface);letter-spacing:-.01em;white-space:nowrap}
.nv--glass .nv-brand-full{color:#fff}

/* ═══ TYPEFACE CONSISTENCY ═══ */
html{font-feature-settings:'kern' 1,'liga' 1}
/* All headings use serif consistently */
h1,h2,h3,h4,.house-title,.gal-title,.rev-title,.exp-title,.book-title,.am-h,.nb-h,.howto-title,.faq-title,.art-h,.retreat-h,.gal-feat-h,.host-name,.bk-box-h,.why-h{font-family:var(--serif)!important}
/* All body text uses sans consistently */
body,p,span:not(.nv-brand-full):not(.why-since),a,button,input,.sec-sub,.art-p,.host-bio p,.am p,.nb-d,.bk-box-sub,.bk-rule p,.howto-c p,.gal-feat-item p,.exp-vantage-p{font-family:var(--sans)!important}
/* Greek tends wider — tighten slightly */
[lang="el"] h1,[lang="el"] h2,[lang="el"] .house-title,[lang="el"] .gal-title,[lang="el"] .rev-title,[lang="el"] .exp-title,[lang="el"] .book-title{letter-spacing:-.02em}

/* ═══ PERFORMANCE ═══ */
.pan{will-change:opacity}.sr{will-change:opacity,transform}
img{content-visibility:auto}
.gn{text-align:center;font-size:.85rem;color:var(--on-surface-faint);font-style:italic;margin-top:var(--s-lg)}
.ck-overlay.hidden{display:none}
.hidden{display:none!important}

/* ═══ REVIEW CARDS ═══ */
.car-s{min-width:100%;padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;text-align:center;box-sizing:border-box}
.car-stars{color:var(--gold);font-size:1.1rem;letter-spacing:.15em;margin-bottom:1.5rem}
.car-q{font-family:var(--serif);font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:300;font-style:italic;color:var(--on-surface);line-height:1.6;max-width:650px;margin:0 0 1.5rem;border:none;padding:0}
.car-author{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.car-author strong{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface)}
.car-author span{font-size:.65rem;color:var(--on-surface-muted);letter-spacing:.05em}
