:root{--ivory:#FAF6F0;--white:#FFFFFF;--sand:#EADBC8;--line:#E8DFD3;--control-border:#8C7D70;--ink:#1F1A17;--ink-muted:#6B5D52;--espresso:#3B2A22;--espresso-hover:#2E2019;--on-espresso:#FAF6F0;--gold:#B8863B;--gold-deep:#8E6526;--terracotta:#B5583A;--terracotta-soft:#F6E3DB;--gold-soft:#F3E7D3;--success:#2E7D4F;--success-soft:#E3F1E8;--error:#B3261E;--error-soft:#FBE9E7;--warning:#A15C00;--disabled:#F2EEE8;--font-display:"Playfair Display",Georgia,serif;--font-sans:"DM Sans",system-ui,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:24px;--radius-pill:999px;--shadow-hover:0 6px 20px rgba(31,26,23,.08);--shadow-bar:0 -2px 12px rgba(31,26,23,.08);--shadow-modal:0 16px 48px rgba(31,26,23,.18);--bar-h:76px}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-bottom:calc(var(--bar-h) + 16px);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/26px var(--font-sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:var(--gold-deep)}a:hover{color:var(--espresso)}:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}h1,h2,h3{margin:0}.serif,h1,h2{font-family:var(--font-display);font-weight:500}h1{font-size:clamp(36px,5vw,56px);line-height:1.15}h2{font-size:clamp(26px,3vw,32px);line-height:1.25}h3{font-size:20px;line-height:28px}.wrap{max-width:1200px;margin:0 auto;padding:0 20px}.section{padding:var(--space-16) 0}@media (min-width:900px){.section{padding:var(--space-24) 0}.wrap{padding:0 24px}}.muted{color:var(--ink-muted)}.small{font-size:14px;line-height:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip{position:absolute;left:-9999px;top:8px;background:var(--espresso);color:var(--on-espresso);padding:8px 16px;border-radius:var(--radius-md);z-index:100}.skip:focus{left:8px}.btn{font:inherit;font-size:15px;font-weight:500;min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-md);border:1.5px solid var(--espresso);background:transparent;color:var(--espresso);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;transition:background .15s}.btn:hover{background:var(--sand);color:var(--espresso)}.btn-primary{background:var(--espresso);color:var(--on-espresso)}.btn-primary:hover{background:var(--espresso-hover);color:var(--on-espresso)}.btn-light{border-color:var(--on-espresso);color:var(--on-espresso)}.btn-light:hover{background:#faf6f01f;color:var(--on-espresso)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-block{width:100%}.ctas{display:flex;gap:var(--space-3);flex-wrap:wrap}.chips{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chip{font:inherit;font-size:15px;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--control-border);background:var(--white);color:var(--ink);cursor:pointer;flex:none}.chip[aria-pressed=true]{background:var(--espresso);border-color:var(--espresso);color:var(--on-espresso)}.badge{display:inline-block;font-size:12px;font-weight:500;line-height:20px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--gold-soft);color:var(--ink)}.badge-offer{background:var(--terracotta-soft);color:var(--terracotta)}.ann{background:var(--espresso);color:var(--on-espresso);font-size:14px;line-height:20px;display:flex;justify-content:center;align-items:center;gap:var(--space-2);padding:6px var(--space-4);text-align:center}.ann a{color:var(--on-espresso)}.ann button{background:none;border:0;color:var(--on-espresso);font-size:20px;min-width:44px;min-height:36px;cursor:pointer}.hdr{position:sticky;top:0;z-index:40;background:#faf6f0f5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:68px}.logo{font:500 22px/1 var(--font-display);color:var(--ink);text-decoration:none}.nav{display:none;gap:var(--space-8);font-size:15px;font-weight:500}.nav a{color:var(--ink);text-decoration:none;padding:var(--space-2) 0}.nav a.active{box-shadow:inset 0 -2px 0 var(--espresso)}.hdr .btn-primary{display:none}.menu-btn{background:none;border:0;min-width:44px;min-height:44px;cursor:pointer;color:var(--ink)}@media (min-width:960px){.nav,.hdr .btn-primary{display:flex}.menu-btn{display:none}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f1a1773;z-index:60;display:flex;align-items:flex-end}.sheet{background:var(--ivory);width:100%;max-height:92vh;overflow:auto;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-2) var(--space-6) var(--space-6);box-shadow:var(--shadow-modal)}.grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:6px auto 10px}.sheet-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.sheet nav a{display:flex;align-items:center;min-height:52px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:17px;font-weight:500}.sheet nav a.sub{min-height:40px;padding-left:var(--space-4);font-size:15px;font-weight:400;color:var(--ink-muted);border:0}.mbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--white);box-shadow:var(--shadow-bar)}.mbar .btn-primary{flex:1}.mbar .btn{padding:0 var(--space-4)}@media (min-width:960px){.mbar{display:none}}main{padding-bottom:var(--bar-h)}@media (min-width:960px){main{padding-bottom:0}}.hero{display:grid;gap:var(--space-6);padding:var(--space-6) 0 var(--space-12)}.hero-img{border-radius:var(--radius-lg);aspect-ratio:4/5;object-fit:cover;width:100%;max-height:520px;background:var(--sand)}.hero p.lead{font-size:18px;line-height:28px;color:var(--ink-muted);margin:var(--space-3) 0 var(--space-4)}.proof{font-weight:500;font-size:15px;margin:0 0 var(--space-6)}.stars{color:var(--gold-deep);letter-spacing:2px;margin-right:var(--space-2)}@media (min-width:900px){.hero{grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;padding:var(--space-16) 0 var(--space-24)}.hero-img{order:2}}@media (max-width:899px){.hero-img{aspect-ratio:4/3}}.grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s}.tcard:hover{box-shadow:var(--shadow-hover)}.tcard img{aspect-ratio:4/3;object-fit:cover;object-position:center;width:100%;height:auto;background:var(--sand)}.tcard-wide img{aspect-ratio:16/9;height:auto}.tcard{display:flex;flex-direction:column}.tcard-b{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.tcard-b .meta{margin-top:auto;padding-top:var(--space-2)}.tcard h3{font:500 21px/28px var(--font-display)}.tcard h3 a{color:var(--ink);text-decoration:none}.meta{display:flex;justify-content:space-between;font-size:15px}.price{font-weight:700}.cat{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.sec-hd{display:flex;justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.band{background:var(--sand)}.three{display:grid;gap:var(--space-8)}@media (min-width:800px){.three{grid-template-columns:repeat(3,1fr)}}.review{margin:0;padding:var(--space-6)}.review figcaption{font-size:13px;color:var(--ink-muted)}.spa-sec{padding-top:var(--space-16);padding-bottom:var(--space-16)}@media (min-width:900px){.spa-sec{padding-top:var(--space-24);padding-bottom:var(--space-16)}}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:180px;gap:var(--space-4)}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm)}.gallery img:first-child{grid-row:span 2}@media (max-width:700px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:140px}.gallery img:first-child{grid-column:span 2;grid-row:auto}}.duo{display:grid;gap:var(--space-8)}@media (min-width:800px){.duo{grid-template-columns:1fr 1fr}}.panel{border-radius:var(--radius-lg);padding:var(--space-8)}.panel-dark{background:var(--espresso);color:var(--on-espresso)}.panel-gold{background:var(--gold-soft)}.team{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.team img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);width:100%;background:var(--sand)}.map{display:grid}.map-img{min-height:240px;background:var(--sand) center/cover;display:flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;font-weight:500}.map-b{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}@media (min-width:800px){.map{grid-template-columns:1fr 1fr}}.open{color:var(--success);font-weight:500}.closed{color:var(--warning);font-weight:500}.final{text-align:center;border-top:1px solid var(--line)}.final .ctas{justify-content:center;margin-top:var(--space-6)}.foot{background:var(--espresso);color:var(--on-espresso);font-size:14px;line-height:26px;padding:var(--space-12) 0 var(--space-6)}.foot a{color:var(--on-espresso)}.foot-g{display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr}@media (min-width:900px){.foot-g{grid-template-columns:2fr 1fr 1fr 1fr}}.foot ul{list-style:none;margin:0;padding:0}.foot h4{margin:0 0 var(--space-2);font-size:15px}.legal{border-top:1px solid rgba(250,246,240,.25);margin-top:var(--space-8);padding-top:var(--space-4);display:flex;gap:var(--space-4);flex-wrap:wrap}.tabs{position:sticky;top:68px;z-index:30;background:var(--ivory);border-bottom:1px solid var(--line)}.tabs-in{display:flex;gap:var(--space-6);overflow-x:auto;scrollbar-width:none}.tab{font:inherit;font-size:15px;font-weight:500;background:none;border:0;padding:var(--space-3) 0;color:var(--ink);cursor:pointer;white-space:nowrap;min-height:44px}.tab[aria-selected=true]{box-shadow:inset 0 -2px 0 var(--espresso)}.filters{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-6) 0 var(--space-2)}select,.input,textarea{font:inherit;min-height:48px;padding:0 var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink)}textarea{padding:var(--space-3);min-height:96px;resize:vertical}.crumbs{font-size:14px;margin:var(--space-6) 0 var(--space-4)}.detail{display:grid;gap:var(--space-8);padding-bottom:var(--space-16)}.detail-img{border-radius:var(--radius-lg);aspect-ratio:3/2;object-fit:cover;width:100%;background:var(--sand)}.detail h2{font-size:26px;margin:var(--space-8) 0 var(--space-3)}.bookcard{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);align-self:start}.bigprice{font:500 32px/1 var(--font-display)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--space-2)}.slot{font:inherit;font-size:15px;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--control-border);background:var(--white);color:var(--ink);cursor:pointer}.slot:hover{background:var(--sand)}.slot[aria-pressed=true]{background:var(--espresso);border-color:var(--espresso);color:var(--on-espresso)}.slot:disabled{background:var(--disabled);color:var(--ink-muted);text-decoration:line-through;cursor:not-allowed}.two{display:grid;gap:var(--space-4)}@media (min-width:700px){.two{grid-template-columns:1fr 1fr}}@media (min-width:960px){.detail{grid-template-columns:1fr 380px;gap:var(--space-12)}.bookcard{position:sticky;top:92px}}.acc details{border-bottom:1px solid var(--line)}.acc summary{cursor:pointer;padding:var(--space-3) 0;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:var(--space-4);min-height:44px;align-items:center}.acc summary::-webkit-details-marker{display:none}.acc summary:after{content:"+";color:var(--gold-deep);font-size:20px}.acc details[open] summary:after{content:"–"}.acc p{margin:0 0 var(--space-3);color:var(--ink-muted)}.steps{list-style:none;display:flex;gap:var(--space-6);padding:0;margin:var(--space-6) 0;font-size:15px;font-weight:500}.steps li{display:flex;align-items:center;gap:var(--space-2);color:var(--ink-muted)}.steps li[aria-current=step]{color:var(--ink)}.dot{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;border:1.5px solid var(--control-border)}.steps li[aria-current=step] .dot,.steps li.done .dot{background:var(--espresso);border-color:var(--espresso);color:var(--on-espresso)}.book{display:grid;gap:var(--space-8);padding-bottom:var(--space-16)}@media (min-width:960px){.book{grid-template-columns:1fr 360px;gap:var(--space-12)}.sum{position:sticky;top:92px}}.book h2{font-size:22px;margin:var(--space-8) 0 var(--space-3)}.dates{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:4px}.date{font:inherit;flex:0 0 64px;height:72px;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:20px}.date small{font-size:12px;color:var(--ink-muted)}.date b{font-size:20px}.date[aria-pressed=true]{background:var(--espresso);border-color:var(--espresso);color:var(--on-espresso)}.date[aria-pressed=true] small{color:var(--on-espresso)}.date:disabled{background:var(--disabled);cursor:not-allowed}.thers{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));border:0;margin:0;padding:0}.ther{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--white);cursor:pointer}.ther:has(input:checked){border:2px solid var(--espresso)}.ther input,.check input{accent-color:var(--espresso);width:20px;height:20px;margin:0;flex:none}.ther img{width:40px;height:40px;border-radius:50%;object-fit:cover}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-size:15px;font-weight:500}.input[aria-invalid=true]{border:1.5px solid var(--error)}.err{font-size:14px;color:var(--error)}.sum{padding:var(--space-6);align-self:start}.sum dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-4);margin:0;font-size:15px}.sum dt{color:var(--ink-muted)}.sum dd{margin:0;text-align:right}.total{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:var(--space-4);padding-top:var(--space-4);font-weight:700}.check{display:flex;gap:var(--space-2);font-size:14px;line-height:22px;margin:var(--space-4) 0}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:15px;margin:var(--space-3) 0}.toast-err{background:var(--error-soft);color:var(--error)}.conf{max-width:520px;margin:var(--space-12) auto var(--space-16);text-align:center;padding:var(--space-8) var(--space-6)}.tick{width:64px;height:64px;border-radius:50%;background:var(--success-soft);color:var(--success);margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center}.conf .sum{text-align:left;border:1px solid var(--line);border-radius:var(--radius-lg);margin:var(--space-6) 0}.conf .ctas{justify-content:center}.voucher-card{aspect-ratio:16/10;border-radius:var(--radius-lg);background:var(--espresso);color:var(--on-espresso);padding:var(--space-8);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.voucher-card:after{content:"";position:absolute;right:-60px;bottom:-60px;width:240px;height:240px;border-radius:50%;background:var(--gold)}.voucher-card>*{position:relative;z-index:1}.page-hd{padding:var(--space-12) 0 var(--space-6)}.page-hd p{font-size:18px;color:var(--ink-muted);margin:var(--space-2) 0 0}table.hours{border-collapse:collapse;width:100%;font-size:15px}table.hours td{padding:6px 0;border-bottom:1px solid var(--line)}table.hours td+td{text-align:right}table.hours tr.today td{font-weight:700}.hide-sm{display:none}@media (min-width:700px){.hide-sm{display:inline}}
