/* Sub-page layouts. Reuses tokens and classes from styles.css. */
.page{padding-top:84px}
.crumbs{max-width:1200px;margin:0 auto;padding:18px 40px 0;font-size:14px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.crumbs span{color:var(--ink)}
.page-hero{max-width:1200px;margin:0 auto;padding:40px 40px 20px}
.page-hero h1{font-family:'Chakra Petch',sans-serif;font-size:clamp(34px,5vw,64px);line-height:1.05;margin:12px 0 22px;letter-spacing:-.01em}
.page-hero .answer{font-size:clamp(17px,1.6vw,21px);line-height:1.55;max-width:820px;margin:0}
.page .section{max-width:1200px;margin:0 auto;padding:48px 40px}
.page .section h2{font-family:'Chakra Petch',sans-serif;font-size:clamp(26px,3vw,40px);line-height:1.1;margin:10px 0 18px}
.prose h2{margin-top:36px}
.prose p{max-width:760px;font-size:17px}
.prose a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
ul.plain{max-width:760px;padding-left:22px;font-size:17px}
ul.plain li{margin:8px 0}
.facts{background:var(--paper)}
.facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 40px;margin:0}
.facts dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.facts dd{margin:0;font-size:17px;font-weight:500}
.facts dd a{text-decoration:underline;text-underline-offset:3px}
.check-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 30px;font-size:17px}
.check-list li{position:relative;padding-left:28px}
.check-list li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:8px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}
.check-list.compact{grid-template-columns:1fr;gap:8px;font-size:15px;margin:16px 0 22px}
.related ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:14px}
.related a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);padding:12px 18px;font-weight:600}
.related a:hover{background:var(--ink);color:#fff}
.cta-sub{margin:14px 0 0;opacity:.85}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.button.ghost{background:transparent;border:1px solid #fff;color:#fff}
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.price-card{border:1px solid #dcdde1;padding:26px;display:flex;flex-direction:column;gap:12px;background:#fff}
.price-card.featured{border:2px solid var(--red)}
.price-card h3{margin:0}
.price{display:flex;flex-direction:column;gap:2px}
.price s{color:var(--muted);font-size:15px}
.price strong{font-family:'Chakra Petch',sans-serif;font-size:34px;line-height:1.1}
.price small{color:var(--muted)}
.price-card p{margin:0;flex:1}
.price-card .button{align-self:flex-start;margin-top:6px}
.price-card a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.fine{font-size:14px;color:var(--muted);margin-top:22px}
.fine a{text-decoration:underline;text-underline-offset:3px}
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.area-card{background:var(--paper);padding:22px}
.area-card h3{margin:0 0 6px;font-size:18px}
.area-card p{margin:0;color:var(--muted);font-size:15px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links .eyebrow{margin-bottom:6px}
.explore{padding:60px 40px}
.explore .cards-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.explore a{display:block;background:var(--paper);padding:22px;font-weight:600;border-left:3px solid var(--red)}
.explore a small{display:block;font-weight:400;color:var(--muted);margin-top:6px}
@media(max-width:760px){.page{padding-top:70px}.page-hero{padding-top:16px}.crumbs{padding-top:10px}.crumbs,.page-hero,.page .section,.explore{padding-left:20px;padding-right:20px}.page .section{padding-top:36px;padding-bottom:36px}}
/* enquiry form additions */
#tour-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}
#tour-form textarea{width:100%;font:inherit;padding:14px 16px;border:1px solid #c9cacf;background:#fff;resize:vertical;margin-top:8px}
#tour-form label small{font-weight:400;color:var(--muted)}
#enquiry-result{display:block;margin-top:14px;font-size:15px}
#enquiry-result.ok{color:#1a7f37}
#enquiry-result.err{color:var(--red)}
