/* Launch refinements: original brand palette and typography retained. */
picture.responsive-photo{display:block;width:100%;height:100%}
picture.responsive-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hero>picture.responsive-photo{position:absolute;inset:0}
.winter-card-photo picture{transition:transform .5s}.winter-card-photo:hover picture{transform:scale(1.025)}
.winter-page-hero figure{position:relative}.winter-nye-feature figure picture{height:100%}
.breadcrumbs{padding:18px 5.8% 0;font-size:11px;color:var(--ink)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.breadcrumbs li:not(:last-child)::after{content:' /';margin-left:8px;color:var(--gray)}
.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs li[aria-current]{color:var(--brand-blue)}
.room-gallery-section{padding-top:0}.gallery-context{max-width:770px;font-size:13px;margin:22px 0 32px}
.room-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.room-gallery figure{margin:0;min-width:0}.room-gallery .gallery-button{height:auto;aspect-ratio:4/3}
.room-gallery figcaption{font-size:11px;line-height:1.6;margin-top:12px}
.gallery-dialog .icon-button{font-size:28px;z-index:1}.gallery-dialog::backdrop{background:rgba(25,30,27,.8)}
.winter-hours>.text-link{margin-top:18px;line-height:1.6}
.faq-list{max-width:1050px;margin:auto;padding-top:0}
.faq-list details{border-top:1px solid var(--line);padding:25px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{font-family:var(--heading-font);font-size:24px;line-height:1.4;cursor:pointer;padding-right:18px}
.faq-list details p{font-size:15px;margin:20px 0 0;max-width:800px}
.form-honeypot{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-foot a{text-decoration:underline}.form-status[data-error=true]{color:#a0152c}
button:disabled{cursor:wait;opacity:.65}.form-status:empty{display:none}
.privacy-settings{font:inherit;color:inherit;background:transparent;border:0;padding:0;text-decoration:underline;cursor:pointer}
.analytics-consent{position:fixed;z-index:70;left:24px;bottom:24px;width:min(600px,calc(100vw - 48px));padding:25px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 35px #0002}
.analytics-consent strong{font-family:var(--heading-font);font-size:24px;font-weight:400}.analytics-consent p{font-size:13px;line-height:1.7;margin:12px 0 20px}
.consent-actions{display:flex;gap:12px;flex-wrap:wrap}.consent-actions button{font-size:11px;padding:13px 18px;min-height:44px}
.mobile-booking{display:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-blue);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.room-gallery{grid-template-columns:1fr 1fr}.winter-home-hero h1{max-width:85vw}}
@media(max-width:700px){body{padding-bottom:76px}.breadcrumbs{padding:18px 25px 0;font-size:10px}.room-gallery{grid-template-columns:1fr;gap:28px}.room-gallery-section{padding-top:0}.room-gallery .gallery-button{aspect-ratio:4/3}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;align-items:center;justify-content:space-between;gap:20px;padding:12px 25px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 20px #0001}.mobile-booking>a:first-child{font-size:12px}.mobile-booking .button{padding:13px 19px;font-size:11px}.analytics-consent{left:12px;bottom:87px;width:calc(100vw - 24px);padding:20px;max-height:65dvh;overflow:auto}.analytics-consent strong{font-size:22px}.analytics-consent p{font-size:12px}.consent-actions{gap:10px}.consent-actions button{flex:1;padding:12px 8px}.faq-list summary{font-size:22px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:16px}.winter-page-title h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{body{padding-bottom:0}.mobile-booking,.analytics-consent,.breadcrumbs,.privacy-settings{display:none!important}.room-gallery{grid-template-columns:1fr 1fr}}

/* Screen readability, October 2026. Keep the brand fonts and printed menus intact. */
@media screen {
  :root{--reading-size:18px;--content-gutter:max(5.8%,calc((100% - 1440px)/2))}
  body{font-size:var(--reading-size)}
  p{line-height:1.65}
  .section-wrap{padding-inline:var(--content-gutter)}
  .winter-page-hero,.winter-contact-block,.winter-footer,.gather-band{padding-inline:var(--content-gutter)}
  .winter-plan-bar{margin-inline:var(--content-gutter)}
  .breadcrumbs{padding-inline:var(--content-gutter);font-size:14px;line-height:1.6}

  /* Supporting copy should be as comfortable to read as the headlines. */
  .winter-intro p,.winter-section-heading>p,.winter-card-copy p,.winter-note p,
  .winter-nye-feature p,.winter-cta>p,.winter-page-title>p,.winter-detail-columns p,
  .venue-card p,.winter-hours p,.winter-wide-note p,.winter-activity p,
  .winter-contact-block>div p,.winter-menu-heading>p,.amenity-table p,
  .winter-event-card p,.winter-ticket>p,.activity-guide-grid p,.gather-band p,
  .legal-copy p,.legal-copy li,.faq-list details p,.gallery-context,
  .winter-archive-notice{font-size:var(--reading-size);line-height:1.65}
  .winter-section-heading>p,.winter-detail-columns p,.winter-wide-note p,
  .legal-copy p,.legal-copy li,.faq-list details p,.gallery-context{max-width:65ch}
  .winter-page-title>p{max-width:48ch}
  .winter-card-copy p{max-width:48ch}
  .winter-card-copy h3{font-size:32px;line-height:1.2}
  .winter-note>strong{font-size:27px;line-height:1.25}
  .gather-band p{max-width:40ch}

  .eyebrow,.winter-section-heading .eyebrow,.winter-card-copy .eyebrow,
  .winter-nye-feature .eyebrow,.winter-cta>.eyebrow,.winter-page-title>.eyebrow,
  .venue-card>.eyebrow,.winter-hours>.eyebrow,.winter-ticket>.eyebrow,
  .winter-activity .eyebrow,.winter-menu-heading>.eyebrow,.gather-band>.eyebrow,
  .winter-plan-bar .eyebrow,.winter-home-hero .hero-topline .eyebrow{
    font-size:13px;line-height:1.6;letter-spacing:1.5px
  }
  .announcement{height:auto;min-height:38px;padding-block:8px;font-size:13px;line-height:1.5}
  .announcement-season{font-size:12px;letter-spacing:1px}
  .desktop-nav{gap:clamp(20px,2vw,32px)}
  .desktop-nav a{font-size:16px}
  .mobile-nav a{font-size:20px;padding-block:5px}
  .button,.button-outline,.text-link,
  :is(main,.site-header,.mobile-booking,.analytics-consent) :is(.button,.button-outline,.text-link){
    font-size:16px;line-height:1.4;min-height:48px
  }
  .text-link{display:inline-flex;align-items:center}
  .site-header .header-book{padding:15px 21px;gap:18px}
  .winter-plan-bar p{font-size:26px;line-height:1.3}
  .winter-plan-bar>.button{min-width:220px}
  .winter-home-hero .hero-content p{font-size:20px;line-height:1.5}
  .hero-coordinate{font-size:13px;line-height:1.6}
  .hero-explore{font-size:16px;line-height:1.5;gap:24px}
  .hero-bottomline{font-size:12px;line-height:1.5;letter-spacing:1.2px}
  .winter-hero-caption{font-size:13px;line-height:1.6;margin-inline:var(--content-gutter)}

  /* The responsive picture must fill the grid cell, not determine its height. */
  .winter-nye-feature figure{min-height:660px;overflow:hidden}
  .winter-nye-feature figure picture{position:absolute;inset:0}
  .winter-nye-feature figure picture img{object-position:center 56%}
  .winter-nye-feature>div{padding:64px clamp(36px,5vw,100px);align-self:center}
  .winter-nye-feature p{max-width:48ch}
  .winter-price{flex-wrap:wrap;gap:16px 24px}
  .winter-price>span{font-size:52px}
  .winter-price small{font-size:15px;line-height:1.5;max-width:180px}

  .status,.venue-card>.status{font-size:14px}
  .hours-list>div,.winter-hours .hours-list>div,.winter-ticket .hours-list>div,
  .feature-list>li,.activity-meta{font-size:16px;line-height:1.6}
  .activity-number,.activity-guide-grid strong{font-size:15px}
  .winter-card-copy small,.winter-wide-note small,.winter-gallery figcaption,
  .room-gallery figcaption,.gallery-dialog>p{font-size:14px;line-height:1.6}
  .winter-page-hero figcaption,.winter-nye-feature figcaption{
    font-size:13px;line-height:1.5;left:0;right:0;bottom:0;padding:28px 24px 18px;
    background:linear-gradient(transparent,rgba(0,0,0,.65));text-shadow:0 1px 3px #000
  }
  .small-copy,.venue-spec{font-size:14px!important;line-height:1.65!important}
  .form-status{font-size:15px!important;line-height:1.6!important}
  .season-closed-note{font-size:15px;line-height:1.6}

  .inquiry-form label{font-size:16px;line-height:1.5}
  .inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:17px;line-height:1.5;min-height:52px}
  .form-foot>p{font-size:14px;line-height:1.6;max-width:42ch}
  .menu-item h3{font-size:24px;line-height:1.3}
  .menu-item p{font-size:17px;line-height:1.6}
  .menu-item>span{font-size:19px}
  .menu-notes p,.menu-endnote p{font-size:15px;line-height:1.65}
  .faq-list summary{font-size:27px}
  .analytics-consent p{font-size:16px;line-height:1.6}
  .consent-actions button{font-size:15px;min-height:48px}

  .winter-footer address{font-size:16px;line-height:1.75}
  .winter-footer-links h3{font-size:20px}
  .winter-footer-links a{font-size:16px;line-height:1.6;padding-block:3px}
  .winter-footer .footer-bottom,.winter-footer .footer-bottom>span:last-child{font-size:13px;line-height:1.6}
  .winter-footer .footer-bottom{flex-wrap:wrap;gap:22px}
  .winter-footer .footer-bottom>div{flex-wrap:wrap;gap:16px 26px}
}
@media screen and (max-width:1200px) {
  .desktop-nav{display:none}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:0;border-radius:0;width:44px;height:44px;flex-shrink:0}
  .menu-toggle span{width:24px;height:1px;background:var(--ink)}
  .winter-plan-bar{gap:24px;flex-wrap:wrap}
  .winter-plan-bar>div{max-width:none;flex-basis:100%}
  .winter-plan-bar>.button{margin-left:auto}
}
@media screen and (max-width:950px) {
  .winter-activity{grid-template-columns:25px minmax(0,1fr)}
  .activity-action{grid-column:2}
  .winter-nye-feature{grid-template-columns:1fr 1fr}
  .winter-nye-feature figure{min-height:640px}
  .winter-nye-feature>div{padding:48px 32px}
  .winter-footer-intro{flex-wrap:wrap;gap:28px 6%}
}
@media screen and (max-width:700px) {
  :root{--reading-size:17px;--content-gutter:25px}
  .announcement{font-size:12px;flex-wrap:wrap;min-height:36px;padding:7px 15px;text-align:center}
  .announcement-season{font-size:11px}
  .site-header{padding-inline:20px;gap:8px}
  .site-header .header-book{font-size:14px;padding:12px 13px;gap:10px;min-height:46px}
  .site-header .nav-actions{gap:8px}
  .site-header .wordmark{flex-shrink:0}
  .winter-home-hero .hero-content p{font-size:18px;line-height:1.5}
  .winter-home-hero .hero-topline .eyebrow{font-size:12px;letter-spacing:1px}
  .hero-bottomline{font-size:11px;letter-spacing:.8px;gap:20px;align-items:flex-end}
  .hero-bottomline>span:first-child{max-width:155px}
  .hero-bottomline>span:last-child{text-align:right;max-width:85px}
  .winter-plan-bar{grid-template-columns:1fr;gap:18px}
  .winter-plan-bar p{font-size:25px}
  .winter-plan-bar>.button{margin-left:0;min-width:0}
  .winter-plan-bar>.text-link{min-height:44px}
  .winter-card-copy h3{font-size:31px}
  .winter-card-copy p{max-width:none}
  .winter-nye-feature{grid-template-columns:1fr}
  .winter-nye-feature figure{height:420px;min-height:0}
  .winter-nye-feature>div{padding:42px 25px 50px}
  .winter-nye-feature figcaption,.winter-page-hero figcaption{font-size:12px;padding:28px 20px 16px}
  .winter-page-hero figure{height:360px}
  .winter-price>span{font-size:48px}
  .winter-footer address{margin-left:0}
  .winter-footer-links{column-gap:24px}
  .winter-footer-links h3{font-size:19px}
  .winter-footer-links a{font-size:15px}
  .faq-list summary{font-size:24px}
  .mobile-booking{gap:12px;padding-inline:20px}
  .mobile-booking>a:first-child{font-size:15px}
  .mobile-booking .button{font-size:15px;padding:13px 18px;gap:14px;white-space:nowrap}
  .mobile-booking>a:first-child{white-space:nowrap}
}
@media screen and (max-width:380px) {
  .site-header{padding-inline:15px;gap:4px}
  .site-header .wordmark{width:112px;padding:8px;margin-left:-8px}
  .site-header .brand-logo{width:96px;min-width:96px}
  .site-header .header-book{padding-inline:10px;gap:8px}
  .site-header .header-book svg{display:none}
  .site-header .nav-actions{gap:4px}
  .winter-home-hero .hero-content{left:20px;right:20px}
  .winter-home-hero .hero-topline{left:20px;right:20px}
  .winter-home-hero .hero-content p{font-size:17px}
  .hours-list>div{grid-template-columns:1fr;gap:5px}
  .winter-footer-links{grid-template-columns:1fr}
  .mobile-booking{padding-inline:15px}
}
