.content-header { color:#fff; }.content-header .contact-icon { font-size:20px; text-decoration:none; }.page-hero { position:relative; min-height:76svh; display:grid; align-items:end; padding:110px clamp(20px,8vw,130px) 82px; overflow:hidden; color:#fff; isolation:isolate; }.page-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.page-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,27,20,.76),rgba(5,27,20,.2) 70%),linear-gradient(0deg,rgba(5,24,18,.55),transparent 65%)}.page-hero h1,.content-heading h2,.copy-block h2,.map-section h2{margin:0;font:500 clamp(62px,7vw,110px)/.88 var(--serif);letter-spacing:-.05em}.page-hero p:not(.eyebrow){max-width:470px;margin:22px 0 0;font-size:15px;line-height:1.65}.content-heading{padding:clamp(85px,11vw,150px) clamp(20px,8vw,130px);background:var(--paper)}.content-heading h2{max-width:760px}.content-heading>p:last-child{max-width:520px;margin:28px 0 0;font-size:16px;line-height:1.7}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;min-height:670px}.editorial-grid.reverse>*:first-child{order:2}.editorial-grid img{width:100%;height:100%;display:block;object-fit:cover}.copy-block{align-self:center;padding:clamp(55px,8vw,135px);background:#e8dfd0}.copy-block h2{font-size:clamp(54px,5.5vw,86px);margin-bottom:24px}.copy-block p:not(.eyebrow){max-width:430px;font-size:15px;line-height:1.7}.dark-block{background:#143d34;color:#f7f4ed}.dark-block .eyebrow{color:#cad7c8}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9d4c9}.feature-card{min-height:410px;padding:42px;background:var(--paper)}.feature-card h3{margin:14px 0;font:500 42px/.92 var(--serif);letter-spacing:-.04em}.feature-card p{font-size:13px;line-height:1.65}.feature-card small{font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#567367}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px;background:var(--paper)}.activity-card{position:relative;min-height:430px;display:grid;align-items:end;padding:28px;color:#fff;overflow:hidden;isolation:isolate}.activity-card img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.activity-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,24,18,.74),transparent 65%)}.activity-card h3{margin:7px 0 0;font:500 47px/.9 var(--serif);letter-spacing:-.04em}.activity-card p{margin:10px 0 0;font-size:12px;line-height:1.55}.map-section{padding:clamp(80px,10vw,140px) clamp(20px,8vw,130px);background:#e8dfd0}.map-section h2{max-width:720px;font-size:clamp(54px,6vw,92px)}.route-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:35px 0 18px}.route-tabs button{padding:9px 12px;border:1px solid rgba(24,51,44,.3);background:transparent;color:var(--forest);font:600 11px/1 var(--sans)}.route-tabs button.is-active{background:var(--forest);color:#fff}.route-map{position:relative;min-height:490px;padding:25px;background:#153e35;overflow:hidden}.route-map svg{width:100%;height:100%;min-height:440px}.route-label{position:absolute;right:30px;bottom:30px;max-width:230px;padding:18px;background:rgba(247,244,237,.95);color:var(--forest)}.route-label b{display:block;font:500 28px/1 var(--serif)}.route-label span{font-size:11px}.faq-list{padding:clamp(80px,10vw,130px) clamp(20px,8vw,130px);background:var(--paper)}.faq-list details{max-width:900px;padding:20px 0;border-top:1px solid rgba(24,51,44,.2)}.faq-list summary{cursor:pointer;font:500 26px/1.1 var(--serif)}.faq-list p{max-width:680px;font-size:14px;line-height:1.7}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d9d4c9}.contact-panel>div{padding:clamp(55px,8vw,120px);background:var(--paper)}.contact-panel h2{margin:0 0 24px;font:500 clamp(54px,5.8vw,90px)/.9 var(--serif);letter-spacing:-.05em}.contact-panel a{color:var(--forest);font-size:18px}.contact-panel p{line-height:1.7}.booking-end{display:grid;place-content:center;min-height:70svh;padding:90px 20px;background:#143d34;color:#fff;text-align:center}.booking-end h2{max-width:720px;margin:0;font:500 clamp(62px,7vw,110px)/.88 var(--serif);letter-spacing:-.05em}.booking-end .availability-bar{position:static;width:min(820px,calc(100vw - 40px));margin-top:38px;text-align:left}@media(max-width:700px),(max-aspect-ratio:3/4){.page-hero{min-height:82svh;padding:90px 20px 58px}.page-hero h1,.content-heading h2,.copy-block h2,.map-section h2{font-size:clamp(51px,14vw,68px)}.page-hero p:not(.eyebrow),.content-heading>p:last-child{font-size:14px}.content-heading{padding:78px 20px}.editorial-grid,.editorial-grid.reverse{grid-template-columns:1fr;min-height:0}.editorial-grid.reverse>*:first-child{order:0}.editorial-grid img{min-height:100vw;max-height:600px}.copy-block{padding:72px 20px}.feature-grid,.activity-grid{grid-template-columns:1fr}.feature-card{min-height:0;padding:38px 20px}.activity-card{min-height:104vw}.map-section{padding:75px 20px}.route-map{min-height:420px;padding:8px}.route-map svg{min-height:400px}.route-label{right:16px;bottom:16px;padding:13px}.contact-panel{grid-template-columns:1fr}.contact-panel>div{padding:65px 20px}.booking-end{min-height:100svh;text-align:left}.booking-end h2{font-size:clamp(57px,16vw,76px)}.booking-end .availability-bar{display:grid;grid-template-columns:1fr}.booking-end .availability-bar label{border-right:0;border-bottom:1px solid #dfd1c0}.site-footer__contact a:nth-of-type(n+3){display:none}}

/* Portrait-led Property hero: intentionally editorial on desktop, immersive on mobile. */
.property-hero{min-height:82svh;padding:0;grid-template-columns:minmax(0,.84fr) minmax(420px,.76fr);align-items:stretch;background:#143d34}.property-hero:after{display:none}.property-hero__media{position:relative;overflow:hidden;background:#0d2922}.property-hero__media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.property-hero__copy{display:grid;align-content:end;padding:clamp(92px,11vw,164px) clamp(34px,7vw,122px);background:#143d34;color:#f7f4ed}.property-hero__copy p:not(.eyebrow){max-width:380px}.property-hero__copy span{margin-top:52px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#bad0bd}@media(max-width:700px),(max-aspect-ratio:3/4){.property-hero{display:block;min-height:100svh;padding:0}.property-hero__media{position:absolute;inset:0}.property-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,24,18,.8),rgba(5,24,18,.12) 62%,rgba(5,24,18,.08))}.property-hero__copy{position:absolute;inset:auto 0 0;padding:90px 20px 58px;background:transparent}.property-hero__copy span{margin-top:34px}.property-hero__copy p:not(.eyebrow){max-width:330px}}

/* Property-page proportion and alignment corrections. */
.content-heading{padding-block:clamp(66px,7vw,104px)}.content-heading h2{max-width:880px;font-size:clamp(56px,5.7vw,88px)}.editorial-grid{min-height:clamp(500px,46vw,620px);overflow:hidden}.editorial-grid .copy-block{align-self:stretch;display:grid;align-content:center}.feature-card{min-height:285px}.feature-card h3{font-size:clamp(36px,3.1vw,48px)}
@media(min-width:701px) and (min-aspect-ratio:3/4){.property-hero{min-height:min(72svh,760px);grid-template-columns:minmax(360px,42vw) minmax(0,1fr)}.property-hero__media{max-width:640px;justify-self:end}.property-hero__copy{padding-block:clamp(78px,8vw,118px);padding-left:clamp(44px,6vw,110px);padding-right:clamp(34px,5vw,90px)}}
@media(max-width:700px),(max-aspect-ratio:3/4){.content-heading{padding:64px 20px 72px}.content-heading h2{font-size:clamp(48px,12.5vw,62px)}.editorial-grid{min-height:0}.editorial-grid .copy-block{align-self:auto}.feature-card{min-height:0}}

/* Information and contact refinements */
.map-intro{max-width:560px;line-height:1.7}.route-tabs button{transition:background .25s,color .25s}.map-labels{font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}.route-label{max-width:245px;padding:20px;box-shadow:0 15px 42px rgba(0,0,0,.12)}.route-label b{margin:4px 0 8px}.route-label span{display:block;line-height:1.5}.draw-route{animation:routeDraw 1.2s ease both}@keyframes routeDraw{from{stroke-dashoffset:260;opacity:.25}to{stroke-dashoffset:0;opacity:1}}.arrival-grid .feature-card{min-height:250px;padding:30px}.arrival-grid .feature-card h3{margin:11px 0;font-size:clamp(34px,2.8vw,44px)}.contact-panel h3{margin:14px 0 32px;font:500 clamp(44px,4.5vw,70px)/.9 var(--serif);letter-spacing:-.04em}.contact-actions{display:grid;gap:11px;margin-top:32px}.contact-address{background:#e8dfd0!important}.contact-address address{font-style:normal;line-height:1.7}.contact-address .text-link{display:inline-block;margin-top:28px;font-weight:700;text-decoration:none}.contact-note{max-width:340px;margin-top:42px;font-size:12px}@media(max-width:700px),(max-aspect-ratio:3/4){.route-label{max-width:215px}.route-label b{font-size:26px}.arrival-grid .feature-card{min-height:0;padding:27px 20px 29px}.arrival-grid .feature-card h3{font-size:clamp(33px,9.5vw,39px)}.booking-end .availability-bar button{min-height:51px;margin:10px}}
.information-hero:after{background:linear-gradient(90deg,rgba(5,27,20,.46),rgba(5,27,20,.05) 70%),linear-gradient(0deg,rgba(5,24,18,.22),transparent 65%)}

/* Shared hero readability: page-specific copy may wrap, but never as a stranded final word. */
.page-hero .eyebrow{font-size:12px;letter-spacing:.16em}.page-hero p:not(.eyebrow){font-size:17px;line-height:1.5;text-wrap:pretty}@media(max-width:700px),(max-aspect-ratio:3/4){.page-hero .eyebrow{font-size:11px;letter-spacing:.15em}.page-hero p:not(.eyebrow){font-size:16px;line-height:1.5;text-wrap:pretty}}
.information-hero:after{background:linear-gradient(90deg,rgba(5,27,20,.46),rgba(5,27,20,.05) 70%),linear-gradient(0deg,rgba(5,24,18,.22),transparent 65%)}
body[data-page="information"] .map-section{display:none}.route-planner{padding:clamp(80px,10vw,140px) clamp(20px,8vw,130px);background:#e8dfd0}.route-planner__heading{max-width:680px;margin-bottom:42px}.route-planner__heading h2{margin:0;font:500 clamp(54px,6vw,92px)/.9 var(--serif);letter-spacing:-.05em}.route-planner__heading>p:last-child{max-width:560px;margin:24px 0 0;font-size:15px;line-height:1.7}.route-experience{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);background:#d2cbbb;box-shadow:0 18px 40px rgba(20,61,52,.08)}.drive-map-panel{position:relative;min-height:525px;padding:24px;background:#143d34;color:#f7f4ed;overflow:hidden}.drive-map-panel__top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid rgba(237,232,214,.2);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.drive-map-panel__top span:last-child{color:#d8c77e;text-align:right}.drive-map-svg{width:100%;height:calc(100% - 50px);min-height:405px;display:block}.drive-map-svg text{fill:#f7f4ed;font:600 11px/1 var(--sans);letter-spacing:.05em}.drive-map-svg .drive-destination-sub{fill:#b7ccbe;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.drive-origin-ring{fill:#d8c77e;fill-opacity:.18;stroke:#d8c77e;stroke-width:1}.drive-origin-dot{fill:#f7f4ed}.drive-destination-ring{fill:#f7f4ed;fill-opacity:.14;stroke:#f7f4ed;stroke-width:1}.drive-destination-dot{fill:#d8c77e}.drive-route-dot{fill:#e4c97f;opacity:.14;animation:driveTrail 2.8s ease-in-out infinite}.drive-map-panel__note{position:absolute;bottom:18px;left:24px;margin:0;color:#b7ccbe;font-size:10px;letter-spacing:.09em;text-transform:uppercase}@keyframes driveTrail{0%,100%{opacity:.14;filter:drop-shadow(0 0 0 rgba(228,201,127,0))}28%{opacity:1;filter:drop-shadow(0 0 4px rgba(228,201,127,.8))}60%{opacity:.68}}.drive-route-details{display:flex;flex-direction:column;padding:clamp(28px,4vw,58px);background:#f7f4ed}.route-select-label{display:grid;gap:9px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#527265}.route-select-label select{appearance:none;width:100%;padding:14px 42px 14px 15px;border:1px solid rgba(20,61,52,.32);border-radius:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23143d34' stroke-width='1.5'/%3E%3C/svg%3E") right 15px center/12px no-repeat;color:#143d34;font:500 16px/1.3 var(--sans)}.drive-route-metric{margin:34px 0 30px;padding:20px 0;border-top:1px solid rgba(20,61,52,.22);border-bottom:1px solid rgba(20,61,52,.22)}.drive-route-metric span{display:block;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#527265}.drive-route-metric b{display:block;margin:7px 0 5px;font:500 clamp(40px,4vw,58px)/.9 var(--serif);letter-spacing:-.04em;color:#143d34}.drive-route-metric small{color:#527265;font-size:12px}.drive-guide .eyebrow{margin:0 0 14px}.drive-guide ol{display:grid;gap:13px;margin:0;padding:0;list-style:none;counter-reset:drive-step}.drive-guide li{position:relative;padding-left:34px;font-size:14px;line-height:1.55;color:#32584d;counter-increment:drive-step}.drive-guide li:before{position:absolute;left:0;top:1px;display:grid;place-items:center;width:21px;height:21px;border:1px solid #b8a76a;border-radius:50%;content:counter(drive-step);color:#765e21;font-size:10px;font-weight:700}.drive-disclaimer{margin:28px 0 17px;color:#697d74;font-size:11px;line-height:1.5}.route-maps-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;width:max-content;max-width:100%;padding:12px 0;border:0;color:#143d34;font-size:12px;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.route-maps-link span{font-size:19px;line-height:0}.route-maps-link:hover{color:#917a38}@media(max-width:700px),(max-aspect-ratio:3/4){.route-planner{padding:75px 20px}.route-planner__heading{margin-bottom:30px}.route-experience{grid-template-columns:1fr}.drive-map-panel{min-height:410px;padding:16px}.drive-map-panel__top{font-size:9px}.drive-map-svg{min-height:315px}.drive-map-panel__note{bottom:14px;left:16px;font-size:8px}.drive-route-details{padding:34px 20px}.drive-route-metric{margin:28px 0}.drive-route-metric b{font-size:48px}}@media(prefers-reduced-motion:reduce){.drive-route-dot{animation:none;opacity:.75}}

/* Road geometry is sourced from OpenStreetMap; this keeps the animated route grounded in the actual network. */
.drive-map-svg .drive-coastline{fill:none;stroke:#6f99a0;stroke-opacity:.92;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.drive-map-svg #drive-sea-label{fill:#648991;font:500 22px/1 var(--serif);font-style:italic;letter-spacing:.035em;paint-order:stroke;stroke:#ece7d8;stroke-width:5px;stroke-linejoin:round}.drive-map-svg #drive-state-label{fill:#49685e;fill-opacity:.72;font:500 24px/1 var(--serif);letter-spacing:.1em;text-transform:uppercase;paint-order:stroke;stroke:#ece7d8;stroke-width:5px;stroke-linejoin:round}.drive-highway-label rect{fill:#f6f1e5;stroke:#d2c5a5;stroke-width:.8;vector-effect:non-scaling-stroke}.drive-highway-label text{fill:#41655b;font:700 11px/1 var(--sans);letter-spacing:.07em;paint-order:stroke;stroke:#f6f1e5;stroke-width:3px;stroke-linejoin:round}.drive-map-svg #drive-origin-label,.drive-map-svg .drive-map-place-label{fill:#143d34;font:700 14px/1 var(--sans);letter-spacing:.05em;paint-order:stroke;stroke:#ece7d8;stroke-width:5px;stroke-linejoin:round}
.drive-map-panel{background:#143d34}.drive-map-svg{background:#ece7d8;border:1px solid rgba(222,211,180,.52)}#drive-map-background{fill:#ece7d8}.drive-road{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.drive-road--primary{stroke:#c7c1af;stroke-width:1}.drive-road--trunk{stroke:#a8aa9b;stroke-width:1.25}.drive-road--motorway{stroke:#789489;stroke-width:1.8}.drive-map-svg #drive-route-shadow{fill:none;stroke:#bd9551;stroke-opacity:.28;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.drive-map-svg #drive-route-line{fill:none;stroke:#1a5a4a;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.drive-map-svg #drive-route-line.is-animating,.drive-map-svg #drive-route-shadow.is-animating{animation:drive-route-draw 2.6s cubic-bezier(.33,.74,.38,1) forwards}.drive-map-svg .drive-route-dot{fill:#c59545;stroke:#f5f0e2;stroke-width:1;vector-effect:non-scaling-stroke}.drive-map-svg .drive-origin-ring{fill:#c59545;fill-opacity:.19;stroke:#9a7139;stroke-width:1.5;vector-effect:non-scaling-stroke}.drive-map-svg .drive-origin-dot{fill:#9a7139}.drive-map-svg .drive-destination-ring{fill:#1a5a4a;fill-opacity:.16;stroke:#1a5a4a;stroke-width:1.5;vector-effect:non-scaling-stroke}.drive-map-svg .drive-destination-dot{fill:#1a5a4a}.drive-map-svg #drive-origin-label,.drive-map-svg #drive-destination-label{fill:#143d34;font:700 11px/1 var(--sans);letter-spacing:.05em;paint-order:stroke;stroke:#ece7d8;stroke-width:5px;stroke-linejoin:round}.drive-map-svg #drive-destination-sub{fill:#547268;font:700 8px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;paint-order:stroke;stroke:#ece7d8;stroke-width:5px;stroke-linejoin:round}@keyframes drive-route-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.drive-map-svg #drive-route-line,.drive-map-svg #drive-route-shadow{animation:none!important;stroke-dashoffset:0!important}}

/* Keep the seasonal moment editorial rather than letting its portrait image dominate very wide screens. */
body[data-page="information"] .editorial-grid.reverse{min-height:clamp(500px,36vw,620px)}
body[data-page="information"] .editorial-grid.reverse{align-items:stretch}
body[data-page="information"] .editorial-grid.reverse>img{align-self:stretch;height:100%;min-height:100%;max-height:none;object-position:center 58%}
.season-pet{width:min(100%,250px);margin:28px 0 0}.season-pet img{display:block;width:100%;height:168px;min-height:0;max-height:none;object-fit:cover;object-position:center 48%}.season-pet figcaption{margin-top:10px;color:#c9d7c9;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
@media(min-width:701px) and (min-aspect-ratio:3/4){body[data-page="information"] .editorial-grid.reverse{height:clamp(500px,36vw,620px);grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}body[data-page="information"] .editorial-grid.reverse .copy-block{padding-block:clamp(38px,4vw,58px);overflow:hidden}.copy-block h2{font-size:clamp(48px,5vw,76px);margin-bottom:18px}.copy-block p:not(.eyebrow){font-size:14px;line-height:1.55}.season-pet{width:clamp(220px,17vw,280px);margin-top:22px}.season-pet img{height:clamp(150px,11vw,180px)}}
body[data-page="cancellation-and-refunds"]{background:#f8f5ef}body[data-page="cancellation-and-refunds"] .policy-heading{min-height:0;padding:118px clamp(20px,8vw,130px) clamp(52px,5vw,76px);background:#143d34;color:#f7f4ed}body[data-page="cancellation-and-refunds"] .policy-heading .eyebrow{color:#c8d4c6}body[data-page="cancellation-and-refunds"] .policy-heading h1{color:#f7f4ed;font:500 clamp(52px,5.4vw,78px)/.9 var(--serif);letter-spacing:-.05em}body[data-page="cancellation-and-refunds"] .policy-heading>p:last-child{color:#d7e1d6}.policy-content{display:grid;grid-template-columns:minmax(0,650px);gap:0;padding:clamp(70px,9vw,130px) clamp(20px,8vw,130px);background:#f8f5ef}.policy-content section{padding:27px 0;border-top:1px solid rgba(24,51,44,.2)}.policy-content section:last-child{border-bottom:1px solid rgba(24,51,44,.2)}.policy-content h2{margin:0 0 13px;font:500 clamp(34px,3.6vw,52px)/.95 var(--serif);letter-spacing:-.04em}.policy-content p,.policy-content dd{margin:0;color:#456358;font-size:14px;line-height:1.7}.policy-content dl{display:grid;margin:0}.policy-content dl div{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:14px 0;border-top:1px solid rgba(24,51,44,.12)}.policy-content dl div:first-child{border-top:0}.policy-content dt{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.policy-content a{color:var(--forest);font-weight:700}@media(max-width:700px),(max-aspect-ratio:3/4){body[data-page="cancellation-and-refunds"] .policy-heading{padding:98px 20px 52px}body[data-page="cancellation-and-refunds"] .policy-heading h1{font-size:clamp(48px,13vw,64px)}.policy-content{padding:72px 20px}.policy-content section{padding:22px 0}.policy-content h2{font-size:39px}.policy-content p,.policy-content dd{font-size:13px}.policy-content dl div{grid-template-columns:1fr;gap:7px;padding:16px 0}}
