:root{--ink:#182725;--ink2:#31423e;--paper:#f6f4ee;--cream:#e9e4d9;--sand:#d6cbbb;--rust:#a96e49;--white:#fffdf8;--line:rgba(24,39,37,.2);--serif:Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans)}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:.91;letter-spacing:-.035em}h1 em,h2 em{font-weight:400}h2{font-size:clamp(3.9rem,7vw,8rem)}p{max-width:43rem}::selection{background:var(--rust);color:white}:focus-visible{outline:2px solid currentColor;outline-offset:4px}.skip-link{position:fixed;top:10px;left:10px;z-index:200;background:white;padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}.progress{position:fixed;z-index:110;top:0;left:0;height:3px;width:100%;background:var(--rust);transform:scaleX(0);transform-origin:left}
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,72px);color:white;border-bottom:1px solid rgba(255,255,255,.25);transition:background .3s,border-color .3s}body:not([data-page="home"]) .site-header,.site-header.scrolled,.menu-open .site-header{background:var(--ink);border-color:rgba(255,255,255,.16)}.brand{width:clamp(175px,19vw,250px);height:70px;display:flex;align-items:center}.brand img{width:100%;height:auto;max-height:68px;object-fit:contain}.desktop-nav{display:flex;gap:clamp(20px,2.6vw,42px);margin-left:auto;margin-right:clamp(30px,3vw,55px)}.desktop-nav a,.header-book,.menu-toggle{font-size:.73rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.desktop-nav a{padding:12px 0;transition:opacity .2s}.desktop-nav a:hover{opacity:.6}.header-actions{display:flex;align-items:center;gap:30px}.header-book{border:1px solid rgba(255,255,255,.7);padding:13px 17px;white-space:nowrap;transition:background .2s,color .2s}.header-book:hover{background:white;color:var(--ink)}.menu-toggle{border:0;color:inherit;background:none;display:flex;align-items:center;gap:14px;cursor:pointer;padding:14px 0}.menu-lines{display:grid;gap:6px;width:25px}.menu-lines i{display:block;height:1px;background:currentColor;transition:transform .25s}.menu-open .menu-lines i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-lines i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu-panel{position:fixed;inset:0;background:var(--ink);color:var(--white);z-index:90;visibility:hidden;opacity:0;transform:translateY(-2%);transition:opacity .3s,transform .3s,visibility .3s;overflow:auto}.menu-open .menu-panel{visibility:visible;opacity:1;transform:none}.menu-open .desktop-nav,.menu-open .header-book{visibility:hidden}.menu-panel-inner{max-width:1600px;margin:auto;padding:130px clamp(24px,7vw,100px) 35px;min-height:100vh;display:flex;flex-direction:column}.menu-meta{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:#bbbdb3}.menu-panel ol{list-style:none;padding:20px 0;margin:auto 0;max-width:900px}.menu-panel li{border-bottom:1px solid rgba(255,255,255,.18);display:flex;align-items:baseline;gap:26px;padding:6px 0}.menu-panel li span{font-size:.7rem;color:var(--rust)}.menu-panel li a{font:400 clamp(2.8rem,5.4vw,5.7rem)/1 var(--serif);transition:transform .25s,color .25s}.menu-panel li a:hover{color:#d6cbbb;transform:translateX(12px)}.menu-bottom{display:flex;justify-content:space-between;align-items:end;padding-top:24px;font-size:.85rem}.menu-bottom div{display:flex;flex-direction:column}.menu-bottom>a{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem}
.eyebrow,.side-label,.section-number,.hero-index{font-size:.68rem;font-weight:700;line-height:1.4;letter-spacing:.2em;text-transform:uppercase}.eyebrow{margin-bottom:25px}.section-pad{padding:clamp(95px,11vw,180px) clamp(24px,6vw,100px)}.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s ease}.reveal.visible{opacity:1;transform:none}.text-link{display:inline-flex;align-items:center;gap:50px;padding:0 0 10px;border-bottom:1px solid currentColor;margin-top:35px;text-transform:uppercase;font-size:.73rem;font-weight:700;letter-spacing:.13em;transition:gap .25s}.text-link:hover{gap:65px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:52px;padding:14px 21px;text-transform:uppercase;letter-spacing:.11em;font-size:.69rem;font-weight:700;transition:background .2s,color .2s,border-color .2s}.button-light{background:var(--white);color:var(--ink);border:1px solid var(--white)}.button-light:hover{background:transparent;color:white}.button-dark{background:var(--ink);border:1px solid var(--ink);color:white}.button-dark:hover{background:transparent;color:var(--ink)}.button-outline{background:transparent;border:1px solid var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);color:white}.button-outline-light,.button-ghost{border:1px solid rgba(255,255,255,.7);color:white}.button-outline-light:hover,.button-ghost:hover{background:white;color:var(--ink)}
.home-hero{height:max(740px,100svh);position:relative;color:white;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo img,.lake-band-image img,.intro-image img{transform:translateY(var(--parallax,0px)) scale(1.08)}.hero-image{object-position:center 45%}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;opacity:1;transform:translateY(var(--parallax,0px)) scale(1.08)}.hero-shade{background:linear-gradient(90deg,rgba(12,28,27,.64),rgba(11,30,27,.17) 68%),linear-gradient(0deg,rgba(5,22,22,.67),transparent 58%)}.hero-content{position:relative;z-index:1;height:100%;padding:128px clamp(24px,6vw,100px) 75px;display:flex;flex-direction:column;justify-content:space-between}.hero-topline{display:flex;justify-content:space-between;font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700}.hero-title-wrap{max-width:1200px}.hero-title-wrap .eyebrow{margin-bottom:24px}.home-hero h1{font-size:clamp(5.5rem,10.7vw,13.5rem);line-height:.84;max-width:1200px}.hero-bottom{margin-top:38px;display:flex;align-items:flex-end;gap:80px}.hero-bottom p{max-width:420px;font-size:1.03rem;line-height:1.55}.hero-buttons{display:flex;gap:11px;flex-wrap:wrap}.scroll-cue{position:absolute;z-index:2;right:clamp(24px,6vw,100px);bottom:85px;writing-mode:vertical-rl;display:flex;align-items:center;gap:15px;text-transform:uppercase;font-weight:700;font-size:.6rem;letter-spacing:.17em}.scroll-line{display:block;width:1px;height:48px;background:white}
.editorial-grid{display:grid;grid-template-columns:16% 1fr 33%;gap:35px}.intro{min-height:830px;align-items:start}.side-label{color:var(--rust);padding-top:9px}.intro-copy{max-width:790px}.intro h2{font-size:clamp(4.2rem,5.6vw,7rem)}.intro-copy p,.feature-copy p,.story-copy p{max-width:470px;margin-top:36px;color:#50605b;line-height:1.75}.intro-image{height:530px;margin-top:175px;overflow:hidden}.feature-split{display:grid;grid-template-columns:55% 45%;padding-top:0;align-items:center;gap:0}.feature-image{height:690px}.feature-copy{padding:50px 0 50px clamp(65px,8vw,150px)}.feature-copy .section-number{display:block;color:var(--rust);margin-bottom:90px}.feature-copy h2{font-size:clamp(4.5rem,6.8vw,8rem)}
.lake-band{height:min(900px,85svh);min-height:650px;position:relative;overflow:hidden;color:white}.lake-band-image,.lake-band-overlay{position:absolute;inset:0}.lake-band-image video{width:100%;height:100%;object-fit:cover}.lake-fallback{display:none}.lake-band-overlay{background:linear-gradient(90deg,rgba(9,26,26,.84),rgba(9,26,26,.2))}.lake-band-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px clamp(24px,6vw,100px);max-width:900px}.lake-band-content h2{font-size:clamp(6rem,10vw,13rem)}.lake-band-content p{max-width:420px;margin-top:35px;margin-bottom:40px}.journey{display:grid;grid-template-columns:45% 55%;gap:40px}.journey .section-head h2{font-size:clamp(4.5rem,6.5vw,7.5rem)}.section-head p{margin-top:28px;color:#586862}.journey-list{padding-top:40px}.journey-list a{display:grid;grid-template-columns:50px 1fr 38px;gap:10px;border-top:1px solid var(--line);padding:28px 0;align-items:baseline}.journey-list a:last-child{border-bottom:1px solid var(--line)}.journey-list span{font-size:.72rem;color:var(--rust)}.journey-list strong{font:400 clamp(1.8rem,3vw,3rem)/1.1 var(--serif)}.journey-list small{grid-column:2;color:#64716d;font-size:.78rem}.journey-list b{grid-column:3;grid-row:1/3;font-weight:400;font-size:1.4rem;transition:transform .2s}.journey-list a:hover b{transform:translate(5px,-5px)}
.story-teaser{background:var(--cream);display:grid;grid-template-columns:55% 45%;gap:8%;align-items:center}.story-photo{height:650px}.story-copy{padding-right:13%}.story-copy h2{font-size:clamp(4.5rem,6.7vw,8rem)}.cta-panel{margin:0;min-height:465px;background:var(--ink);color:white;padding:clamp(80px,8vw,130px) clamp(24px,6vw,100px);display:flex;justify-content:space-between;align-items:end;gap:40px}.cta-panel h2{font-size:clamp(4.8rem,7.4vw,8.7rem)}.cta-panel p:not(.eyebrow){margin-top:24px;color:#ced4cb}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.site-footer{background:#e3ddd1;padding:95px clamp(24px,6vw,100px) 25px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:100px}.footer-top h2{font-size:clamp(5rem,8vw,10rem)}.footer-contact{display:flex;flex-direction:column;gap:7px;align-self:end;font-size:1.05rem}.footer-contact p{margin-top:20px;color:#53625c}.footer-links{display:flex;gap:120px;border-top:1px solid var(--line);padding:45px 0 90px}.footer-links>div{display:flex;flex-direction:column;gap:10px}.footer-links span{color:var(--rust);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:15px}.footer-links a{font-size:.85rem}.footer-links a:hover,.footer-contact a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#58665f}
.page-hero{height:clamp(590px,72svh,830px);position:relative;color:white;overflow:hidden}.page-hero-photo{position:absolute;inset:0}.page-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,29,27,.72),rgba(11,29,27,.1) 80%),linear-gradient(0deg,rgba(11,29,27,.28),transparent 50%)}.page-hero-inner{position:relative;height:100%;padding:180px clamp(24px,6vw,100px) 70px;display:flex;justify-content:space-between;align-items:end;gap:30px}.page-hero h1{font-size:clamp(6.2rem,10vw,12.5rem);max-width:1100px}.page-hero p:not(.eyebrow){max-width:470px;margin-top:26px;font-size:1.02rem}.hero-index{writing-mode:vertical-rl;white-space:nowrap}
.cottages-intro{grid-template-columns:20% 1fr;max-width:1400px}.cottages-intro h2,.fishing-intro h2{font-size:clamp(5rem,8vw,9.5rem)}.cottages-intro p,.fishing-intro p{max-width:540px;margin-top:32px;color:#586862}.photo-story{padding-top:0}.photo-story figure{position:relative}.photo-story figcaption,.fishing-mosaic figcaption{font-size:.67rem;text-transform:uppercase;letter-spacing:.14em;margin-top:12px}.wide-photo{height:min(740px,60vw);margin-left:15%}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:90px}.photo-pair figure:first-child{height:560px}.photo-pair figure:last-child{height:520px;margin-top:150px}.cottage-feature{display:grid;grid-template-columns:55% 45%;align-items:center;background:var(--cream)}.cottage-feature .feature-image{height:650px}.cottage-feature .feature-copy{padding-right:30px}.cottage-feature .feature-copy h2{font-size:clamp(5rem,8vw,9rem)}.content-note{display:flex;align-items:start;gap:20px;border-top:1px solid var(--line);padding:32px clamp(24px,6vw,100px);background:var(--paper);font-size:.85rem;color:#52625d}.content-note p{max-width:900px}.note-dot{width:9px;height:9px;min-width:9px;background:var(--rust);border-radius:50%;margin-top:7px}
.detail-intro{display:grid;grid-template-columns:60% 40%;gap:30px}.detail-intro p{max-width:460px;padding-top:45px;color:#52625d}.detail-gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;padding-top:0}.detail-gallery figure:first-child{height:600px}.detail-gallery figure:last-child{height:490px;margin-top:160px}.spec-panel{background:var(--cream);display:grid;grid-template-columns:50% 50%;gap:30px}.spec-list{align-self:center}.spec-list p{border-top:1px solid var(--line);padding:20px 0;display:flex;gap:30px;font-size:1.04rem}.spec-list p:last-child{border-bottom:1px solid var(--line)}.spec-list span{color:var(--rust);font-size:.7rem}
.fishing-intro{grid-template-columns:20% 1fr;max-width:1450px}.fishing-mosaic{display:grid;grid-template-columns:58% 35%;gap:7%;padding-top:0;align-items:end}.mosaic-large{height:600px}.mosaic-small{height:460px;margin-bottom:-100px}.equipment-panel{background:var(--ink);color:white;display:grid;grid-template-columns:45% 50%;gap:5%;align-items:center}.equipment-panel h2{font-size:clamp(4.5rem,7vw,8rem)}.equipment-panel p{max-width:470px;margin-top:32px;color:#c8d2cc}.equipment-photo{height:570px}.faq-strip{display:grid;grid-template-columns:50% 50%;gap:30px}.faq-strip p{max-width:490px;color:#5b6963}
.rates-lead{display:grid;grid-template-columns:55% 45%;align-items:end;gap:30px}.rates-lead p{max-width:520px;color:#52625d}.rate-types{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:0}.rate-types article{min-height:440px;background:#e9e4da;padding:45px;display:flex;flex-direction:column}.rate-types article:nth-child(2){background:#dce2da}.rate-types span{color:var(--rust);font-size:.7rem;letter-spacing:.17em;text-transform:uppercase}.rate-types h3{font:400 clamp(3rem,4.5vw,5.2rem)/.98 var(--serif);margin:auto 0 25px}.rate-types p{max-width:400px;color:#52625d}.how-it-works .section-head{margin-bottom:70px}.how-it-works ol{list-style:none;padding:0;margin:0 0 45px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.how-it-works li{border-top:1px solid var(--line);padding-top:20px}.how-it-works li span{font-size:.7rem;color:var(--rust)}.how-it-works li strong{display:block;font:400 2rem/1 var(--serif);margin:35px 0 16px}.how-it-works li p{font-size:.85rem;color:#586862}
.plan-lead .section-head{max-width:770px}.plan-items{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:90px}.plan-items article{border-top:1px solid var(--line);padding-top:18px}.plan-items span{font-size:.7rem;color:var(--rust)}.plan-items h3{font:400 clamp(2.6rem,3.8vw,4rem)/1 var(--serif);margin:45px 0 24px}.plan-items p{color:#52625d}.plan-image-band{position:relative;height:820px;color:white;overflow:hidden}.plan-image-band>div{position:absolute;inset:0}.plan-image-band>div img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.plan-image-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,25,25,.48),rgba(10,25,25,.12) 68%)}.plan-image-band blockquote{position:relative;z-index:1;max-width:850px;padding:270px clamp(24px,6vw,100px) 0;font:400 clamp(3.3rem,6vw,7rem)/.95 var(--serif)}.accordion-section{display:grid;grid-template-columns:45% 55%;gap:40px}.accordion-list details{border-top:1px solid var(--line);padding:25px 0}.accordion-list details:last-child{border-bottom:1px solid var(--line)}.accordion-list summary{cursor:pointer;list-style:none;font:400 clamp(1.55rem,2.6vw,2.6rem)/1.1 var(--serif);display:flex;justify-content:space-between;gap:20px}.accordion-list summary::-webkit-details-marker{display:none}.accordion-list summary:after{content:"+";font:400 1.6rem var(--sans)}.accordion-list details[open] summary:after{content:"−"}.accordion-list p{margin:20px 70px 0 0;color:#52625d}
.guide-cover{padding-top:190px;background:var(--cream)}.guide-cover h1,.booking-cover h1{font-size:clamp(6.5rem,11vw,14rem)}.guide-cover>p:not(.eyebrow){margin-top:30px}.guide-actions,.booking-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.guide-body{max-width:1000px;margin:auto;padding:80px 24px 140px}.guide-body section{border-top:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:35% 65%;gap:25px}.guide-body h2{font-size:2.7rem}.guide-body p,.guide-body ul{color:#52625d}.guide-body ul{margin:0;padding-left:20px}.guide-body li{margin-bottom:10px}.guide-small{margin-top:25px;font-size:.72rem}
.story-main{display:grid;grid-template-columns:1.25fr .75fr;gap:50px}.story-main h2{font-size:clamp(5rem,7.4vw,9rem)}.story-body{align-self:end;color:#52625d}.story-body p+p{margin-top:25px}.story-gallery{display:grid;grid-template-columns:55% 40%;gap:5%;padding-top:0}.story-gallery div:first-child{height:700px}.story-gallery div:last-child{height:520px;margin-top:170px}
.contact-main{display:grid;grid-template-columns:50% 50%;gap:30px}.contact-main h2{font-size:clamp(5rem,8vw,9rem)}.contact-main p{margin-top:32px;max-width:400px}.contact-methods>div{border-top:1px solid var(--line);padding:25px 0 32px;display:flex;flex-direction:column}.contact-methods span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--rust);margin-bottom:14px}.contact-methods a{font:400 clamp(1.5rem,2.3vw,2.7rem)/1.1 var(--serif);margin-bottom:7px}.contact-methods p{margin:0 0 14px}.contact-methods>div:last-child{border-bottom:1px solid var(--line)}.contact-methods a:hover{text-decoration:underline}
.booking-cover{padding-top:190px;display:grid;grid-template-columns:55% 45%;gap:40px;min-height:850px}.booking-cover p:not(.eyebrow){max-width:500px;margin-top:30px;color:#52625d}.booking-photo{height:640px}.booking-explain{background:var(--cream);display:grid;grid-template-columns:55% 45%;gap:30px}.booking-explain p{max-width:490px;color:#52625d}.booking-explain p+p{margin-top:24px}
.journey{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}.story-teaser{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}.detail-intro{grid-template-columns:minmax(0,60fr) minmax(0,40fr)}.spec-panel,.faq-strip,.contact-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rates-lead,.booking-cover,.booking-explain{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}.equipment-panel{grid-template-columns:minmax(0,45fr) minmax(0,50fr)}.story-main{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.accordion-section{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}.editorial-grid>*,.journey>*,.story-teaser>*,.detail-intro>*,.spec-panel>*,.rates-lead>*,.contact-main>*,.booking-cover>*,.booking-explain>*{min-width:0}
@media(max-width:1150px){.desktop-nav{display:none}.hero-bottom{gap:30px}.editorial-grid{grid-template-columns:13% 1fr 30%}.journey{grid-template-columns:1fr}.journey-list{padding-top:0}.feature-copy{padding-left:55px}.story-teaser{gap:4%}}
@media(max-width:760px){body{font-size:15px}.site-header{height:72px;padding:0 18px}.brand{width:168px}.brand img{max-height:60px}.header-actions{gap:14px}.header-book{display:none}.menu-label{display:none}.menu-panel-inner{padding:100px 24px 25px}.menu-panel li{gap:15px}.menu-panel li a{font-size:clamp(2.2rem,10vw,4.2rem)}.menu-bottom{align-items:start;gap:20px;flex-direction:column}.section-pad{padding:85px 22px}.home-hero{height:780px;min-height:100svh}.hero-content{padding:100px 22px 80px}.hero-topline{font-size:.55rem}.home-hero h1{font-size:clamp(5rem,15vw,7.8rem)}.hero-bottom{display:block;margin-top:30px}.hero-bottom p{max-width:320px}.hero-buttons{margin-top:25px}.scroll-cue{right:18px;bottom:105px}.editorial-grid,.feature-split,.journey,.story-teaser,.detail-intro,.spec-panel,.equipment-panel,.faq-strip,.rates-lead,.accordion-section,.story-main,.contact-main,.booking-explain{display:block}.intro{min-height:0}.side-label{margin-bottom:45px}.intro h2,.feature-copy h2,.story-copy h2{font-size:clamp(4rem,12vw,6.5rem)}.intro-image{height:390px;margin:55px 0 0 15%}.feature-split{padding-top:0}.feature-image{height:450px}.feature-copy{padding:80px 0 0}.feature-copy .section-number{margin-bottom:50px}.lake-band{height:680px;min-height:0}.lake-band-content{padding:80px 22px}.lake-band-content h2{font-size:clamp(5rem,15vw,8rem)}.journey-list{margin-top:55px}.journey-list a{grid-template-columns:35px 1fr 20px}.story-teaser{padding:0 0 80px}.story-photo{height:470px}.story-copy{padding:80px 22px 0}.cta-panel{display:block;padding:90px 22px;min-height:0}.cta-panel h2{font-size:clamp(4.8rem,13vw,7rem)}.cta-actions{margin-top:40px}.site-footer{padding:80px 22px 20px}.footer-top{display:block;padding-bottom:65px}.footer-contact{margin-top:55px}.footer-links{gap:55px;padding:35px 0 75px}.footer-bottom{gap:12px;flex-wrap:wrap;line-height:1.5}.page-hero{height:650px}.page-hero-inner{padding:125px 22px 55px}.page-hero h1{font-size:clamp(5.6rem,15vw,8.5rem)}.hero-index{display:none}.cottages-intro,.fishing-intro{display:block}.cottages-intro h2,.fishing-intro h2{font-size:clamp(4.5rem,12vw,7rem)}.wide-photo{height:470px;margin-left:0}.photo-pair{gap:25px;padding-top:50px}.photo-pair figure:first-child,.photo-pair figure:last-child{height:310px;margin-top:0}.cottage-feature{display:block;padding:0 0 75px}.cottage-feature .feature-image{height:490px}.cottage-feature .feature-copy{padding:65px 22px 0}.detail-intro p{padding:30px 0 0}.detail-gallery{gap:20px}.detail-gallery figure:first-child{height:400px}.detail-gallery figure:last-child{height:280px;margin-top:90px}.spec-list{margin-top:55px}.fishing-mosaic{display:block}.mosaic-large{height:480px}.mosaic-small{height:320px;margin:50px 0 0 25%}.equipment-photo{height:440px;margin-top:60px}.faq-strip>div:last-child{margin-top:35px}.rates-lead p{margin-top:35px}.rate-types{gap:15px}.rate-types article{padding:25px;min-height:390px}.rate-types h3{font-size:2.9rem}.how-it-works ol{grid-template-columns:1fr 1fr;gap:32px}.plan-items{grid-template-columns:1fr;gap:50px;margin-top:70px}.plan-items h3{margin:25px 0 18px}.plan-image-band{height:510px}.plan-image-band blockquote{padding:190px 22px 0}.accordion-list{margin-top:45px}.guide-cover{padding-top:145px}.guide-cover h1,.booking-cover h1{font-size:clamp(6rem,15vw,9rem)}.guide-body section{display:block}.guide-body h2{margin-bottom:20px}.story-body{margin-top:55px}.story-gallery div:first-child{height:470px}.story-gallery div:last-child{height:320px;margin-top:65px}.contact-methods{margin-top:65px}.booking-cover{display:block;min-height:0;padding-top:140px}.booking-photo{height:440px;margin-top:70px}.booking-explain>div:last-child{margin-top:45px}}

/* Editorial booking journey: bold type, one strong image, and oversized interactive steps. */
.journey{position:relative;overflow:hidden;background:#c9d9ea;color:#241a13;min-height:760px}
.journey .journey-lead{position:relative;z-index:2;max-width:920px}
.journey .journey-lead h2{font-size:clamp(4rem,9vw,10.5rem);line-height:.82;letter-spacing:-.02em}
.journey .journey-lead p{max-width:420px;margin-top:30px;font-size:.95rem}
.journey-art{position:absolute;z-index:1;top:17%;left:33%;width:clamp(240px,28vw,430px);height:clamp(250px,34vw,500px);overflow:hidden;transform:rotate(-3deg);box-shadow:0 24px 70px rgba(36,26,19,.18)}
.journey-art img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.journey:hover .journey-art img{transform:scale(1.06)}
.journey-list{position:relative;z-index:3;display:grid;gap:0;max-width:780px;margin:70px 0 0 auto}
.journey-list a{display:grid;grid-template-columns:56px 1fr;align-items:baseline;gap:12px;padding:22px 0;border-top:1px solid rgba(36,26,19,.42);transition:transform .45s cubic-bezier(.22,.61,.36,1),color .3s ease}
.journey-list a:last-child{border-bottom:1px solid rgba(36,26,19,.42)}
.journey-list a:hover{transform:translateX(-18px);color:#fff}
.journey-list a span{font:500 .72rem/1 var(--sans);color:#a65b3b}
.journey-list a strong{font:400 clamp(2rem,4vw,4.2rem)/.94 var(--serif)}
.journey-list a small{grid-column:2;margin-top:5px;color:rgba(36,26,19,.72);font-size:.78rem}
@media(max-width:760px){.journey{min-height:0;padding-top:95px;padding-bottom:90px}.journey .journey-lead h2{font-size:clamp(3.5rem,13vw,6rem)}.journey-art{position:relative;top:auto;left:auto;width:70%;height:300px;margin:45px auto 35px 15%}.journey-list{margin-top:25px}.journey-list a strong{font-size:clamp(1.8rem,8vw,3rem)}}

/* Refined journey layout: clear editorial grid without overlapping layers. */
.journey{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;align-items:center;gap:34px 7vw;min-height:700px;padding-top:110px;padding-bottom:110px;background:#eee9df;color:#1d2523}
.journey .journey-lead{grid-column:1;grid-row:1;max-width:520px}
.journey .journey-lead .eyebrow{color:#a65b3b;letter-spacing:.16em}
.journey .journey-lead h2{font-size:clamp(3.5rem,6vw,6.6rem);line-height:.88;letter-spacing:-.025em;max-width:8ch}
.journey .journey-lead h2 em{font-style:normal;color:#a65b3b}
.journey .journey-lead p{max-width:390px;margin-top:28px;color:#53615d}
.journey-art{position:relative;grid-column:1;grid-row:2;top:auto;left:auto;width:100%;height:330px;margin:0;overflow:hidden;transform:none;box-shadow:none}
.journey-art img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.journey:hover .journey-art img{transform:scale(1.04)}
.journey-list{grid-column:2;grid-row:1 / span 2;align-self:center;display:grid;gap:0;max-width:none;margin:0}
.journey-list a{grid-template-columns:48px 1fr;gap:12px;padding:25px 0;border-top:1px solid rgba(29,37,35,.24);transition:padding-left .35s ease,color .3s ease}
.journey-list a:last-child{border-bottom:1px solid rgba(29,37,35,.24)}
.journey-list a:hover{transform:none;padding-left:14px;color:#a65b3b}
.journey-list a span{font:500 .7rem/1 var(--sans);color:#a65b3b}
.journey-list a strong{font:400 clamp(2.2rem,3.5vw,4.2rem)/.94 var(--serif)}
.journey-list a small{grid-column:2;margin-top:8px;color:#64716d;font-size:.78rem}
@media(max-width:760px){.journey{display:block;min-height:0;padding:90px 22px}.journey .journey-lead h2{font-size:clamp(3.4rem,13vw,6rem);max-width:9ch}.journey-art{width:100%;height:300px;margin:42px 0 35px}.journey-list{margin-top:0}.journey-list a strong{font-size:clamp(1.9rem,8vw,3rem)}}

.journey .section-head h2{color:#1d2523;font-size:clamp(3.2rem,5.1vw,5.4rem);max-width:11ch}
.journey-art{height:280px}
@media(max-width:760px){.journey .section-head h2{font-size:clamp(3.2rem,12vw,5.6rem);max-width:10ch}.journey-art{height:300px}}

/* Steps-led editorial treatment inspired by the supplied reference. */
.journey{display:grid;grid-template-columns:minmax(420px,.85fr) minmax(0,1.15fr);grid-template-rows:auto;align-items:start;gap:88px;min-height:0;padding-top:120px;padding-bottom:125px;background:#f7f7f4;color:#0c0d0d}
.journey .journey-lead{grid-column:1;max-width:500px}
.journey .journey-lead .eyebrow{color:#777b7a;letter-spacing:.12em}
.journey .journey-lead h2{font-size:clamp(3.4rem,5.2vw,6rem);line-height:.92;letter-spacing:-.035em;max-width:none;color:#0c0d0d}
.journey .journey-lead h2 em{color:#b5b6b6;font-style:normal}
.journey .journey-lead p{max-width:390px;margin-top:34px;color:#68706e;font-size:.9rem}
.journey-cta{display:inline-flex;align-items:center;gap:28px;margin-top:38px;padding:15px 22px;border-radius:999px;background:#101111;color:#fff;font:600 .78rem/1 var(--sans);letter-spacing:.02em;transition:gap .3s ease,background .3s ease}
.journey-cta{border-radius:0}
.journey-cta span{font-size:1.3rem;line-height:.5}
.journey-cta:hover{gap:38px;background:#a65b3b}
.journey-list{grid-column:2;display:block;max-width:none;margin:0;padding:0}
.journey-steps-label{margin:0 0 28px;font:500 1.05rem/1.1 var(--sans);color:#111}
.journey-list a{display:grid;grid-template-columns:52px 1fr;gap:0 18px;align-items:baseline;padding:30px 0;border-top:1px solid #e2e3e1;transition:padding-left .35s ease}
.journey-list a:last-child{border-bottom:1px solid #e2e3e1}
.journey-list a:hover{transform:none;padding-left:12px}
.journey-list a span{font:500 .75rem/1 var(--sans);color:#b0b1b1}
.journey-list a strong,.journey-list a small{display:inline;font-family:var(--sans);font-size:clamp(1.7rem,2.7vw,3rem);line-height:1.08;letter-spacing:-.045em}
.journey-list a strong{font-weight:600;color:#101111}
.journey-list a small{margin:0;color:#b7b8b8;font-weight:500}
@media(max-width:760px){.journey{display:block;padding:90px 22px 100px}.journey .journey-lead h2{font-size:clamp(4rem,15vw,6.4rem);max-width:8ch}.journey .journey-lead p{margin-top:28px}.journey-list{margin-top:80px}.journey-list a{grid-template-columns:36px 1fr;padding:24px 0}.journey-list a strong,.journey-list a small{font-size:clamp(1.45rem,6vw,2.2rem)}}
@media (max-width:1150px) and (min-width:761px){.journey{grid-template-columns:1fr;gap:55px}.journey-list{margin-top:0}}
@media(max-width:520px){.hero-topline span:last-child{display:none}.home-hero h1{font-size:clamp(4.6rem,16vw,6.2rem)}.hero-buttons .button{width:100%}.scroll-cue{display:none}.photo-pair,.detail-gallery,.rate-types,.how-it-works ol,.story-gallery{grid-template-columns:1fr}.photo-pair figure:first-child,.photo-pair figure:last-child,.detail-gallery figure:first-child,.detail-gallery figure:last-child{height:360px;margin-top:0}.photo-pair figure+figure,.detail-gallery figure+figure{margin-top:40px}.mosaic-small{margin-left:0}.rate-types article{min-height:340px}.story-gallery div:last-child{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-photo img,.hero-video,.lake-band-image img,.intro-image img{transform:none}.lake-video{display:none}.lake-fallback{display:block}}
@media print{.site-header,.menu-panel,.progress,.site-footer,.guide-actions,.skip-link{display:none!important}body{background:white;color:black;font-size:11pt}.guide-cover{padding:0 0 25px;background:none}.guide-cover h1{font-size:58pt}.guide-body{padding:0;max-width:none}.guide-body section{break-inside:avoid;padding:18px 0}.guide-body h2{font-size:24pt}a{text-decoration:underline}}

/* Remove the header rule over the hero. */
.site-header { border-bottom: 0; }

/* Editorial header: keep the page calm and make the navigation feel intentional. */
@media (min-width: 1151px) {
  .site-header .desktop-nav { display: none; }
  .site-header .header-actions { margin-left: auto; gap: clamp(18px, 2vw, 30px); }
  .site-header .menu-toggle {
    min-width: 0;
    justify-content: flex-end;
    gap: 16px;
    border: 0;
    padding: 10px 0;
    transition: opacity .25s;
  }
  .site-header .menu-toggle:hover { opacity: .68; }
  .site-header .menu-lines { width: 34px; gap: 5px; }
  .site-header .menu-lines i { height: 1px; transition: transform .35s ease, opacity .25s ease, width .35s ease; }
  .site-header .menu-lines i:nth-child(2) { width: 24px; justify-self: end; }
  .site-header .menu-toggle:hover .menu-lines i:nth-child(2) { width: 34px; }
  .menu-open .site-header .menu-lines i:first-child { transform: translateY(6px) rotate(45deg); }
  .menu-open .site-header .menu-lines i:nth-child(2) { opacity: 0; width: 34px; }
  .menu-open .site-header .menu-lines i:last-child { transform: translateY(-6px) rotate(-45deg); }
  .site-header .header-book { padding: 12px 16px; }
}

/* Black and charcoal palette for the new editorial direction. */
:root { --ink: #111111; --ink2: #262626; --line: rgba(17,17,17,.2); }
.hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.7), rgba(0,0,0,.18) 68%), linear-gradient(0deg, rgba(0,0,0,.72), transparent 58%); }
.lake-band-overlay { background: linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.22)); }
.page-hero-photo:after { background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.12) 80%), linear-gradient(0deg, rgba(0,0,0,.32), transparent 50%); }
.cottage-detail-hero:after { background: linear-gradient(0deg, rgba(0,0,0,.8), transparent 70%); }

/* The reference uses restrained, breathable display sizes. */
h1, h2 { font-size: clamp(2.7rem, 5.4vw, 6.5rem) !important; }
.home-hero h1 { max-width: 760px; font-size: clamp(2.8rem, 4.2vw, 5.2rem) !important; line-height: 1.02; }
.page-hero h1 { font-size: clamp(3.5rem, 6.8vw, 7.8rem) !important; }
.cottage-detail-hero h1 { font-size: clamp(3.7rem, 7vw, 8.2rem) !important; }

/* Editorial split hero inspired by the reference: black information rail + full-bleed lake film. */
@media (min-width: 761px) {
  .home-hero { background: #000; }
  .home-hero .hero-photo, .home-hero .hero-shade { left: 30%; }
  .home-hero .hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.08), rgba(0,0,0,.28)); }
  .home-hero .hero-content { width: 30%; padding: 150px 36px 86px; justify-content: center; background: #000; }
  .home-hero .hero-title-wrap { max-width: 470px; }
  .home-hero h1 { max-width: 450px; font-size: clamp(2.8rem, 3.5vw, 4.6rem) !important; line-height: 1.04; }
  .home-hero .hero-bottom { display: block; margin-top: 34px; }
  .home-hero .hero-buttons { margin-top: 28px; }
  .home-hero .hero-scroll { left: 36px; bottom: 34px; }
  .home-hero .hero-corner-bottom-left { left: 36px; bottom: 34px; }
}

/* Full-bleed hero: keep the reference mood without a solid side rail. */
@media (min-width: 761px) {
  .home-hero .hero-photo, .home-hero .hero-shade { left: 0; }
  .home-hero .hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.08) 72%), linear-gradient(0deg, rgba(0,0,0,.66), transparent 58%); }
  .home-hero .hero-content { width: auto; background: transparent; padding: 150px clamp(24px,6vw,100px) 86px; justify-content: flex-end; }
  .home-hero .hero-title-wrap { max-width: 760px; }
  .home-hero h1 { max-width: 760px; font-size: clamp(2.8rem, 4.2vw, 5.2rem) !important; }
  .home-hero .hero-bottom { display: flex; margin-top: 34px; }
  .home-hero .hero-buttons { margin-top: 0; }
  .home-hero .hero-scroll { left: 0; bottom: -50px; }
}

/* Keep every section title closer to the restrained reference scale. */
h1, h2 { font-size: clamp(2.2rem, 3.6vw, 4.6rem) !important; }
h3 { font-size: clamp(1.55rem, 2.4vw, 3rem) !important; }
.home-hero h1, .page-hero h1, .cottage-detail-hero h1 { font-size: clamp(2.6rem, 3.8vw, 4.9rem) !important; }
.intro h2 { font-size: clamp(2.3rem, 3vw, 4rem) !important; line-height: 1.04; }

/* Refined intro composition: stronger editorial balance and a larger image anchor. */
.intro.editorial-grid { grid-template-columns: minmax(0, 1fr) minmax(390px, .78fr); gap: 9%; min-height: 760px; align-items: center; }
.intro-copy { max-width: 690px; }
.intro-copy p { max-width: 500px; margin-top: 30px; line-height: 1.7; }
.intro-image { height: min(620px, 62vh); margin: 0; }
.intro-image img { transform: translateY(var(--parallax,0px)) scale(1.04); }
.intro-gallery { position: relative; display: grid; grid-template-columns: .58fr 1.3fr .58fr; gap: 14px; align-items: center; height: 100%; overflow: hidden; }
.intro-gallery figure { margin: 0; min-width: 0; overflow: hidden; }
.intro-gallery-side { height: 68%; opacity: .72; }
.intro-gallery-side img { object-position: center; }
.intro-gallery-main { position: relative; height: 100%; }
.intro-gallery-main img { transform: none; }
.intro-gallery-main figcaption { position: absolute; left: 22px; right: 22px; bottom: 20px; display: flex; flex-direction: column; gap: 5px; color: #fff; text-shadow: 0 1px 15px rgba(0,0,0,.5); }
.intro-gallery-main figcaption span { font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; }
.intro-gallery-main figcaption strong { font: 400 1.65rem/1.05 var(--serif); }
.intro-gallery-controls { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.intro-gallery-controls span { height: 1px; flex: 1; background: var(--line); }
.intro-gallery-controls small { font-size: .62rem; letter-spacing: .12em; }
.intro-gallery { display: block; position: relative; }
.intro-gallery-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity .65s ease, transform .9s ease, visibility .65s; }
.intro-gallery-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); }
.intro-gallery-slide img { width: 100%; height: 100%; object-fit: cover; }
.intro-gallery-slide video { display: block; width: 100%; height: 100%; object-fit: cover; }
.intro-gallery-slide figcaption { z-index: 2; }
.intro-gallery-arrows { position: absolute; z-index: 4; right: 22px; bottom: 22px; display: flex; gap: 8px; }
.intro-gallery-arrows button { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.65); background: rgba(0,0,0,.2); color: #fff; cursor: pointer; font-size: 1.1rem; transition: background .2s, color .2s; }
.intro-gallery-arrows button:hover { background: #fff; color: #111; }
.intro-gallery-dots { position: absolute; z-index: 5; left: 50%; bottom: 22px; display: flex; align-items: center; gap: 13px; transform: translateX(-50%); }
.intro-gallery-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.82); cursor: pointer; transition: width .25s, border-radius .25s, background .25s; }
.intro-gallery-dots button.is-active { width: 30px; border-radius: 4px; background: #fff; }
.intro-gallery-dots button.is-active::after { content: ""; display: block; width: 100%; height: 100%; border-radius: inherit; background: rgba(210,210,210,.72); transform: scaleX(0); transform-origin: left center; animation: intro-dot-progress 5.2s linear forwards; }
.intro-gallery.is-paused .intro-gallery-dots button.is-active::after { animation-play-state: paused; }
@keyframes intro-dot-progress { to { transform: scaleX(1); } }
.intro-gallery-toggle { position: relative; display: grid !important; place-items: center; flex: 0 0 26px !important; width: 26px !important; min-width: 26px !important; max-width: 26px !important; height: 26px !important; min-height: 26px !important; max-height: 26px !important; aspect-ratio: 1 / 1; margin-left: 10px; padding: 0 !important; border: 1px solid rgba(255,255,255,.7) !important; border-radius: 50% !important; background: rgba(255,255,255,.9) !important; }
.intro-gallery-toggle span { display: block; position: relative; width: 10px; height: 12px; }
.intro-gallery-toggle.is-playing span::before, .intro-gallery-toggle.is-playing span::after { content: ""; position: absolute; top: 1px; width: 2px; height: 10px; background: #111; }
.intro-gallery-toggle.is-playing span::before { left: 2px; }
.intro-gallery-toggle.is-playing span::after { right: 2px; }
.intro-gallery-toggle:not(.is-playing) span { width: 0; height: 0; margin-left: 2px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid #111; }
.intro-gallery-toggle:hover { background: #fff !important; transform: scale(1.08); }
@media (max-width: 900px) {
  .intro.editorial-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr); gap: 7%; }
  .intro-image { height: 500px; }
  .intro-gallery { grid-template-columns: .35fr 1.4fr .35fr; gap: 8px; }
}

/* Wide card carousel: one featured image with the next stories peeking in from both sides. */
@media (min-width: 761px) {
  .intro.editorial-grid { display: block; min-height: 0; }
  .intro-copy { max-width: 670px; margin-bottom: 54px; }
  .intro-image { width: calc(100% + 12vw); height: min(610px, 64vh); margin-left: -6vw; overflow: hidden; }
  .intro-gallery { display: flex; gap: 14px; height: 100%; overflow: hidden; }
  .intro-gallery-slide { position: relative; inset: auto; flex: 0 0 18%; height: 100%; opacity: 1; visibility: visible; transform: none; transition: flex-basis .7s cubic-bezier(.22,.61,.36,1); }
  .intro-gallery-slide.is-active { flex-basis: 64%; }
  .intro-gallery-slide img { height: 100%; }
  .intro-gallery-arrows { right: 24px; bottom: 24px; }
}
@media (max-width: 760px) {
  .intro-image { height: 470px; }
  .intro-gallery-slide:not(.is-active) { display: none; }
}

/* Match the hero language: full-bleed image, dark readability layer, copy anchored at the lower right. */
@media (min-width: 761px) {
  .intro.editorial-grid { position: relative; display: block; min-height: min(820px, 88vh); padding: 0 clamp(24px, 6vw, 100px); overflow: hidden; background: #000; color: #fff; }
  .intro-image { position: absolute; inset: 0; z-index: 0; width: auto; height: auto; margin: 0; }
  .intro-image::after { display: none; }
  .intro-gallery { position: absolute; inset: 0; display: block !important; }
  .intro-gallery-slide { position: absolute !important; inset: 0 !important; display: block !important; width: 100%; height: 100%; opacity: 0 !important; visibility: hidden !important; transform: scale(1.025); transition: opacity .7s ease, transform 1s ease, visibility .7s; }
  .intro-gallery-slide::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.24) 38%, rgba(0,0,0,.2)), linear-gradient(0deg, rgba(0,0,0,.4), transparent 55%); pointer-events: none; }
  .intro-gallery-slide video, .intro-gallery-slide img { position: relative; z-index: 0; }
  .intro-gallery-slide.is-active { opacity: 1 !important; visibility: visible !important; transform: scale(1); }
  .intro-gallery-slide figcaption { left: auto; right: clamp(24px, 6vw, 100px); bottom: clamp(90px, 12vh, 145px); max-width: 520px; }
  .intro-gallery-slide figcaption { display: none; }
  .intro-gallery-arrows { display: none; }
  .intro-gallery-dots { left: auto; right: clamp(24px, 6vw, 100px); bottom: 40px; transform: none; }
  .intro-copy { position: absolute; z-index: 3; right: clamp(24px, 6vw, 100px); bottom: clamp(95px, 12vh, 150px); max-width: 600px; margin: 0; }
  .intro-copy { left: clamp(24px, 6vw, 100px); right: auto; bottom: clamp(95px, 12vh, 150px); max-width: 560px; }
  .intro-copy .eyebrow { color: rgba(255,255,255,.75); }
.intro-copy h2 { color: #fff; max-width: 560px; font-size: clamp(2.8rem, 4.3vw, 5.3rem) !important; line-height: .98; }

/* Replace static underlines with a restrained hover motion. */
.text-link,
.catalog-card-content a,
.resource-link-card strong,
.scene-day-copy a,
.scene-cottages-all,
.cottage-package-link,
.site-map-link { border-bottom: 0 !important; text-decoration: none !important; position: relative; }
.text-link::after,
.catalog-card-content a::after,
.resource-link-card strong::after,
.scene-day-copy a::after,
.scene-cottages-all::after,
.cottage-package-link::after,
.site-map-link::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .35s cubic-bezier(.22,.61,.36,1); }
.text-link:hover::after,
.catalog-card-content a:hover::after,
.resource-link-card:hover strong::after,
.scene-day-copy a:hover::after,
.scene-cottages-all:hover::after,
.cottage-package-link:hover::after,
.site-map-link:hover::after { transform: scaleX(1); transform-origin: left; }
.footer-links a:hover,
.footer-contact a:hover,
.contact-methods a:hover,
.booking-help a,
.package-guide-card summary,
.package-compare-clear,
.cottage-review-details summary,
.fish-detail-back,
.fish-detail-actions>a:not(.button),
.legal-copy a,
.footer-legal a { text-decoration: none !important; }
  .intro-copy h2 { max-width: 500px; font-size: clamp(2.2rem, 2.9vw, 3.65rem) !important; line-height: 1.02; text-shadow: 0 2px 18px rgba(0,0,0,.28); }
  .intro-copy p { color: rgba(255,255,255,.92); max-width: 430px; margin-top: 26px; text-shadow: 0 2px 12px rgba(0,0,0,.65); }
  .intro-copy .text-link { color: #fff; }
  .intro-gallery-controls { display: none; }
}

/* Keep the carousel visible even when older gallery rules are loaded first. */
@media (min-width: 761px) {
  .intro-gallery { display: flex !important; position: relative; height: 100%; min-height: 460px; flex-direction: row-reverse; }
  .intro-gallery-slide { display: block !important; position: relative !important; inset: auto !important; visibility: visible !important; flex: 0 0 0 !important; opacity: 0 !important; transform: translate3d(32px, 0, 0); transition: flex-basis .95s cubic-bezier(.22,.61,.36,1), opacity .7s ease-in-out, transform .95s cubic-bezier(.22,.61,.36,1); }
  .intro-gallery-slide.is-active { order: 2; flex-basis: 82% !important; opacity: 1 !important; transform: translate3d(0, 0, 0); z-index: 2; }
  .intro-gallery-slide.is-active.is-entering { opacity: .72 !important; transform: translate3d(48px, 0, 0) !important; }
  .intro-gallery-slide.is-next { order: 1; flex-basis: 18% !important; opacity: .72 !important; transform: translate3d(38px, 0, 0); z-index: 1; }
  .intro-gallery-slide.is-previous { order: 3; flex-basis: 0 !important; opacity: 0 !important; transform: translate3d(-38px, 0, 0); z-index: 0; }
  .intro-gallery-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .intro-gallery-arrows button { width: auto; min-width: 76px; padding: 0 14px; font: 600 .62rem var(--sans); letter-spacing: .12em; text-transform: uppercase; }
  .intro-gallery-arrows button:first-child::after { content: ' PREV'; }
  .intro-gallery-arrows button:last-child::before { content: 'NEXT '; }
  .intro-gallery-arrows button { font-size: 0; }
  .intro-gallery-arrows button::before, .intro-gallery-arrows button::after { font-size: .62rem; }
  .intro-gallery-arrows { display: none; }
  /* Let the lake film become the main canvas when its slide is active. */
}

/* Refined resort typography: quiet, spacious, and all caps for display copy. */
h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: .015em; text-transform: uppercase; line-height: .98; }
h1 em, h2 em, h3 em { font-style: normal; font-weight: 300; }
.eyebrow, .side-label, .section-number, .hero-index { font-family: Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: .04em; text-transform: none; }

/* Named cottages and on-site booking */
.hero-content{justify-content:flex-end}.intro.editorial-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr);gap:8%}.intro-image{margin-top:90px}.page-hero-inner{justify-content:flex-start}.fishing-intro.editorial-grid{display:block}.rate-types article{justify-content:flex-end}.rate-types h3{margin:0 0 25px}.rate-types article p{font-size:1rem}
.catalog-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:8%;align-items:end;margin-bottom:80px}.catalog-heading h2{font-size:clamp(4.5rem,8vw,9.5rem)}.catalog-heading p{color:#53635d;max-width:450px}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:95px 36px}.catalog-card:nth-child(even){transform:translateY(80px)}.catalog-card:nth-child(even).visible{transform:translateY(80px)}.catalog-image{display:block;position:relative;aspect-ratio:1.3;overflow:hidden;background:#d8d1c5}.catalog-image img{transition:transform .6s}.catalog-image:hover img{transform:scale(1.035)}.lake-view-badge{position:absolute;z-index:2;top:clamp(16px,2.2vw,28px);left:clamp(16px,2.2vw,28px);display:inline-flex;align-items:center;min-height:40px;padding:0 14px;background:#fff;color:#17352c;font-size:.65rem;font-weight:700;letter-spacing:.12em;line-height:1;text-transform:uppercase;box-shadow:0 3px 14px rgba(12,28,25,.12)}.cottage-detail-hero>.lake-view-badge{top:clamp(108px,14vh,150px);left:clamp(24px,6vw,100px)}.catalog-card-content{border-bottom:1px solid var(--line);padding:23px 0 20px;display:flex;justify-content:space-between;gap:20px;align-items:baseline}.catalog-card h3{font:400 clamp(2.7rem,4vw,4.7rem)/.95 var(--serif)}.catalog-card-content>div{display:flex;gap:18px;flex-wrap:wrap}.catalog-card-content a{font-size:.8rem;border-bottom:1px solid var(--ink);padding-bottom:3px;white-space:nowrap}
.cottage-detail-hero{height:clamp(620px,85svh,930px);position:relative;color:#fff;overflow:hidden}.cottage-detail-hero>img{position:absolute;inset:0}.cottage-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,25,22,.76),transparent 70%)}.cottage-detail-hero>div{position:relative;z-index:1;height:100%;padding:150px clamp(24px,6vw,100px) 65px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.cottage-detail-hero h1{font-size:clamp(6.5rem,12vw,15rem);margin:22px 0}.cottage-detail-hero p{font-size:1.08rem;max-width:450px;margin-bottom:30px}.cottage-detail-hero>div>a:first-child{text-decoration:underline;text-underline-offset:5px}.cottage-detail-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:end}.cottage-detail-intro p{max-width:460px;color:#52625d}.cottage-detail-gallery{padding-top:0;display:grid;grid-template-columns:1.2fr .8fr;gap:45px}.cottage-detail-gallery figure:first-child{grid-row:span 2;height:790px}.cottage-detail-gallery figure{height:365px}.cottage-detail-gallery figure img{height:calc(100% - 34px)}.cottage-detail-gallery figcaption{font-size:.85rem;padding-top:8px}.cottage-detail-next{background:var(--cream);display:flex;justify-content:space-between;align-items:end;gap:50px;padding-bottom:clamp(75px,7vw,110px)}.cottage-detail-next p{margin-top:25px;max-width:510px;color:#52625d}.cottage-missing{padding-top:210px;min-height:65vh}.cottage-missing h1{font-size:clamp(4rem,8vw,8rem)}.cottage-missing p{margin:30px 0}
.booking-page{padding:185px clamp(24px,6vw,100px) 140px}.booking-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:7%;align-items:end;margin-bottom:90px}.booking-intro h1{font-size:clamp(6rem,10vw,12rem)}.booking-intro p{max-width:460px;color:#52625d}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:7%;align-items:start}.booking-help{background:var(--cream);padding:30px;position:sticky;top:125px}.booking-help h2{font-size:2.7rem}.booking-help p{font-size:.85rem;margin:20px 0;color:#52625d}.booking-help a{display:block;text-decoration:underline;text-underline-offset:4px;margin-top:12px;overflow-wrap:anywhere}.booking-help .booking-help-note{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.booking-preview{padding:22px 28px;background:#e9e4d9;border-left:3px solid var(--rust);margin-bottom:35px}.booking-preview strong{font-size:.93rem}.booking-preview p{font-size:.86rem;color:#52625d;margin-top:5px}.booking-progress{list-style:none;padding:0;margin:0 0 58px;display:flex;border-bottom:1px solid var(--line)}.booking-progress li{flex:1;display:flex;align-items:center;gap:10px;padding:0 6px 15px;font-size:.8rem;color:#6a7770;border-bottom:2px solid transparent;white-space:nowrap}.booking-progress li[aria-current=step]{color:var(--ink);border-color:var(--rust);font-weight:700}.booking-progress li span{border:1px solid currentColor;width:25px;height:25px;display:inline-grid;place-items:center;border-radius:50%;font-size:.68rem}.booking-panel h2{font-size:clamp(3.8rem,6vw,6.8rem);max-width:760px}.booking-panel>p{margin:22px 0 34px;color:#52625d}.booking-back{border:0;background:none;padding:0;margin-bottom:22px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.booking-form{display:grid;gap:24px;max-width:600px}.booking-form label{display:grid;gap:10px;font-weight:600;font-size:.9rem}.booking-form label span{font-weight:400;color:#66736d}.booking-form input{font:inherit;border:1px solid #aab3a9;background:#fffdf8;padding:16px;min-height:55px;width:100%;color:var(--ink)}.booking-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-help{font-size:.82rem;color:#66736d}.booking-form .button{justify-self:start;cursor:pointer}.booking-selected-cottage{display:flex;align-items:center;gap:18px;margin:30px 0;padding:14px;border:1px solid var(--line);max-width:600px}.booking-selected-cottage img{width:100px;height:80px}.booking-selected-cottage strong,.booking-selected-cottage span{display:block}.booking-selected-cottage span{font-size:.8rem;color:#66736d}.booking-weeks-status,.booking-inline-note,.booking-final-note{padding:22px 25px;background:#e9e4d9;margin:28px 0;font-size:.89rem}.booking-weeks-status h3{font:400 1.6rem var(--serif)}.booking-weeks-status p{color:#52625d;margin-top:7px}.booking-cottage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.booking-cottage-card{border:1px solid var(--line);background:#fffdf8}.booking-cottage-card.selected{border-color:var(--rust)}.booking-cottage-card>img{height:200px}.booking-cottage-card>div{padding:18px}.booking-cottage-card h3{font:400 2rem/1 var(--serif);margin-bottom:16px}.booking-cottage-card a{display:inline-block;border-bottom:1px solid currentColor;font-size:.8rem;margin-bottom:16px}.booking-cottage-card button{display:block;width:100%;border:1px solid var(--ink);background:var(--ink);color:white;text-align:left;padding:12px 14px;cursor:pointer;font-size:.78rem}.booking-cottage-card button:disabled{background:#cad0c8;border-color:#cad0c8;color:#4d5b55;cursor:not-allowed}.package-choice-list{display:grid;gap:12px}.package-choice{border:1px solid var(--line);padding:26px;background:#fffdf8;text-align:left;display:flex;justify-content:space-between;gap:20px;cursor:pointer}.package-choice:hover{border-color:var(--ink)}.package-choice strong{display:block;font:400 2.4rem/1.05 var(--serif)}.package-choice small{display:block;margin-top:12px;font:400 .88rem/1.55 var(--sans);color:#52625d}.booking-summary{margin:35px 0;border-top:1px solid var(--line)}.booking-summary>div{display:grid;grid-template-columns:35% 65%;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.booking-summary dt{color:#66736d;font-size:.85rem}.booking-summary dd{margin:0;font-weight:600}.booking-summary dd small{display:block;font-weight:400;color:#66736d;font-size:.77rem}.booking-final-note p{margin-top:6px}.booking-final-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.booking-final-actions .button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-help{position:static;margin-top:80px}.catalog-card-content{display:block}.catalog-card-content>div{margin-top:16px}.cottage-detail-gallery figure:first-child{height:650px}}
@media(max-width:760px){.intro.editorial-grid,.catalog-heading,.cottage-detail-intro,.booking-intro{display:block}.intro-image{margin-top:60px}.catalog-heading p,.cottage-detail-intro p,.booking-intro p{margin-top:28px}.catalog-grid{gap:60px 18px}.catalog-card:nth-child(even),.catalog-card:nth-child(even).visible{transform:none}.cottage-detail-hero>div{padding:120px 22px 45px}.cottage-detail-hero h1{font-size:clamp(5.5rem,14vw,9rem)}.cottage-detail-gallery{gap:20px}.cottage-detail-gallery figure:first-child{height:560px}.cottage-detail-gallery figure{height:260px}.cottage-detail-next{display:block}.cottage-detail-next .button{margin-top:35px}.booking-page{padding:135px 22px 90px}.booking-intro{margin-bottom:60px}.booking-intro h1{font-size:clamp(5.2rem,14vw,9rem)}.booking-progress{overflow:auto}.booking-progress li{min-width:100px}.booking-panel h2{font-size:clamp(3.6rem,10vw,6rem)}}
@media(max-width:520px){.catalog-grid,.booking-cottage-grid,.cottage-detail-gallery{grid-template-columns:1fr}.catalog-card-content h3{font-size:3.5rem}.cottage-detail-gallery figure:first-child,.cottage-detail-gallery figure{height:350px;grid-row:auto}.booking-field-row{gap:12px}.booking-summary>div{grid-template-columns:1fr;gap:5px}.booking-final-actions .button{width:100%}}

.booking-validation-error{margin:20px 0;padding:14px 16px;border-left:3px solid var(--rust);background:#f2e7dc;color:#6d3e2d;font-size:.86rem}

@media (min-width: 761px) {
  /* Keep the panoramic intro media flush with the top of its section. */
  .intro-image {
    top: 0;
    margin-top: 0 !important;
  }

  /* Reverse the panoramic gallery motion: incoming media travels right to left. */
  .intro-gallery-slide.is-active.is-entering {
    transform: translate3d(-48px, 0, 0) !important;
  }
  .intro-gallery-slide.is-next {
    transform: translate3d(-38px, 0, 0);
  }
  .intro-gallery-slide.is-previous {
    transform: translate3d(38px, 0, 0);
  }
}

/* Cottage discovery, lake species, and resort planning resources */
.catalog-card[hidden]{display:none!important}.cottage-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-32px 0 12px}.cottage-filters button{appearance:none;border:1px solid #aab4aa;background:transparent;color:var(--ink);padding:12px 15px;font:500 .77rem/1.2 var(--sans);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.cottage-filters button:hover,.cottage-filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.cottage-filters button:focus-visible{outline:2px solid var(--rust);outline-offset:3px}.cottage-filter-status{font-size:.75rem;color:#64716a;margin-bottom:38px}.cottage-tags span{border-radius:0}
.fish-species-section{background:#e9eee7}.fish-species-heading,.resort-guide-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:8%;align-items:end;margin-bottom:75px}.fish-species-heading h2,.resort-guide-heading h2{font-size:clamp(4.5rem,8vw,9rem)}.fish-species-heading>p,.resort-guide-heading>p{max-width:460px;color:#52625d;margin-bottom:12px}.fish-species-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(24,39,37,.22);border-left:1px solid rgba(24,39,37,.22)}.fish-species-card{min-height:290px;padding:25px 28px 32px;border-right:1px solid rgba(24,39,37,.22);border-bottom:1px solid rgba(24,39,37,.22);transition:background .25s}.fish-species-card:hover{background:#dce6dc}.fish-species-card>span,.resort-guide-grid article>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:#8a573f}.fish-species-card h3{font:400 clamp(2rem,3vw,3.1rem)/1 var(--serif);margin:68px 0 16px}.fish-species-card p{max-width:390px;color:#56645e;font-size:.9rem}.resort-guide{background:#f5f5ef}.resort-guide-heading{margin-bottom:70px}.resort-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px;border-top:1px solid var(--line)}.resort-guide-grid article{padding:27px 0 31px;border-bottom:1px solid var(--line);scroll-margin-top:120px}.resort-guide-grid article h3{font:400 clamp(2.2rem,3.3vw,3.5rem)/.98 var(--serif);margin:40px 0 15px}.resort-guide-grid article p{max-width:560px;color:#55635d;font-size:.91rem;margin-bottom:20px}.resort-guide-grid article a{font-size:.78rem;border-bottom:1px solid currentColor;padding-bottom:4px}.resort-guide-grid article a:hover{color:#8a573f}.fish-species-card,.accordion-section,.equipment-panel{scroll-margin-top:100px}.site-footer .footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px}.site-footer .footer-links>div{min-width:0}
@media(max-width:900px){.site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 26px}.fish-species-card{min-height:260px;padding:22px}.fish-species-card h3{margin-top:50px}}
@media(max-width:760px){.cottage-filters{margin:-20px 0 12px;gap:7px}.cottage-filters button{padding:10px 11px;font-size:.71rem}.fish-species-heading,.resort-guide-heading{display:block;margin-bottom:48px}.fish-species-heading>p,.resort-guide-heading>p{margin-top:26px}.fish-species-grid{grid-template-columns:1fr 1fr}.fish-species-card{min-height:250px;padding:18px}.fish-species-card h3{font-size:2.1rem;margin:44px 0 12px}.fish-species-card p{font-size:.83rem}.resort-guide-grid{grid-template-columns:1fr}.resort-guide-grid article h3{margin-top:28px}.site-footer .footer-links{gap:40px 20px}}
@media(max-width:520px){.fish-species-grid{grid-template-columns:1fr}.fish-species-card{min-height:220px}.fish-species-card h3{margin-top:35px}.site-footer .footer-links{grid-template-columns:1fr 1fr}}

/* Footer close: a darker, higher-contrast finish with a stronger sign-off. */
.site-footer{background:#0d0f0f;color:#fff;padding-top:clamp(105px,10vw,160px)}
.site-footer .footer-top h2{font-size:clamp(6rem,10vw,12.5rem);font-weight:700;line-height:.82;letter-spacing:-.055em;color:#fff}
.site-footer .footer-top h2 em{color:#b9c2bc;font-style:normal}
.site-footer .footer-contact{color:#fff}
.site-footer .footer-contact p,.site-footer .footer-bottom{color:#aeb8b1}
.site-footer .footer-links{border-color:rgba(255,255,255,.2)}
.site-footer .footer-links span{color:#d99a79}
.site-footer .footer-links a,.site-footer .footer-contact a{color:#fff}
.site-footer .footer-bottom{border-color:rgba(255,255,255,.2)}
.site-footer .footer-top>div:first-child{flex:1;min-width:0}
.site-footer .footer-top h2{font-size:clamp(10rem,16vw,20rem);max-width:none;font-weight:800;line-height:.78;letter-spacing:-.075em;white-space:nowrap}
.site-footer .footer-top h2{font-size:240px !important}
.site-footer .footer-links span{color:#fff}
@media(max-width:760px){.site-footer .footer-top h2{font-size:clamp(4.4rem,16vw,8rem);white-space:normal;line-height:.84}}
@media(max-width:760px){.site-footer .footer-top h2{font-size:76px !important}}

/* Guest stories live directly in the Plan page as an editorial part of its field guide. */
.guest-stories{background:#e9eee7}.guest-stories .resort-guide-heading{margin-bottom:54px}.guest-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 38px;border-top:1px solid var(--line)}.guest-story-card{min-height:218px;padding:25px 10px 25px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:24px}.guest-story-card p{max-width:410px;font:400 clamp(1.45rem,2vw,2rem)/1.13 var(--serif);color:var(--ink)}.guest-story-card footer{font-size:.67rem;line-height:1.45;letter-spacing:.1em;text-transform:uppercase;color:#64716a}.guest-story-note{margin-top:22px;color:#64716a;font-size:.72rem}.guest-stories{scroll-margin-top:100px}
@media(max-width:760px){.guest-stories .resort-guide-heading{margin-bottom:38px}.guest-story-grid{grid-template-columns:1fr}.guest-story-card{min-height:0;padding:22px 0;gap:28px}.guest-story-card p{max-width:540px;font-size:1.65rem}}
.resource-hub{background:#f5f5ef}.resource-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.resource-hub-grid>a{min-height:260px;padding:25px 25px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;transition:background .2s}.resource-hub-grid>a:hover{background:#e9eee7}.resource-hub-grid>a>span{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:#8a573f}.resource-hub-grid h3{font:400 clamp(2rem,2.8vw,3rem)/1 var(--serif);margin:53px 0 13px}.resource-hub-grid p{color:#56645e;font-size:.86rem;margin-bottom:22px}.resource-hub-grid b{font-size:.75rem;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:4px;margin-top:auto}.local-resource-lead{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.local-resource-lead>div{max-width:620px}.local-resource-lead h2{font:400 clamp(3.5rem,6vw,6rem)/.98 var(--serif);margin:28px 0}.local-resource-lead>div>p:last-child{color:#55635d;font-size:1rem;line-height:1.7}.local-resource-lead ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.local-resource-lead li{display:grid;grid-template-columns:42px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.local-resource-lead li span{font-size:.68rem;color:#8a573f}.local-resource-lead li p{max-width:440px}.resource-navigation{background:#e9eee7}.resource-navigation h2{font:400 clamp(3.5rem,6vw,6rem)/.98 var(--serif);margin:25px 0 52px}.resource-navigation>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.resource-navigation>div>a{padding:20px 15px 20px 0;border-bottom:1px solid var(--line);font-size:.85rem}.resource-navigation>div>a:hover{color:#8a573f}.guest-stories-preview{display:flex;justify-content:space-between;align-items:end;gap:40px;background:#e9eee7}.guest-stories-preview>div{max-width:700px}.guest-stories-preview h2{font:400 clamp(4rem,7vw,7rem)/.9 var(--serif);margin:20px 0}.guest-stories-preview>div>p:last-child{max-width:500px;color:#55635d}.guest-stories-page{padding-top:65px}
@media(max-width:900px){.resource-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-resource-lead{gap:6%}}
@media(max-width:760px){.resource-hub-grid{grid-template-columns:1fr}.resource-hub-grid>a{min-height:220px}.resource-hub-grid h3{margin-top:38px}.local-resource-lead{grid-template-columns:1fr;gap:45px}.resource-navigation h2{margin-bottom:35px}.resource-navigation>div{grid-template-columns:1fr 1fr}.guest-stories-preview{display:block}.guest-stories-preview .button{margin-top:30px}}

/* Cleaner neutral surface, sharper image presentation and quick cottage facts */
:root{--paper:#fafbf8;--cream:#eef1ed;--white:#ffffff;--line:rgba(24,39,37,.16)}
.catalog-card-content{display:block}.catalog-card-content>p{max-width:520px;color:#53635d;font-size:.92rem;margin:14px 0 18px}.cottage-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:21px}.cottage-tags span,.cottage-quick-tags span{display:inline-flex;border:1px solid rgba(24,39,37,.22);border-radius:999px;padding:7px 11px;color:#43544e;font-size:.69rem;letter-spacing:.03em}.catalog-card-actions{display:flex;gap:20px;flex-wrap:wrap}.catalog-card-actions a{font-size:.8rem;border-bottom:1px solid var(--ink);padding-bottom:3px;white-space:nowrap}.cottage-quick-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.cottage-detail-hero .cottage-quick-tags span{border-color:rgba(255,255,255,.55);color:white}.journey-list a{grid-template-columns:50px 1fr}.journey-list small{grid-column:2}.package-choice{justify-content:flex-start}.booking-cottage-card>img{object-position:center}.catalog-image img,.booking-cottage-card>img,.cottage-detail-hero>img,.cottage-detail-gallery img{image-rendering:auto}

/* One shared, scannable guide to all resort packages. */
.rates-lead-copy { display:grid; gap:22px; justify-items:start; }
.rates-lead-copy p { max-width:570px; color:#52625d; }
.package-guide { padding-top:10px; }
.package-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.package-guide-card { display:flex; flex-direction:column; min-width:0; padding:26px; border:1px solid var(--line); background:#f7f8f4; }
.package-guide-card:nth-child(3n + 2) { background:#e9eee7; }
.package-guide-top { display:flex; justify-content:space-between; align-items:start; gap:15px; color:#9c5f3f; font-size:.66rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.package-guide-top span:last-child { max-width:65%; text-align:right; color:#52625d; }
.package-guide-card h3 { min-height:2.1em; margin:32px 0 10px; font:400 clamp(2rem,2.8vw,3rem)/.98 var(--serif); }
.package-guide-fit { min-height:3.2em; color:#52625d; font-size:.88rem; }
.package-guide-includes { margin-top:24px; }
.package-guide-includes>span,.package-guide-rate>span { color:#9c5f3f; font-size:.64rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.package-guide-includes ul { display:grid; gap:9px; padding:0; margin:13px 0 0; list-style:none; }
.package-guide-includes li { padding-top:9px; border-top:1px solid rgba(24,39,37,.15); font-size:.78rem; line-height:1.45; }
.package-guide-rate { margin-top:25px; padding-top:15px; border-top:1px solid var(--line); }
.package-guide-rate p { margin-top:8px; font-size:.82rem; line-height:1.5; }
.package-guide-card details { margin-top:15px; border-top:1px solid var(--line); padding-top:13px; }
.package-guide-card summary { display:flex; align-items:center; gap:10px; width:max-content; max-width:100%; cursor:pointer; list-style:none; font-size:.77rem; text-decoration:underline; text-underline-offset:4px; }
.package-guide-card summary::-webkit-details-marker { display:none; }
.package-guide-card summary::before { content:""; width:7px; height:7px; flex:0 0 7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin:0 2px 4px 1px; transition:transform .2s ease,margin .2s ease; }
.package-guide-card details[open] summary::before { transform:rotate(225deg); margin:4px 2px 0 1px; }
.package-guide-card details p { margin-top:12px; color:#52625d; font-size:.77rem; line-height:1.55; }
.package-guide-cta { display:inline-block; align-self:flex-start; margin-top:auto; padding-top:27px; font-size:.76rem; font-weight:700; text-decoration:none; text-underline-offset:4px; }
.package-guide-cta:hover,.package-guide-cta:focus-visible,.package-guide-cta:active { text-decoration:underline; }
.package-guide-note { max-width:780px; margin:28px 0 0; color:#66736d; font-size:.78rem; line-height:1.55; }
@media(max-width:1000px) { .package-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .package-guide-grid { grid-template-columns:1fr; }.package-guide-card { padding:23px; }.package-guide-card h3,.package-guide-fit { min-height:0; } }
@media(max-width:900px){.catalog-card-content{display:block}}

.reveal{transform:translate3d(0,46px,0);transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),transform 1.05s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.visible{opacity:1;transform:none}}

/* Cottage availability and starting-price tags use the site's square geometry. */
.cottage-tags span,.cottage-quick-tags span{border-radius:0}

/* Compact guest account link shared by every page header */
.site-header .header-account{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;color:inherit;font-size:.64rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase}
.site-header .header-account svg{display:block;flex:0 0 17px;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.site-header .header-account:hover{opacity:.72}
@media(max-width:1150px){.site-header .header-account span{display:none}.site-header .header-actions{gap:18px}}
@media(max-width:760px){.site-header .header-account{width:24px;height:36px}.site-header .header-account svg{flex-basis:19px;width:19px;height:19px}}

/* Keep the home title clear of the footage and let the lake lead the frame */
.home-hero .hero-content{justify-content:flex-end;padding-bottom:clamp(58px,8vh,92px)}
.home-hero .hero-title-wrap{position:relative;width:min(100%,760px);max-width:760px;margin-left:auto;margin-right:clamp(0px,6vw,100px)}
.home-hero h1{max-width:760px;font-size:clamp(3.75rem,5.6vw,7rem);line-height:.9}
.home-hero .hero-bottom{gap:34px;margin-top:24px;align-items:center}
.home-hero .hero-bottom p{max-width:340px;font-size:.94rem}
.hero-review-proof{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px;color:rgba(255,255,255,.72);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}.hero-review-proof a,.hero-review-source{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.hero-review-proof a span:first-child,.hero-review-source span:first-child{color:rgba(255,255,255,.95);font-family:Georgia,serif;font-style:italic;letter-spacing:.02em;text-transform:none}.hero-review-proof a span:last-child,.hero-review-source span:last-child{border-left:1px solid rgba(255,255,255,.35);padding-left:12px}.hero-review-proof a:hover span:last-child,.hero-review-proof a:focus-visible span:last-child{color:#fff}.hero-review-divider{color:rgba(255,255,255,.5)}
.hero-corner{position:absolute;z-index:3;color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.14em;line-height:1.35;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.3)}
.hero-corner-bottom-left{left:clamp(24px,4vw,72px);bottom:28px}
.hero-description{display:grid}
.hero-scroll{position:absolute;z-index:3;left:0;right:auto;bottom:-50px;color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.hero-scroll:hover{opacity:.72}
@media(max-width:760px){.home-hero .hero-content{padding:100px 22px 82px}.home-hero .hero-title-wrap{width:100%;max-width:610px;margin:0}.home-hero h1{font-size:clamp(3.3rem,10.5vw,5rem);line-height:.91}.home-hero .hero-bottom{margin-top:20px;gap:20px}.home-hero .hero-bottom p{max-width:310px;font-size:.87rem}.hero-scroll{bottom:-48px}}
@media(max-width:760px){.hero-corner{font-size:.49rem;letter-spacing:.09em}.hero-corner-bottom-left{left:22px;bottom:20px}.hero-scroll{font-size:.49rem}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.cottage-filter-divider{align-self:center;width:1px;height:24px;margin:0 5px;background:rgba(24,39,37,.2)}.cottage-lakeview-filter{margin-left:2px;color:#315444}

.cottage-package-link{display:inline-block;margin-left:18px;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.8rem;text-underline-offset:4px}@media(max-width:600px){.cottage-package-link{margin:18px 0 0}}
.whatsapp-contact{display:inline-flex!important;align-items:center;gap:10px;width:max-content;max-width:100%;text-decoration:none!important}.whatsapp-contact .whatsapp-icon{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.booking-help .whatsapp-contact{margin-top:18px;font-size:.83rem;font-weight:600}.contact-methods .whatsapp-contact{font:500 .95rem/1.4 var(--sans);margin:0 0 7px}.footer-contact .whatsapp-contact{font-size:.86rem}.menu-bottom .whatsapp-contact{font-size:.82rem}.whatsapp-contact:hover{text-decoration:underline!important;text-underline-offset:4px}

/* Selectable package comparison */
.package-guide-card { position:relative; }
.package-compare-toggle { display:flex; align-items:center; gap:8px; align-self:flex-end; margin:-8px -8px 12px auto; font-size:.72rem; cursor:pointer; }
.package-compare-toggle input { width:17px; height:17px; accent-color:#18372d; }
.package-guide-card.is-compared { outline:2px solid #18372d; outline-offset:-2px; }
.package-compare-bar { position:sticky; z-index:8; bottom:16px; display:flex; align-items:center; gap:18px; width:max-content; max-width:100%; margin:24px auto 0; padding:12px 16px; background:#18372d; color:#fff; box-shadow:0 8px 28px #17292330; }
.package-compare-bar[hidden] { display:none; }
.package-compare-bar .button { min-height:42px; }
.package-compare-clear { border:0; background:none; color:white; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.package-compare-dialog { position:fixed; inset:0; width:min(1200px,calc(100% - 32px)); max-width:none; max-height:min(90vh,900px); margin:auto; padding:clamp(22px,4vw,54px); overflow:hidden; border:0; background:#fafbf8; color:#182725; box-shadow:0 18px 70px #0005; }
.package-compare-dialog::backdrop { background:#12221dcc; }
.package-compare-dialog h2 { margin:0 48px 24px 0; font:400 clamp(2.7rem,5vw,4.7rem)/.95 var(--serif); }
.package-compare-close { position:absolute; top:20px; right:20px; width:44px; height:44px; border:0; background:#18372d; color:white; font-size:1.8rem; cursor:pointer; }
.package-compare-table-wrap { overflow:auto; max-height:calc(90vh - 150px); }
.package-compare-table-wrap table { width:100%; min-width:720px; border-collapse:collapse; font-size:.8rem; }
.package-compare-table-wrap th,.package-compare-table-wrap td { min-width:150px; padding:13px; border-bottom:1px solid var(--line); vertical-align:top; text-align:left; line-height:1.5; }
.package-compare-table-wrap thead th { background:#e9eee7; }
.package-compare-table-wrap thead th:first-child { min-width:130px; }
.package-compare-table-wrap thead img { display:block; width:100%; height:105px; margin-bottom:10px; object-fit:cover; }
.package-compare-table-wrap thead strong,.package-compare-table-wrap thead span { display:block; }
.package-compare-table-wrap thead strong { font:400 1.5rem/1 var(--serif); }
.package-compare-table-wrap thead span { margin-top:6px; color:#586660; font-size:.65rem; text-transform:uppercase; letter-spacing:.06em; }
.package-compare-table-wrap .comparison-section th { padding-top:22px; background:#18372d; color:white; font-weight:700; letter-spacing:.04em; }
.package-compare-table-wrap ul { display:grid; gap:5px; padding-left:17px; margin:0; }
.comparison-listed { color:#18372d; font-weight:700; }
.comparison-unlisted { color:#78827d; }
.cottage-film { position:relative; width:100%; height:auto; aspect-ratio:16 / 9; min-height:0; overflow:hidden; background:#142d27; color:#fff; }
.cottage-film video { width:100%; height:100%; display:block; object-fit:cover; transform:scale(1.1); clip-path:inset(10% 7%); transition:transform 1.4s cubic-bezier(.2,.7,.2,1),clip-path 1.4s cubic-bezier(.2,.7,.2,1); }
.cottage-film.is-visible video { transform:scale(1); clip-path:inset(0); }
.cottage-film-note { position:absolute; z-index:1; left:clamp(24px,6vw,96px); bottom:clamp(34px,7vw,88px); display:grid; gap:12px; color:#fff; text-shadow:0 2px 18px #0009; pointer-events:none; }
.cottage-film-note span { font-size:.62rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.cottage-film-note strong { font:400 clamp(2.3rem,5vw,5rem)/.94 var(--serif); }
.cottage-film p { position:absolute; right:clamp(20px,4vw,64px); bottom:20px; color:white; font-size:.68rem; letter-spacing:.12em; text-shadow:0 2px 8px #000; text-transform:uppercase; }
@media(max-width:600px) { .package-compare-bar { gap:10px; padding:10px; font-size:.74rem; }.package-compare-bar .button { padding:12px; }.package-compare-dialog { width:calc(100% - 16px); max-height:94vh; padding:20px 14px; }.package-compare-table-wrap { max-height:calc(94vh - 125px); }.cottage-film { height:auto; min-height:0; aspect-ratio:16 / 9; }.cottage-film-note { left:20px; bottom:28px; gap:7px; }.cottage-film-note span { font-size:.52rem; }.cottage-film-note strong { font-size:clamp(1.7rem,8vw,2.5rem); }.cottage-film p { right:14px; bottom:12px; font-size:.52rem; } }
.package-compare-hint { margin:0 0 22px; color:#52625d; font-size:.85rem; }
.whatsapp-contact { align-items:center!important; line-height:1.35; }
.whatsapp-contact .whatsapp-icon { display:block; align-self:center; vertical-align:middle; transform:translateY(1px); overflow:visible; }
.whatsapp-contact > span { display:block; line-height:1.35; }
.package-compare-bar .button-dark { background:#f8faf6; border-color:#f8faf6; color:#17352c; }
.package-compare-bar .button-dark:hover:not(:disabled),.package-compare-bar .button-dark:focus-visible:not(:disabled) { background:#c9d8ca; border-color:#c9d8ca; color:#10251f; }
.package-compare-bar .button-dark:disabled { opacity:.58; background:#dce3dc; border-color:#dce3dc; color:#42534b; cursor:not-allowed; }
/* Package comparison scroll: slim, quiet thumb with no browser arrow buttons. */
.package-compare-table-wrap { scrollbar-width:thin; scrollbar-color:#b8c8bb transparent; }
.package-compare-table-wrap::-webkit-scrollbar { width:7px; height:7px; }
.package-compare-table-wrap::-webkit-scrollbar-track { background:transparent; }
.package-compare-table-wrap::-webkit-scrollbar-thumb { border:1px solid transparent; border-radius:8px; background:#b8c8bb; background-clip:padding-box; }
.package-compare-table-wrap::-webkit-scrollbar-button,.package-compare-table-wrap::-webkit-scrollbar-button:single-button { display:none; width:0; height:0; }
.package-compare-table-wrap thead th .package-compare-check { display:inline-block; margin-top:10px; color:#17352c; font-size:.66rem; font-weight:700; line-height:1.4; text-decoration:none; text-underline-offset:4px; }
.package-compare-table-wrap thead th .package-compare-check:hover,.package-compare-table-wrap thead th .package-compare-check:focus-visible { text-decoration:underline; }
@media(prefers-reduced-motion:reduce) { .cottage-film video { transform:none; clip-path:none; transition:none; } }
.plan-image-band>div img { width:100%; height:100%; object-fit:cover; object-position:center 58%; }
@media(max-width:760px) { .plan-image-band { height:640px; } .plan-image-band blockquote { padding-top:225px; font-size:clamp(3rem,11vw,5.8rem); } }
.cottage-reviews { background:#eef1ed; padding-top:clamp(75px,7vw,110px); }
.cottage-reviews-heading { display:grid; grid-template-columns:1fr .58fr; gap:8%; align-items:end; margin-bottom:66px; }
.cottage-reviews-heading h2 { margin-top:19px; font:400 clamp(4rem,7vw,7rem)/.9 var(--serif); }
.cottage-reviews-heading>p { max-width:350px; color:#566760; font-size:.92rem; line-height:1.6; }
.cottage-review-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 8%; }
.cottage-review { min-width:0; padding-top:18px; border-top:1px solid #c9d1ca; }
.cottage-review-card-top { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.cottage-review-card-top>span { color:#9b6547; letter-spacing:.12em; }
.cottage-review-card-top small { color:#68766f; font-size:.68rem; }
.cottage-review h3 { margin:17px 0 8px; font:400 1.8rem/1.1 var(--serif); }
.cottage-review>p { margin:16px 0 22px; max-width:620px; color:#4e5f57; font-size:.9rem; line-height:1.7; }
.cottage-review footer { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.cottage-review-empty { grid-column:1/-1; padding:20px 0; border-top:1px solid #c9d1ca; color:#68766f; font-size:.86rem; }
.cottage-review-details { max-width:800px; margin-top:62px; border-top:1px solid #bfc9c1; border-bottom:1px solid #bfc9c1; }
.cottage-review-details summary { width:max-content; max-width:100%; padding:18px 0; cursor:pointer; font-size:.82rem; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.cottage-review-details summary::-webkit-details-marker { display:none; }
.cottage-review-form { display:grid; gap:22px; padding:7px 0 34px; }
.cottage-review-identity { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cottage-review-form label,.cottage-review-rating legend { color:#263d34; font-size:.73rem; font-weight:700; }
.cottage-review-form label { display:grid; gap:8px; }
.cottage-review-form input:not([type=radio]),.cottage-review-form textarea { width:100%; border:0; border-bottom:1px solid #aebbb1; padding:12px 0; background:transparent; color:var(--ink); font:400 .9rem/1.5 var(--sans); }
.cottage-review-form textarea { resize:vertical; }
.cottage-review-rating { display:flex; flex-wrap:wrap; gap:10px; padding:0; border:0; }
.cottage-review-rating legend { margin-bottom:10px; }
.cottage-review-rating label { display:inline-grid; place-items:center; min-width:43px; min-height:42px; border:1px solid #c4ccc4; cursor:pointer; }
.cottage-review-rating input { position:absolute; width:1px; height:1px; opacity:0; }
.cottage-review-rating label span:not(.sr-only) { color:#8d9991; letter-spacing:.02em; }
.cottage-review-rating input:checked+span,.cottage-review-rating label:has(input:focus-visible) span { color:#9b6547; }
.cottage-review-rating label:has(input:checked) { border-color:#18372d; background:#e3eae2; }
.cottage-review-rating label:has(input:focus-visible) { outline:2px solid #18372d; outline-offset:2px; }
.cottage-review-status { min-height:1.3em; color:#315444; font-size:.78rem; }
.account-reservation-status { display:inline-block; padding:7px 10px; border:1px solid #bdcbbd; background:#e8efe6; color:#315444!important; }
.account-review-list article>span { color:#9b6547; letter-spacing:.12em; }
.account-review-list { display:grid; gap:38px; margin-top:42px; }
.account-review-list article { max-width:780px; padding:22px 0 0; border-top:1px solid var(--line); }
.account-review-list article>span { display:block; margin-bottom:16px; }
.account-review-list article h3 { margin:0 0 10px; }
.account-review-list article p { max-width:680px; color:#52625d; line-height:1.7; }
.account-review-list article small { color:#68766f; font-size:.72rem; }
.account-review-list article h3 { font:400 1.8rem/1.1 var(--serif); }
.account-review-actions { display:flex; gap:18px; margin-top:18px; }
.account-review-actions button,.account-review-dialog-actions button { border:0; border-bottom:1px solid currentColor; padding:0 0 4px; background:transparent; color:var(--ink); font:700 .68rem var(--sans); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.account-review-actions button:last-child { color:#8a573f; }
.account-review-dialog { width:min(620px,calc(100% - 32px)); border:1px solid #c9d1ca; background:#eef1ed; color:var(--ink); padding:clamp(24px,5vw,48px); }
.account-review-dialog::backdrop { background:rgba(14,31,27,.7); backdrop-filter:blur(3px); }
.account-review-dialog form { display:grid; gap:20px; }
.account-review-dialog h3 { margin:0 0 8px; font:400 clamp(2.5rem,6vw,4.5rem)/.95 var(--serif); }
.account-review-dialog label { display:grid; gap:8px; color:#263d34; font-size:.73rem; font-weight:700; }
.account-review-dialog input,.account-review-dialog select,.account-review-dialog textarea { width:100%; border:1px solid #c2cbc3; padding:13px 14px; background:rgba(255,255,255,.58); color:var(--ink); font:400 .9rem/1.5 var(--sans); }
.account-review-dialog textarea { resize:vertical; }
.account-review-dialog-actions { display:flex; align-items:center; justify-content:flex-end; gap:22px; margin-top:8px; }
.account-review-dialog-actions .button { border:1px solid var(--ink); padding:14px 21px; background:var(--ink); color:#fff; }
.account-review-dialog-actions .button:hover,.account-review-dialog-actions .button:focus-visible { background:#284b40; border-color:#284b40; color:#fff; }
@media(max-width:760px) { .cottage-reviews-heading { grid-template-columns:1fr; gap:22px; margin-bottom:42px; }.cottage-review-list { grid-template-columns:1fr; gap:25px; }.cottage-review-details { margin-top:42px; }.cottage-review-identity { grid-template-columns:1fr; } }
.booking-start-package { display:flex; align-items:center; gap:13px; max-width:560px; margin:22px 0 26px; padding:10px 14px 10px 10px; border:1px solid var(--line); background:#e9eee7; }
.booking-start-package img { width:66px; height:56px; flex:0 0 66px; object-fit:cover; }
.booking-start-package span,.booking-start-package small { display:block; color:#52625d; font-size:.64rem; line-height:1.35; }
.booking-start-package span { text-transform:uppercase; letter-spacing:.08em; }
.booking-start-package strong { display:block; margin:2px 0; font:400 1.5rem/1 var(--serif); }
.fish-species-card { display:flex; flex-direction:column; color:var(--ink); text-decoration:none; }
.fish-species-card:hover { color:var(--ink); }
.fish-species-card:focus-visible { position:relative; z-index:1; outline:2px solid #a96e49; outline-offset:-4px; }
.fish-species-card>b { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:auto; padding-top:27px; color:var(--ink); font-size:.69rem; letter-spacing:.08em; text-transform:uppercase; }
.fish-species-card>b span { font-size:1rem; }
.fish-detail-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); gap:12%; align-items:end; }
.fish-detail-back { grid-column:1/-1; width:max-content; margin-bottom:38px; color:var(--ink); font-size:.78rem; text-decoration:underline; text-underline-offset:5px; }
.fish-detail-intro h2,.fish-detail-planning h2,.fish-detail-contact h2 { font:400 clamp(3.5rem,6.5vw,7rem)/.92 var(--serif); }
.fish-detail-intro h2 { max-width: 680px; }
.fish-detail-copy { max-width:450px; color:#53635d; line-height:1.75; }
.fish-detail-planning { display:grid; grid-template-columns:.75fr 1.25fr; gap:10%; background:#e9eee7; }
.fish-detail-points article { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:22px 0; border-top:1px solid rgba(24,39,37,.2); }
.fish-detail-points article>span { color:#9b6547; font-size:.7rem; }
.fish-detail-points h3 { margin:0 0 8px; font:400 1.8rem/1.1 var(--serif); }
.fish-detail-points p { max-width:560px; margin:0; color:#56645e; font-size:.88rem; line-height:1.65; }
.fish-detail-contact { display:grid; grid-template-columns:1fr .7fr; gap:10%; background:#17352c; color:#f6f8f2; }
.fish-detail-contact>div:first-child p:last-child { max-width:430px; color:#d4dfd8; line-height:1.7; }
.fish-detail-actions { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:17px; }
.fish-detail-actions>a:not(.button) { color:inherit; font-size:.82rem; text-decoration:underline; text-underline-offset:5px; }
.fish-detail-actions .whatsapp-contact { display:inline-flex; align-items:center; gap:9px; }
@media(max-width:760px) { .fish-detail-intro,.fish-detail-planning,.fish-detail-contact { grid-template-columns:1fr; gap:30px; }.fish-detail-back { margin-bottom:8px; }.fish-detail-intro h2,.fish-detail-planning h2,.fish-detail-contact h2 { font-size:clamp(3.8rem,12vw,6rem); }.fish-detail-actions { gap:20px; } }

.catalog-card h3 a{color:inherit;font:inherit;border:0;padding:0;white-space:normal;text-decoration:none}.catalog-card h3 a:hover{color:#8a573f}.catalog-card h3 a:focus-visible{outline:2px solid #a96e49;outline-offset:4px}

.cottage-detail-hero>div>a:first-child{text-decoration:none}

.cottage-reviews-heading{grid-template-columns:1fr .58fr;gap:8%;align-items:end;margin-bottom:36px}.cottage-reviews-invite{justify-self:end;max-width:350px}.cottage-reviews-invite p{color:#566760;font-size:.92rem;line-height:1.6;margin-bottom:18px}.cottage-review-open{cursor:pointer}.cottage-review-preview-note{margin:-7px 0 28px;color:#8a573f;font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cottage-review-feedback{min-height:1.2em;color:#315444;font-size:.82rem}.cottage-review-list{margin-top:14px}.cottage-review-demo footer small{color:#8a573f;font-size:.61rem;font-weight:500;letter-spacing:.06em;text-transform:none}.cottage-review-more{margin-top:42px;padding:15px 20px;border:1px solid #18372d;background:transparent;color:#18372d;font:700 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.cottage-review-more:hover,.cottage-review-more:focus-visible{background:#18372d;color:#fff}.cottage-review-more[hidden]{display:none}.cottage-review-dialog{width:min(760px,calc(100% - 32px));max-width:none;max-height:min(88svh,900px);overflow:auto;margin:auto;padding:clamp(24px,5vw,54px);border:1px solid #c9d1ca;background:#eef1ed;color:var(--ink)}.cottage-review-dialog::backdrop{background:rgba(14,31,27,.7);backdrop-filter:blur(3px)}.cottage-review-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #c9d1ca}.cottage-review-dialog-head h2{margin-top:14px;font:400 clamp(2.5rem,6vw,4rem)/.95 var(--serif)}.cottage-review-close{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid #18372d;background:#18372d;color:white;font-size:1.6rem;line-height:1;cursor:pointer}.cottage-review-form{max-width:none;gap:25px;padding:0}.cottage-review-identity{gap:26px}.cottage-review-form input:not([type=radio]),.cottage-review-form textarea{background:rgba(255,255,255,.58);padding:13px 14px;border:1px solid #c2cbc3}.cottage-review-form textarea{min-height:125px}.cottage-review-rating{display:grid;gap:10px}.cottage-review-stars{display:flex;gap:4px}.cottage-review-stars label{position:relative;display:grid;place-items:center;min-width:45px;min-height:45px;border:0;background:transparent;cursor:pointer}.cottage-review-stars label span:not(.sr-only){font-size:1.8rem;line-height:1;color:#a8b2aa;transition:color .15s,transform .15s}.cottage-review-stars label.is-filled span:not(.sr-only){color:#a66c49}.cottage-review-stars label:hover span:not(.sr-only){transform:scale(1.12)}.cottage-review-stars input{inset:0;opacity:0;cursor:pointer}.cottage-review-stars label:has(input:focus-visible){outline:2px solid #18372d;outline-offset:0}.cottage-review-rating-hint{color:#68766f;font-size:.73rem}.cottage-review-form .button{min-height:54px}.cottage-review-status{margin:0}.cottage-review-dialog .cottage-review-status:empty{display:none}
@media(max-width:760px){.cottage-reviews-heading{grid-template-columns:1fr;gap:24px}.cottage-reviews-invite{justify-self:start}.cottage-review-dialog{padding:23px}.cottage-review-identity{grid-template-columns:1fr}.cottage-review-stars label{min-width:42px}.cottage-review-more{width:100%}}
.cottage-detail-hero .cottage-capacity{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.footer-legal{display:flex;gap:22px;flex-wrap:wrap}.footer-legal a{text-decoration:underline;text-underline-offset:4px}.legal-page{max-width:980px}.legal-copy{max-width:760px}.legal-copy h2{font-size:clamp(2.7rem,4vw,4.5rem);margin:70px 0 18px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{max-width:700px;color:#52625d;margin:0 0 24px}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.legal-copy strong{color:var(--ink)}
.cottage-amenities{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:8%;align-items:start;border-top:1px solid var(--line)}.cottage-amenities-heading h2{margin-top:18px;font-size:clamp(3.8rem,6vw,7rem)}.cottage-amenities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.cottage-amenity{display:flex;align-items:center;gap:16px;min-height:92px;padding:18px 12px;border-bottom:1px solid var(--line);font-size:.95rem}.cottage-amenity:nth-child(odd){border-right:1px solid var(--line)}.cottage-amenity-icon{display:grid;place-items:center;width:30px;height:30px;color:var(--rust)}.cottage-amenity-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4}
@media(max-width:760px){.cottage-amenities{display:block}.cottage-amenities-heading{margin-bottom:45px}.cottage-amenities-grid{grid-template-columns:1fr}.cottage-amenity:nth-child(odd){border-right:0}}
.resource-links{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:8%;align-items:start}.resource-links-intro h2{margin:18px 0 28px;font-size:clamp(3.8rem,6vw,7rem)}.resource-links-intro>p:last-child{max-width:390px;color:#52625d}.resource-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.resource-link-card{display:flex;flex-direction:column;min-height:250px;padding:22px 18px 24px;border-bottom:1px solid var(--line);transition:background .2s,color .2s}.resource-link-card:nth-child(odd){border-right:1px solid var(--line)}.resource-link-card:hover{background:var(--ink);color:var(--white)}.resource-link-card>span{font-size:.68rem;color:var(--rust);letter-spacing:.12em}.resource-link-card h3{margin:45px 0 12px;font:400 clamp(1.65rem,2.4vw,2.55rem)/1.05 var(--serif)}.resource-link-card p{color:#52625d;font-size:.86rem;line-height:1.45}.resource-link-card:hover p{color:#d5ddd7}.resource-link-card strong{margin-top:auto;padding-top:24px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.resource-link-card strong::after{content:"";display:block;width:42px;border-bottom:1px solid currentColor;margin-top:8px}@media(max-width:760px){.resource-links{display:block}.resource-links-intro{margin-bottom:50px}.resource-links-grid{grid-template-columns:1fr}.resource-link-card:nth-child(odd){border-right:0}}
.site-map{background:#eef1ea;padding:clamp(70px,8vw,125px) 0 0}.site-map-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:0 clamp(24px,6vw,100px) 45px}.site-map-heading h2{font-size:clamp(4.4rem,7vw,8.5rem);margin-top:16px}.site-map-heading>div:last-child{max-width:360px;color:#52625d}.site-map-heading .site-map-link{display:inline-block;margin-top:18px;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.site-map-heading .site-map-link:hover{color:var(--rust)}.site-map-frame{height:420px;border:0;background:#fbfbfa;overflow:hidden}.site-map-art{position:relative;width:100%;height:100%;overflow:hidden;background:#fbfbfa}.site-map-art:before{content:"";position:absolute;inset:-25%;background:linear-gradient(112deg,transparent 0 20%,rgba(215,217,215,.5) 20.2% 20.35%,transparent 20.5% 43%,rgba(225,226,224,.62) 43.2% 43.35%,transparent 43.5% 68%,rgba(215,217,215,.45) 68.2% 68.35%,transparent 68.5%),linear-gradient(24deg,transparent 0 31%,rgba(220,222,219,.55) 31.2% 31.4%,transparent 31.6% 57%,rgba(226,227,225,.7) 57.2% 57.4%,transparent 57.6%);transform:rotate(-8deg);opacity:.8}.site-map-art:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 63% 70%,rgba(232,235,231,.8) 0 13%,transparent 13.3%),radial-gradient(ellipse at 18% 34%,rgba(238,239,237,.9) 0 9%,transparent 9.3%),radial-gradient(ellipse at 85% 18%,rgba(240,241,239,.9) 0 12%,transparent 12.3%)}.site-map-road{position:absolute;z-index:1;height:1px;background:#d7d9d7;transform-origin:left center}.site-map-road-one{width:62%;left:8%;top:27%;transform:rotate(-17deg)}.site-map-road-two{width:52%;left:30%;top:72%;transform:rotate(14deg)}.site-map-road-three{width:38%;left:54%;top:8%;transform:rotate(82deg)}.site-map-pin{position:absolute;z-index:3;left:50%;top:50%;width:25px;height:25px;border-radius:50% 50% 50% 0;background:#111;transform:translate(-50%,-50%) rotate(-45deg)}.site-map-pin:after{content:"";position:absolute;width:7px;height:7px;left:9px;top:9px;border-radius:50%;background:#fbfbfa}.site-map-place{position:absolute;z-index:3;left:calc(50% + 21px);top:calc(50% - 8px);color:#505451;font-size:.74rem;letter-spacing:.02em;white-space:nowrap}
@media(max-width:760px){.site-map-heading{display:block}.site-map-heading>div:last-child{margin-top:28px}.site-map-frame{height:300px}}
.site-map-frame{position:relative}.site-map-frame iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) brightness(1.12) contrast(.84)}.site-map-overlay-pin{position:absolute;z-index:3;left:50%;top:50%;width:28px;height:28px;border-radius:50% 50% 50% 0;background:#111;transform:translate(-50%,-50%) rotate(-45deg);pointer-events:none}.site-map-overlay-pin:after{content:"";position:absolute;width:8px;height:8px;left:10px;top:10px;border-radius:50%;background:#fbfbfa}
.site-map-overlay-pin{display:none}
.site-map-info-card{position:absolute;z-index:4;left:0;top:0;width:245px;height:160px;min-height:160px;padding:13px 10px 12px;background:#fff;color:#4b4b4b;box-shadow:none;border:0;display:flex;flex-direction:column;gap:4px;font:400 12px/1.25 Arial,sans-serif}.site-map-info-card strong{font-size:14px;font-weight:500;color:#222}.site-map-info-card>span:not(.site-map-rating){color:#777}.site-map-rating{color:#777;margin-top:3px}.site-map-rating b{color:#777;font-size:11px}.site-map-rating u{text-decoration:none;margin-left:4px}.site-map-info-card a{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-top:5px;padding:8px 12px;border-radius:18px;background:#747474;color:#fff;font-weight:600;font-size:12px}.site-map-info-card a:hover{background:#4c4c4c}

/* Keep the footer contact details below the full-width sign-off. */
@media (min-width: 761px) {
  .site-footer .footer-top {
    display: block;
    padding-bottom: 110px;
  }

  .site-footer .footer-top > div:first-child {
    width: 100%;
  }

  .site-footer .footer-contact {
    display: grid;
    grid-template-columns: repeat(3, max-content) minmax(220px, 1fr);
    align-items: start;
    gap: 14px 42px;
    margin-top: 72px;
    font-size: .95rem;
  }

  .site-footer .footer-contact p {
    grid-column: 4;
    grid-row: 1 / span 2;
    margin: 0;
    padding-left: 42px;
    border-left: 1px solid rgba(255,255,255,.2);
  }
}

@media (max-width: 760px) {
  .site-footer .footer-contact { margin-top: 42px; }
}

/* Resort green: a richer lake-pine tone with a warmer, quieter sage surface. */
:root {
  --resort-forest: #1d5147;
  --resort-forest-deep: #143d36;
  --resort-sage: #d9e5da;
  --resort-sage-soft: #e7eee7;
}
.fish-detail-contact,
.booking-payment-panel { background: var(--resort-forest) !important; }
.fish-species-section,
.guest-stories,
.resource-navigation,
.guest-stories-preview,
.package-guide-card:nth-child(3n + 2),
.booking-start-package { background: var(--resort-sage) !important; }
.fish-species-card:hover,
.resource-link-card:hover,
.package-details-dialog,
.package-compare-table-wrap thead th { background: var(--resort-sage-soft) !important; }
.fish-detail-contact { color: #f6f8f2; }
.fish-species-card,
.fish-species-grid { border-color: rgba(29,81,71,.28); }
.fish-species-card:hover { background: var(--resort-sage) !important; }
.package-guide-card:nth-child(3n + 2) { color: #18352e; }
.gallery-viewer-close:hover,
.gallery-viewer-arrow:hover:not(:disabled) { background: var(--resort-forest) !important; }
.account-reservation dd { color: var(--resort-forest) !important; }

/* Cottage catalog: a dark, image-led grid with quieter metadata. */
.cottage-catalog {
  background: #0d0d0d;
  color: #f4f1ea;
  padding-top: clamp(125px, 13vw, 190px);
}
body[data-page="cottages"] {
  background: #0d0d0d;
  color: #f4f1ea;
}
body[data-page="cottages"] .page-hero {
  background: #0d0d0d;
}
body[data-page="cottages"] .page-hero-photo::after {
  background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.2) 76%), linear-gradient(0deg, rgba(0,0,0,.7), transparent 60%);
}
body[data-page="cottages"] .site-footer { background: #0d0d0d; color: #f4f1ea; }
body[data-page="cottages"] .site-footer .footer-contact p,
body[data-page="cottages"] .site-footer .footer-bottom { color: rgba(244,241,234,.62); }
.cottage-catalog .catalog-heading {
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, .7fr);
  gap: 10%;
  align-items: end;
  margin-bottom: 58px;
}
.cottage-catalog .catalog-heading h2 { color: #f4f1ea; }
.cottage-catalog .catalog-heading p,
.cottage-catalog .cottage-filter-status,
.cottage-catalog .catalog-card-content > p { color: rgba(244,241,234,.64); }
.cottage-catalog .cottage-filters {
  margin: 0 0 14px;
  padding: 16px 0;
  border-top: 1px solid rgba(244,241,234,.28);
  border-bottom: 1px solid rgba(244,241,234,.18);
}
.cottage-catalog .cottage-filters button {
  border-color: rgba(244,241,234,.32);
  color: rgba(244,241,234,.82);
}
.cottage-catalog .cottage-filters button:hover,
.cottage-catalog .cottage-filters button[aria-pressed="true"] {
  background: #f4f1ea;
  border-color: #f4f1ea;
  color: #111;
}
.cottage-catalog .cottage-filter-status { margin: 0 0 40px; }
.cottage-catalog .catalog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 74px 20px;
}
.cottage-catalog .catalog-card,
.cottage-catalog .catalog-card:nth-child(even),
.cottage-catalog .catalog-card:nth-child(even).visible {
  transform: none;
}
.cottage-catalog .catalog-image {
  aspect-ratio: .82;
  background: #242424;
}
.cottage-catalog .catalog-card:nth-child(3n + 2) .catalog-image { aspect-ratio: .72; margin-top: 48px; }
.cottage-catalog .catalog-card:nth-child(3n) .catalog-image { aspect-ratio: .9; margin-top: 12px; }
.cottage-catalog .catalog-image img { filter: saturate(.9); transition: transform .8s cubic-bezier(.22,.61,.36,1), filter .4s; }
.cottage-catalog .catalog-image:hover img { filter: saturate(1.08); transform: scale(1.04); }
.cottage-catalog .lake-view-badge {
  top: 18px;
  left: 18px;
  background: #f4f1ea;
  color: #111;
  box-shadow: none;
}
.cottage-catalog .catalog-card-content {
  display: block;
  padding: 20px 0 0;
  border-bottom: 0;
}
.cottage-catalog .catalog-card h3 {
  font-size: clamp(1.8rem, 3vw, 3.25rem);
  text-transform: uppercase;
  letter-spacing: .01em;
}
.cottage-catalog .catalog-card h3 a:hover { color: #d6cbbb; }
.cottage-catalog .catalog-card-content > p {
  max-width: 360px;
  margin: 12px 0 18px;
  font-size: .84rem;
}
.cottage-catalog .cottage-tags { gap: 7px; margin-bottom: 20px; }
.cottage-catalog .cottage-tags span {
  border-color: rgba(244,241,234,.25);
  color: rgba(244,241,234,.66);
  border-radius: 0;
  font-size: .62rem;
}
.cottage-catalog .catalog-card-actions { gap: 18px; }
.cottage-catalog .catalog-card-actions a { color: #f4f1ea; border-color: rgba(244,241,234,.55); }
.cottage-catalog .catalog-card-actions a:hover { color: #d6cbbb; }

@media (max-width: 900px) {
  .cottage-catalog .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cottage-catalog .catalog-card:nth-child(3n + 2) .catalog-image,
  .cottage-catalog .catalog-card:nth-child(3n) .catalog-image { margin-top: 0; }
}
@media (max-width: 520px) {
  .cottage-catalog .catalog-heading { display: block; margin-bottom: 44px; }
  .cottage-catalog .catalog-heading p { margin-top: 24px; }
  .cottage-catalog .catalog-grid { grid-template-columns: 1fr; gap: 56px; }
  .cottage-catalog .catalog-card:nth-child(3n + 2) .catalog-image,
  .cottage-catalog .catalog-card:nth-child(3n) .catalog-image { aspect-ratio: .86; }
}

/* Keep the opening statement together, then give the second thought a quieter scale. */
@media (min-width: 761px) {
  .intro-copy h2.intro-title {
    max-width: min(900px, calc(100vw - 140px));
    font-size: clamp(2.8rem, 4.2vw, 4.6rem) !important;
    line-height: .98;
  }
  .intro-title-lead,
  .intro-title-sub { display: block; white-space: nowrap; }
  .intro-title-sub {
    margin-top: .08em;
    font-size: .62em;
    color: rgba(255,255,255,.8);
  }
}
@media (max-width: 760px) {
  .intro-title-lead,
  .intro-title-sub { display: block; }
  .intro-title-sub {
    margin-top: .08em;
    font-size: .68em;
  }
}
