/* Self-hosted fonts (SIL Open Font License 1.1 — see assets/fonts/OFL-*.txt). Latin subset, variable weight. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;size-adjust:108%;src:url(assets/fonts/cormorant-garamond.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;size-adjust:108%;src:url(assets/fonts/cormorant-garamond-italic.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:100 900;font-display:swap;src:url(assets/fonts/jost.woff2) format('woff2')}

:root{--ink:#102d36;--deep:#0b2630;--teal:#17606b;--cream:#f5f0e7;--sand:#e7ddcc;--orange:#bd754b;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit}img{display:block;width:100%;object-fit:cover}button{font:inherit}.wrap{width:min(calc(100% - 44px),var(--max));margin:auto}.serif,h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h1{font-size:clamp(3.4rem,7.7vw,7.5rem);letter-spacing:-.055em;margin:.12em 0 .28em}h2{font-size:clamp(2.3rem,4.2vw,4.5rem);letter-spacing:-.04em;margin:.18em 0 .38em}h3{font-size:1.65rem;margin:.1em 0 .4em}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-weight:700;font-size:.78rem}.lead{font-size:clamp(1.1rem,1.55vw,1.4rem);line-height:1.55}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 24px;border:1px solid currentColor;min-height:50px;font-weight:700;letter-spacing:.02em;transition:background .2s,color .2s}.btn-primary{background:var(--orange);border-color:var(--orange);color:var(--white)}.btn-primary:hover{background:#995637}.btn-outline{color:white}.btn-outline:hover{background:white;color:var(--ink)}.btn-dark{color:var(--ink)}.btn-dark:hover{background:var(--ink);color:white}.actions{display:flex;gap:12px;flex-wrap:wrap}.topbar{background:var(--deep);color:white;display:flex;justify-content:space-between;padding:8px max(22px,calc((100vw - var(--max))/2));font-size:.83rem;letter-spacing:.04em}.topbar a{text-decoration:none}.nav{position:absolute;z-index:3;color:white;width:100%;padding:22px max(22px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid #ffffff55}.brand{text-decoration:none;display:flex;align-items:center;gap:12px}.brand-logo{width:96px;height:96px;object-fit:contain;flex:none}.footer .brand-logo{width:92px;height:92px}.brand b{font:1.5rem var(--serif);letter-spacing:.03em}.brand small{display:block;text-transform:uppercase;letter-spacing:.22em;font:10px var(--sans)}.links{display:flex;gap:28px;align-items:center}.links a{text-decoration:none;font-weight:700;font-size:.9rem}.links a:hover{text-decoration:underline}.hero{min-height:760px;height:min(870px,90vh);position:relative;color:white;display:flex;align-items:end}.hero img{position:absolute;inset:0;height:100%;object-position:center 55%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,39,.8),rgba(4,30,39,.25) 75%),linear-gradient(0deg,rgba(4,30,39,.75),transparent 70%)}.hero-inner{position:relative;z-index:1;padding:155px 0 110px}.hero-inner p{max-width:710px}.hero .eyebrow{color:#f0c6a5}.hero .lead{margin-bottom:30px}.factbar{background:var(--deep);color:white;padding:24px 0}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.facts div{border-right:1px solid #ffffff44}.facts div:last-child{border:0}.facts b{display:block;font:1.6rem var(--serif)}.facts span{font-size:.86rem;color:#dae4e4}.section{padding:105px 0}.arrival{background:#e4d9c8;padding:35px 0}.arrival-grid{display:grid;grid-template-columns:260px 1fr;gap:7%;align-items:center}.arrival img{height:300px;object-position:center 62%}.arrival h2{font-size:clamp(2rem,3.5vw,3.4rem)}.arrival p{max-width:580px}.night-spotlight{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:center;margin-top:52px;border-top:1px solid #6b858b;padding-top:45px}.night-spotlight img{height:400px}.night-spotlight h3{font-size:clamp(2rem,3vw,3rem)}.night-spotlight p{color:#d3e0e1}.paths{background:#eee5d6}.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.path-card{position:relative;color:white;text-decoration:none;min-height:445px;overflow:hidden;display:flex;align-items:end}.path-card img{position:absolute;inset:0;height:100%;transition:transform .35s}.path-card:hover img,.path-card:focus-visible img{transform:scale(1.045)}.path-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,29,38,.92),rgba(5,29,38,.08) 80%)}.path-content{position:relative;z-index:1;padding:26px;display:grid;gap:13px}.path-content small{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700}.path-content strong{font:1.65rem/1.13 var(--serif)}.path-content em{font-style:normal;text-decoration:underline;text-underline-offset:5px;font-size:.9rem;font-weight:700}.path-card:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.intro .lead{max-width:580px}.intro img{aspect-ratio:1.1;object-position:center}.caption{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:#5b7174;margin-top:12px}.cream{background:var(--cream)}.sand{background:var(--sand)}.dark{background:var(--deep);color:white}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head p{max-width:500px}.image-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.image-grid img:first-child{height:570px}.image-grid img:last-child{height:570px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:38px}.feature{border-top:1px solid #75898a;padding-top:16px}.feature b{font:1.35rem var(--serif);display:block;margin-bottom:7px}.feature p{margin:0;color:#cbd9d8;font-size:.94rem}.sleep{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}.sleep img{height:640px}.room-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.room{background:white;padding:21px;min-height:140px}.room b{display:block;font:1.22rem var(--serif);margin-bottom:8px}.room span{font-size:.94rem}.note{font-size:.86rem;color:#4b666a}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.exp{border:1px solid #b8b3aa;padding:28px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.exp span{font:3rem var(--serif);color:var(--orange)}.exp p{margin:0}.exp h3{font-size:1.55rem}.exp.wide{grid-column:span 2;background:var(--deep);color:white;border:0}.corporate{display:grid;grid-template-columns:1fr .86fr;gap:9%;align-items:center}.corporate-panel{border:1px solid #607984;padding:36px;background:#12343e}.corporate-item{padding:19px 0;border-bottom:1px solid #49636b;display:grid;grid-template-columns:110px 1fr;gap:12px}.corporate-item b{font:1.2rem var(--serif)}.corporate-item span{color:#d2dfdf}.corporate-panel small{display:block;margin-top:22px;color:#b8cacc}.corporate .actions{margin-top:29px}.family{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}.family img{height:590px}.chips{display:flex;gap:9px;flex-wrap:wrap;margin:26px 0}.chips span{border:1px solid #8a9a98;padding:7px 12px;font-size:.9rem}.quote{background:var(--teal);color:white;text-align:center;padding:110px 22px}.quote p{max-width:980px;margin:20px auto;font:clamp(1.8rem,3vw,3.25rem)/1.26 var(--serif)}.sargent{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.sargent-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sargent-photos img{height:520px}.sargent-photos img:nth-child(2){height:380px;align-self:end}.concierge{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.conditions{padding:27px;border:1px solid #67818a;display:grid;gap:12px}.conditions div{border-bottom:1px solid #47626a;padding:9px 0}.conditions div:last-child{border:0}.conditions span{display:block;color:#a9cbcf;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}.conditions b{font:1.32rem var(--serif)}.contact{background:#dfd1b9;padding:90px 0}.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}.contact .phone{font:clamp(2rem,4vw,3.5rem) var(--serif);text-decoration:none;display:block;margin:10px 0 28px}.contact .phone:hover{text-decoration:underline}.contact-card{background:var(--cream);padding:36px}.contact-card p{margin:10px 0 24px}.footer{background:var(--deep);color:#d7e5e4;padding:45px 0}.footrow{display:flex;justify-content:space-between;gap:30px;align-items:end}.footer a{text-decoration:none}.footer small{display:block;color:#a6b9b8}@media(max-width:1150px){.path-grid{grid-template-columns:repeat(2,1fr)}.links{gap:14px}.links a{display:none}.links a.nav-cta{display:block}.hero{height:760px}.facts{grid-template-columns:repeat(2,1fr)}.facts div:nth-child(2){border:0}.intro,.sleep,.corporate,.family,.sargent,.concierge,.contact-inner,.arrival-grid,.night-spotlight{grid-template-columns:1fr}.section{padding:70px 0}.features{grid-template-columns:repeat(2,1fr)}.sleep img,.family img{height:500px}.image-grid img:first-child,.image-grid img:last-child{height:420px}}@media(max-width:600px){.path-grid{grid-template-columns:1fr}.path-card{min-height:360px}.arrival img{height:340px}.night-spotlight img{height:280px}.wrap{width:min(calc(100% - 34px),var(--max))}.topbar span{display:none}.topbar{justify-content:center}.nav{padding:16px 17px}.brand b{font-size:1.06rem}.brand-logo{width:66px;height:66px}.links a.nav-cta{font-size:.78rem;border:1px solid white;padding:8px}.hero{min-height:680px;height:85vh}.hero img{object-position:58% center}.hero-inner{padding:150px 0 62px}h1{font-size:3.8rem}.hero .lead{font-size:1.08rem}.actions{gap:10px}.btn{padding:12px 16px}.facts{gap:14px}.facts b{font-size:1.3rem}.facts span{font-size:.76rem}.section-head{display:block}.image-grid{grid-template-columns:1fr}.image-grid img:first-child{height:320px}.image-grid img:last-child{height:290px}.features{gap:22px}.feature b{font-size:1.13rem}.sleep img,.family img{height:370px}.room-list,.experience-grid{grid-template-columns:1fr}.sargent-photos img{height:260px}.sargent-photos img:nth-child(2){height:220px}.corporate-panel{padding:24px}.corporate-item{grid-template-columns:1fr;gap:2px}.exp.wide{grid-column:auto}.exp{min-height:180px}.quote{padding:80px 20px}.contact-card{padding:25px}.footrow{display:block}.footrow>div:last-child{margin-top:25px}}

.journey{background:#e4d9c8}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.journey-card{margin:0}.journey-card>img{height:420px;object-position:center}.journey-card:first-child>img{object-fit:contain;background:#c3d7e6}.journey-card figcaption{padding:20px 0}.journey-card h3{font-size:2rem}.scene-note{font-size:.8rem;color:#52676a;margin-top:10px}.travel-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start;margin-top:38px}.travel-grid figure{margin:0}.travel-grid img{height:350px;object-position:center 67%}.travel-grid video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#102d36}.travel-grid .travel-copy{padding:18px 0}.travel-grid h3{font-size:1.8rem}.family figure{margin:0}.family figure img{height:480px;object-position:center}.family figcaption{margin-top:12px}.beach-details{margin-top:18px}.beach-details p{margin:6px 0}@media(max-width:800px){.journey-grid,.travel-grid{grid-template-columns:1fr}.journey-card>img{height:360px}.travel-grid img{height:320px}.family figure img{height:360px}}@media(max-width:600px){.journey-card>img{height:300px}.journey-card:first-child>img{object-fit:contain;background:#b1cddd}.travel-grid img{height:260px}.family figure img{height:300px}}
.local-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.local-gallery figure{margin:0;min-width:0}.local-gallery .landmark{grid-column:1/-1}.local-gallery img{height:290px;object-fit:cover}.local-gallery .landmark img{height:260px;object-position:center}.local-gallery figcaption{padding:14px 0}.local-gallery h3{font-size:1.4rem;margin-bottom:8px}.local-gallery p{font-size:.9rem;margin:0;color:#52676a}.local-gallery figure:nth-child(2) img{object-position:center 75%}@media(max-width:600px){.local-gallery{grid-template-columns:1fr}.local-gallery img{height:320px}.local-gallery .landmark img{height:220px}}.bait-ready{display:grid;grid-template-columns:.7fr 1fr;gap:36px;align-items:center;margin-top:45px;padding:30px;border:1px solid #607984;background:#12343e}.bait-ready figure{margin:0}.bait-ready img{height:260px;object-position:center 65%}.bait-ready figcaption{font-size:.75rem;color:#b8cacc;margin-top:10px}.bait-ready h3{font-size:2.2rem}.bait-ready p{color:#d3e0e1}.bait-ready .bait-note{font-size:.85rem;color:#b8cacc}@media(max-width:600px){.bait-ready{grid-template-columns:1fr;padding:22px;gap:22px}.bait-ready img{height:240px}}
.interiors-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:38px}.interiors-grid figure{margin:0;background:#fff}.interiors-grid figure:nth-child(1){grid-column:span 7}.interiors-grid figure:nth-child(2){grid-column:span 5}.interiors-grid figure:nth-child(n+3){grid-column:span 4}.interiors-grid img{height:310px}.interiors-grid figure:nth-child(-n+2) img{height:390px}.interiors-grid figcaption{padding:15px 17px 17px}.interiors-grid b{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:400}.interiors-grid span{display:block;color:#52676a;font-size:.86rem;margin-top:3px}@media(max-width:760px){.interiors-grid{grid-template-columns:1fr}.interiors-grid figure,.interiors-grid figure:nth-child(n){grid-column:1}.interiors-grid img,.interiors-grid figure:nth-child(-n+2) img{height:300px}}

.fishing-stories{margin-top:64px}.fishing-stories .story-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:end;margin-bottom:28px}.fishing-stories .story-intro p{color:#d3e0e1;margin:0}.fishing-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.fishing-mosaic figure{margin:0;position:relative;overflow:hidden;background:#12343e}.fishing-mosaic figure:nth-child(1){grid-column:span 5;grid-row:span 2}.fishing-mosaic figure:nth-child(2){grid-column:span 7}.fishing-mosaic figure:nth-child(3),.fishing-mosaic figure:nth-child(4){grid-column:span 3}.fishing-mosaic figure:nth-child(5){grid-column:span 6}.fishing-mosaic figure:nth-child(6){grid-column:span 6}.fishing-mosaic img{height:275px;transition:transform .45s ease}.fishing-mosaic figure:nth-child(1) img{height:566px}.fishing-mosaic figure:hover img{transform:scale(1.025)}.fishing-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(4,22,28,.86));color:#fff;font-size:.82rem;letter-spacing:.03em}@media(max-width:760px){.fishing-stories .story-intro{grid-template-columns:1fr}.fishing-mosaic{grid-template-columns:1fr}.fishing-mosaic figure:nth-child(n){grid-column:1;grid-row:auto}.fishing-mosaic img,.fishing-mosaic figure:nth-child(1) img{height:320px}}
.inquiry-section{padding:100px 0;background:#f5f0e7;scroll-margin-top:30px}.inquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.inquiry-layout a{text-underline-offset:4px}.inquiry-form{background:white;padding:38px;display:grid;gap:19px;box-shadow:0 14px 35px #0b263014}.inquiry-form label{display:grid;gap:7px;font-weight:700;font-size:.91rem}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;border:1px solid #8d9c9e;background:white;border-radius:0;padding:12px;color:var(--ink);font:inherit;min-height:49px}.inquiry-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inquiry-form .btn{cursor:pointer;justify-self:start}.form-note{margin:0;color:#496369;font-size:.84rem}.optional{font-weight:400}.trap{position:absolute!important;left:-9999px!important}.contact-dialog{border:0;max-width:min(540px,calc(100vw - 28px));padding:42px;background:var(--cream);color:var(--ink);box-shadow:0 20px 80px #0007}.contact-dialog::backdrop{background:#071d24b8}.contact-dialog h2{font-size:2.7rem}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.dialog-actions .btn{cursor:pointer}.dialog-close{position:absolute;top:8px;right:15px;font-size:2rem;border:0;background:none;cursor:pointer}.contact-dialog [role=status]{min-height:1.4em;color:var(--teal);font-weight:700}@media(max-width:800px){.inquiry-layout{grid-template-columns:1fr}.inquiry-form{padding:24px}}@media(max-width:520px){.form-row{grid-template-columns:1fr}}.lodge-night{background:#e9e2d7}.lodge-night-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:6%;align-items:center}.lodge-night figure{margin:0}.lodge-night img{height:510px;object-position:center 54%}.lodge-night figcaption{font-size:.8rem;color:#4b666a;margin-top:10px}.lodge-night h2{font-size:clamp(2.5rem,4vw,4rem)}.dock-proof{display:grid;grid-template-columns:.8fr 1.2fr;gap:5%;align-items:center;margin:45px 0 55px;padding:24px;background:#12343e}.dock-proof img{height:420px;object-position:center 68%}.dock-proof h3{font-size:clamp(2rem,3vw,3rem)}.dock-proof p{color:#d3e0e1}.dock-proof small{color:#b8c9cc}.night-spotlight{grid-template-columns:.9fr 1.1fr}.night-spotlight img{height:510px;object-position:center 58%}.family figure img{object-position:center 53%}@media(max-width:800px){.lodge-night-grid,.dock-proof{grid-template-columns:1fr}.lodge-night img{height:350px}.dock-proof img{height:390px}.night-spotlight img{height:380px}}
/* Multi-page navigation and quieter page introductions. */
.links a[aria-current="page"]{color:#ba7b51;text-decoration:underline;text-underline-offset:7px}
.subhero{background:#0b2630;color:white;position:relative;isolation:isolate;min-height:390px;display:flex;align-items:end;padding:85px 0 65px;overflow:hidden}
.subhero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,38,.88),rgba(4,28,38,.34)),var(--subimage) center/cover;z-index:-1}
.subhero h1{max-width:780px;margin:.3em 0;font-size:clamp(3rem,6vw,5.8rem)}
.subhero p{max-width:650px;font-size:1.16rem;margin:0 0 25px}
.subhero .eyebrow{color:#f2bd90}
.home-intro,.next-step{padding:78px 0}
.home-intro h2,.next-step h2{max-width:790px;margin:10px 0 24px}
.home-intro p,.next-step p{max-width:760px;font-size:1.1rem}
.home-gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin:32px 0 0}
.home-gallery a{display:block;position:relative;overflow:hidden;border-radius:4px;color:white;min-height:370px;background:#0b2630}
.home-gallery img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .3s}
.home-gallery a:hover img{transform:scale(1.03)}
.home-gallery span{position:absolute;inset:auto 0 0;padding:45px 18px 17px;background:linear-gradient(transparent,rgba(0,0,0,.72));font-weight:700;letter-spacing:.02em}
.next-step{background:#dce5e1}
.next-step .btn{margin-top:10px}
.section:target{scroll-margin-top:90px}
@media(max-width:850px){.home-gallery{grid-template-columns:1fr 1fr}.home-gallery a:first-child{grid-column:1/-1}}
@media(max-width:590px){.subhero{min-height:340px;padding:60px 0 48px}.home-gallery{display:block}.home-gallery a{min-height:270px;margin:0 0 12px}.home-intro,.next-step{padding:55px 0}}

/* First-party guest reviews. */
.reviews-hero{background-position:center 58%}
.reviews-hero p{max-width:670px}
.reviews-layout{display:grid;grid-template-columns:1fr .9fr;gap:8%;align-items:center}
.reviews-layout h2{max-width:620px}
.reviews-layout p{max-width:650px}
.reviews-empty{padding:42px;background:var(--cream);border-top:4px solid var(--teal)}
.reviews-empty h3{font:clamp(1.55rem,2.4vw,2.15rem) var(--serif);margin:0 0 12px}
.reviews-empty p{margin:0 0 18px}
.reviews-empty a{font-weight:700;text-underline-offset:4px}
.reviews-intro{scroll-margin-top:40px}
.review-submission{scroll-margin-top:30px}
.review-form .review-consent{display:flex;align-items:flex-start;gap:13px;font-weight:400;line-height:1.5}
.review-form .review-consent input{width:22px;min-width:22px;height:22px;min-height:22px;margin:2px 0 0;accent-color:var(--teal)}
.review-thanks{min-height:60vh;display:flex;align-items:center;background:var(--cream);padding:85px 0}
.review-thanks .lead{max-width:650px;margin-bottom:30px}
.home-reviews{background:var(--cream);padding:72px 0}
.home-reviews .wrap{display:flex;align-items:center;justify-content:space-between;gap:45px}
.home-reviews .wrap>div{max-width:720px}
.home-reviews h2{margin:12px 0}
.home-reviews p{margin:0}
.home-reviews .btn{flex:none}
@media(max-width:850px){.reviews-layout{grid-template-columns:1fr}.home-reviews .wrap{display:block}.home-reviews .btn{margin-top:25px}}
@media(max-width:590px){.reviews-empty{padding:27px}.home-reviews{padding:55px 0}}
@media(max-width:1150px){.links a[href="reviews.html"]{display:block;font-size:.85rem}}
@media(max-width:590px){.links a[href="reviews.html"]{font-size:.72rem}.links{gap:8px}}

/* Evening views at the lodge and dock. */
.night-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:end;margin-bottom:30px}
.night-intro .lead{margin:0 0 18px}
.night-photo-pair{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}
.night-photo-pair figure{margin:0;min-width:0}
.night-photo-pair img{height:520px;width:100%;object-fit:cover}
.night-photo-pair figure:first-child img{object-position:center 48%}
.night-photo-pair figure:last-child img{object-position:center 54%}
.night-photo-pair figcaption{font-size:.82rem;color:#4b666a;margin-top:10px}
.night-spotlight{grid-template-columns:1.35fr .65fr;scroll-margin-top:35px}
.night-spotlight img{height:440px;object-position:center 54%}
.dock-proof img{object-position:center 62%}
@media(max-width:760px){.night-intro,.night-photo-pair{grid-template-columns:1fr}.night-photo-pair img{height:360px}.night-photo-pair figure:first-child img{height:460px}.night-spotlight img{height:300px}}

/* A short Sargent history between the area gallery and concierge preview. */
.sargent-story{background:#e9e2d7;padding:72px 0}
.sargent-story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}
.sargent-story h2{margin-top:12px}
.sargent-story p{max-width:700px}
.sargent-story p:first-child{margin-top:0}
@media(max-width:760px){.sargent-story-grid{grid-template-columns:1fr;gap:15px}.sargent-story{padding:55px 0}}

/* Geographic context for the fishing story, kept secondary to the photos. */
.fishing-stories .story-intro p+p{margin-top:15px}
.fishing-place-note{margin:0 0 26px;padding:16px 20px;border-left:3px solid #78b2b1;background:#12343e;color:#d3e0e1;font-size:.91rem;line-height:1.6}
.fishing-place-note a{color:#fff;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* A restrained regional locator for the Sargent story. */
.sargent-arrival{background:#e1e8e3}.sargent-arrival-grid{display:grid;grid-template-columns:1fr .94fr;gap:7%;align-items:center}.sargent-arrival h2{max-width:590px}.sargent-arrival p{max-width:640px}.regional-map{margin:0;background:#e9e4d8;box-shadow:0 20px 55px #102d361c}.regional-map img{width:100%;height:auto;object-fit:contain}.regional-map figcaption{padding:12px 18px;font-size:.78rem;color:#42626a;line-height:1.45}@media(max-width:850px){.sargent-arrival-grid{grid-template-columns:1fr;gap:24px}}

/* ===== v2 fixes: mobile navigation, header clearance, contact links, footer links, caption legibility ===== */

/* Mobile navigation (hamburger + full-width panel). Hidden on desktop. */
.nav-toggle,.nav-cta-bar{display:none}
.nav a:focus-visible,.nav-toggle:focus-visible,.nav-cta-bar:focus-visible{outline:3px solid #f2bd90;outline-offset:3px}
.nav-toggle{box-sizing:border-box;width:46px;height:46px;padding:0;border:1px solid #fff;background:transparent;color:#fff;cursor:pointer;align-items:center;justify-content:center;flex:none}
.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s,background .2s}
.nav-toggle-bars{position:relative}
.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";position:absolute;left:0}
.nav-toggle-bars:before{top:-7px}
.nav-toggle-bars:after{top:7px}
.nav.is-open .nav-toggle-bars{background:transparent}
.nav.is-open .nav-toggle-bars:before{transform:translateY(7px) rotate(45deg)}
.nav.is-open .nav-toggle-bars:after{transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1150px){
.nav{gap:12px;flex-wrap:nowrap}
.brand{margin-right:auto;min-width:0}
.nav-cta-bar{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:46px;padding:0 16px;border:1px solid #fff;color:#fff;text-decoration:none;font-weight:700;font-size:.9rem;white-space:nowrap;flex:none}
.nav-cta-bar[aria-current=page]{background:#ffffff1f}
.nav-toggle{display:inline-flex}
.nav.is-open{background:var(--deep)}
.nav .links{display:none;position:absolute;top:100%;left:0;right:0;z-index:4;flex-direction:column;align-items:stretch;gap:0;background:var(--deep);border-top:1px solid #ffffff55;padding:6px max(22px,calc((100vw - var(--max))/2)) 24px;box-shadow:0 22px 40px #0006}
.nav.is-open .links{display:flex}
.nav .links a{display:block;padding:16px 0;font-size:1.05rem;border-bottom:1px solid #ffffff2e}
.nav .links a[aria-current=page]{color:#f2bd90;text-decoration:none}
.nav .links a.nav-cta{margin-top:18px;padding:15px 18px;background:var(--orange);border:0;color:#fff;text-align:center;font-size:1.05rem}
.nav .links a.nav-cta[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:5px}
.nav .links a.nav-instagram{border-bottom:0}
}
@media(max-width:600px){
.nav{gap:8px}
.brand{gap:8px}
.brand b{font-size:1rem;white-space:nowrap}
.brand small{letter-spacing:.1em;font-size:8.5px;white-space:nowrap}
.nav-cta-bar{padding:0 11px;font-size:.78rem;min-height:44px}
.nav-toggle{width:44px;height:44px}
.nav .links{padding-left:17px;padding-right:17px}
}

/* Keep eyebrows and headlines clear of the absolutely-positioned nav + logo (nav is ~141px tall, ~99px on phones). */
.subhero{min-height:470px;padding:180px 0 65px}
.hero-inner{padding-top:185px}
@media(max-width:590px){
.subhero{min-height:400px;padding:135px 0 48px}
}

/* Phone hero: shorter, no forced viewport height. */
@media(max-width:600px){
.hero{min-height:560px;height:auto}
.hero-inner{padding:140px 0 46px}
h1{font-size:3.2rem}
.hero .lead{font-size:1rem;margin-bottom:24px}
.hero .actions .btn{flex:1 1 100%}
}

/* Home "What brings you to the coast?" heading: stack instead of squeezing into a narrow column. */
@media(max-width:850px){
.section-head{display:block}
.section-head p{max-width:none}
}

/* Contact popup: real call / text / email actions. */
.dialog-direct{margin:0 0 10px}
.dialog-direct .btn{flex:1 1 0;min-width:96px}
@media(max-width:520px){.contact-dialog{padding:32px 24px}.contact-dialog h2{font-size:2.2rem}}

/* Footer links: spaced, with a thin divider. */
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px}
.footer-links a{display:inline-block;text-decoration:underline;text-underline-offset:4px}
.footer-sep{display:inline-block;width:1px;height:1.1em;background:#a6b9b8}
@media(max-width:480px){.footer-sep{display:none}}

/* Caption / small-text legibility (modest bumps). */
.fishing-mosaic figcaption{font-size:.92rem;padding-top:56px;background:linear-gradient(transparent,rgba(4,22,28,.92));text-shadow:0 1px 3px #000a}
.path-content small{font-size:.82rem;text-shadow:0 1px 3px #000b}
.path-content em{text-shadow:0 1px 3px #000b}
.path-card:after{background:linear-gradient(0deg,rgba(5,29,38,.95),rgba(5,29,38,.12) 85%)}
.local-gallery p{font-size:1rem;color:#3f565a}
.local-gallery figcaption{padding:14px 0}
.night-photo-pair figcaption,.lodge-night figcaption{font-size:.9rem;color:#3a5256}
.bait-ready figcaption,.bait-ready .bait-note{font-size:.88rem;color:#d3e0e1}
.scene-note{font-size:.88rem;color:#3f565a}
.interiors-grid span{font-size:.92rem;color:#3f565a}
.regional-map figcaption{font-size:.9rem;color:#35545c}
.conditions span{font-size:.82rem;color:#c2dde0}
.footer .footrow>div>small{font-size:.9rem}

/* Thank-you page has no hero image: put the nav on a solid dark bar so it is readable and does not overlap the heading. */
.thanks-page .nav{position:relative;background:var(--deep)}

/* =====================================================================
   v3 — premium destination / event-venue design pass
   Deep Gulf navy, warm ivory, antique brass. Cormorant Garamond + Jost.
   ===================================================================== */
:root{
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --ink:#10272f;--deep:#0a2230;--navy-950:#06171f;--navy-2:#0f3040;--teal:#17505c;
  --ivory:#f8f3e9;--cream:#f8f3e9;--sand:#eee5d3;--sand-2:#e6dac3;
  --brass:#b8924a;--brass-light:#dcbc78;--brass-dark:#765820;--orange:#b8924a;
  --muted:#415459;--muted-dark:#bccbcd;--line:#d9cdb2;
  --max:1260px;--nav-h:94px;--ease:cubic-bezier(.22,.61,.36,1);
}
html{scroll-padding-top:calc(var(--nav-h) + 18px)}
body{font:400 1rem/1.75 var(--sans);color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main [id]{scroll-margin-top:calc(var(--nav-h) + 18px)}
::selection{background:var(--brass-light);color:var(--deep)}
p{margin:0 0 1.15em}
.wrap{width:min(calc(100% - 56px),var(--max))}

/* ---------- Typography ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:0}
h1{font-size:clamp(3.2rem,6.4vw,6.6rem);letter-spacing:-.012em;margin:.14em 0 .3em}
h2{font-size:clamp(2.5rem,4.3vw,4.5rem);letter-spacing:-.008em;margin:.2em 0 .5em}
h3{font-size:clamp(1.75rem,2.3vw,2.2rem);margin:.1em 0 .45em}
.facts b,.feature b,.room b,.exp h3,.corporate-item b,.conditions b,.interiors-grid b,.path-content strong,.brand b,.reviews-empty h3,.contact .phone,.night-spotlight h3,.dock-proof h3,.bait-ready h3,.arrival h2{font-weight:500}
.eyebrow{display:flex;align-items:center;gap:16px;font:500 .74rem/1.5 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--brass-dark)}
.eyebrow:before{content:"";flex:none;width:36px;height:1px;background:currentColor;opacity:.85}
.hero .eyebrow,.subhero .eyebrow,.dark .eyebrow,.quote .eyebrow,.corporate-panel .eyebrow,.footer .eyebrow{color:var(--brass-light)}
.lead{font-size:clamp(1.15rem,1.55vw,1.4rem);line-height:1.7}
.caption,.note,.form-note,.scene-note{color:var(--muted)}
.dark p,.dark .lead,.dark .feature p{color:#d3e0e1}
a{text-underline-offset:4px;text-decoration-thickness:1px}
.sargent-copy a,.travel-copy a,.inquiry-layout a,.reviews-empty a,.contact-card a,.contact a:not(.btn):not(.phone),.local-gallery a,.regional-map a{color:var(--brass-dark)}
.dark a:not(.btn){color:var(--brass-light)}

/* focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--brass-dark);outline-offset:3px}
.nav a:focus-visible,.nav button:focus-visible,.topbar a:focus-visible,.hero a:focus-visible,.subhero a:focus-visible,.dark a:focus-visible,.dark button:focus-visible,.quote a:focus-visible,.footer a:focus-visible,.path-card:focus-visible{outline:2px solid var(--brass-light);outline-offset:3px}

/* ---------- Buttons ---------- */
.btn{min-height:54px;padding:16px 32px;border:1px solid currentColor;border-radius:0;font:500 .72rem/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-align:center;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease)}
.btn-primary{background:var(--brass);border-color:var(--brass);color:var(--deep)}
.btn-primary:hover{background:var(--brass-light);border-color:var(--brass-light);color:var(--deep);box-shadow:0 12px 28px -14px rgba(184,146,74,.9);transform:translateY(-1px)}
.btn-outline{color:#fff;border-color:rgba(255,255,255,.65)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:var(--brass-light);color:#fff}
.btn-dark{color:var(--deep);border-color:rgba(10,34,48,.6)}
.btn-dark:hover{background:var(--deep);border-color:var(--deep);color:var(--ivory)}
.dark .btn-dark,.dark .btn-outline{color:#fff;border-color:rgba(255,255,255,.55)}
.actions{gap:14px}

/* ---------- Top bar ---------- */
.topbar{position:relative;z-index:61;background:var(--navy-950);color:#d9e4e4;padding:10px max(28px,calc((100vw - var(--max))/2));font:500 .64rem/1.2 var(--sans);letter-spacing:.28em;text-transform:uppercase;border-bottom:1px solid rgba(184,146,74,.4);align-items:center}
.topbar a{color:var(--brass-light);text-decoration:none;transition:color .3s}
.topbar a:hover{color:#fff}

/* ---------- Header / navigation ---------- */
.nav{position:sticky;top:0;z-index:60;width:100%;height:var(--nav-h);margin-bottom:calc(var(--nav-h) * -1);padding:0 max(28px,calc((100vw - 1400px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;border:0;color:#fff;isolation:isolate}
.nav:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,23,31,.78),rgba(6,23,31,.35) 70%,rgba(6,23,31,0));transition:background .45s var(--ease),box-shadow .45s var(--ease)}
.nav:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(220,188,120,.7) 14%,rgba(220,188,120,.7) 86%,transparent);transition:opacity .45s}
.nav.is-scrolled:before{background:rgba(8,30,42,.97);box-shadow:0 14px 34px -18px rgba(2,12,18,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;flex:none;position:relative;z-index:2;color:#fff}
.brand-logo{width:66px;height:66px;object-fit:contain;flex:none;transition:width .45s var(--ease),height .45s var(--ease)}
.nav.is-scrolled .brand-logo{width:54px;height:54px}
.brand b{display:block;font:500 1.65rem/1 var(--serif);letter-spacing:.01em;white-space:nowrap}
.brand small{display:block;margin-top:7px;font:500 .58rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--brass-light);white-space:nowrap}
.links{display:flex;align-items:center;gap:clamp(16px,1.7vw,28px)}
.links a{position:relative;display:block;padding:12px 0;text-decoration:none;font:500 .69rem/1 var(--sans);letter-spacing:.19em;text-transform:uppercase;color:#f6f1e6;white-space:nowrap;transition:color .3s}
.links a:hover{text-decoration:none;color:#fff}
.links a:not(.nav-cta):after{content:"";position:absolute;left:0;right:.19em;bottom:3px;height:1px;background:var(--brass-light);transform:scaleX(0);transform-origin:center;transition:transform .4s var(--ease)}
.links a:not(.nav-cta):hover:after,.links a[aria-current="page"]:not(.nav-cta):after{transform:scaleX(1)}
.links a[aria-current="page"]{color:var(--brass-light);text-decoration:none}
.links a.nav-cta{margin-left:6px;padding:14px 22px;border:1px solid var(--brass-light);color:var(--brass-light);transition:background-color .35s var(--ease),color .35s var(--ease)}
.links a.nav-cta:hover{background:var(--brass-light);color:var(--deep)}
.links a.nav-cta[aria-current="page"]{background:rgba(220,188,120,.16);text-decoration:none}
.nav-instagram svg{display:block;width:17px;height:17px}
.nav-instagram{padding-left:2px;padding-right:2px}
.nav-ig-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-toggle,.nav-cta-bar{display:none}
.nav-toggle{width:44px;height:44px;border:1px solid rgba(220,188,120,.75);background:transparent;color:var(--brass-light);cursor:pointer;align-items:center;justify-content:center;flex:none;position:relative;z-index:2;transition:background-color .3s,color .3s}
.nav-toggle:hover{background:rgba(220,188,120,.14)}
.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{display:block;width:20px;height:1px;background:currentColor;transition:transform .35s var(--ease),background .25s}
.nav-toggle-bars{position:relative}
.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";position:absolute;left:0}
.nav-toggle-bars:before{top:-6px}.nav-toggle-bars:after{top:6px}
.nav.is-open .nav-toggle-bars{background:transparent}
.nav.is-open .nav-toggle-bars:before{transform:translateY(6px) rotate(45deg)}
.nav.is-open .nav-toggle-bars:after{transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1260px){
  :root{--nav-h:78px}
  .nav{gap:12px;flex-wrap:nowrap;padding:0 max(18px,3vw)}
  .brand{margin-right:auto;min-width:0;gap:12px}
  .brand-logo{width:52px;height:52px}
  .nav.is-scrolled .brand-logo{width:46px;height:46px}
  .brand b{font-size:1.4rem}
  .nav-cta-bar{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:42px;padding:0 18px;border:1px solid var(--brass-light);color:var(--brass-light);text-decoration:none;font:500 .64rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;flex:none;position:relative;z-index:2;transition:background-color .3s,color .3s}
  .nav-cta-bar:hover{background:var(--brass-light);color:var(--deep)}
  .nav-cta-bar[aria-current=page]{background:rgba(220,188,120,.16)}
  .nav.is-open .nav-cta-bar{visibility:hidden}
  .nav-toggle{display:inline-flex;width:42px;height:42px}
  .nav.is-open:before{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav.is-open:after{opacity:0}
  /* full-screen panel menu */
  .nav .links{position:fixed;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:calc(var(--nav-h) + 20px) 28px 44px;background:radial-gradient(120% 80% at 50% 0,#14394b 0,#0a2230 55%,#06171f 100%);border:0;box-shadow:none;overflow-y:auto;visibility:hidden;opacity:0;transform:none;transition:opacity .4s var(--ease),visibility 0s linear .4s}
  .nav.is-open .links{visibility:visible;opacity:1;transition:opacity .4s var(--ease),visibility 0s}
  .nav .links a{display:block;width:auto;padding:11px 0;border:0;font:500 clamp(1.85rem,6.4vw,2.6rem)/1.15 var(--serif);letter-spacing:.01em;text-transform:none;text-align:center;color:#f6f1e6}
  .nav .links a:not(.nav-cta):after{bottom:6px;right:0}
  .nav .links a[aria-current=page]{color:var(--brass-light);text-decoration:none}
  .nav .links a.nav-cta{margin:26px 0 0;padding:18px 38px;font:500 .74rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;border:1px solid var(--brass-light);background:transparent;color:var(--brass-light);text-align:center}
  .nav .links a.nav-cta:hover{background:var(--brass-light);color:var(--deep)}
  .nav .links a.nav-instagram{display:flex;align-items:center;gap:10px;margin-top:20px;padding:10px 0;font:500 .7rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--muted-dark)}
  .nav .links a.nav-instagram:after{display:none}
  .nav-ig-label{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  html.menu-open,html.menu-open body{overflow:hidden}
}
@media(max-width:480px){
  .nav{gap:8px;padding:0 14px}
  .brand{gap:9px}
  .brand-logo{width:44px;height:44px}
  .nav.is-scrolled .brand-logo{width:40px;height:40px}
  .brand b{font-size:1.2rem}
  .brand small{font-size:.5rem;letter-spacing:.2em;margin-top:5px}
  .nav-cta-bar{padding:0 11px;font-size:.58rem;letter-spacing:.14em;min-height:40px}
  .nav-toggle{width:40px;height:40px}
}
@media(max-width:380px){.brand small{display:none}.brand b{font-size:1.08rem}.brand-logo{width:40px;height:40px}.nav.is-scrolled .brand-logo{width:38px;height:38px}.nav-cta-bar{padding:0 9px;letter-spacing:.1em}.nav{gap:6px;padding:0 12px}}

/* top bar on phones: just the number */
@media(max-width:900px){.topbar{justify-content:center;padding:10px 14px}.topbar span{display:none}}

/* ---------- Heroes ---------- */
.hero{min-height:760px;height:min(900px,92vh)}
.hero img{object-position:center 55%}
.hero:after{background:linear-gradient(180deg,rgba(6,23,31,.62) 0,rgba(6,23,31,.1) 32%,rgba(6,23,31,.88) 100%),linear-gradient(90deg,rgba(6,23,31,.68),rgba(6,23,31,.05) 72%)}
.hero-inner{padding:calc(var(--nav-h) + 80px) 0 clamp(80px,9vw,130px)}
.hero h1{text-shadow:0 2px 30px rgba(3,14,20,.45)}
.hero .lead{max-width:640px;margin-bottom:38px;color:#f1f4f2}
.subhero{min-height:540px;padding:calc(var(--nav-h) + 96px) 0 84px}
.subhero:before{background:linear-gradient(180deg,rgba(6,23,31,.7),rgba(6,23,31,.3) 40%,rgba(6,23,31,.86)),linear-gradient(90deg,rgba(6,23,31,.66),rgba(6,23,31,.1)),var(--subimage) center/cover}
.subhero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(220,188,120,.6) 20%,rgba(220,188,120,.6) 80%,transparent)}
.subhero h1{max-width:900px;font-size:clamp(3rem,5.6vw,5.8rem);text-shadow:0 2px 30px rgba(3,14,20,.4)}
.subhero p{max-width:640px;font-size:clamp(1.1rem,1.4vw,1.3rem);margin:0 0 32px;color:#f1f4f2}
@media(max-width:600px){
  .hero{min-height:600px;height:auto}
  .hero-inner{padding:calc(var(--nav-h) + 56px) 0 52px}
  h1{font-size:3.3rem}
  .hero .lead{font-size:1.05rem;margin-bottom:28px}
  .hero .actions .btn{flex:1 1 100%}
  .subhero{min-height:440px;padding:calc(var(--nav-h) + 56px) 0 56px}
  .subhero h1{font-size:3rem}
}

/* ---------- Sections & rhythm ---------- */
.section{padding:clamp(76px,9vw,140px) 0}
.cream{background:var(--ivory)}
.sand,.paths{background:var(--sand)}
.dark{background:radial-gradient(110% 90% at 85% 0,#133a4b 0,var(--deep) 58%,#081c27 100%);color:#fff}
.section-head{align-items:end;gap:48px;padding-bottom:38px;margin-bottom:52px;border-bottom:1px solid var(--line)}
.section-head p{color:var(--muted);margin:0}
.home-intro,.next-step{padding:clamp(72px,8vw,120px) 0}
.home-intro{background:var(--ivory)}
.home-intro h2,.next-step h2{max-width:860px}
.home-intro p,.next-step p{font-size:1.12rem;color:var(--muted)}
.arrival{background:var(--sand-2);padding:clamp(48px,6vw,80px) 0}
.sargent-story,.lodge-night{background:var(--sand)}
.lodge-night figcaption,.night-photo-pair figcaption{color:var(--muted)}
.contact{background:var(--sand-2);padding:clamp(76px,9vw,130px) 0}
.inquiry-section{background:var(--ivory);padding:clamp(76px,9vw,130px) 0}
.next-step{background:var(--sand);text-align:center;border-top:1px solid var(--line)}
.next-step .wrap{display:flex;flex-direction:column;align-items:center}
.next-step .eyebrow{justify-content:center}
.next-step .eyebrow:after{content:"";flex:none;width:36px;height:1px;background:currentColor;opacity:.85}
.next-step h2,.next-step p{margin-left:auto;margin-right:auto}
.next-step p{max-width:660px}
.next-step .btn{margin-top:14px}
.home-reviews{background:var(--ivory);padding:clamp(60px,7vw,96px) 0;border-top:1px solid var(--line)}
.home-reviews p{color:var(--muted)}
.quote{background:radial-gradient(90% 120% at 50% 0,#14394b 0,var(--deep) 60%,#071b25 100%);padding:clamp(80px,9vw,130px) 22px;position:relative}
.quote .eyebrow{justify-content:center;margin-top:30px}
.quote .eyebrow:after{content:"";flex:none;width:36px;height:1px;background:currentColor;opacity:.85}
.quote p{max-width:980px;margin:26px auto;font:italic 500 clamp(2rem,3.5vw,3.5rem)/1.22 var(--serif);color:#fbf6ea}
.quote div:last-child{font:500 .68rem var(--sans);letter-spacing:.3em;color:var(--muted-dark)}
.paths .section-head{border-color:#d3c5a5}

/* ornament: rule + lone star */
.orn{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--brass);max-width:380px;margin:0 auto}
.orn:before,.orn:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.orn:after{background:linear-gradient(270deg,transparent,currentColor)}
.orn svg{width:15px;height:15px;fill:currentColor;flex:none}
.quote .orn,.footer .orn{color:var(--brass-light)}
.next-step .orn{margin-bottom:34px;width:100%}

/* ---------- Cards & imagery ---------- */
.path-grid{gap:20px}
.path-card{min-height:500px;box-shadow:0 26px 50px -30px rgba(6,23,31,.65)}
.path-card:before,.home-gallery a:before{content:"";position:absolute;inset:16px;z-index:2;border:1px solid rgba(220,188,120,0);pointer-events:none;transition:border-color .5s var(--ease),inset .5s var(--ease)}
.path-card:hover:before,.path-card:focus-visible:before,.home-gallery a:hover:before,.home-gallery a:focus-visible:before{border-color:rgba(220,188,120,.85);inset:11px}
.path-card img{transition:transform 1.1s var(--ease)}
.path-card:hover img{transform:scale(1.05)}
.path-card:after{background:linear-gradient(0deg,rgba(6,23,31,.97) 0,rgba(6,23,31,.82) 34%,rgba(6,23,31,.5) 52%,rgba(6,23,31,.04) 80%)}
.path-content{padding:34px 30px;gap:14px}
.path-content small{font:500 .68rem/1.4 var(--sans);letter-spacing:.24em;color:var(--brass-light)}
.path-content strong{font:500 1.95rem/1.12 var(--serif);text-shadow:0 1px 14px rgba(0,0,0,.4)}
.path-content em{justify-self:start;font:500 .66rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--brass-light);padding-bottom:8px;text-shadow:none}
.home-gallery{gap:20px;margin-top:48px}
.home-gallery a{border-radius:0;min-height:460px;box-shadow:0 26px 50px -32px rgba(6,23,31,.6)}
.home-gallery img{transition:transform 1.1s var(--ease)}
.home-gallery a:hover img{transform:scale(1.05)}
.home-gallery span{padding:70px 26px 26px;background:linear-gradient(transparent,rgba(6,23,31,.92));font:500 .7rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.intro img,.family img,.sleep img,.image-grid img,.sargent-photos img,.night-photo-pair img,.night-spotlight img,.lodge-night img,.arrival img,.interiors-grid img,.local-gallery img{box-shadow:0 30px 60px -36px rgba(6,23,31,.55)}
.factbar{background:var(--navy-950);padding:34px 0;border-bottom:1px solid rgba(184,146,74,.35)}
.facts div{border-right:1px solid rgba(220,188,120,.3);padding-left:6px}
.facts b{font:500 2rem var(--serif);color:#fff}
.facts span{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-dark)}
.feature{border-top:1px solid rgba(220,188,120,.45);padding-top:20px}
.feature b{font:500 1.55rem var(--serif)}
.feature p{color:var(--muted-dark)}
.room{background:#fffdf8;border:1px solid var(--line);padding:26px 24px}
.room b{font:500 1.45rem var(--serif);color:var(--deep)}
.room span{color:var(--muted)}
.exp{border:1px solid var(--line);background:#fffdf8;padding:34px;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s}
.exp:hover{transform:translateY(-4px);box-shadow:0 28px 50px -32px rgba(6,23,31,.45);border-color:var(--brass)}
.exp span{font:italic 500 3.4rem/1 var(--serif);color:var(--brass-dark)}
.exp h3{font-size:1.85rem}
.exp.wide{background:linear-gradient(135deg,#0f3040,var(--deep));color:#fff;border:1px solid rgba(220,188,120,.4)}
.exp.wide span{color:var(--brass-light)}
.exp.wide p{color:#d3e0e1}
.chips span{border:1px solid rgba(118,88,32,.55);padding:8px 16px;font:500 .72rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-dark)}
.dark .chips span{border-color:rgba(220,188,120,.55);color:var(--brass-light)}
.corporate-panel,.conditions,.bait-ready,.dock-proof{background:rgba(255,255,255,.04);border:1px solid rgba(220,188,120,.34)}
.corporate-panel small{color:var(--muted-dark)}
.conditions span{color:var(--brass-light);letter-spacing:.22em}
.conditions b{font:500 1.5rem var(--serif);color:#fff}
.conditions div{border-bottom:1px solid rgba(220,188,120,.25)}
.interiors-grid figure{background:#fffdf8;border:1px solid var(--line);box-shadow:none}
.interiors-grid b{font:500 1.35rem var(--serif);color:var(--deep)}
.interiors-grid span{color:var(--muted)}
.fishing-mosaic figcaption{font:500 .74rem/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:64px 20px 18px;color:#fff;background:linear-gradient(transparent,rgba(6,23,31,.94))}
.reviews-empty{background:#fffdf8;border:1px solid var(--line);border-top:2px solid var(--brass);box-shadow:0 30px 60px -40px rgba(6,23,31,.4)}
.reviews-empty h3{font:500 clamp(1.8rem,2.6vw,2.4rem) var(--serif)}
.contact-card{background:#fffdf8;border:1px solid var(--line);border-top:2px solid var(--brass);box-shadow:0 30px 60px -40px rgba(6,23,31,.45);padding:clamp(28px,4vw,48px)}
.contact .phone{font:500 clamp(2.4rem,4.6vw,4.2rem) var(--serif);color:var(--deep)}
.contact-card hr{border-top-color:var(--line)!important}
.caption{font:500 .72rem var(--sans);letter-spacing:.2em}

/* local gallery / sargent text sizes */
.local-gallery p,.scene-note{color:var(--muted)}

/* ---------- Corporate: pull-quote + numbered "what we arrange" ---------- */
.pullquote{background:var(--ivory);padding:clamp(76px,9vw,128px) 0;text-align:center}
.pullquote blockquote{margin:30px auto 0;max-width:960px}
.pullquote blockquote p{margin:0;font:italic 500 clamp(1.9rem,3.2vw,3.1rem)/1.28 var(--serif);color:var(--deep)}
.corporate-panel{counter-reset:arr;padding:clamp(28px,4vw,52px)}
.corporate-item{counter-increment:arr;display:grid;grid-template-columns:54px 1fr;column-gap:14px;row-gap:6px;padding:24px 0;border-bottom:1px solid rgba(220,188,120,.28)}
.corporate-item:before{content:counter(arr,lower-roman) ".";grid-row:1/3;font:italic 500 1.7rem/1.1 var(--serif);color:var(--brass-light)}
.corporate-item b{grid-column:2;font:500 1.55rem/1.15 var(--serif);color:#fff}
.corporate-item span{grid-column:2;color:var(--muted-dark)}
.corporate-panel .eyebrow{margin-bottom:6px}

/* ---------- Forms: concierge request ---------- */
.inquiry-layout{align-items:start;gap:7%}
.inquiry-form{background:#fffdf8;padding:clamp(28px,4vw,56px);gap:26px;border:1px solid var(--line);border-top:2px solid var(--brass);box-shadow:0 36px 70px -44px rgba(6,23,31,.5)}
.inquiry-form label{gap:11px;font:500 .68rem/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--deep)}
.inquiry-form .optional{font:400 .78rem/1.4 var(--sans);letter-spacing:.04em;text-transform:none;color:var(--muted)}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{border:1px solid #c8b790;background:#fffefb;padding:14px 16px;min-height:54px;font:400 1rem/1.5 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);transition:border-color .3s,box-shadow .3s,background-color .3s}
.inquiry-form input:hover,.inquiry-form select:hover,.inquiry-form textarea:hover{border-color:var(--brass)}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--deep);background:#fff;box-shadow:0 0 0 3px rgba(184,146,74,.35);outline:2px solid transparent}
.inquiry-form input:focus-visible,.inquiry-form select:focus-visible,.inquiry-form textarea:focus-visible{outline:2px solid transparent;outline-offset:0}
.inquiry-form ::placeholder{color:#5d6d71;opacity:1}
.inquiry-form select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23765820' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.inquiry-form textarea{min-height:150px;line-height:1.6}
.inquiry-form .btn{justify-self:start;margin-top:6px}
.form-note{font-size:.88rem}
.review-form .review-consent{font:400 .96rem/1.6 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.review-form .review-consent input{accent-color:var(--deep);min-height:22px}

/* contact dialog */
.contact-dialog{border:1px solid rgba(184,146,74,.8);background:var(--ivory);padding:clamp(30px,5vw,52px);box-shadow:0 40px 100px rgba(2,12,18,.55)}
.contact-dialog::backdrop{background:rgba(6,23,31,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.contact-dialog h2{font-size:clamp(2.2rem,4vw,3rem)}
.contact-dialog [role=status]{color:var(--brass-dark)}
.dialog-close{color:var(--deep);font:300 2.2rem/1 var(--sans);top:10px;right:16px}
.dialog-close:hover{color:var(--brass-dark)}
.dialog-actions .btn{padding:15px 22px}
.dialog-direct .btn-primary{flex:1 1 0}

/* ---------- Footer ---------- */
.footer{background:var(--navy-950);color:#cfdcdc;padding:0 0 34px;border-top:1px solid rgba(184,146,74,.5)}
.footer .orn{padding-top:56px}
.footer-grid{display:grid;grid-template-columns:1.5fr .9fr 1.1fr .9fr;gap:clamp(32px,5vw,72px);padding:56px 0 52px}
.footer .brand-logo{width:86px;height:86px}
.footer-tag{margin:24px 0 0;max-width:320px;font:italic 500 1.5rem/1.3 var(--serif);color:#eef3f1}
.footer-h{margin:0 0 18px;font:500 .66rem/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--brass-light)}
.footer-col a,.footer-col span{display:block;padding:5px 0;text-decoration:none;color:#d6e2e2;font-size:.95rem;transition:color .3s,transform .3s var(--ease)}
.footer-col a:hover{color:var(--brass-light);transform:translateX(3px)}
.footer-col span{color:#aebfc1;font-size:.88rem;letter-spacing:.04em}
.footer-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);font:500 .62rem/1.5 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#a9bcbe}
.footer .footrow{align-items:center;padding-top:8px}
.footer .footrow a{color:var(--brass-light)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;gap:34px;padding:44px 0}.footer-base{justify-content:flex-start}}

/* review-thanks: no hero image */
.thanks-page .nav{position:relative;margin-bottom:0;background:var(--deep)}
.thanks-page .nav:before{background:none}
.review-thanks{background:var(--ivory)}
.review-thanks .eyebrow{color:var(--brass-dark)}
.review-thanks .lead{color:var(--muted)}

/* ---------- Scroll reveal (IntersectionObserver; skipped for reduced motion) ---------- */
.js-reveal .reveal{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js-reveal .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .js-reveal .reveal{opacity:1;transform:none}
}

/* ---------- Responsive fine-tuning ---------- */
@media(max-width:1150px){
  .path-card{min-height:440px}
  .section-head{gap:20px}
  .footer .footrow{flex-wrap:wrap}
}
@media(max-width:600px){
  .wrap{width:min(calc(100% - 40px),var(--max))}
  .path-card{min-height:400px}
  .path-content strong{font-size:1.75rem}
  .home-gallery a{min-height:340px}
  .section-head{padding-bottom:26px;margin-bottom:34px}
  .btn{padding:16px 24px;width:auto}
  .inquiry-form .btn,.next-step .btn{width:100%}
  .facts b{font-size:1.7rem}
  .quote p{font-size:1.9rem}
}

/* form alignment: label text and hint flow inline; fields sit on a shared baseline per row */
.inquiry-form .form-row{align-items:end}
.inquiry-form label:not(.review-consent){display:block}
.inquiry-form label:not(.review-consent)>input,.inquiry-form label:not(.review-consent)>select,.inquiry-form label:not(.review-consent)>textarea{display:block;width:100%;margin-top:11px}
.inquiry-form .optional{display:inline;margin-left:.4em}
.dark .section-head p{color:var(--muted-dark)}
.thanks-page{min-height:100vh;display:flex;flex-direction:column}.thanks-page main{flex:1 0 auto}.thanks-page .footer{margin-top:auto}
button.btn-dark,button.btn-outline{background-color:transparent}
button.btn-dark:hover{background-color:var(--deep);color:#fff}

/* ================= v4 additions ================= */
.review-list{display:grid;gap:22px}
.review{margin:0;background:#fffdf8;border:1px solid var(--line);border-top:2px solid var(--brass);padding:32px}
.review blockquote{margin:0 0 14px;font:italic 500 clamp(1.3rem,2vw,1.6rem)/1.45 var(--serif)}
.review blockquote p{margin:0}
.review figcaption{font:500 .74rem/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--brass-dark)}
.reviews-empty{text-align:center;display:flex;flex-direction:column;align-items:center}
.reviews-empty .orn{width:100%;margin:0 0 22px}
.reviews-empty p{max-width:34em}
.concierge-note{display:block;padding:clamp(28px,3.4vw,44px)}
.concierge-note span{display:block;margin-bottom:12px}
.concierge-note b{display:block;font:500 clamp(1.8rem,2.6vw,2.4rem)/1.1 var(--serif);color:#fff;margin-bottom:14px}
.concierge-note p{color:var(--muted-dark);margin:0 0 24px}
.concierge-note .btn{margin-top:0}
.partner-note{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);max-width:34em}
.exp-section{padding-top:clamp(56px,6vw,88px);padding-bottom:clamp(56px,6vw,88px)}
.exp-group-head{display:flex;align-items:center;gap:22px;margin-bottom:34px}
.exp-group-head h2{margin:0;font-size:clamp(2.2rem,3.6vw,3.4rem);white-space:nowrap}
.exp-group-head:after{content:"";flex:1;height:1px;background:var(--line)}
.experience-grid.cols-5{grid-template-columns:repeat(6,1fr)}
.experience-grid.cols-5 .exp{grid-column:span 2}
.experience-grid.cols-5 .exp:nth-child(n+4){grid-column:span 3}
.experience-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.exp-section .exp{display:flex;flex-direction:column;gap:14px}
.exp-section .exp p{margin:0;color:var(--muted)}
.exp-section .exp.wide p{color:#d3e0e1}
.exp-section .exp span{font-size:2.6rem}
.sand.exp-section .exp{background:#fffdf8}
.travel-follow{padding-top:0}
.itineraries .section-head p{color:var(--muted-dark)}
.itinerary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.itinerary{border:1px solid rgba(220,188,120,.38);background:rgba(255,255,255,.04);padding:clamp(26px,3vw,38px)}
.itinerary span{display:block;font:italic 500 2.4rem/1 var(--serif);color:var(--brass-light);margin-bottom:14px}
.itinerary h3{color:#fff;margin:0 0 12px}
.itinerary p{margin:0;color:var(--muted-dark)}
.next-step .cta-foot{margin:26px auto 0;font-size:.86rem;color:var(--muted);max-width:520px}
@media(max-width:980px){
 .experience-grid.cols-5{grid-template-columns:repeat(2,1fr)}
 .experience-grid.cols-5 .exp,.experience-grid.cols-5 .exp:nth-child(n+4){grid-column:auto}
 .experience-grid.cols-5 .exp:first-child{grid-column:1/-1}
 .itinerary-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
 .experience-grid.cols-5,.experience-grid.cols-2{grid-template-columns:1fr}
 .exp-group-head h2{white-space:normal}
 .exp-section .exp{padding:26px}
}
.exp-section .exp{justify-content:flex-start;min-height:0}
.exp-section .exp p{font-size:1rem;line-height:1.7}
.exp-group-head:after{background:#cdbf9f}

/* OwnerRez booking widget section */
.booking-section{padding:clamp(56px,8vw,96px) 0;background:#f8f3e9;scroll-margin-top:90px}
.booking-section .wrap{max-width:1000px}
.booking-section h2{margin:0 0 28px}
.booking-section .ownerrez-widget{background:#fff;border:1px solid #d9cfb8;border-radius:6px;padding:clamp(12px,2vw,24px);min-height:120px}

/* Plan page tabs */
.plan-tabs-section{padding:clamp(56px,8vw,96px) 0;background:var(--ivory);scroll-margin-top:90px}
.plan-tabs-section .wrap{max-width:1040px}
.plan-lead{max-width:640px;margin:0 0 32px}
.plan-tabs{display:flex;gap:0;border-bottom:1px solid #cdbf9f;margin-bottom:0;flex-wrap:wrap}
.plan-tabs [role=tab]{appearance:none;background:transparent;border:0;border-bottom:3px solid transparent;padding:16px clamp(16px,3vw,32px);font:600 .8rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#4b5b60;cursor:pointer;margin-bottom:-1px}
.plan-tabs [role=tab]:hover{color:var(--ink)}
.plan-tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--brass)}
.plan-tabs [role=tab]:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}
.plan-panel{background:#fff;border:1px solid #d9cfb8;border-top:0;padding:clamp(18px,3vw,36px)}
.plan-panel.is-off{position:absolute;left:-9999px;width:min(960px,92vw);height:1px;overflow:hidden;visibility:hidden}
.panel-intro{margin:0 0 20px;color:#3d4f55}
.plan-panel .inquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:start}
.plan-panel .inquiry-layout h3{margin-top:.2em}
.talk-strip{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:40px;padding-top:28px;border-top:1px solid #cdbf9f}
.talk-strip .phone{font:clamp(1.8rem,3.4vw,2.8rem) var(--serif);text-decoration:none;display:block;margin-top:6px}
.talk-strip .phone:hover{text-decoration:underline}
@media(max-width:860px){.plan-panel .inquiry-layout{grid-template-columns:1fr}.plan-tabs [role=tab]{flex:1 1 auto;text-align:center;padding:14px 10px;font-size:.72rem;letter-spacing:.1em}}
