/* Quiet typography and forest palette, following the Chalet Anet reference. */
@import url('fonts.css');
:root{--forest:#0c231c;--forest-deep:#081a15;--cream:#f4f1ea;--paper:#f4f1ea;--clay:#8a6b3e;--sage:#aebeb0;--sand:#c7a876;--ink:#12211b;--line:rgba(18,33,27,.18);--serif:'Newsreader',Georgia,serif;--sans:'Instrument Sans',Arial,sans-serif}
body{overflow-x:clip;font-size:1rem;line-height:1.7}
.page-shell{width:min(1084px,calc(100% - 6rem))}
.section,.inquiry{padding:6rem 0}
h1,h2,h3{font-weight:400;letter-spacing:-.01em}
h1{font-size:clamp(2.9rem,8vw,6rem);line-height:1.05}
h2{font-size:clamp(2rem,4vw,3rem);line-height:1.12;margin-bottom:1.5rem}
h3{font-size:1.6rem;line-height:1.25}
.kicker{display:flex;align-items:center;gap:.75rem;font-family:var(--serif);font-style:italic;font-size:1rem;letter-spacing:.025em;text-transform:none;font-weight:400;color:#54615a;margin-bottom:1.25rem}
.kicker:before{content:'';display:block;width:2rem;height:1px;background:var(--sand);flex-shrink:0}
.kicker-light{color:var(--sage)}
.lead{font-size:1rem;line-height:1.8}
.site-header{border-color:transparent;color:var(--sage)}
.site-header.is-scrolled{background:rgba(12,35,28,.97);border-color:rgba(174,190,176,.16);color:var(--sage)}
.nav-shell{width:min(1304px,calc(100% - 6rem));min-height:6rem;gap:2rem}
.brand-copy strong{font-size:2rem;font-weight:400;letter-spacing:.02em;color:var(--cream)}
.brand-copy small{font-size:.75rem;letter-spacing:.16em;opacity:.85;margin-top:.5rem}
.main-nav{gap:clamp(1rem,2.4vw,2rem)}
.main-nav a{font-size:1rem;font-weight:400}
.main-nav a:hover,.header-cta:hover{color:var(--sand)}
.header-cta{border-color:rgba(174,190,176,.4);font-size:.9375rem;font-weight:400;padding:.6rem 1.2rem;border-radius:2px;color:var(--cream)}
.button{font-size:.9375rem;font-weight:400;border-radius:2px;min-height:3rem;padding:.75rem 1.5rem;cursor:pointer}
.button:hover{transform:none}
.button-clay{background:var(--cream);color:var(--ink)}
.button-clay:hover,.button-cream:hover{background:white;color:var(--ink)}
.quiet-link{border:1px solid rgba(174,190,176,.55);border-radius:2px;padding:.75rem 1.5rem;font-size:.9375rem;color:var(--cream)}
.quiet-link:hover{border-color:var(--sand);color:var(--sand)}
.hero{min-height:100svh;align-items:start;color:var(--cream)}
.hero-image{object-position:center;animation:none;transform:none}
.hero-overlay{background:linear-gradient(180deg,rgba(8,26,21,.88),rgba(8,26,21,.28) 45%,transparent 70%),linear-gradient(90deg,rgba(8,26,21,.6),transparent 85%),linear-gradient(0deg,rgba(8,26,21,.72),transparent 25%)}
.hero-inner{min-height:100svh;align-items:flex-start;justify-content:flex-start;flex-direction:column;padding-top:9rem;padding-bottom:6rem;gap:0}
.hero-copy{max-width:49rem}
.hero-copy .kicker{font-size:1.0625rem;margin-bottom:1.5rem;color:var(--sage)}
.hero-copy .kicker:before{display:none}
.hero h1{text-transform:uppercase;letter-spacing:.01em}
.hero-lead{max-width:32rem;margin:1.7rem 0 2.5rem;font-size:1.125rem;color:var(--cream);line-height:1.7}
.hero-actions{gap:.75rem}
.hero-scroll{position:absolute;z-index:3;bottom:1.5rem;left:50%;width:2.75rem;height:3rem;display:grid;place-items:center}
.hero-scroll span{display:block;width:1px;height:2.5rem;background:linear-gradient(transparent,var(--sage))}
.intro-grid{grid-template-columns:5fr 7fr;align-items:start;gap:4rem}
.intro-copy{max-width:none}
.intro-title h2{max-width:23rem}
.intro-columns{columns:2;column-gap:2rem;color:#54615a}
.intro-columns p{break-inside:avoid;margin:0 0 1rem}
.intro-facts{display:grid;grid-template-columns:1fr .6fr 1.4fr;gap:1.5rem;padding-top:2rem;border-top:1px solid var(--line);margin:1.5rem 0 0}
.intro-facts dt{font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:#54615a}
.intro-facts dd{margin:.5rem 0 0;font-family:var(--serif);font-size:1.5rem;line-height:1.3}
.plain-facts{margin-top:1.5rem;padding:0;border:0}
.plain-facts span{font-size:.875rem;font-weight:400;color:#54615a}
.gallery-section{background:var(--forest)}
.gallery-section .kicker,.stay .kicker,.price-section .kicker,.inquiry .kicker{color:var(--sage)}
.gallery-heading{margin-bottom:2.5rem;gap:2rem}
.gallery-filters button{font-size:.9375rem;color:var(--sage);padding:.65rem 1rem;border-bottom-color:rgba(174,190,176,.3)}
.gallery-filters button.is-active{color:var(--cream);border-bottom-color:var(--sand)}
.photo-wall{grid-template-columns:repeat(3,1fr);grid-auto-rows:15rem;gap:1rem}
.gallery-feature{grid-column:span 2;grid-row:span 2}
.gallery-wide{grid-column:span 1}
.gallery-portrait{grid-row:span 2}
.gallery-item span{font-size:.9375rem;background:linear-gradient(transparent,rgba(8,26,21,.9));padding:2rem 1rem .75rem;left:0;right:0;bottom:0}
.gallery-source{font-size:.8125rem;color:var(--sage);margin-top:1.5rem}
.moments{background:var(--cream)}
.section-topline{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;margin-bottom:3rem}
.section-topline > p{color:#54615a;max-width:none}
.story-grid{grid-template-columns:repeat(4,1fr);grid-template-rows:auto;gap:1rem}
.story,.story-large{grid-row:auto;grid-column:auto;min-height:22rem}
.story img{position:absolute;inset:0;object-fit:cover}
.story > div{padding:1.25rem;background:linear-gradient(transparent,rgba(8,26,21,.92));padding-top:4rem}
.story > div span{font-size:.8125rem;color:var(--sage);letter-spacing:.04em;text-transform:none}
.story h3{font-size:1.4rem;margin:.5rem 0 1rem}
.story-text{padding:1.5rem;background:#eae5da;justify-content:flex-start}
.story-text p{font-size:.9375rem;color:#54615a}
.story-number{font-size:3rem;line-height:1.1;margin-bottom:2rem;color:var(--clay)}
.story-dark{background:var(--forest);color:var(--cream)}
.story-dark p{color:var(--sage)}
.story-dark .story-number{color:var(--sand)}
.stay{background:#0f2a21;color:var(--cream);border:0}
.stay-grid{grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.stay-copy > p:not(.kicker){color:var(--sage)}
.room-plan{margin-top:2rem;border-top-color:rgba(174,190,176,.25)}
.room-plan > div{grid-template-columns:8rem 1fr;border-color:rgba(174,190,176,.2);gap:1rem;padding:1rem 0}
.room-plan span{font-size:.875rem;color:var(--sage)}
.room-plan strong{font-size:.9375rem;color:var(--cream);font-weight:400}
.stay-photo img{height:30rem;min-height:0}
.stay-photo figcaption{background:var(--forest);position:static;padding:1.25rem 0}
.stay-photo strong{font-size:1.5rem}
.stay-photo span{color:var(--sage);font-size:.875rem}
.equipment-line{margin-top:3rem;gap:2rem;border:0}
.equipment-line > div,.equipment-line > div:first-child{padding:0;border:0}
.equipment-line span{display:block;font-size:1.25rem;color:var(--cream);border-bottom:1px solid rgba(174,190,176,.25);padding-bottom:.75rem}
.equipment-line p{color:var(--sage);font-size:1rem;margin-top:1rem}
.families-grid{gap:4rem}
.families-collage{min-height:29rem}
.families-main{width:85%;height:26rem;min-height:0}
.families-detail{border:.5rem solid var(--cream);width:50%}
.feature-list span{font-size:1rem;color:#54615a}
.feature-list strong{font-size:1.25rem;color:var(--ink)}
.price-grid,.inquiry-grid{grid-template-columns:5fr 7fr;gap:4rem}
.price-intro,.inquiry-copy{position:static}
.price-intro p:not(.kicker),.inquiry-copy > p:not(.kicker){color:var(--sage)}
.price-main strong{font-size:clamp(3rem,6vw,4.5rem);line-height:1.15;font-weight:400}
.price-main span,.price-main small{font-size:.875rem;color:var(--sage)}
.price-board dt,.price-board dd{font-size:.9375rem;line-height:1.7}
.price-board dt{color:var(--sage)}
.price-board dd{font-weight:400}
.price-note{color:var(--sage);font-size:.875rem}
.reviews-grid{grid-template-columns:4fr 8fr;gap:4rem}
.rating-block{min-height:19rem;background:var(--forest);padding:2rem;color:var(--cream)}
.rating-block > strong{font-size:5rem;line-height:1.1}
.rating-block p,.rating-block a{font-size:.875rem;color:var(--sage)}
.rating-stars{color:var(--sand);margin-bottom:1.5rem}
.review-copy blockquote p{font-size:1.5rem;line-height:1.5}
.review-copy blockquote footer{font-size:.875rem}
.trips{background:#eae5da}
.trip-list h3{font-size:1.5rem}
.trip-list p{font-size:1rem;color:#54615a}
.trip-list article > span{font-size:1.25rem}
.location-grid{grid-template-columns:5fr 7fr;gap:4rem}
.location-details{font-size:.9375rem}
.map-wrap iframe{min-height:25rem}
.map-wrap > a{font-size:.875rem}
.inquiry{background:#0f2a21}
.inquiry-form{background:transparent;color:var(--cream);padding:0}
.inquiry-form label{font-size:.9375rem;color:var(--sage);font-weight:400}
.inquiry-form input,.inquiry-form textarea{background:rgba(8,26,21,.3);border:1px solid rgba(174,190,176,.35);border-radius:2px;color:var(--cream);color-scheme:dark;min-width:0}
.inquiry-form textarea::placeholder{color:#aebeb0;opacity:.8}
.inquiry-form input:focus,.inquiry-form textarea:focus{outline:2px solid var(--sand);outline-offset:2px}
.inquiry-form .consent{font-size:.875rem}
.consent input{accent-color:var(--sand)}
.form-note{color:var(--sage);font-size:.8125rem}
.form-status{color:#efbcaa;font-size:1rem}
.direct-contact span{font-size:.875rem;color:var(--sage)}
.direct-contact a{font-size:1.8rem;color:var(--cream)}
.direct-contact .contact-email{font-size:1rem;color:var(--sage)}
.site-footer{background:var(--forest-deep);color:var(--cream)}
.footer-grid{grid-template-columns:1.3fr 1fr .8fr 1fr;gap:2rem}
.footer-brand strong{font-size:1.6rem}
.footer-grid a,.footer-grid > div > span,.footer-brand div > span{font-size:.875rem;color:var(--sage)}
.footer-grid > div > strong{font-size:.875rem;font-weight:400;letter-spacing:.05em}
.footer-bottom{font-size:.8125rem;color:var(--sage)}
.lightbox figcaption{font-size:.9375rem}
.legal-page h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.12;overflow-wrap:anywhere}
.legal-page .kicker{margin-top:3rem}
.legal-page h2{font-size:2rem;line-height:1.2}
.quiet-dark-link{font-size:1rem}
.reveal{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--sand);outline-offset:4px}
@media(min-width:1440px){.hero-inner{padding-top:10rem}.section,.inquiry{padding:8rem 0}}
@media(max-width:1100px){
 .nav-shell{width:calc(100% - 3rem);gap:1.25rem}.main-nav{gap:1rem}.main-nav a{font-size:.9375rem}.brand-copy strong{font-size:1.7rem}
 .page-shell{width:calc(100% - 4rem)}
 .intro-grid,.stay-grid,.families-grid,.price-grid,.inquiry-grid,.location-grid,.reviews-grid,.section-topline{gap:2.5rem}
 .story-grid{grid-template-columns:1fr 1fr}.story{min-height:24rem}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
 .header-cta{display:none}.menu-toggle{display:block}.nav-shell{min-height:5rem}.site-header,.site-header.is-scrolled{background:rgba(12,35,28,.95)}
 .main-nav{position:fixed;inset:5rem 0 0;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:1rem 1.5rem 7rem;overflow-y:auto;background:var(--forest);color:var(--sage);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.75rem);transition:opacity .2s,transform .2s,visibility .2s}
 .main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
 .main-nav a{padding:1rem 0;border-bottom:1px solid rgba(174,190,176,.2);font-family:var(--serif);font-size:1.5rem}
 .mobile-actions{display:grid;min-height:3.75rem;box-shadow:none;border-top:1px solid rgba(174,190,176,.2)}
 .mobile-actions a{font-size:.9375rem;background:var(--forest);color:var(--cream)}
 .mobile-actions a:last-child{background:var(--cream);color:var(--ink)}
 body{padding-bottom:3.75rem}.hero{min-height:100svh}.hero-inner{min-height:100svh;padding-top:8rem;padding-bottom:6rem;justify-content:flex-start}
 .intro-grid,.stay-grid,.families-grid,.price-grid,.inquiry-grid,.location-grid,.reviews-grid{grid-template-columns:1fr;gap:2.5rem}
 .intro-title h2{max-width:30rem}.intro-columns{columns:2}.intro-facts{max-width:35rem}
 .gallery-heading{align-items:flex-start;flex-direction:column;gap:1.5rem}.photo-wall{grid-template-columns:repeat(2,1fr);grid-auto-rows:14rem}
 .equipment-line{grid-template-columns:1fr;gap:2rem}.equipment-line > div{padding:0}
 .rating-block{min-height:0;align-items:center}.rating-stars{margin-bottom:1rem}.rating-block p{margin:.75rem 0 1rem}
 .stay-photo img{height:auto;max-height:32rem;object-fit:cover}
 .families-collage{min-height:30rem;max-width:36rem}.families-main{height:26rem}.families-detail{bottom:0}
 .price-intro,.inquiry-copy{position:static}.footer-grid > div:last-child{grid-column:auto}
}
@media(max-width:560px){
 .page-shell{width:calc(100% - 3rem)}.section,.inquiry{padding:4.5rem 0}.nav-shell{width:calc(100% - 3rem)}
 .brand-copy small{display:block;font-size:.75rem}.brand-copy strong{font-size:1.8rem}
 h1{font-size:clamp(2.9rem,11vw,4rem);line-height:1.08}h2{font-size:2.25rem;line-height:1.15}
 .hero-inner{justify-content:flex-end;padding-top:8rem;padding-bottom:7rem;min-height:100svh}.hero-image{object-position:63% center}
 .hero-overlay{background:linear-gradient(180deg,rgba(8,26,21,.4),transparent 35%,rgba(8,26,21,.94) 90%),linear-gradient(90deg,rgba(8,26,21,.2),transparent)}
 .hero-lead{font-size:1rem;margin:1.5rem 0 2rem;color:var(--cream)}.hero-actions{flex-direction:column;align-items:stretch;gap:.75rem}.hero-scroll{display:none}
 .intro-columns{columns:1}.intro-facts{grid-template-columns:1fr 1fr;gap:1.5rem}.intro-facts > div:last-child{grid-column:1/-1}
 .section-topline{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.section-topline > p{margin:0}
 .story-grid{grid-template-columns:1fr}.story,.story-large{min-height:23rem}.story-text{min-height:17rem}
 .photo-wall{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:10rem;margin-right:0;overflow:visible;gap:.6rem}.gallery-item{height:auto;width:100%;min-width:0}.gallery-feature{grid-column:1/-1;grid-row:span 2}.gallery-portrait{grid-row:span 2}.gallery-wide{grid-column:span 1}
 .gallery-item span{font-size:.875rem;padding:2rem .75rem .6rem}.gallery-filters{gap:.25rem}.gallery-filters button{font-size:.875rem;padding:.6rem .7rem}
 .room-plan > div{grid-template-columns:1fr;gap:.35rem}.stay-photo img{height:auto;min-height:0}
 .families-collage{min-height:24rem}.families-main{width:90%;height:21rem;min-height:0}.families-detail{width:55%}
 .feature-list li{grid-template-columns:5rem 1fr;gap:.75rem}
 .price-board dl > div{grid-template-columns:1fr;gap:.35rem}.price-board dd{text-align:left}
 .trip-list{grid-template-columns:1fr}.trip-list article{grid-template-columns:4rem 1fr;gap:.75rem}.map-wrap iframe{min-height:23rem}
 .form-row,.form-row-three{grid-template-columns:1fr;gap:0}.inquiry-form{padding:0}
 .footer-grid{grid-template-columns:1fr;gap:2rem}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start;margin-top:2.5rem}
 .lightbox-arrow{display:block;top:auto;bottom:1rem;transform:none}.lightbox figcaption{padding-right:1rem}
 .legal-page .kicker{margin-top:2rem}.legal-page h1{font-size:2.5rem;line-height:1.15}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.reveal{transition:none}}
