/* Visitor information refinement. Scoped to these pages; no catalogue styles. */
.seasonal-notice{background:#eee6d5;border-bottom:1px solid #d3c8ad;color:#173b31;position:relative;z-index:1}
.seasonal-notice-inner{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-block:18px}
.seasonal-notice strong{display:block;font-size:16px;font-weight:600;line-height:1.4}
.seasonal-notice p{font-size:14px;line-height:1.65;margin:5px 0 0;max-width:850px}
.seasonal-notice a{flex-shrink:0;display:inline-flex;align-items:center;gap:20px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;padding-block:10px}
.practical-heading{padding-block:35px 30px;background:var(--cream);border-bottom:1px solid #d6d5c5}
.practical-heading .breadcrumbs{margin-bottom:19px;font-size:13px}
.practical-heading h1{font:400 clamp(43px,4.6vw,64px)/1.08 var(--display);letter-spacing:-.035em;margin:0 0 17px;color:var(--ink)}
.practical-heading .lead{font-size:18px;line-height:1.7;max-width:790px;margin:0;color:#496052}
.design-edition .practical-content{padding-block:38px 65px}
.design-edition .practical-layout{grid-template-columns:1.08fr 1fr;gap:70px}
.design-edition .practical-detail h2,.design-edition .contact-location h2{font-size:34px;line-height:1.15;margin-bottom:20px}
.practical-photo{margin:30px 0 0;padding:0;position:relative}
.practical-photo .photo-window{aspect-ratio:1.5;max-height:320px;clip-path:polygon(0 0,95% 0,100% 10%,100% 100%,0 100%);background:#d6d6c1}
.practical-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--subject-focus,50% 40%)}
.practical-photo figcaption{font-size:12px;line-height:1.5;color:var(--muted);padding-top:12px;display:flex;justify-content:space-between;gap:20px}
.practical-photo figcaption>span:last-child{display:none}
.practical-detail>.practical-photo:first-child{margin-top:0}
.design-edition .practical-primary .price-table th,.design-edition .practical-primary .price-table td{padding-block:17px}
.design-edition .practical-primary .price-table caption{padding-bottom:16px}
.design-edition .practical-primary .hours-panel{padding:30px}
.design-edition .practical-primary .hours-panel p{color:#e2e8da;font-size:17px}
.design-edition .practical-primary .hours-panel .eyebrow{color:var(--gold);font-size:12px}
.design-edition .practical-primary .hours-panel .small-print{font-size:14px}
.design-edition .practical-primary .hours-panel a{color:var(--gold)}
.design-edition .practical-primary .hours-panel dt{font-size:15px}
.design-edition .practical-primary .hours-panel dd{font-size:26px}
.practical-primary .contact-method:first-child{padding-top:0}
.practical-primary .contact-method a{overflow-wrap:anywhere}
.contact-location{margin-top:32px}
.design-edition .contact-location .large-address{font-size:18px;line-height:1.8}
/* The scroll padding already accounts for the sticky navigation. */
.design-edition #booking{scroll-margin-top:18px}
.design-edition #booking .booking-intro{margin-bottom:32px}
.design-edition #booking .booking-intro h2{font-size:clamp(37px,4vw,56px)}
@media(max-width:950px){
 .design-edition .practical-layout{gap:38px}
 .design-edition .practical-primary .hours-panel{padding:26px}
 .design-edition .practical-primary .hours-panel dl>div{gap:14px}
 .design-edition .practical-primary .hours-panel dd{font-size:23px}
 .seasonal-notice-inner{gap:24px}
}
@media(max-width:760px){
 .design-edition .practical-layout{grid-template-columns:1fr;gap:35px}
 .practical-heading{padding-block:25px}
 .practical-heading .lead{font-size:17px;line-height:1.65}
 .design-edition .practical-content{padding-block:27px 48px}
 .practical-photo .photo-window{max-height:360px}
 .seasonal-notice-inner{display:block;padding-block:16px}
 .seasonal-notice p{font-size:14px;line-height:1.65}
 .seasonal-notice a{margin-top:2px;padding-block:8px}
 .design-edition .practical-primary .hours-panel{padding:27px}
 .design-edition .practical-primary .hours-panel dl>div{padding-block:16px}
 .design-edition .practical-primary .hours-panel dd{font-size:25px}
 .design-edition .practical-primary .hours-panel dt{font-size:14px}
 .design-edition .practical-primary .hours-panel .show-season{margin-bottom:14px}
 .design-edition .practical-primary .show-times{margin-block:18px;padding-block:20px}
}
@media(max-width:650px){
 .practical-heading h1{font-size:43px;margin-bottom:13px}
 .practical-heading .breadcrumbs{margin-bottom:15px;font-size:12px}
 .design-edition .practical-detail h2,.design-edition .contact-location h2{font-size:32px}
 .design-edition .practical-primary .price-table caption{font-size:13px}
 .design-edition .practical-primary .price-table th,.design-edition .practical-primary .price-table td{padding-block:15px}
 .design-edition .practical-primary .price-table td:last-child{font-size:28px}
 .design-edition .practical-primary .contact-method a{font-size:clamp(27px,8vw,34px)}
 .design-edition .welcome{padding-block:58px 70px}
 .design-edition .welcome-grid{gap:37px}
 .design-edition .discover{padding-block:58px 62px}
 .design-edition .section-heading{margin-bottom:34px}
 .design-edition .encounter-grid{gap:37px}
 .design-edition .encounter-image{height:310px;margin-bottom:20px}
 .design-edition .learning{padding-block:65px 60px}
 .design-edition .learning-grid{gap:42px}
 .design-edition .visitor-words{padding-block:55px}
 .design-edition .stories-grid{gap:32px}
 .design-edition .hero-media{height:330px}
 .design-edition .hero-inner{padding-block:30px 38px}
 .design-edition .hero-description{line-height:1.65}
 .design-edition .hero-location{margin-top:19px}
 .design-edition .gift-section{min-height:710px}
 .design-edition .gift-copy{padding-top:270px;padding-bottom:38px}
 .design-edition .visit-links a{padding-block:19px!important;font-size:20px}
 .design-edition .visit-links small{margin-bottom:4px}
}
@media(max-width:360px){
 .practical-heading h1{font-size:39px}
 .design-edition .practical-primary .hours-panel{padding:24px}
 .design-edition .practical-primary .hours-panel dd{font-size:23px}
 .design-edition .practical-primary .hours-panel dt{font-size:13px}
 .design-edition .encounter-image{height:290px}
}
/* Keep the prices-page portrait complete, without the landscape crop or zoom. */
.design-edition.page-prices .practical-photo{max-width:340px}
.design-edition.page-prices .practical-photo .photo-window{aspect-ratio:auto;max-height:none;clip-path:none}
.design-edition.page-prices .practical-photo img{display:block;width:100%;height:auto;object-fit:contain;animation:none;transform:none;will-change:auto}
@media print{.seasonal-notice-inner{display:block}.practical-heading{padding-block:20px}.practical-photo{max-width:380px}}
