/* Reference-aligned commercial layout; shared across every page type. */
:root{--display:Georgia,'Times New Roman',serif;--body:Arial,Helvetica,sans-serif}
body{padding-top:72px;line-height:1.75}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;letter-spacing:-.035em}
h2{font-size:40px}h3{font-size:25px}
.site-header,.home .site-header,.js .home .site-header{position:fixed;inset:0 0 auto;background:var(--forest);z-index:50}
.header-inner{min-height:72px;padding:10px 0}.brand{font-family:var(--display);font-weight:400;letter-spacing:0}
.site-header nav>a:not(.button){font-size:12px;letter-spacing:.3px}.site-header nav{gap:23px}
section[id]{scroll-margin-top:90px}
.hero{padding:80px 0 36px;min-height:680px;display:flex;align-items:center}
.hero h1{font:400 clamp(48px,5.4vw,78px)/1.08 var(--display);letter-spacing:-.045em;margin-bottom:25px}
.hero h1 span{color:var(--lime)}.hero-copy{max-width:860px;margin:0 auto 45px}.hero .subtitle{font-size:19px;max-width:660px;margin:0 auto 28px;line-height:1.65}
.hero h1{font-size:clamp(44px,5vw,72px)}.hero-price{display:table;margin:24px auto 12px;padding:12px 28px;background:rgba(5,24,20,.82);border:1px solid #ffffff50;font:28px/1.2 var(--body);font-variant-numeric:lining-nums;white-space:nowrap}.hero-price span{display:block;font:12px/1.5 var(--body);margin-top:4px}.hero-disclosure{margin-bottom:0}.booking-panel p{color:var(--muted)}.booking-panel a{color:var(--ink)}
.hero-facts{grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(5,24,20,.75);padding:22px 0}
.hero-facts div{padding:0 17px}.hero-facts strong{font-family:var(--body);font-size:17px;font-weight:600;line-height:1.5}.hero-facts strong span{display:block;font-size:11px;color:white;font-weight:400}
.hero-facts>div>span{font-size:11px;line-height:1.5}.hero-credit{background:var(--paper);color:var(--muted)}
.feature-intro{max-width:810px;color:var(--muted)}
.feature-panels{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0 20px}
.feature-panel{padding:30px;background:var(--white);border:1px solid var(--line)}
.feature-panel h3{margin:0 0 24px;font-size:29px}.checklist{list-style:none;padding:0!important;margin:0}
.checklist li{padding:0 0 18px 30px;margin:0;position:relative;font-size:14px;line-height:1.65}
.checklist li:last-child{padding-bottom:0}.checklist li:before{content:'✓';position:absolute;left:0;top:0;color:var(--forest);font-weight:700}
.checklist strong{display:block;color:var(--ink);font-size:15px;margin-bottom:3px}.checklist span{display:block;color:var(--muted)}
.availability-grid{grid-template-columns:1fr 1fr;align-items:center;gap:65px}.booking-panel{background:white;border:1px solid var(--line);padding:26px;color:var(--ink)}
.provider-widget{max-width:520px;margin-inline:auto;min-width:0}.provider-widget iframe{max-width:100%;border:0}.widget-fallback{font-size:13px;line-height:1.8;margin:18px 0 0;color:var(--muted)}
.widget-fallback .text-link{font-size:12px}.page-booking{background:white}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.steps h3{font-size:24px}.steps p{font-size:14px}
.booking-summary h3{color:var(--ink);font-size:25px;margin:0 0 12px}.booking-summary p{font-size:13px;margin:0 0 14px}.booking-summary .booking-price{font-size:27px;line-height:1.3;color:var(--ink)}.booking-price span{display:block;font-size:12px}.booking-summary .button{color:white;width:100%}.provider-widget>[data-gyg-widget]{margin-top:20px}
.timeline h3{font-size:27px}.gallery-section{background:var(--forest);color:white}.gallery-section .fine{color:#cbd7c6}.gallery-track{scroll-snap-type:x mandatory}.gallery-track figure{flex:0 0 48%;scroll-snap-align:start}.gallery-track img{height:330px;width:100%;object-fit:cover}.gallery-track figcaption{color:#e2eadd;line-height:1.5}
.table-scroll table{min-width:1120px}.table-scroll th,.table-scroll td{width:21%}.table-scroll th:first-child{width:16%}.table-label{display:block;font-size:10px;color:var(--lime);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.table-scroll caption{caption-side:top;text-align:left;padding-bottom:14px;font-size:13px;line-height:1.6;color:var(--muted)}.table-scroll .button.small{padding:10px 12px;gap:8px;font-size:10px}.table-scroll td span{display:block;font-size:11px}
.tour-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.tour-card{display:flex;flex-direction:column;min-width:0;overflow:hidden}.card-photo{display:block;width:100%;background:var(--wash)}.card-photo img{width:100%;height:225px;object-fit:cover}.tour-card h3{font-size:28px}.tour-card h3 a{text-decoration:none}.tour-card h3 a:hover{text-decoration:underline}
.tour-card-body{padding:25px}.card-rating{font-size:12px;margin-bottom:14px}.card-bottom{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;gap:16px;align-items:center;justify-content:space-between}.card-price{font-size:20px;font-weight:700;margin:0;line-height:1.4}.card-price span{display:block;font-size:11px;font-weight:400}.card-bottom .text-link{font-size:10px}.sidebar-box .sidebar-price{font-size:28px}.sidebar-price span{display:block;font-size:12px}
.editorial-aside h2{font-size:40px}.editorial-body h3{font-size:29px}.editorial-body p{font-size:16px}.review-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.review-card{flex:0 0 34%;scroll-snap-align:start;min-width:0}.article-content .review-card{flex-basis:80%}
.alternative h2{font-size:36px}.alternative> .wrap>p:not(.eyebrow){max-width:760px}.alternative [data-gyg-widget]{margin:28px 0;min-width:0}.article-sidebar{top:95px}.article-content .feature-panels{grid-template-columns:1fr}.footer-grid>div>h2,.explore-grid h3,.sidebar-links h2{font-family:var(--body);font-weight:700}.plan-card h2{font-size:28px}.index h1{font-size:clamp(38px,5vw,64px);line-height:1.1}.index .tour-grid{margin-top:36px}
@media(max-width:1050px){.site-header nav{gap:14px}.site-header nav>a:not(.button){font-size:11px}.steps{grid-template-columns:1fr 1fr}.tour-grid{grid-template-columns:1fr 1fr}.hero-facts strong{font-size:15px}.availability-grid{gap:35px}}
@media(max-width:850px){.header-inner{min-height:72px}.site-header nav{padding:15px 0}.hero{padding-top:65px;min-height:650px}.hero h1{font-size:62px}.hero-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 0}.hero-facts div{border:0}.feature-panel{padding:24px}.availability-grid{grid-template-columns:1fr}.booking-panel{width:100%;max-width:560px;margin:auto}.review-card{flex-basis:55%}.article-sidebar{position:static}.gallery-track figure{flex-basis:75%}.feature-panel h3{font-size:26px}.home:not(:has(.js)) .site-header{position:fixed}}
@media(max-width:600px){html{scroll-padding-top:90px}body{padding-top:68px}.header-inner{min-height:68px}.hero{padding:48px 0 28px;min-height:0}.hero h1{font-size:48px}.hero .subtitle{font-size:17px}.hero-copy{margin-bottom:30px}.hero-actions{flex-direction:column;align-items:center}.hero-facts{grid-template-columns:1fr 1fr;padding:20px 12px;gap:22px 10px}.hero-facts div{display:block;text-align:center;padding:0;border:0}.hero-facts strong,.hero-facts span{max-width:none;text-align:center}.hero-facts strong{font-size:14px}.hero-facts>div:last-child{grid-column:1/-1}.hero-facts>div>span{display:block;margin-top:5px}.feature-panels{grid-template-columns:1fr;gap:20px}.feature h2,h2{font-size:33px}.steps{grid-template-columns:1fr}.steps li{padding-left:60px}.tour-grid{grid-template-columns:1fr}.card-photo img{height:235px}.review-card{flex-basis:90%}.gallery-track figure{flex-basis:90%}.gallery-track img{height:250px}.booking-panel{padding:20px}.feature-panel{padding:24px}.article-content .review-card{flex-basis:92%}.alternative h2{font-size:32px}.page-booking{padding:20px}.hero-disclosure{margin-top:16px}.page-banner h1{font-size:39px}.editorial-aside h2{font-size:34px}.editorial-body h3{font-size:27px}.footer-grid{gap:25px}}
@media(max-width:360px){.hero h1{font-size:43px}.wrap{width:calc(100% - 32px)}.hero .eyebrow{font-size:9px}.card-bottom{gap:10px}.card-price{font-size:19px}}
/* With scripts unavailable, navigation stays in normal flow and every link remains usable. */
html:not(.js) body{padding-top:0}html:not(.js) .site-header,html:not(.js) .home .site-header{position:relative}
