/* Approved homepage type system, shared by the public pages. */
@font-face{font-family:Veluwe;src:url('/outputs/veluwe-font/VeluweDisplay-Regular.woff2?v=0.4-16faabf3f13c') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--veluwe-display:Veluwe,Impact,sans-serif;--veluwe-reading:Georgia,serif;--veluwe-ui:system-ui,sans-serif}
body[data-typography="home"]{font-family:var(--veluwe-ui)}
body[data-typography="home"] :is(.stay-section__intro,.veluwe-welcome__intro,.woodland-lead,.woodland-body,.cabin-editorial__description,.cabin-editorial__overview,.cabin-editorial__statement,.cabin-editorial__body,.outside-copy>p,.area-map__intro>p,.area-map__card-copy,.map-heading>p:last-child,.dialogue-text,.arcade-preview p,.water-card p,.utility-intro,.utility-summary p,.utility-policy p,.utility-preference p){font-family:var(--veluwe-reading);font-weight:400;letter-spacing:-.015em}
body[data-typography="home"] :is(.stay-card__details,.veluwe-welcome__hint,.veluwe-welcome__quiet,.theme-switch button,.sound-toggle,.woodland-volume,.woodland-volume__credits,.woodland-control-label,.pond-focus-back,.pond__tree-control .pond__shake,.pond__tools .pond__shake,.map-controls button,.map-instruction,.pin-label small,.mobile-houses a,.eyebrow,.woodland-label,.woodland-facts,.woodland-details li,.journey-stop__title,.booking-note__eyebrow,.booking-note__facts,.stay-dates-dialog,.booking-dialog.stay-response,.utility-eyebrow,.utility-contents,.utility-preference small,.utility-always,.utility-actions,.utility-status,.utility-footer,.load-status,.arcade-access__status,.arcade-return){font-family:var(--veluwe-ui);letter-spacing:normal}
body[data-typography="home"] :is(.woodland-label,.eyebrow,.utility-eyebrow,.booking-note__eyebrow){letter-spacing:.12em}
body[data-typography="home"] :is(.map-heading h1,.pin-label strong,.water-card h2){font-family:var(--veluwe-display);font-weight:400}
body[data-typography="home"] .map-heading h1{white-space:normal;text-wrap:balance;line-height:1.05}
body[data-typography="home"] :is(.shop-preview__cta.fox-button,.shop-night__outside.fox-button,.utility-text-link.fox-button){width:clamp(250px,24vw,390px);max-width:100%;height:auto;aspect-ratio:400/140;min-height:0;padding:0;border:0;border-radius:0;overflow:visible;background:transparent;color:#f3e6c8;display:inline-flex;align-items:center;justify-content:center;isolation:isolate;text-decoration:none;backdrop-filter:none}
body[data-typography="home"] :is(.shop-preview__cta-label,.shop-night__outside-label,.utility-cta-label){position:relative;z-index:1;font-family:var(--veluwe-reading);font-weight:400;font-size:clamp(16px,1.65vw,24px);line-height:1.2;gap:.6em;padding:0 10%;text-align:center;pointer-events:none}
body[data-typography="home"] :is(.shop-preview__cta,.shop-night__outside,.utility-text-link.fox-button) .fox-button__art{position:absolute;inset:0;width:100%;height:100%;transform:none;pointer-events:none}
body[data-typography="home"] .shop-preview__cta .fox-button__art>g>rect{fill:#f4511e}
body[data-typography="home"] .shop-preview__cta.is-active{color:#f3e6c8;border:0}
body[data-typography="home"] .shop-night__outside.fox-button{position:absolute;z-index:1;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%)}
body[data-typography="home"] .utility-title{font-size:clamp(56px,6.3vw,108px);line-height:.98}
body[data-typography="home"] .utility-title>span{white-space:normal;text-wrap:balance}
body[data-typography="home"] :is(.utility-copy,.woodland-intro__copy,.woodland-room__copy){min-width:0}
body[data-typography="home"] :is(.utility-policy p,.woodland-body,.area-map__card-copy){overflow-wrap:break-word}
/* Small controls stay simple and have generous hit areas. */
body[data-typography="home"] :is(.theme-switch button,.map-controls button,.map-zoom button,.area-map__zoom button,.area-map__close,.map-guide__nav button,.map-guide__back,.water-card__close,.stay-dialog-close,.stay-calendar__navigation button,.arcade-mobile-link){min-width:44px;min-height:44px}
body[data-typography="home"] :is(.utility-contents a,.utility-actions button,.utility-policy-link,.utility-footer a,.forest-footer__legal a,.forest-footer__top,.stay-dates__clear,.stay-response__change,.water-card__action){min-height:44px;display:inline-flex;align-items:center}
body[data-typography="home"] .utility-switch{height:44px}
body[data-typography="home"] .utility-switch>span{inset:7px 0}
body[data-typography="home"] .map-pin{min-height:44px}
body[data-typography="home"] .topbar>a{min-height:44px;display:inline-flex;align-items:center}
body[data-typography="home"] .stay-calendar td,body[data-typography="home"] .stay-calendar__day{height:44px}
body[data-typography="home"] .stay-dates__content{min-width:0}
body[data-typography="home"] .stay-response__back.fox-button{max-width:100%}
body[data-typography="home"] .stay-dates__selection>button{min-width:0}
body[data-typography="home"] .reply:focus-visible .reply-label{text-decoration:underline;text-underline-offset:5px}
body[data-typography="home"] :is(.forest-footer__column a,.forest-footer__mode){min-height:44px;display:inline-flex;align-items:center}
body[data-typography="home"] .topbar>a{min-width:44px;gap:.3em}
body[data-typography="home"] .woodland-controls .woodland-volume-step{flex-basis:44px;width:44px;height:44px;min-height:44px;font-family:var(--veluwe-ui)}
body[data-typography="home"] .woodland-volume input{height:44px;background-size:100% 5px;background-repeat:no-repeat;background-position:center}
body[data-typography="home"] .woodland-controls .music-credits-link{min-height:44px;display:flex;align-items:center;margin-top:4px}
@media(max-width:1050px){
 body[data-typography="home"] .stay-card__details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;white-space:normal}
 body[data-typography="home"] .stay-card__fact{min-width:0;min-height:44px}
 body[data-typography="home"] .stay-card__fact>span{min-width:0}
 body[data-typography="home"] .stay-card__setting{margin-left:0}
}
@media(max-width:800px){
 body[data-typography="home"] .utility-title,[lang=nl] body[data-typography="home"] .utility-title{font-size:clamp(42px,10.8vw,80px)}
 body[data-typography="home"] .utility-footer{flex-wrap:wrap;gap:4px 16px}
 body[data-typography="home"] .mobile-houses a{min-height:48px;display:flex;align-items:center;justify-content:center;overflow-wrap:normal}
}
@media(max-width:700px){
 /* Keep the shop shortcut below the shared sound/volume row. */
 body[data-typography="home"] .arcade-mobile-link{top:148px}
}
@media(max-width:400px){
 body[data-typography="home"] .stay-dates__content{padding-inline:12px}
 body[data-typography="home"] .stay-dates__footer{flex-wrap:wrap}
 body[data-typography="home"] .stay-dates__footer>div{flex:1 1 100%}
 body[data-typography="home"] .stay-dates__footer p{max-width:none}
 body[data-typography="home"] .stay-dates__apply.fox-button{width:100%;height:78px}
 body[data-typography="home"] .booking-dialog.stay-response h2{font-size:clamp(38px,13vw,56px)}
}
