/* Production-safe visual and overflow layer: constrain root causes instead of masking them. */
html,body{max-width:100%}html{scroll-padding-top:7rem;overflow-x:visible}body{overflow-x:visible;background:linear-gradient(180deg,#f7f2e8,#f2ecdf)}
:where(main,section,article,aside,header,footer,nav,form,fieldset,div,dl,dd,figure){min-width:0}:where(p,h1,h2,h3,h4,li,dd,dt,a,span,strong,bdi,code){max-width:100%;overflow-wrap:anywhere}:where(input,select,textarea,button,table,img,svg){max-width:100%;box-sizing:border-box}
.site-header{inset-inline:0}.site-nav a.active:not(.btn)::after,.site-nav a[aria-current=page]:not(.btn)::after{transform:scaleX(1)}.site-nav a[aria-current=page]:not(.btn){color:#f1cfb1}.site-brand{flex:0 1 auto;min-width:0}.nav-cta{white-space:nowrap}
.home-hero{min-height:clamp(590px,82svh,860px)}.hero-media{transform:none}.hero-copy h1{font-size:clamp(2.7rem,6vw,5.8rem);text-wrap:balance}.hero-copy p{max-width:54ch}.card-footer>div{min-width:0}.card-footer strong{font-size:clamp(.9rem,2.5vw,1.12rem);white-space:nowrap}.stay-meta{flex-wrap:wrap}.stay-card,.food-card,.gallery-item{border:1px solid rgba(24,48,39,.08)}
.gallery-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;columns:auto}.gallery-item{margin:0;background:#fff}.gallery-open{display:block;width:100%;padding:0;border:0;background:transparent}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-item:nth-child(4n+1) img{aspect-ratio:4/5}.gallery-item figcaption{pointer-events:none}.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}.lightbox{width:min(94vw,1100px);max-height:92vh;padding:0;border:0;border-radius:18px;background:#0b1712;box-shadow:0 28px 90px rgba(0,0,0,.55)}.lightbox::backdrop{background:rgba(5,13,10,.82)}.lightbox img{width:100%;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;z-index:2;inset:12px 12px auto auto;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(10,24,18,.8);color:#fff;font-size:1.5rem}
.site-footer{margin-top:clamp(5rem,9vw,9rem);padding-top:clamp(4rem,7vw,7rem);isolation:isolate}.forest-silhouette{position:absolute;z-index:-1;inset:auto 0 calc(100% - 1px);width:100%;height:clamp(120px,13vw,190px);object-fit:cover;object-position:center bottom;transform:none}.footer-grid>*{min-width:0}.footer-brand{display:inline-flex}.footer-grid .btn{width:fit-content}.footer-bottom{gap:1rem;flex-wrap:wrap}
.detail-shell{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.detail-gallery>*{min-width:0}.booking-card,.unit-booking-card{max-width:100%;overflow:visible}.booking-form fieldset{min-inline-size:0}.quote-lines{display:grid;gap:.55rem}.quote-night{display:grid!important;grid-template-columns:minmax(7.5rem,.65fr) minmax(0,1fr) auto;align-items:center;gap:.75rem!important;padding:.7rem .8rem;margin:0!important;border:1px solid var(--line);border-radius:10px;background:#fff}.quote-night time{direction:ltr;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.quote-night span{min-width:0}.quote-night b,.quote-summary-row b{white-space:nowrap;font-variant-numeric:tabular-nums}.quote-summary-row{display:flex!important;justify-content:space-between;align-items:center;gap:1rem;min-width:0}.quote-grand-total{margin-top:.6rem!important;padding-top:.8rem;border-top:2px solid var(--forest-800);font-size:clamp(1rem,2.2vw,1.2rem);color:var(--forest-900)}
.payment-page{overflow:visible!important;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr)!important}.payment-summary dd,.bank-details dd{min-width:0;text-align:left}.tracking-row{align-items:flex-start!important}.tracking-row dd{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.tracking-code{direction:ltr;text-align:left;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.035em;overflow-wrap:anywhere;word-break:break-all}.copy-tracking{width:auto!important;min-height:38px!important;margin:0!important;padding:.35rem .6rem;white-space:nowrap}.payment-total dd{white-space:nowrap;font-variant-numeric:tabular-nums}.method-card{height:auto}.method-panel{min-width:0}.copy-value{word-break:break-word}
@media(max-width:1100px){.site-nav{gap:.7rem;font-size:.82rem}.nav-cta{padding-inline:.9rem}.payment-page{grid-template-columns:1fr!important}.detail-shell{grid-template-columns:1fr}.booking-card,.unit-booking-card{position:static!important}.gallery-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){body.menu-open{position:fixed;width:100%;inset-inline:0}.site-nav{max-width:calc(100vw - 2rem)}.hero-copy{text-align:right}.home-hero{min-height:620px}.scroll-hint{display:none}.footer-grid{gap:2rem}.quote-night{grid-template-columns:1fr auto}.quote-night time{grid-column:1/-1;color:var(--muted)}.payment-page{padding-inline:0!important}.payment-stepper{overflow:visible}.payment-summary dl div,.bank-details div{min-width:0}.gallery-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.home-hero{min-height:560px}.hero-content{padding-block:105px 70px}.hero-copy h1{font-size:clamp(2.45rem,13vw,3.6rem)}.hero-actions .btn{width:100%}.gallery-page-grid{grid-template-columns:1fr}.gallery-item:nth-child(n) img{aspect-ratio:4/3}.quote-night{grid-template-columns:1fr}.quote-night b{text-align:right}.quote-summary-row{align-items:flex-start}.tracking-row dd{grid-template-columns:1fr}.copy-tracking{justify-self:start}.payment-summary dl div,.bank-details div{align-items:flex-start}.footer-grid{grid-template-columns:1fr}.site-footer{padding-top:3.5rem}}
@media(max-height:760px) and (min-width:1101px){.booking-card,.unit-booking-card{position:static!important}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}}

/* Quote hotfix: a single vertical list at every width, with wrapping at the source. */
.booking-quote,.quote-details,.quote-lines,.quote-night,.quote-night__meta,.quote-summary,.quote-summary-row{min-width:0;max-width:100%;box-sizing:border-box}.quote-details{margin:.75rem 0}.quote-details>summary{min-height:44px;padding:.65rem 0;cursor:pointer;font-weight:800}.quote-lines{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.55rem;max-height:24rem;overflow-y:auto;overflow-x:visible}.quote-night{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:.65rem!important;margin:0!important;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff}.quote-night__meta{display:grid;gap:.15rem;overflow-wrap:anywhere}.quote-night__meta time{direction:ltr;text-align:right;white-space:normal;font-variant-numeric:tabular-nums}.quote-night__meta span{min-width:0;color:var(--muted);overflow-wrap:anywhere}.quote-night__amount,.quote-summary-row b{max-width:100%;font-size:clamp(.78rem,2.5vw,.95rem);font-variant-numeric:tabular-nums;white-space:nowrap}.quote-summary{display:grid;gap:.45rem;margin-top:.8rem;padding-top:.75rem;border-top:1px solid var(--line)}.quote-summary-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:.75rem;margin:0!important}.quote-grand-total{margin-top:.3rem!important;padding-top:.7rem;border-top:2px solid var(--forest-800);color:var(--forest-900)}

/* Dedicated scene replaces every previous geometric footer layer. */
.site-footer{margin-top:clamp(5rem,9vw,9rem);padding-top:0;isolation:isolate}.site-footer::before,.site-footer::after{content:none!important}.forest-silhouette{display:none!important}.forest-footer-scene{width:100%;height:clamp(180px,16.25vw,260px);margin-top:calc(clamp(180px,16.25vw,260px)*-1);overflow:hidden;pointer-events:none}.forest-footer-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}.footer-grid{padding-top:clamp(2.5rem,5vw,5rem)}.footer-grid a:not(.site-brand){display:flex;align-items:center;min-height:44px}
@media(max-width:768px){.forest-footer-scene{height:clamp(150px,42vw,180px);margin-top:calc(clamp(150px,42vw,180px)*-1)}}
@media(max-width:520px){.quote-night{grid-template-columns:minmax(0,1fr)!important}.quote-night__amount{white-space:normal;justify-self:start}.quote-summary-row{grid-template-columns:minmax(0,1fr) auto!important}}

/* Scheduled food selection: date > meal > food, without generic nested-div selectors. */
.food-day,.food-meal,.food-option,.food-option__copy,.food-order-summary,.food-order-row{min-width:0;max-width:100%;box-sizing:border-box}.food-meal{margin:.7rem 0;padding:.7rem;border:1px solid var(--line);border-radius:9px}.food-meal legend{padding-inline:.4rem;font-weight:800}.food-option{display:grid!important;grid-template-columns:auto minmax(0,1fr) 64px!important;align-items:center;gap:.65rem!important;margin:.5rem 0!important;padding:.65rem!important;border:1px solid #dce4dd;border-radius:9px;background:#fff;transition:border-color .15s,background .15s}.food-option.is-selected{border-color:var(--copper);background:#fff8ef;box-shadow:0 0 0 2px rgb(169 101 59 / 12%)}.food-option__image{width:54px;height:54px;object-fit:cover;border-radius:8px}.food-option__copy{display:grid;gap:.15rem;overflow-wrap:anywhere}.food-option__copy small,.food-option__meta{font-size:.7rem;color:var(--muted)}.food-option input{width:64px!important;min-height:44px;margin:0!important;text-align:center}.food-meal-empty,.food-empty,.food-selection-notice{padding:.7rem;border-radius:8px;background:#f2f4ef;color:var(--muted)}.food-order-summary{position:sticky;bottom:0;z-index:2;margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 -6px 20px rgb(20 45 35 / 8%)}.food-order-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.food-order-row span{overflow-wrap:anywhere}.food-order-row b,.food-total{white-space:nowrap}.quote-night time,.quote-night__amount,.quote-summary-row b{direction:ltr;unicode-bidi:isolate;white-space:nowrap}.quote-lines{overflow-x:visible!important}.booking-quote{overflow-x:visible}
@media(max-width:520px){.food-option{grid-template-columns:minmax(0,1fr) 58px!important}.food-option__image{display:none}.food-order-row{grid-template-columns:1fr}.food-order-row b{justify-self:start}}

/* Mission QA: keep the footer scene in normal flow and the complete review rules readable. */
.site-footer{margin-top:clamp(2rem,4vw,4rem)!important}.forest-footer-scene{margin-top:0!important}.booking-rules-full{max-height:32rem;min-height:14rem;overflow-y:auto;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#fff;white-space:normal;line-height:2}.booking-rules-acceptance>label{display:flex;align-items:flex-start;gap:.55rem;margin-top:1rem}.booking-rules-acceptance>label input{flex:0 0 auto;margin-top:.45rem}
@media(max-width:520px){.booking-rules-full{min-height:18rem;max-height:65vh}.site-footer{margin-top:2rem!important}}
.food-stepper{direction:ltr;display:grid;grid-template-columns:42px 46px 42px;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden}.food-stepper__button{width:42px;min-height:44px;border:0;background:var(--forest-800);color:#fff;font-size:1.3rem}.food-stepper__button:disabled{background:#d8ddd8;color:#7c857e;cursor:not-allowed}.food-stepper__value{text-align:center;font-weight:800}.food-quantity-input{display:none!important}.food-option{grid-template-columns:auto minmax(0,1fr) auto!important}
@media(max-width:520px){.food-option{grid-template-columns:minmax(0,1fr)!important}.food-stepper{justify-self:start}}

/* Production food hotfix: closed accessible accordions and unclipped quantity controls. */
.food-accordion{margin:.65rem 0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:visible}.food-accordion__trigger{position:relative;width:100%;min-height:48px;padding:.7rem 1rem;border:0;border-radius:10px;background:#f2f4ef;color:var(--forest-900);text-align:right;font-weight:800}.food-accordion__trigger::after{content:'+';position:absolute;inset-inline-end:auto;inset-inline-start:1rem;font-size:1.25rem}.food-accordion__trigger[aria-expanded=true]::after{content:'−'}.food-accordion__panel{padding:.35rem .65rem .65rem}.food-accordion__panel[hidden]{display:none}.food-option{overflow:visible!important}.food-stepper{display:flex!important;direction:ltr;flex:0 0 auto;min-width:134px;width:134px;max-width:none;overflow:visible}.food-stepper__button{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px}.food-stepper__value{flex:0 0 46px;width:46px;min-width:46px;line-height:44px}.food-order-summary{position:static!important;inset:auto!important;z-index:auto;margin-top:1rem}.food-unavailable{padding:.45rem .7rem;border-radius:8px;background:#eee;color:var(--muted);white-space:nowrap}
@media(max-width:768px){.food-option{grid-template-columns:minmax(0,1fr)!important;align-items:start!important}.food-option__image{display:none}.food-stepper,.food-unavailable{grid-column:1;justify-self:start}.food-order-summary{position:static!important}.food-accordion__panel{padding:.25rem .5rem .55rem}}

/* Food quantity QA: the card owns a compact, fully visible top-left stepper. */
.food-option{position:relative;display:block!important;min-height:58px;padding:.7rem .7rem .7rem 7.55rem!important;overflow:hidden!important}
.food-option__copy{width:100%;max-width:100%;overflow-wrap:anywhere;word-break:normal;white-space:normal}
.food-option__copy>strong,.food-option__copy>small,.food-option__meta{max-width:100%;overflow-wrap:anywhere;white-space:normal}
.food-stepper{position:absolute;top:.7rem;left:.7rem;display:grid!important;grid-template-columns:34px 34px 34px;min-width:102px;width:102px;max-width:102px;height:34px;border-radius:8px;overflow:hidden}
.food-stepper__button{flex:none;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;line-height:34px;font-size:1.05rem}
.food-stepper__value{flex:none;width:34px;min-width:34px;height:34px;line-height:34px}
.food-stepper__button:disabled{opacity:1}
.food-unavailable{display:inline-flex;max-width:102px;min-height:34px;align-items:center;justify-content:center;margin-top:.55rem;white-space:normal}
@media(max-width:768px){.food-option{min-height:58px;padding:.7rem .7rem .7rem 7.55rem!important}.food-stepper{top:.7rem;left:.7rem}.food-unavailable{grid-column:auto;justify-self:auto}}

/* Permanent public footer credit. */
.footer-credit{border-top:1px solid rgba(255,255,255,.07);padding:1rem 0 1.25rem;text-align:center;color:#84978e;font-size:.72rem;line-height:1.9}.footer-credit span{display:block}.footer-credit a{display:inline;color:var(--copper,#c8956e);font-weight:700;text-decoration-color:transparent;text-underline-offset:.22em;transition:color .2s ease,text-decoration-color .2s ease}.footer-credit a:hover,.footer-credit a:focus-visible{color:#e1b894;text-decoration:underline;text-decoration-color:currentColor}.footer-credit a:focus-visible{outline:1px solid currentColor;outline-offset:3px;border-radius:2px}
@media(max-width:520px){.footer-credit{width:calc(100% - 1.25rem);padding:.9rem 0 1.15rem;text-align:center;font-size:.74rem;overflow-wrap:anywhere}}
