/* Attraction and blog pages (uses the tokens and header/footer from styles.css) */
.page{padding:0 7% 40px}
.page-head{max-width:860px;padding:34px 0 22px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--muted);margin-bottom:22px}
.crumbs a{border-bottom:1px solid var(--line)}
.crumbs a:hover{color:var(--wine)}
.page h1{font-size:clamp(2.4rem,5vw,4.2rem);letter-spacing:-.04em;margin:8px 0 18px}
.page-lead{font:400 1.25rem/1.55 var(--serif);color:var(--ink);max-width:760px}
.page-hero{margin:8px 0 0;border-radius:0 120px 0 0;overflow:hidden;max-height:480px}
.page-hero img{width:100%;height:480px;object-fit:cover}
.page-hero.art{max-width:980px;max-height:none;border-radius:0 120px 0 0}
.page-hero.art img{height:auto}
.page-hero.art figcaption{font-size:.75rem;color:var(--muted);padding-top:8px;background:var(--cream)}
.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 10px;background:var(--wine);color:var(--cream)}
.fact-strip div{padding:18px 22px;border-right:1px solid rgba(255,255,255,.15)}
.fact-strip div:last-child{border-right:0}
.fact-strip dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.fact-strip dd{margin:4px 0 0;font:400 1.15rem var(--serif)}
.page-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:7%;padding:40px 0 30px}
.prose{max-width:720px;font-size:1.05rem}
.prose h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:38px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 14px}
.prose p+p{margin-top:0}
.prose a:not(.button){border-bottom:1px solid currentColor;color:#865436}
.prose ul{padding-left:20px;margin:0 0 14px}
.prose li{margin-bottom:10px}
.prose .button{margin-top:14px}
.times{width:100%;border-collapse:collapse;margin:6px 0 16px;font-size:.95rem}
.times th,.times td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.times th{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.times td:first-child{white-space:nowrap;font-weight:600}
.checked{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:26px!important}
.side{align-self:start;position:sticky;top:20px}
.side .eyebrow{margin:0 0 10px;color:var(--muted)}
.side-links{list-style:none;padding:0;margin:0 0 28px}
.side-links li{border-top:1px solid var(--line)}
.side-links a{display:block;padding:11px 0;font-size:.95rem}
.side-links a:hover{color:#865436}
.stay-cta{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center;background:#eee8dd;padding:44px;margin:20px 0 50px}
.stay-cta h2{font-size:clamp(2rem,3.5vw,3rem);margin:6px 0 14px}
.stay-cta p{max-width:520px}
.stay-cta img{width:100%;height:300px;object-fit:cover;border-radius:120px 0 0 0}
.cta-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:22px}
.cta-buttons .underlined{margin-top:0}
.related h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 22px}
.page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.page-grid.wide{margin:16px 0 50px}
.page-card{display:flex;flex-direction:column;gap:8px;background:var(--cream);border-top:3px solid #ad7951;padding:0 22px 22px;transition:transform .2s}
.page-card:hover{transform:translateY(-3px)}
.page-card:hover .page-card-more{color:#865436}
.page-card-photo{display:block;aspect-ratio:4/3;overflow:hidden;margin:0 -22px 10px}
.page-card-photo img{width:100%;height:100%;object-fit:cover}
.page-card .eyebrow{color:var(--muted);margin:0;text-transform:uppercase;font-size:.7rem}
.page-card-title{font:400 1.45rem/1.25 var(--serif)}
.page-card-text{font-size:.92rem;color:var(--muted)}
.page-card-more{font-size:.85rem;font-weight:600;margin-top:auto;padding-top:6px}
.page-grid.wide .page-card{background:#fff}
@media(max-width:900px){.page-body{grid-template-columns:1fr}.side{position:static}.stay-cta{grid-template-columns:1fr;padding:30px}.page-grid{grid-template-columns:1fr 1fr}.fact-strip{grid-template-columns:1fr 1fr}.fact-strip div:nth-child(2){border-right:0}.fact-strip div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}}
@media(max-width:720px){.page{padding:0 6% 30px}.page-head{padding:20px 0 16px}.page-lead{font-size:1.1rem}.page-hero{border-radius:0 70px 0 0}.page-hero img{height:260px}.page-hero.art img{height:auto}.fact-strip div{padding:14px 16px}.fact-strip dd{font-size:1rem}.page-body{padding:28px 0 10px}.prose{font-size:1rem}.page-grid{grid-template-columns:1fr}.stay-cta{margin:10px -6% 40px;padding:28px 6%}.stay-cta img{height:200px;border-radius:80px 0 0 0}}
