/* Homepage-matched brand shell and uncompromised artwork — 22 October 2026 */
:root{--green:#004b35;--ink:#1a1c1b;--cream:#fbf8f2;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
body{background:#ede8df;color:var(--ink);font-family:var(--sans)}
.site{width:100%;max-width:1550px;margin:0 auto;background:var(--cream);overflow:hidden;box-shadow:0 8px 38px #19140a10}
/* Header and global nav use the identical homepage HTML across every page. */
.site .masthead{background:#fffcf7}
.site .site-nav{background:#fffefa}
/* Same footer treatment across every page, with an SVG review mark (not placeholder text). */
.site .footer{display:block;background:linear-gradient(105deg,#004432,#00513b 57%,#003b2c)}
.site .footer-inner{display:grid;grid-template-columns:1.08fr 1fr .84fr;align-items:center;max-width:1600px;margin:0 auto;min-height:92px}
.site .footer-inner>div{height:92px;display:flex;align-items:center;justify-content:center;min-width:0;padding:0 clamp(12px,2vw,30px)}
.site .footer-inner>div:first-child{padding-left:0;justify-content:flex-start;border-right:1px solid #ffffff50}
.site .footer-inner>div:nth-child(2){border-right:1px solid #ffffff50}
.site .footer-inner>div:last-child{padding-right:0;justify-content:flex-end}
.site .footer-bottom{max-width:1450px;margin:23px auto 0;padding-top:20px;border-top:1px solid #ffffff30;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:11px;color:#ffffffcf}
.site .footer-bottom nav{display:flex;gap:22px;align-items:center}
.site .footer-bottom a{color:#ffffffee;text-decoration:none}
.site .footer-bottom a:hover{text-decoration:underline}
.google-review-mark{display:block;width:clamp(40px,4.4vw,59px);height:auto;flex-shrink:0}
.site .footer-reviews{gap:14px;display:flex;flex-direction:row;align-items:center;justify-content:center}
.site .review-heading{color:white}
.site .review-stars{color:white}
.site .review-stars span{color:#fdb900}
/* Landing pages follow the homepage's editorial, italic Playfair heading language. */
.premium-detail .hero-copy h1,.premium-detail .section-heading h2,.premium-detail .split-copy h2,.premium-detail .bottom-cta h2,.premium-detail .booking-panel h2{font-family:var(--serif);font-style:italic;letter-spacing:-.064em}
.premium-detail .hero-copy{background:#fbf7f0}
.premium-detail .sub-hero{background:#fbf7f0}
.premium-detail .hero-photo{background:#e7ccad;isolation:isolate}
.premium-detail .hero-photo:before{background:linear-gradient(to right,#fbf7f0 0%,transparent 100%);width:6%}
.premium-detail .hero-photo img{object-fit:contain;object-position:center center;image-rendering:auto}
.premium-detail .rounded-image{object-fit:contain;background:#f2e4d4}
.premium-detail .card-photo{object-fit:contain;background:#f2e4d4;aspect-ratio:5/3}
.premium-detail .team-card img{object-fit:contain;object-position:center;height:330px;aspect-ratio:auto;background:#f5e7d7}
.premium-detail .info-card,.premium-detail .step-card,.premium-detail .team-card{box-shadow:0 6px 22px #42301b0b}
.premium-detail .section-heading{display:block;text-align:center;max-width:780px;margin:0 auto 37px}
.premium-detail .section-heading h2{margin:10px 0 15px;font-size:clamp(37px,4.25vw,63px);line-height:1.12}
.premium-detail .section-heading p{max-width:none;font-size:16px;line-height:1.75;margin:0;color:#655f59}
.premium-detail .hero-copy .eyebrow{color:var(--green)}
/* Preserve menu access on all devices; constrain to homepage's original section heights. */
.premium-detail .site-nav-mobile nav{min-width:0}
@media(max-width:1100px){.site .footer-inner{grid-template-columns:1fr 1fr;row-gap:19px}.site .footer-inner>div:first-child{border-right:1px solid #ffffff50}.site .footer-inner>div:nth-child(2){border-right:0}.site .footer-inner>div:last-child{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:15px;justify-content:center;height:auto}}
@media(max-width:700px){.site .footer-inner{display:flex;flex-direction:column;gap:0}.site .footer-inner>div{width:100%;min-height:0;height:auto;padding:15px 0!important;border-right:0!important;justify-content:center!important}.site .footer-inner>div:first-child{padding-top:0!important;border-bottom:1px solid #ffffff30}.site .footer-inner>div:nth-child(2){border-bottom:1px solid #ffffff30}.site .footer-inner>div:last-child{grid-column:auto;border-top:0;padding-bottom:0!important}.site .footer-bottom{flex-direction:column;text-align:center;gap:13px}.site .footer-bottom nav{justify-content:center;flex-wrap:wrap}.premium-detail .hero-photo{min-height:290px}.premium-detail .hero-photo img{object-fit:contain}.premium-detail .team-card img{height:270px}}
@media(max-width:420px){.premium-detail .hero-photo{min-height:260px}.premium-detail .team-card img{height:235px}.site .footer-wordmark-image{max-width:none}}

/* Same page links, text rhythm and spacing in the footer on every page. */
.site .footer-site-links{max-width:1450px;margin:28px auto 0;border-top:1px solid #ffffff38;padding:18px 0 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px clamp(16px,2vw,29px)}
.site .footer-site-links a{color:#f6f3ed;text-decoration:none;font:700 11px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.035em;padding:5px 0;border-bottom:1px solid transparent}
.site .footer-site-links a:hover,.site .footer-site-links a[aria-current=page]{border-bottom-color:#f6f3ed}
.site .footer-site-links a:focus-visible{outline:2px solid #ffda92;outline-offset:4px}
.site .footer-bottom{margin-top:14px}
@media(max-width:700px){.site .footer-site-links{justify-content:center;gap:9px 18px;margin-top:22px;padding-top:16px}.site .footer-site-links a{font-size:11px}.site .footer-bottom{margin-top:10px}}
