@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--paper:#f8f7f0;--cream:#f0f1e8;--green:#17483d;--deep:#143a34;--leaf:#517969;--water:#d9ece8;--mint:#e8f1ec;--ink:#20342e;--muted:#62746c;--line:#d8dfd5;--sand:#eee8dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1320px,calc(100% - 8vw));margin:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.08}h1,h2,.story-copy h2,.stay-content h3,.footer-brand{font-family:'Playfair Display',Georgia,serif;font-weight:500}h2{font-size:clamp(2.7rem,5.4vw,5.6rem);letter-spacing:-.045em}h2 em,h1 em{font-weight:500;color:#72aaa0}p{max-width:70ch}.eyebrow{font-size:.76rem;letter-spacing:.2em;font-weight:700;color:#4c7f70;margin-bottom:28px}.eyebrow.light{color:#c9e5da}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 25px;border-radius:100px;font-size:.89rem;font-weight:700;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #10291d26}.button-light{background:#f7f6ed;color:var(--deep)}.button-dark{background:var(--green);color:#fff}.button-dark:hover{background:#286656}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-flex;gap:25px;align-items:center}.text-link span{font-size:1.25rem}.light-link{color:#fff}.skip{position:absolute;top:-100px;z-index:999;background:white;padding:10px}.skip:focus{top:0}.site-header{height:82px;position:sticky;top:0;z-index:100;background:#f8f7f0ed;backdrop-filter:blur(18px);border-bottom:1px solid #cedacf}.site-header{display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-mark{width:48px;height:48px}.brand-mark svg{width:100%;height:100%}.brand-type{display:flex;flex-direction:column;line-height:1.05}.brand-type small{font-size:.59rem;letter-spacing:.25em;color:#66806f;font-weight:700}.brand-type strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--green)}nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,36px);font-size:.86rem;font-weight:600}nav>a:not(.nav-contact):hover{color:#4a9989}.nav-contact{padding:11px 19px;border-radius:100px;background:var(--green);color:white}.menu-toggle{display:none}.hero{height:min(850px,calc(100svh - 82px));min-height:610px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.hero-photo{position:absolute;inset:0}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#092a25cf 0%,#0d2e27a1 43%,#0d302243 73%),linear-gradient(0deg,#0b2924a0,transparent 42%)}.hero-photo img{animation:heroScale 1.4s ease-out both}.image-note{position:absolute;z-index:2;bottom:14px;right:16px;background:#143a34c9;color:#fff;font-size:.68rem;letter-spacing:.03em;padding:4px 9px;border-radius:5px;line-height:1.3}.hero-photo .image-note{bottom:60px}.hero-content{position:relative;z-index:2;padding-bottom:125px;animation:rise .9s .2s both}.hero h1{font-size:clamp(3.3rem,7.6vw,8.25rem);letter-spacing:-.056em;max-width:1000px;margin-bottom:26px}.hero h1 em{color:#d2f0e4}.hero-content>p:not(.eyebrow){font-size:clamp(1rem,1.3vw,1.2rem);max-width:590px;line-height:1.6}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:31px}.hero-bottom{position:absolute;z-index:2;bottom:21px;left:4vw;right:4vw;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;font-weight:700}.intro{padding:135px 0 125px;display:grid;grid-template-columns:1.2fr .8fr;column-gap:10%;align-items:end}.intro h2{margin:0}.intro h2 em{color:#609484}.intro>p{font-size:1.12rem;color:var(--muted);margin-bottom:8px}.ways{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:85px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ways a{padding:32px 22px;display:flex;align-items:center;gap:17px;font-size:1.1rem;font-weight:600;border-right:1px solid var(--line);transition:background .25s}.ways a:first-child{padding-left:0}.ways a:last-child{border:0}.ways a:hover{background:#e7f0e9}.ways span{color:#71a495;font-size:.8rem}.ways b{margin-left:auto;font-weight:400}.story-section{display:grid;grid-template-columns:1.1fr .9fr;background:#e9f0e9;min-height:680px}.story-image,.stay-photo,.card-img,.camp-image,.activity-photo,.amenity-visual{position:relative;overflow:hidden}.story-image img,.stay-photo img,.card-img img,.camp-image img,.activity-photo img,.amenity-visual img{transition:transform .7s ease}.story-image:hover img,.stay-photo:hover img,.card-img:hover img,.activity-photo:hover img{transform:scale(1.04)}.story-copy{padding:clamp(60px,8vw,140px) clamp(35px,7vw,120px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.story-copy h2{margin-bottom:35px}.story-copy p:not(.eyebrow){font-size:1.06rem;line-height:1.75;color:#4b6258}.story-copy .text-link{margin-top:17px}.stay-section{padding:135px 0 120px}.section-top{display:grid;grid-template-columns:1fr .65fr;gap:10%;align-items:end;margin-bottom:60px}.section-top h2{margin-bottom:0}.section-top>p{font-size:1.1rem;color:var(--muted);margin-bottom:5px}.stay-feature{display:grid;grid-template-columns:1fr 1fr;background:#e5ece4;min-height:630px;overflow:hidden;border-radius:12px}.stay-photo img{height:100%}.stay-content{padding:clamp(34px,5vw,82px);display:flex;flex-direction:column;align-items:flex-start}.stay-index,.card-number{font-size:.73rem;font-weight:700;letter-spacing:.16em;color:#567d6e}.stay-content h3{font-size:clamp(2.3rem,4vw,4.4rem);margin:28px 0}.stay-content>p{color:#44594f}.pill-list{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.pill-list span,.camp-facts span{border:1px solid #acc5b5;padding:6px 12px;border-radius:40px;font-size:.79rem;font-weight:600}.stay-content .detail{font-size:.86rem;line-height:1.6;color:#5e7167}.stay-content .button{margin-top:auto}.cabins-head{display:flex;justify-content:space-between;gap:12%;align-items:end;margin:105px 0 30px}.cabins-head h3{font-family:'Playfair Display',serif;font-size:clamp(2.3rem,4.4vw,4.5rem);font-weight:500;margin:0}.cabins-head p{max-width:620px;color:var(--muted);margin:0}.cabin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.cabin-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s}.cabin-card:hover{transform:translateY(-5px);box-shadow:0 19px 40px #163b2d16}.card-img{height:280px}.cabin-card:nth-child(2) img{object-position:70% 35%}.cabin-card:nth-child(3) img{object-position:45% 65%}.cabin-card:nth-child(4) img{object-position:80% 50%}.card-body{padding:28px 31px 32px}.card-body h4{font-family:'Playfair Display',serif;font-size:2.35rem;font-weight:500;margin:10px 0 12px}.card-body p{color:#5b7065;min-height:75px}.card-body a,.activity-card a{font-weight:700;color:#23664e;border-bottom:1px solid #77a08a;padding-bottom:5px}.pet-note{margin:30px 0 0;padding:18px 22px;background:#e9f1e9;color:#3d5f50;border-radius:7px;max-width:none}.day-section{background:#cce5e1;padding:110px 0}.day-layout{display:grid;grid-template-columns:1fr .78fr;gap:15%;align-items:center}.day-heading h2{margin-bottom:35px}.day-heading>p:not(.eyebrow){font-size:1.1rem;color:#355b55}.day-heading .button{margin-top:15px}.day-panel{background:#f7faf6;border-radius:11px;padding:50px;box-shadow:18px 18px 0 #a9d2ca}.day-panel-label{font-size:.75rem;letter-spacing:.18em;font-weight:700;color:#397263}.day-panel ul{padding-left:23px;margin:26px 0 25px;font-family:'Playfair Display',serif;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.55}.day-panel li{padding:6px 0}.day-panel p{color:#69786e;font-size:.83rem}.day-panel-bottom{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;font-weight:600}.camp-section{display:grid;grid-template-columns:1fr 1fr;background:#f0f1e8;min-height:700px}.camp-content{padding:clamp(55px,8vw,125px) clamp(40px,7vw,110px);align-self:center}.camp-content p:not(.eyebrow){color:#4a6055;font-size:1.08rem}.camp-facts{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 33px}.activities{padding:140px 0}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.activity-card{border-radius:11px;overflow:hidden}.activity-card.aqua{background:#dcebe7}.activity-card.sand{background:#eee9db}.activity-card.mist{background:#e7eee5}.activity-photo{height:230px}.activity-card>div:last-child{padding:30px}.activity-card span:not(.image-note){font-size:.72rem;font-weight:700;letter-spacing:.15em;color:#618173}.activity-card h3{font-family:'Playfair Display',serif;font-size:2.35rem;font-weight:500;margin:13px 0}.activity-card p{color:#53665c;min-height:108px}.amenities{display:grid;grid-template-columns:1fr 1fr;background:#e7ede5;margin-top:45px;border-radius:11px;overflow:hidden}.amenities>div:first-child{padding:clamp(40px,5vw,80px);align-self:center}.amenities h3{font-family:'Playfair Display',serif;font-size:3rem;font-weight:500}.amenity-visual{height:400px}.quiet-note{margin:30px 0 0;color:#607269;font-size:.94rem}.arrival{background:#f0f3ed;padding:135px 0}.arrival-grid{display:grid;grid-template-columns:1fr .7fr;gap:12%;align-items:center}.arrival h2{margin-bottom:30px}.arrival p:not(.eyebrow){font-size:1.05rem;color:#53685d}.arrival .button{margin-top:18px}.arrival-card{background:#dceae1;min-height:460px;padding:50px;display:flex;flex-direction:column;justify-content:space-between;border-radius:10px;position:relative;overflow:hidden}.arrival-card:after{content:"";width:270px;height:270px;border:1px solid #87b3a5;border-radius:50%;position:absolute;right:-95px;top:-80px;box-shadow:0 0 0 45px #c7dfd231,0 0 0 95px #c7dfd231}.map-kicker{font-size:.76rem;letter-spacing:.2em;font-weight:700;color:#4d7f69;z-index:1}.route-line{position:relative;z-index:1;display:flex;flex-direction:column;font-size:1.45rem;font-family:'Playfair Display',serif}.route-line i{height:80px;border-left:2px dashed #4a947e;margin:8px 0 8px 10px}.route-line b{font-weight:500}.arrival-card p{z-index:1}.arrival-card a{font-weight:700;text-decoration:underline;text-underline-offset:5px;z-index:1}.faq{padding:135px 0}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:23px 55px 23px 0;position:relative;font-family:'Playfair Display',serif;font-size:clamp(1.18rem,2vw,1.55rem)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:5px;top:16px;font-family:'DM Sans',sans-serif;color:#408b75;font-size:1.8rem;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{color:#5a6d61;padding:0 40px 20px 0;margin:0}.faq details a{color:#1a785f;text-decoration:underline;text-underline-offset:3px}.faq-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:38px}.faq-cta span{font-family:'Playfair Display',serif;font-size:1.75rem}.footer{background:#153e35;color:#ecf4ed;padding:75px 0 25px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10%}.footer-main>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-brand{font-size:2rem}.footer p{color:#c0d6c9}.footer-main span{font-size:.75rem;letter-spacing:.16em;color:#a0c7b3;font-weight:700;margin-bottom:14px}.footer-main a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #5d8575;margin-top:65px;padding-top:20px;font-size:.72rem;color:#aac4b5}.floating-wa{position:fixed;bottom:24px;right:24px;z-index:101;width:58px;height:58px;border-radius:50%;background:#268c65;color:white;display:grid;place-items:center;box-shadow:0 8px 28px #0b412d55}.floating-wa svg{width:31px;height:31px}.floating-wa:hover{transform:scale(1.07)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes heroScale{from{transform:scale(1.07)}to{transform:scale(1)}}
@media(max-width:1100px){nav{gap:13px}.nav-contact{display:none}.hero h1{font-size:clamp(3.2rem,8vw,6.8rem)}.stay-feature{min-height:0}.stay-content{padding:42px}.activity-card p{min-height:155px}}
@media(max-width:760px){html{scroll-padding-top:68px}.wrap{width:calc(100% - 42px)}.site-header{height:68px;padding:0 20px}.brand-mark{width:40px;height:40px}.brand-type strong{font-size:1.14rem}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{width:24px;height:2px;background:var(--green)}nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:22px;border-bottom:1px solid var(--line);box-shadow:0 16px 22px #0b352216;gap:0}nav.open{display:flex}nav a{padding:12px 3px}.nav-contact{display:block;text-align:center;margin-top:9px}.hero{height:740px;min-height:0;max-height:calc(100svh - 68px);align-items:flex-end}.hero-photo img{object-position:42% center}.hero-photo:after{background:linear-gradient(0deg,#092a25ed,#0b342073 63%,#0b342033)}.hero-content{padding-bottom:100px}.hero h1{font-size:clamp(3.05rem,10vw,5.2rem);line-height:1.03}.hero-content>p:not(.eyebrow){font-size:.97rem}.hero-actions{gap:20px;flex-wrap:wrap}.hero-bottom{bottom:16px}.hero-photo .image-note{bottom:52px;right:20px}.intro,.section-top,.day-layout,.arrival-grid{display:block}.intro{padding:85px 0}.intro>p{margin-top:28px;font-size:1rem}.ways{display:block;margin-top:40px}.ways a,.ways a:first-child{padding:16px 5px;border-right:0;border-bottom:1px solid var(--line)}.ways a:last-child{border:0}.story-section,.stay-feature,.camp-section,.amenities{grid-template-columns:1fr}.story-image{height:390px}.story-copy{padding:65px 22px 80px}.stay-section,.activities,.faq{padding:85px 0}.section-top{margin-bottom:40px}.section-top>p{margin-top:22px}.stay-photo{height:360px}.stay-content{padding:34px 25px 40px}.stay-content h3{font-size:2.9rem}.cabins-head{display:block;margin:75px 0 25px}.cabins-head p{margin-top:15px}.cabin-grid,.activity-grid{grid-template-columns:1fr}.card-img{height:255px}.card-body p,.activity-card p{min-height:0}.day-section{padding:80px 0}.day-panel{padding:30px;margin:45px 14px 15px 0;box-shadow:12px 12px 0 #a9d2ca}.camp-image{height:400px}.camp-content{padding:65px 22px 85px}.activity-grid{gap:20px}.activity-photo{height:215px}.amenity-visual{height:300px;grid-row:1}.amenities h3{font-size:2.5rem}.arrival{padding:85px 0}.arrival-card{margin-top:55px;padding:35px;min-height:400px}.faq-cta{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr 1fr;gap:38px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}.floating-wa{width:54px;height:54px;bottom:17px;right:17px}}
@media(max-width:420px){.hero h1{font-size:2.85rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-bottom{font-size:.59rem}.card-body{padding:24px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* Editorial scroll sequence */
.languages{display:flex;gap:4px;flex-shrink:0;margin-left:16px}.languages a{font-size:.69rem;font-weight:700;letter-spacing:.04em;padding:5px;border-radius:4px;color:#678274}.languages a[aria-current]{color:#fff;background:var(--green)}.languages a:hover{color:#245e50}.way-label{display:flex;flex-direction:column;line-height:1.25}.way-label small{font-size:.75rem;font-weight:500;color:#627d70;margin-top:7px}.feature-list{padding:0;margin:20px 0 28px;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;width:100%}.feature-list li{position:relative;padding-left:25px;font-size:.88rem;line-height:1.4;color:#4a6356}.feature-list li:before{content:'✓';position:absolute;left:0;top:0;color:#1c8065;font-weight:800;font-size:1rem}.cabin-card .feature-list{min-height:123px}.stay-content .feature-list{grid-template-columns:1fr}.footer-bottom a{color:#e2f1e5;text-decoration:underline;text-underline-offset:4px}.footer-bottom a:hover{color:white}
@media(max-width:1100px){nav{font-size:.78rem;gap:12px}.languages{margin-left:8px}}
@media(max-width:760px){.languages{margin-left:auto;margin-right:12px}.languages a{padding:5px}.feature-list{grid-template-columns:1fr}.cabin-card .feature-list{min-height:0}.way-label small{font-size:.72rem}}

.ways .way-label{font-size:1.1rem;color:var(--ink);font-weight:600}.ways .way-label small{color:#627d70}.ways>a>span:first-child{color:#71a495;font-size:.8rem}

/* A single pinned landscape: the first scroll reveals the frame. */
.site-header{position:fixed;top:18px;left:50%;width:min(1180px,calc(100% - 64px));height:76px;padding:0 22px;transform:translateX(-50%);border:1px solid #d5dfd5;border-radius:22px;box-shadow:0 10px 35px #173c3420;gap:18px;transition:opacity .3s,translate .3s}
.site-header nav{gap:18px;font-size:.875rem}.nav-contact{display:none}.brand-mark{width:42px;height:42px}.languages a{font-size:.875rem}.site-header .languages{margin-left:0}.hero-scroll{position:relative;background:var(--paper)}.hero-stage{height:100svh;min-height:580px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 75% 35%,#d5e8df 0,transparent 55%),var(--paper)}.hero{height:100%;min-height:0;max-height:none;overflow:visible;align-items:flex-end}.hero-frame{position:absolute;inset:0;overflow:hidden;transform-origin:center center;background:#17483d}.hero-photo{inset:0}.hero-photo img{animation:none;object-position:center;object-fit:cover}.hero-photo:after{background:linear-gradient(0deg,#092a25bd,transparent 75%)}.hero-photo .image-note{bottom:18px;right:18px;font-size:.75rem}.hero-content{padding-bottom:100px;animation:none;transition:none}.hero h1{font-size:clamp(3.1rem,6.4vw,6.8rem);max-width:1050px}.hero-content>p:not(.eyebrow){max-width:600px}.hero-bottom{bottom:25px;margin:0;width:auto;left:4vw;right:4vw;font-size:.75rem;gap:20px}.hero-actions{gap:28px}.hero-scroll .hero-frame{will-change:transform}.scroll-ready .hero-scroll{height:215svh}.scroll-ready .hero-stage{position:sticky;top:0}.scroll-ready .hero-frame{inset:auto;left:50%;top:50%;width:min(78vw,105svh,1200px);aspect-ratio:3/2;border:8px solid var(--paper);border-radius:24px;box-shadow:0 30px 70px #173d342b;transform:translate(-50%,-50%) scale(var(--frame-scale,2.1))}.scroll-ready .hero-photo:after{opacity:var(--shade,1)}.scroll-ready .hero-content{opacity:var(--hero-copy,1);transform:translateY(var(--copy-y,0px));pointer-events:var(--copy-events,auto)}.scroll-ready .hero-bottom{color:var(--green);opacity:var(--frame-caption,0)}.scroll-ready .hero-photo .image-note{opacity:var(--frame-caption,0)}.scroll-ready .site-header{opacity:var(--nav-opacity,0);translate:0 var(--nav-y,-18px);visibility:hidden;pointer-events:none}.scroll-ready .site-header.is-visible,.scroll-ready .site-header:focus-within{visibility:visible;pointer-events:auto}.scroll-ready .site-header:focus-within{opacity:1;translate:0 0}.footer-reveal{background:#153e35;overflow:clip}.footer{position:relative;z-index:2;border-radius:0 0 32px 32px;box-shadow:0 24px 45px #0b2b2c28}.footer-lettering{height:clamp(250px,34vw,540px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#dcece5;color:#17483d;padding:30px 4vw}.footer-wordmark{font-family:'Playfair Display',Georgia,serif;font-size:clamp(6rem,15.5vw,18rem);line-height:.88;letter-spacing:-.055em;text-align:center;transform:translateY(var(--letters-y,0%));will-change:transform}.footer-wordmark span{display:block}.eyebrow{font-size:.875rem}.image-note{font-size:.75rem}.footer-bottom{font-size:.875rem}.hero a:focus-visible,header a:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #83baaa;outline-offset:5px}.reveal{opacity:1;transform:none}.scroll-ready .reveal{opacity:0;transform:translateY(26px)}.scroll-ready .reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.site-header{width:calc(100% - 40px);padding:0 18px;gap:12px}.site-header nav{gap:12px;font-size:.875rem}.brand-type strong{font-size:1.15rem}.site-header nav>a:nth-child(4){display:none}}
@media(max-width:760px){.site-header{top:12px;width:calc(100% - 28px);height:66px;padding:0 12px;border-radius:18px;gap:4px}.site-header .brand-mark{width:34px;height:34px}.brand{gap:6px}.brand-type strong{font-size:1rem}.brand-type small{font-size:.625rem;letter-spacing:.16em}.site-header .languages{margin-left:auto;margin-right:2px;gap:0}.site-header .languages a{font-size:.875rem;padding:7px 5px}.menu-toggle{order:3;padding:10px 7px;min-width:40px;min-height:44px}.site-header nav{top:76px;left:0;right:0;border:1px solid var(--line);border-radius:18px;padding:14px 20px;gap:0;font-size:1rem;max-height:calc(100svh - 112px);overflow:auto}.site-header nav>a:nth-child(4){display:block}.site-header .nav-contact{display:block;padding:12px}.hero-stage{min-height:560px}.hero-content{padding-bottom:90px}.hero h1{font-size:clamp(2.5rem,9.5vw,4rem);line-height:1.08}.hero-content>p:not(.eyebrow){font-size:1rem;line-height:1.5}.hero .eyebrow{margin-bottom:20px}.hero-actions{gap:18px;margin-top:24px}.hero-actions .button{font-size:.875rem;padding:12px 20px}.hero-actions .text-link{font-size:.875rem}.scroll-ready .hero-scroll{height:185svh}.scroll-ready .hero-frame{width:90vw;border-width:5px;border-radius:18px;aspect-ratio:3/2}.hero-bottom{left:5vw;right:5vw;bottom:30px;flex-direction:column;align-items:center;gap:5px}.hero-photo .image-note{right:9px;bottom:9px;font-size:.75rem;max-width:90%}.footer-lettering{height:270px}.footer-wordmark{font-size:20vw}.footer-bottom{font-size:.875rem}.footer{border-radius:0 0 22px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scroll{height:auto!important}.hero-stage{position:relative!important}.hero-frame{will-change:auto}.footer-wordmark{transform:none!important;will-change:auto}.reveal{opacity:1!important;transform:none!important}.site-header{transition:none}}

.hero-disclaimer{font-size:.75rem!important;line-height:1.4!important;color:#d5e9df;margin:12px 0 0}.scroll-ready .hero-content{will-change:opacity}.hero-scroll:has(.hero-actions a:focus-visible) .hero-content{opacity:1;pointer-events:auto}
/* Closing scene: pinned reveal, then a gentle pointer parallax. */
.footer-lettering{display:block;position:relative;height:100svh;min-height:560px;padding:0;overflow:visible;background:var(--paper)}
.scroll-ready .footer-lettering{height:155svh;min-height:0}
.footer-art{position:relative;height:100svh;min-height:560px;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center;background:#edf2e7}
.scroll-ready .footer-art{position:sticky;top:0}
.footer-landscape{position:absolute;inset:-35px;z-index:-2;transform:translate(var(--landscape-x,0px),var(--landscape-y,0px));will-change:transform}
.footer-landscape img{object-position:center 60%;opacity:.3;filter:saturate(.65)}
.footer-art:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--paper),#f8f7f0b0 25%,#deebe24a 70%,#17483d40)}
.footer-wordmark{font-size:clamp(7rem,17vw,20rem);line-height:.9;font-weight:500;letter-spacing:-.06em;transform:translate(var(--letters-x,0px),var(--letters-y,0%));clip-path:inset(var(--letters-clip,0%) -5% -10% -5%);will-change:transform,clip-path;color:var(--green);padding:10px 30px 30px}
.footer-wordmark span:last-child{font-style:italic;color:#326e5d}
.footer-art-note,.footer-art-location{position:absolute;bottom:28px;font-size:.75rem;letter-spacing:.07em;color:var(--deep)}
.footer-art-note{right:4vw}.footer-art-location{left:4vw}
@media(max-width:760px){.footer-lettering,.footer-art{min-height:460px}.scroll-ready .footer-lettering{height:125svh}.footer-wordmark{font-size:22vw;padding:10px 15px 20px;letter-spacing:-.055em}.footer-art-note,.footer-art-location{bottom:28px;font-size:.75rem}.footer-art-note{bottom:52px}.footer-art-location,.footer-art-note{left:6vw;right:auto}.footer-landscape img{object-position:58% center}}
@media(prefers-reduced-motion:reduce){.footer-lettering{height:auto!important}.footer-art{position:relative!important}.footer-wordmark{transform:none!important;clip-path:none!important;will-change:auto}.footer-landscape{transform:none!important;will-change:auto}}
/* Native forest illustrations overlap the name, creating the closing depth. */
.footer-art{background:linear-gradient(180deg,#f8f7f0 0%,#eef3e9 60%,#c6ded0 100%)}
.footer-art:after{display:none}.footer-landscape{background:radial-gradient(ellipse at 20% 30%,#d3e9df80,transparent 60%);z-index:0}
.footer-wordmark{position:relative;z-index:1;font-size:clamp(7rem,16vw,19rem)}
.footer-foreground{position:absolute;inset:-10px;z-index:2;pointer-events:none;transform:translateX(var(--landscape-x,0px));will-change:transform}
.footer-foreground img{object-fit:cover;object-position:center bottom;width:100%;height:100%}
.footer-art-note,.footer-art-location{z-index:3;background:#f8f7f0e6;border-radius:8px;padding:4px 9px;letter-spacing:.04em}
@media(max-width:760px){.footer-wordmark{font-size:22vw}.footer-foreground{inset:auto -10px -10px;height:auto}.footer-foreground img{height:auto;object-fit:contain}.footer-art-location{bottom:20px}.footer-art-note{bottom:54px}}
@media(prefers-reduced-motion:reduce){.footer-foreground{transform:none!important;will-change:auto}}
/* One continuous ivory footer; keep both words in the clearing. */
.footer-reveal,.footer{background:var(--paper);color:var(--ink)}
.footer{border-radius:0;box-shadow:none;padding-bottom:40px}
.footer p{color:var(--muted)}.footer-main span{color:var(--leaf)}
.footer-bottom{border-top-color:var(--line);color:var(--muted)}
.footer-bottom a{color:var(--green)}.footer-bottom a:hover{color:#326e5d}
.footer-lettering{background:var(--paper)}
.footer-landscape{background:none}
.footer-wordmark{position:absolute;top:22svh;left:0;width:100%;font-size:min(11vw,12svh);line-height:1.04;padding:0 5vw 20px;letter-spacing:-.045em}
.footer-foreground{mask-image:linear-gradient(to bottom,transparent 0%,#000 19%,#000 100%)}
@media(max-width:760px){.footer{padding-bottom:28px}.footer-wordmark{top:28svh;font-size:min(19vw,11svh);line-height:1.08;padding:0 6vw 20px}.footer-foreground{mask-image:linear-gradient(to bottom,transparent,#000 15%,#000)}}
/* Credits follow the entire illustration; the name rises behind real alpha foliage. */
.footer{padding-bottom:0;background:transparent}
.footer-main{margin-bottom:-60px;position:relative;z-index:4}
.footer-art{background:var(--paper)}
.footer-wordmark{clip-path:none;will-change:transform;top:20svh}
.footer-foreground{inset:0 -10px -10px;mask-image:linear-gradient(to bottom,transparent 0%,transparent 4%,#000 26%,#000 100%)}
.footer-credits{position:relative;z-index:5;background:var(--paper);color:var(--muted);padding:24px 4vw 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.875rem;line-height:1.5}
.footer-credits>span:nth-child(2){max-width:60ch}.footer-credits>a{color:var(--green);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
@media(max-width:760px){.footer-main{margin-bottom:-35px}.footer-wordmark{top:26svh}.footer-foreground{inset:auto -10px -10px;mask-image:linear-gradient(to bottom,transparent 0%,transparent 4%,#000 24%,#000 100%)}.footer-credits{display:block;padding:24px 22px 85px}.footer-credits>span{display:block;margin-bottom:12px}.footer-credits>a{white-space:normal}}
/* Mobile composition has its own height and sits below the floating navigation. */
@media(max-width:760px){
 .faq{padding-bottom:40px}.footer{padding-top:36px}
 .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;margin-bottom:0}
 .footer-main>div:first-child{grid-column:1/-1}.footer-main span{margin-bottom:5px}.footer-main a{overflow-wrap:anywhere}
 .footer-main>div:first-child p{margin-bottom:10px}
 .footer-lettering{height:auto;min-height:0}
 .scroll-ready .footer-lettering{height:112svh;min-height:660px}
 .footer-art{height:calc(100svh - 100px);min-height:400px;max-height:620px}
 .scroll-ready .footer-art{top:88px}
 .footer-wordmark{top:14%;font-size:min(19vw,12svh);line-height:1.05;padding:0 6vw 16px}
 .footer-foreground{left:-14%;right:-14%;bottom:-10px;top:auto;height:auto}
 .footer-foreground img{width:100%;height:auto;object-fit:contain}
 .footer-art-location{font-size:.75rem;bottom:18px;max-width:70%}
 .footer-credits{padding-top:20px}
}
/* Keep the mobile name and foliage in a single compact composition. */
@media(max-width:760px){
 .footer-main{margin-bottom:-90px}
 .footer-art{height:clamp(340px,105vw,500px);min-height:0;max-height:none}
 .scroll-ready .footer-lettering{height:calc(clamp(340px,105vw,500px) + 180px);min-height:0}
 .footer-wordmark{top:30%;font-size:19vw;line-height:1.05;padding-bottom:0}
 .footer-foreground{mask-image:linear-gradient(to bottom,transparent 0%,transparent 2%,#000 17%,#000 100%)}
 .footer-art-location{bottom:12px;font-size:.75rem}
}
.hero-photo picture{display:block;width:100%;height:100%}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}.hero-video.is-playing{opacity:1}.hero-photo:after{z-index:2;pointer-events:none}.scroll-ready .hero-frame{aspect-ratio:16/9}.hero-video-controls{position:absolute;right:4vw;bottom:68px;z-index:5}.hero-video-toggle{padding:9px 15px;min-height:44px;border:1px solid #d1dfd6;background:#f8f7f0e8;color:var(--green);border-radius:50px;cursor:pointer;font-size:.875rem;box-shadow:0 4px 16px #12372b20}.hero-video-toggle[hidden]{display:none!important}
@media(max-width:760px){.scroll-ready .hero-frame{width:min(86vw,39svh);aspect-ratio:9/16}.hero-photo img{object-position:center}.hero-video-controls{right:5vw;bottom:88px}}

/* Keep the copy legible against bright water as the opening scene changes. */
.hero-photo:after{background:linear-gradient(90deg,rgba(3,24,20,.8) 0%,rgba(3,24,20,.64) 42%,rgba(3,24,20,.32) 72%,rgba(3,24,20,.12) 100%),linear-gradient(0deg,rgba(3,24,20,.45),transparent 85%)}
.hero h1,.hero-content>p,.hero-actions .text-link{text-shadow:0 2px 16px #001b18b3}
.hero h1 em{color:#e9fff5}.hero .eyebrow.light{color:#e9fff5}
.hero-video-controls{right:calc(4vw + 88px);bottom:28px}
.floating-wa{width:58px;height:58px;right:24px;bottom:max(24px,env(safe-area-inset-bottom));background:#218b65;border:2px solid #fff;box-shadow:0 5px 20px #123a3433;transition:transform .2s}
.floating-wa svg{width:29px;height:29px;display:block}
.access-note{border-left:2px solid #76a18c;padding-left:16px;font-size:.9rem!important;line-height:1.65!important}
.access-note strong{display:block;color:var(--green)}
.wifi-note{font-size:.875rem;color:var(--muted);margin:8px 0 22px}
.welcome-note{font-size:.95rem;margin:16px 0 0;color:var(--green)}
@media(max-width:760px){.hero-photo:after{background:linear-gradient(0deg,rgba(3,24,20,.86) 0%,rgba(3,24,20,.67) 55%,rgba(3,24,20,.2) 100%)}.hero-video-controls{right:auto;left:5vw;bottom:24px}.floating-wa{width:54px;height:54px;right:17px;bottom:max(17px,env(safe-area-inset-bottom))}.hero-content{padding-bottom:110px}.hero-bottom{bottom:80px}.hero-actions{flex-wrap:wrap;gap:16px 22px}}

.nearby-section{padding:115px 0}.nearby-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.nearby-card{grid-column:span 2;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.nearby-card:nth-child(-n+2){grid-column:span 3}.nearby-card figure{position:relative;margin:0;aspect-ratio:3/2;overflow:hidden}.nearby-card img{transition:transform .5s}.nearby-card:hover img{transform:scale(1.025)}.nearby-body{padding:24px;display:flex;flex-direction:column;flex:1}.nearby-body h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.8rem,2.5vw,2.6rem);font-weight:500;margin:6px 0 18px}.nearby-body>p{font-size:1rem;color:var(--muted)}.nearby-body .nearby-kicker{font-size:.875rem;color:var(--green);font-weight:600;margin:0}.nearby-distance{position:absolute;bottom:15px;left:15px;padding:9px 15px;background:var(--paper);color:var(--green);border-radius:12px;font-size:1.15rem;font-weight:700;box-shadow:0 3px 12px #153b341a}.nearby-distance small{display:block;font-size:.875rem;font-weight:400}.nearby-body .nearby-care{font-size:.875rem;padding-top:15px;border-top:1px solid var(--line)}.nearby-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:auto;font-size:.875rem;font-weight:700;color:var(--green)}.nearby-links a{border-bottom:1px solid #8caf9f;min-height:32px}.nearby-body .photo-credit{font-size:.875rem;line-height:1.5;margin:18px 0 0;color:var(--muted)}.photo-credit a{text-decoration:underline;text-underline-offset:3px}.nearby-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:32px}.nearby-bottom p{font-size:.875rem;max-width:78ch;color:var(--muted);margin:0}.nearby-bottom .button{flex-shrink:0}
@media(max-width:1000px){.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nearby-card,.nearby-card:nth-child(-n+2){grid-column:span 1}.nearby-bottom{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:600px){.nearby-section{padding:75px 0}.nearby-grid{grid-template-columns:1fr;gap:22px}.nearby-body{padding:22px}.nearby-body h3{font-size:2rem}.nearby-card figure{aspect-ratio:3/2}.nearby-bottom .button{width:100%;text-align:center}.nearby-distance{bottom:12px;left:12px}.nearby-section .section-top{gap:22px}}

/* Reference-inspired waterfall mark, shared across locales. */
.brand-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:#dce9e1;border:1px solid #17483d26;padding:4px}.brand-mark img{width:100%;height:100%;object-fit:contain}
@media(max-width:760px){.site-header .brand-mark{padding:3px}}

/* Real photos and lightweight, keyboard-accessible galleries. */
.photo-gallery{position:relative}.photo-gallery>img{cursor:pointer}.photo-open{position:absolute;right:16px;bottom:16px;background:#f8f7f0f5;color:var(--green);border:1px solid #17483d20;border-radius:999px;padding:10px 17px;font-size:.875rem;font-weight:700;cursor:pointer;min-height:44px;box-shadow:0 4px 20px #123b3326}.photo-open:hover{background:white}.photo-open:focus-visible,.photo-dialog button:focus-visible{outline:3px solid #56a997;outline-offset:3px}.gallery-open{overflow:hidden}.photo-dialog{width:min(1080px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);overflow:auto}.photo-dialog::backdrop{background:#081e1bd9;backdrop-filter:blur(5px)}.photo-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.photo-dialog h2{font-family:'DM Sans',Arial,sans-serif;font-size:1.25rem;letter-spacing:0;margin:0}.photo-dialog button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--green);padding:8px 14px;font-size:.875rem}.photo-viewer{margin:0}.photo-viewer>img{width:100%;height:min(58dvh,650px);object-fit:contain;background:#e9ece5;border-radius:12px}.photo-viewer figcaption{text-align:center;font-size:.875rem;padding:10px 0;min-height:40px}.photo-navigation{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:12px}.photo-count{font-size:.875rem;min-width:65px;text-align:center}.photo-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px;scrollbar-width:thin}.photo-thumbnails button{padding:3px;flex:0 0 96px;min-height:72px;border-width:2px}.photo-thumbnails button[aria-pressed=true]{border-color:var(--green);background:var(--water)}.photo-thumbnails img{height:64px;width:86px;object-fit:cover;border-radius:7px}@media(max-width:600px){.photo-dialog{width:calc(100% - 16px);padding:12px;max-height:calc(100dvh - 16px);border-radius:16px}.photo-viewer>img{height:52dvh}.photo-dialog-head{align-items:flex-start}.photo-open{right:12px;bottom:12px}}

/* Country house: uncropped landscape cover and balanced details beneath it. */
.house-feature{display:block;min-height:0;border-radius:20px;background:#e5ece4}.house-feature .stay-photo{height:auto;overflow:hidden;background:#e5ece4}.house-feature .stay-photo>img{display:block;width:100%;height:auto;object-fit:contain;transform:none}.house-feature .stay-photo:hover>img{transform:none}.house-feature .stay-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding:clamp(28px,4vw,54px);align-items:start}.house-intro,.house-details{min-width:0}.house-feature .stay-content h3{font-size:clamp(2.2rem,3.6vw,3.6rem);margin:20px 0 24px}.house-intro>p{color:#44594f;margin-bottom:0}.house-details .pill-list{margin:0 0 24px;display:flex;flex-wrap:wrap;gap:8px}.house-details .feature-list{margin:0 0 26px}.house-details .button{margin-top:0}.house-feature .photo-open{right:20px;bottom:20px}@media(max-width:760px){.house-feature{border-radius:16px}.house-feature .stay-photo{height:auto}.house-feature .stay-content{display:block;padding:26px 22px 32px}.house-intro{margin-bottom:28px}.house-feature .stay-content h3{font-size:clamp(2.1rem,8vw,3rem)}.house-feature .photo-open{right:12px;bottom:12px}.house-details .button{width:100%}}

/* Client-provided logo, with its original proportions and transparent background. */
.brand-mark{background:transparent;border:0;padding:0}
.site-header .brand-mark{width:48px;height:48px;padding:0}
.footer-logo{width:104px;height:104px;object-fit:contain}
@media(max-width:760px){.site-header .brand-mark{width:40px;height:40px}.footer-logo{width:88px;height:88px}}

/* Six distinct services; photography will be added as supplied by the client. */
.activity-grid{align-items:stretch}
.activity-card{display:flex;flex-direction:column}
.activity-card>div:last-child{display:flex;flex-direction:column;flex:1}
.activity-card p{min-height:0}
.activity-card h3{font-size:clamp(1.8rem,2.6vw,2.35rem);overflow-wrap:break-word}
.activity-card a{align-self:flex-start;margin-top:auto}
.service-text-card>div{padding:36px 30px}
.service-text-card h3{margin-top:28px}

/* Family story and own-brand yerba: keep the full photographs visible. */
.shop-card .yerba-photo{height:320px;flex:none;padding:18px;background:#e2eadf}
.shop-card .yerba-photo img{width:100%;height:100%;object-fit:contain;transform:none;border-radius:8px}
.yerba-story{border-top:1px solid #b9ccbc;margin-top:18px;padding-top:22px}
.yerba-story h4{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:1.6rem;line-height:1.2;margin:0 0 14px}
.yerba-story p:last-child{margin-bottom:0}
.family-section{padding:110px 0 15px}
.family-heading h2{font-size:clamp(2.4rem,4.8vw,4.5rem);margin-bottom:46px;max-width:1050px}
.family-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(30px,4vw,64px);align-items:start}
.family-photo{margin:0;border-radius:16px;overflow:hidden;background:var(--cream)}
.family-photo img{width:100%;height:auto;object-fit:contain}
.family-copy{min-width:0;color:#4a6055;font-size:1rem;line-height:1.8}
.family-copy p:last-child{margin-bottom:0}
@media(max-width:900px){.family-grid{grid-template-columns:1fr}.family-heading h2{margin-bottom:30px}.family-section{padding-top:75px}.family-photo{border-radius:12px}.family-copy{max-width:75ch}}
@media(max-width:600px){.shop-card .yerba-photo{height:340px;padding:16px}.family-section{padding-top:60px}}

/* A larger final hero frame, constrained to keep mobile navigation clear. */
.scroll-ready .hero-frame{width:min(97.5vw,131.25svh,1500px);top:calc(50% + var(--frame-offset,0px))}
@media(max-width:760px){.scroll-ready .hero-frame{width:min(92vw,48.75svh,calc(56.25svh - 90px))}}
/* Own-brand yerba follows the family story, outside the six service cards. */
.shop-card .shop-photo{height:230px;flex:none}
.shop-card .shop-photo img{object-fit:cover;object-position:center}
.yerba-section{margin-top:75px;padding:clamp(28px,5vw,72px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(30px,6vw,90px);align-items:center;background:var(--mint);border-radius:24px}
.yerba-copy{min-width:0}
.yerba-copy h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:30px;letter-spacing:-.035em;line-height:1.12}
.yerba-copy>p:not(.eyebrow){font-size:1.08rem;color:#4a6055;line-height:1.75}
.yerba-copy p:last-child{margin-bottom:0}
.yerba-image{margin:0;display:flex;justify-content:center}
.yerba-image img{width:auto;max-width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:14px}
@media(max-width:760px){.yerba-section{grid-template-columns:1fr;margin-top:45px;padding:28px 24px;gap:30px;border-radius:18px}.yerba-image img{max-height:460px}.yerba-copy>p:not(.eyebrow){font-size:1rem}}

/* Interactive arrival map and consolidated regional image credits. */
.arrival-grid{grid-template-columns:1fr 1.05fr;gap:6%}.arrival-map{min-width:0;border-radius:20px;background:var(--mint);overflow:hidden;border:1px solid var(--line)}.arrival-map iframe{display:block;width:100%;height:420px;border:0}.arrival-map-caption{padding:20px 24px}.arrival-map-caption p{margin:0 0 10px;font-size:.9rem}.arrival-map-caption a{font-weight:700;text-decoration:underline;text-underline-offset:4px}.photo-attributions{flex-basis:100%;order:4;font-size:.78rem}.footer-credits{flex-wrap:wrap}.photo-attributions summary{cursor:pointer;width:fit-content;text-decoration:underline;text-underline-offset:4px}.photo-attributions>div{padding-top:10px;max-width:100ch}.photo-attributions p{margin:8px 0}.photo-attributions a{text-decoration:underline}.photo-attributions summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}@media(max-width:900px){.arrival-grid{grid-template-columns:1fr;gap:32px}.arrival-map{margin-top:32px}.arrival-map iframe{height:360px}}@media(max-width:600px){.arrival-map iframe{height:320px}.arrival-map-caption{padding:18px}.photo-attributions{margin-top:16px}}

/* Photo collections and explicit language selection. */
.language-picker{position:relative;font-size:.85rem;font-weight:700;flex-shrink:0}.language-picker summary{cursor:pointer;list-style:none;padding:10px 12px;border-radius:12px;white-space:nowrap;background:var(--mint)}.language-picker summary::-webkit-details-marker{display:none}.language-options{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #143a3420;padding:8px;display:grid;z-index:20}.language-options a{padding:12px;border-radius:8px}.language-options a[aria-current]{background:var(--green);color:white}.salto-collage{display:flex;flex-direction:column;gap:10px;min-width:0}.salto-collage .story-image{height:auto;aspect-ratio:16/9}.salto-collage .story-image img{width:100%;height:100%;object-fit:cover}.salto-portraits{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px 10px}.salto-portrait{border:0;padding:0;background:none;border-radius:14px;overflow:hidden;cursor:pointer;aspect-ratio:9/13}.salto-portrait img{width:100%;height:100%;object-fit:cover}.camp-collage{display:grid;grid-template-rows:1.15fr .85fr;gap:10px;min-width:0}.camp-collage .camp-image{min-height:0;height:100%;overflow:hidden}.camp-caravan{padding:0;border:0;overflow:hidden;background:var(--mint);cursor:pointer}.camp-caravan img{display:block;width:100%;height:100%;object-fit:cover}.court-collage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;height:230px;overflow:hidden}.court-collage img{width:100%;height:100%;object-fit:cover}.day-visual{max-width:1200px;margin:0 auto 48px;overflow:hidden;border-radius:24px}.day-visual img{width:100%;height:360px;display:block;object-fit:cover}.family-photo figcaption{font-size:.9rem;padding:12px 0;text-align:center;color:var(--muted)}.salto-portrait:focus-visible,.camp-caravan:focus-visible,.language-picker summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}@media(min-width:1500px){.salto-collage{display:grid;grid-template-columns:1.6fr 1fr}.salto-collage .story-image{height:100%;aspect-ratio:auto}.salto-portraits{padding:0;gap:8px;align-self:center}.salto-portrait{aspect-ratio:9/16}}@media(max-width:760px){.language-picker summary{padding:8px;font-size:.8rem}.salto-collage .story-image{height:auto;aspect-ratio:16/10}.salto-portrait{aspect-ratio:9/14}.camp-collage{grid-template-rows:360px auto}.camp-caravan img{height:auto;aspect-ratio:16/9;object-fit:contain}.day-visual{margin:0 20px 32px}.day-visual img{height:260px}.court-collage{height:215px}}

.section-page .site-header{opacity:1!important;transform:none!important;pointer-events:auto!important}.section-page main{padding-top:135px}.landing-heading{padding-top:40px;padding-bottom:40px}.landing-heading>a{font-size:.9rem;text-decoration:underline}.landing-heading .eyebrow{margin-top:28px}.landing-heading h1{font:500 clamp(2.6rem,5vw,5.5rem)/1.08 'Playfair Display',serif;max-width:20ch;margin:0}.activity-detail{max-width:900px;margin:0 auto}.activity-detail .activity-card{display:grid;grid-template-columns:1fr 1fr}.activity-detail .activity-photo,.activity-detail .court-collage{height:100%;min-height:320px}.section-page .stay-section{padding-top:20px}.section-page .cabin-card{max-width:850px;margin:0 auto}.section-page .cabin-card .card-img{height:auto;aspect-ratio:16/9}.section-page .family-heading h2{font-size:clamp(2rem,3vw,3.5rem)}@media(max-width:760px){.section-page main{padding-top:105px}.landing-heading{padding-top:24px}.activity-detail .activity-card{display:block}.activity-detail .activity-photo,.activity-detail .court-collage{height:250px;min-height:0}}
.section-link{display:inline-flex;margin-top:18px;margin-right:18px;font-size:.875rem;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:5px}.section-page .footer-lettering{height:auto;min-height:480px}.section-page .footer-art{position:relative;min-height:480px}.section-page .footer-wordmark{transform:none}
/* Day visit: preserve the entire vertical photograph, alongside the day plan. */
.day-section .day-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px 7%;align-items:start}
.day-section .day-visual{position:relative;grid-column:1;grid-row:1 / span 2;max-width:none;margin:0;border-radius:24px;overflow:hidden;background:var(--paper)}
.day-section .day-visual img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.day-section .day-heading,.day-section .day-panel{grid-column:2}
.day-section .day-panel{padding:32px;box-shadow:10px 10px 0 #a9d2ca}
@media(max-width:760px){.day-section .day-layout{grid-template-columns:1fr;gap:32px}.day-section .day-visual{grid-column:1;grid-row:auto;width:min(100%,440px);justify-self:center}.day-section .day-heading,.day-section .day-panel{grid-column:1}.day-section .day-heading{grid-row:1}.day-section .day-visual img{height:auto}.day-section .day-panel{padding:26px}}
.language-picker summary,.language-options a{display:flex;align-items:center;gap:8px}.language-picker .language-flag{display:inline-block;flex:none;width:24px;height:16px;object-fit:contain;border-radius:2px;box-shadow:0 0 0 1px #143a3418}.language-options{min-width:100px}
/* Camping: first row pairs the tent and practical details; caravan spans the width. */
.camp-section{min-height:0;column-gap:0;row-gap:0;padding-bottom:64px}
.camp-section .camp-collage{display:block;grid-column:1;grid-row:1;align-self:stretch;min-width:0}
.camp-section .camp-collage .camp-image{height:100%;min-height:560px;max-height:780px}
.camp-section .camp-content{grid-column:2;grid-row:1;padding:clamp(40px,5vw,80px);align-self:center}
.camp-section>.camp-caravan{position:relative;grid-column:1 / -1;display:block;width:min(1320px,calc(100% - 8vw));height:auto;justify-self:center;aspect-ratio:auto;margin-top:42px;border-radius:22px;background:var(--cream);text-align:left;line-height:0}
.camp-section>.camp-caravan img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;object-position:center}
.camp-caravan-label{position:absolute;left:24px;bottom:24px;max-width:calc(100% - 48px);line-height:1.4;padding:12px 20px;border-radius:100px;background:var(--paper);color:var(--green);font-size:.875rem;font-weight:700;box-shadow:0 4px 20px #143a3420}
@media(max-width:760px){.camp-section{grid-template-columns:1fr;padding-bottom:36px}.camp-section .camp-collage{grid-column:1;grid-row:1}.camp-section .camp-collage .camp-image{height:420px;min-height:0;max-height:none}.camp-section .camp-content{grid-column:1;grid-row:2;padding:42px 22px 20px}.camp-section>.camp-caravan{grid-column:1;grid-row:3;width:calc(100% - 42px);margin-top:20px;border-radius:16px}.camp-caravan-label{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:8px 12px;font-size:.8rem}}
/* Motion is restricted to mouse-capable screens and respects reduced-motion preferences. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){:is(main,.photo-dialog) img.photo-motion{transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .65s ease;transform-origin:center}:is(main,.photo-dialog) img.photo-motion:hover{transform:translateY(-3px) scale(1.025);filter:brightness(1.025)}}
@media(prefers-reduced-motion:reduce){:is(main,.photo-dialog) img.photo-motion{transition:none!important;transform:none!important;filter:none!important}}
/* Explicit destinations: the whole card is a link and its action looks like a button. */
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0;margin-top:64px}
.ways a.visit-option,.ways a.visit-option:first-child,.ways a.visit-option:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:30px;border:1px solid #cbd8cf;border-radius:20px;background:#fff;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ways .way-number{display:block;font-size:.875rem;color:var(--leaf);margin-bottom:22px;letter-spacing:.1em}
.ways h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.55rem,2vw,2rem);font-weight:500;margin:0 0 12px;color:var(--green)}
.ways p{font-size:1rem;font-weight:400;color:var(--muted);line-height:1.5;margin:0 0 26px}
.ways .way-action{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 20px;border-radius:100px;background:var(--green);color:white;font-size:.875rem;font-weight:700;margin-top:auto}
.ways a.visit-option:focus-visible{outline:3px solid var(--leaf);outline-offset:5px}
.button-outline-light{color:#fff;border:1px solid #fff9;background:#143a3455;text-shadow:none}
.mobile-introduction[hidden]{display:none}
@media(hover:hover) and (pointer:fine){.ways a.visit-option:hover{transform:translateY(-5px);border-color:var(--leaf);box-shadow:0 16px 35px #143a3418}.ways a.visit-option:hover .way-action{background:#286656}}
@media(max-width:760px){
 .ways{grid-template-columns:1fr;gap:16px;margin-top:38px}.ways a.visit-option,.ways a.visit-option:first-child,.ways a.visit-option:last-child{padding:26px}.ways .way-number{margin-bottom:16px}.ways .way-action{width:100%}
 .mobile-introduction{background:var(--paper);color:var(--ink);padding:48px 0 20px}
 .mobile-introduction .hero-content{padding:0;position:relative;opacity:1;transform:none;pointer-events:auto;will-change:auto;animation:none}
 .scroll-ready .mobile-introduction .hero-content{opacity:1;transform:none;pointer-events:auto}
 .mobile-introduction h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.5rem,9.5vw,4rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 24px;color:var(--green)}
 .mobile-introduction h1 em{color:#528a7c}.mobile-introduction .eyebrow.light{color:var(--leaf);margin-bottom:22px}
 .mobile-introduction .hero-content>p{font-size:1rem;line-height:1.65;text-shadow:none}
 .mobile-introduction .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px}
 .mobile-introduction .button-light{background:var(--green);color:#fff}
 .mobile-introduction .button-outline-light{border:1px solid var(--green);background:transparent;color:var(--green)}
 .mobile-introduction .hero-bottom{position:static;inset:auto;display:flex;margin:28px auto 0;flex-direction:column;align-items:flex-start;gap:8px;color:var(--muted);font-size:.75rem;letter-spacing:.08em}
 .hero-scroll .hero-photo:after{background:none!important}
 .intro{padding-top:70px}
}
@media(prefers-reduced-motion:reduce){.ways a.visit-option{transition:none;transform:none!important}}
/* Separate accommodation actions, with a clear primary consultation button. */
.stay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;width:100%}
.stay-actions .button{margin:0;min-height:48px;padding:12px 20px;font-size:.875rem;line-height:1.3;font-weight:700;text-decoration:none;white-space:normal;text-align:center}
.stay-actions .button-dark{color:#fff;background:var(--green);border:1px solid var(--green)}
.stay-actions .button-outline{color:var(--green);background:transparent;border:1px solid #7e9e90}
.stay-content .stay-actions{margin-top:auto;padding-top:24px}
@media(max-width:760px){.stay-actions{display:grid;grid-template-columns:1fr;gap:12px}.stay-actions .button{width:100%}}
