/* Rambler — record sleeves, live photography and the colours of the printed menus. */
@font-face{font-family:Fraunces;src:url('fonts/fraunces-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--display:Fraunces,Georgia,serif;--body:'DM Sans',Arial,sans-serif;--paper:#faf3e7;--cream:#efe2ca;--ink:#2b2023;--dark:#231b1d;--red:#b93231;--teal:#245653;--yellow:#efbf65;--line:#cdbcaa;--title-page:clamp(44px,6.7vw,100px);--title-section:clamp(38px,4.6vw,68px);--title-sub:clamp(23px,2.2vw,32px);--ease:cubic-bezier(.2,.7,.2,1)}
body{font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.info-card h3,.hero h1,.hero-banner+h1,.page-hero h1,.story-copy h2,.feature-grid h2,.split-intro h2,.sport-copy h2,.summer-story h2,.summer-hero h1,.summer-section-heading h2,.summer-discover h2,.season-summer.page-visit .page-hero h1,.season-summer.page-visit .visit-panel h2,.season-summer.page-visit .faq-grid h2{font-family:var(--display);font-weight:700;letter-spacing:-.055em;line-height:1.02;text-transform:none;text-wrap:balance}
h1,.hero h1,.page-hero h1,.season-summer .page-hero h1,.season-summer.page-visit .page-hero h1{font-size:var(--title-page)}
h2,.story-copy h2,.feature-grid h2,.summer-story h2,.split-intro h2,.sport-copy h2,.summer-section-heading h2,.summer-discover h2{font-size:var(--title-section)}
p{line-height:1.65}p.eyebrow,.story-copy p.eyebrow,.dark-section p.eyebrow{font-family:var(--body);font-size:11px;letter-spacing:.17em;line-height:1.5;font-weight:700;margin-bottom:20px}
.shell{width:min(calc(100% - 96px),1400px)}
.section{padding:clamp(68px,7.2vw,110px) 0}
::selection{background:var(--yellow);color:var(--dark)}
.site-header{position:sticky;top:0;background:var(--paper);z-index:20;border-bottom:1px solid var(--line)}
.header-inner{min-height:84px;gap:26px}.brand{font-size:18px;letter-spacing:.08em}.brand img{width:52px;height:52px}.brand small{font-size:8px}
.desktop-nav{gap:26px}.desktop-nav a,.header-actions a{font-size:11px;letter-spacing:.09em}
.header-call{border-radius:3px;background:var(--ink);color:var(--paper);padding:12px 18px}.header-call:hover{background:var(--red)}
.lang{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
.season-bar{background:var(--dark);color:var(--paper);border:0}.season-inner{padding:7px 0;justify-content:flex-end}.season-inner nav{gap:4px}.season-inner a{min-height:32px;padding:5px 18px;font-size:11px;border:1px solid transparent}
.season-inner a[aria-current]{background:var(--yellow);color:var(--dark)}.season-inner a:not([aria-current]):hover{background:transparent;border-color:var(--paper);color:var(--paper)}
.button{min-width:180px;min-height:52px;padding:15px 22px;border-radius:3px;font-size:11px;letter-spacing:.08em;transition:background .25s,transform .3s var(--ease),box-shadow .3s}
.button .link-arrow,.header-call .link-arrow{font-size:20px}.button.primary{background:var(--yellow);border-color:var(--yellow)}
.text-link{padding:14px 0 12px;gap:36px;font-size:11px;letter-spacing:.08em;border-bottom:1px solid currentColor;line-height:1.45}.text-link .link-arrow{font-size:21px;margin-left:auto}
.text-link:hover,.desktop-nav a:hover{text-decoration:none}.button:hover,.header-call:hover{box-shadow:0 8px 25px #00000014;transform:translateY(-2px)}
.hero{position:relative;background:var(--dark)}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:4vw;min-height:740px}.hero-copy{padding:58px 0 52px}.hero-banner{width:min(90%,360px);margin:0 0 36px;filter:drop-shadow(5px 7px 0 var(--red))}
.hero-banner+h1{font-size:clamp(43px,4.6vw,68px);line-height:1.05;margin:0 0 24px}.hero-lead{max-width:510px;font-size:16px;line-height:1.75;color:#e8dccc}.hero-copy>.eyebrow{font-size:10px;letter-spacing:.1em}
.hero-art{padding:0;margin-right:calc(-1 * max(48px,(100vw - 1400px)/2));min-height:100%;align-self:stretch}.hero-art:before{display:none}.hero-art picture{height:100%;display:block}.hero-art picture img{height:100%;max-height:none;object-fit:cover;object-position:50% 50%;filter:none}
.hero-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#231b1d26,transparent 25%)}
.hero-facts{gap:25px;margin-top:30px;padding-top:18px;border-top:1px solid #ffffff30}.hero-facts b{font-size:12px}.hero-facts small{font-size:11px;color:#dfd0bd}
.intro-band{border:0}.intro-points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;padding:22px 0;font-family:var(--body);font-size:12px;font-weight:700;gap:0;letter-spacing:.12em}.intro-points li{position:relative;justify-content:center;gap:0}.intro-points li+li:before{content:'✳';position:absolute;left:0;font-size:20px;transform:translateX(-50%);color:var(--red)}
.experience-links{gap:30px;padding:20px 0 26px;border-bottom:1px solid var(--line)}.experience-links a{border:0;padding:14px 0;font-size:12px;letter-spacing:.03em;background:none;justify-content:space-between}.experience-links a:hover{background:none;transform:none;color:var(--red)}
.page-hero,.season-summer .page-hero,.season-summer.page-visit .page-hero{padding:clamp(64px,7vw,105px) 0;border-bottom:0;isolation:isolate}
.page-hero:after{display:block;z-index:-1;top:-170px;right:-100px;width:650px;height:650px;border:0;box-shadow:none;border-radius:50%;opacity:.16;background:repeating-radial-gradient(circle,transparent 0 23px,#eacb9a 24px,transparent 25px 30px)}
.page-lead{font-size:18px;max-width:750px;line-height:1.65;margin-top:30px}.page-hero .spark{font-size:23px}
.feature-grid{grid-template-columns:1.2fr 1fr;gap:7vw}.feature-grid .photo,.feature-grid .photo picture{height:auto}.feature-grid .photo img{height:580px;max-height:none;object-fit:cover}
.story-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.25fr);gap:6vw}.story-copy p:not(.eyebrow){font-size:17px;line-height:1.75;max-width:480px}.story-copy h2{margin-bottom:28px}
.photo{background:none;overflow:hidden}.photo picture{display:block}.photo img{transition:transform .75s var(--ease)}
.live-gallery.editorial-gallery{gap:14px}.live-gallery .photo img{object-fit:contain;height:auto;max-height:none;aspect-ratio:auto}
.sport-feature{background:var(--dark)}.sport-feature .story-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr)}.sport-copy p{color:#e6d7c7}.sport-copy .eyebrow{color:var(--yellow)}
.sport-gallery.editorial-gallery{gap:14px}.sport-gallery .photo img{height:auto;max-height:none}.counter-story{grid-template-columns:1fr 1fr}.counter-guinness{width:min(100%,500px);justify-self:end}
.split-intro{gap:7vw;align-items:center;grid-template-columns:1fr 1fr}.occasion-lead{font-size:17px;max-width:490px}.info-card{border:0;background:var(--paper);box-shadow:none;padding:40px;position:relative;border-top:5px solid var(--red)}.info-card h3{font-size:32px}.info-card .card-symbol{display:none}.info-card p{font-size:16px}.home-event-image{margin:-40px -40px 30px;height:270px}
.cards-grid{gap:24px}.tile{padding:40px 44px;min-height:320px;overflow:hidden;border:0;border-radius:3px}.tile:after{content:'';position:absolute;width:330px;height:330px;right:-180px;top:-100px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 16px,#ffffff25 17px,transparent 18px 23px);pointer-events:none}.tile h3,.tile-drinks h3{font-size:clamp(32px,3.5vw,50px);line-height:1.08;text-transform:none;position:relative;z-index:1}.tile span{font-family:var(--body)}.tile h3 .tile-question{font-size:22px;letter-spacing:-.02em}.tile b{border:1px solid #ffffff80;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:24px}
/* Summer colours sampled from the full printed menu: lemon, lawn, coral and turquoise. */
.season-summer{--paper:#fff8e9;--cream:#f0e4cc;--ink:#292322;--dark:#292322;--red:#c43830;--teal:#277c80;--yellow:#f5d21b;--green:#71b747;--line:#d0c2a6;background:var(--paper)}
.season-summer .season-inner a[aria-current]{background:var(--green);color:#18220f}.season-summer .season-bar{background:var(--dark)}
.summer-hero{position:relative;isolation:isolate;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--yellow);overflow:hidden;align-items:stretch}
.summer-hero-copy.shell{width:auto;padding:64px 4vw 62px max(48px,calc((100vw - 1400px)/2));margin:0;align-self:center;position:relative;z-index:2}
.summer-hero:before{content:'';position:absolute;z-index:-1;width:800px;height:800px;left:-430px;bottom:-660px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 27px,#29232240 28px,transparent 29px 34px)}
.summer-hero h1{font-size:clamp(50px,6.5vw,96px);margin-bottom:30px;line-height:1.01}.summer-hero-copy>p:not(.eyebrow){font-size:17px;max-width:530px;line-height:1.75}.summer-hero-copy>.eyebrow{font-size:10px;letter-spacing:.13em;max-width:390px}
.summer-hero .button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.summer-hero .button.primary:hover{background:var(--red);border-color:var(--red)}
.summer-hero-photo{min-height:680px;position:relative}.summer-hero-photo picture{height:100%;display:block}.summer-hero-photo img{height:100%;min-height:680px;object-fit:cover;object-position:50% 55%}
.summer-rhythm.shell{width:100%;background:var(--green);border:0;padding:22px max(48px,calc((100vw - 1400px)/2));font-size:12px;letter-spacing:.04em;font-weight:700;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,48px);text-align:center}.summer-rhythm b{color:var(--ink);font:900 24px/1 Arial,sans-serif;transform:translateY(2px)}
.season-summer .page-hero,.season-summer.page-visit .page-hero{background:var(--yellow);color:var(--ink)}.season-summer .page-hero:after{display:block;opacity:.16;z-index:-1;background:repeating-radial-gradient(circle,transparent 0 23px,#292322 24px,transparent 25px 30px)}.season-summer .page-lead,.season-summer.page-visit .page-lead{color:var(--ink)}.season-summer .spark{color:var(--ink)}
.summer-story{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:6vw;align-items:center}.summer-story.reverse{grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr)}
.summer-story .photo{width:100%;max-width:none;justify-self:stretch}.summer-story .photo picture{width:100%;height:auto}.summer-story .photo img{width:100%;height:auto;max-height:none;object-fit:cover;aspect-ratio:1/1;object-position:center}
.summer-terrace .photo img{aspect-ratio:1/1;object-position:45% center}.summer-music .photo img{aspect-ratio:4/5;object-position:center}.summer-music{background:var(--green);color:var(--ink);position:relative}.summer-music .summer-time{color:var(--ink);padding-top:16px;border-top:1px solid #29232240}.summer-music .text-link:hover{color:#292322}
.summer-games{background:var(--paper)}.summer-section-heading{max-width:850px;margin-bottom:50px}.summer-games-grid{gap:40px}.summer-games-grid .photo img{aspect-ratio:1.1/1;object-fit:cover;max-height:none}.summer-games-grid h3{font-size:34px;margin-top:26px}.summer-games-grid article{border:0}.summer-games-grid p{font-size:16px}.summer-evenings{grid-template-columns:1fr 1.1fr;gap:6vw;margin-top:60px;padding-top:48px}.summer-evenings .photo img{aspect-ratio:1/1;max-height:none}.summer-evenings h3{font-size:38px}
.summer-sport{background:var(--dark)}.summer-sport p{color:#eadfce}.summer-sport .eyebrow{color:var(--yellow)}.summer-sport .photo img{aspect-ratio:4/5;object-position:center}
.summer-drinks{background:var(--cream)}.summer-drinks .photo{max-width:none;width:100%}.summer-drinks .photo img{aspect-ratio:4/5;object-position:50% 65%}.summer-drinks .story-copy{padding:20px 0}.summer-discover{background:var(--yellow);position:relative;overflow:hidden}.summer-discover:after{content:'';position:absolute;right:-120px;bottom:-350px;width:650px;height:650px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 22px,#29232230 23px,transparent 24px 30px);pointer-events:none}.summer-discover .shell{position:relative;z-index:1}.summer-discover h2{font-size:clamp(44px,5.5vw,80px)}
.season-summer.page-agenda .summer-story .photo img{aspect-ratio:4/5;object-position:center}.season-summer.page-agenda .summer-music{background:var(--cream)}
/* A readable menu with a persistent category rail on large screens. */
.notice{background:var(--cream);border:1px solid var(--line);border-left:4px solid var(--red);padding:25px 28px;border-radius:3px}.notice strong{font-size:25px;text-transform:none}.notice p{font-size:14px}.notice a{font-family:var(--body);font-size:11px}
.menu-toc{gap:8px;margin-bottom:55px}.menu-toc a{border:1px solid var(--line);padding:11px 15px;border-radius:30px;font-size:12px;background:var(--paper);transition:background .2s,color .2s,transform .2s}.menu-toc a:hover,.menu-toc a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--paper);transform:translateY(-1px)}
.menu-list{max-width:1120px}.menu-section{border-top:1px solid var(--ink);padding:36px 0 52px;scroll-margin-top:108px}.menu-heading h2{font-size:clamp(32px,3.6vw,50px);letter-spacing:-.04em;text-transform:none}.menu-subheading{font-size:23px;text-transform:none}.menu-items{gap:0 55px}.menu-item{padding:18px 0;border-bottom:1px solid var(--line)}.menu-item .item-name{font-size:16px;font-weight:700}.menu-item p{font-size:13px;line-height:1.55}.menu-item strong{font-weight:700;font-size:14px}
.menu-favourite{color:var(--red);display:inline-block;font-family:Arial,sans-serif;font-size:.95em;margin-right:.15em;transform:translateY(-.02em)}
.season-summer .menu-section:nth-child(3n+1) .menu-heading h2{color:var(--red)}.season-summer .menu-section:nth-child(3n+2) .menu-heading h2{color:var(--teal)}.season-summer .menu-section:nth-child(3n) .menu-heading h2{color:#3e732a}
.visit-grid{border:0;gap:24px}.visit-panel{padding:42px;border:1px solid var(--line);border-radius:3px}.visit-panel.dark-panel{border-color:var(--teal)}.visit-panel h2,.season-summer.page-visit .visit-panel h2{font-size:clamp(36px,4vw,58px)}.maps-card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;margin-top:32px;box-shadow:none}.maps-card:hover{box-shadow:none;transform:none}.maps-card-pin{background:var(--yellow);color:var(--ink)}
.faq-list details{border-width:1px;padding:23px 0}.faq-list details:last-child{border-width:1px}.faq-list summary{font-size:23px;line-height:1.35}.faq-list p{font-size:16px;line-height:1.7}.faq-grid{grid-template-columns:.7fr 1.3fr;gap:7vw}
.empty-state{border:0;border-top:1px solid var(--line);background:transparent;padding:40px 0;text-align:left}.empty-state>span{display:none}.empty-state h3{max-width:700px}.empty-state p{margin:24px 0;max-width:600px}.empty-links{justify-content:flex-start}.agenda-week>h2{font-size:clamp(30px,3.5vw,48px);margin-bottom:36px;max-width:960px}.week-empty{background:var(--paper);padding:26px 30px}.event-card,.event-card:last-child{border-width:1px}.date-box{background:var(--yellow);color:var(--ink);border-radius:3px}.date-box strong{font-size:42px}.event-card h3{font-size:30px;text-transform:none}.event-thumb{border-radius:3px}
.site-footer{position:relative;overflow:hidden;padding:70px 0 30px;background:var(--dark);color:var(--paper)}.site-footer:after{content:'';position:absolute;right:-180px;top:-80px;border-radius:50%;width:600px;height:600px;background:repeating-radial-gradient(circle,transparent 0 25px,#fff1 26px,transparent 27px 34px);pointer-events:none}.footer-main,.footer-bottom{position:relative;z-index:1}.footer-main{grid-template-columns:1.8fr 1fr 1fr;gap:45px;padding-top:0;padding-bottom:55px}.footer-main strong{display:block;font-family:var(--display);font-size:clamp(36px,4.5vw,64px);letter-spacing:-.06em}.footer-main p{font-size:14px;max-width:350px;color:#e0cdb9}.footer-main>div:first-child>a{font-size:18px}.footer-links{font-size:13px;gap:16px}.footer-bottom{border-top:1px solid #ffffff30;align-items:center;gap:25px;padding-top:25px;color:#dfcdb9}.footer-social a{border-color:#ffffff50}.footer-social a:hover{background:var(--yellow);color:var(--ink)}
/* Motion is brief and native; every section remains readable without JavaScript. */
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation:160ms ease both rambler-fade-out}
 ::view-transition-new(root){animation:260ms ease both rambler-fade-in}
 @keyframes rambler-fade-out{to{opacity:0}}
 @keyframes rambler-fade-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
 .reveal-arrived{animation:580ms var(--ease) both rambler-fade-in}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .photo:hover img{transform:scale(1.018)}
 .live-gallery .photo:hover img{transform:none}
 .brand:hover img{transform:rotate(-12deg);transition:transform .4s var(--ease)}
 .text-link:hover .link-arrow{transform:translate(4px,-4px)}
}
@media(min-width:1200px){
 .page-menu .paper-section>.shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:0 64px;align-items:start}
 .page-menu .notice{grid-column:1/-1}.page-menu .menu-toc{display:flex;flex-direction:column;align-items:flex-start;position:sticky;top:112px;gap:6px}.page-menu .menu-toc a{font-size:12px;border:0;border-radius:0;padding:12px 0;width:100%;border-bottom:1px solid var(--line);background:none}.page-menu .menu-toc a:hover,.page-menu .menu-toc a[aria-current]{color:var(--red);transform:translateX(3px)}.page-menu .health{grid-column:2}
}
@media(max-width:1100px){
 .shell{width:calc(100% - 48px)}.header-inner{gap:18px}.desktop-nav{gap:18px}.header-call{display:none}.brand{font-size:16px}
 .hero-art{margin-right:-24px}.hero-grid{gap:30px;min-height:650px}.hero-banner{max-width:280px}.hero-banner+h1{font-size:43px}.hero-copy{padding:42px 0}.hero-lead{font-size:15px}.hero .cta-row{gap:12px}.hero .button{min-width:155px;padding:13px 15px}
 .summer-hero-copy.shell{padding:48px 30px 48px 24px}.summer-hero h1{font-size:clamp(48px,6.6vw,73px)}.summer-hero-copy>p:not(.eyebrow){font-size:16px}.summer-hero-photo,.summer-hero-photo img{min-height:650px}.summer-rhythm.shell{padding:20px 24px}
 .story-grid,.sport-feature .story-grid,.summer-story,.summer-story.reverse{gap:36px}.story-copy p:not(.eyebrow){font-size:16px}.summer-games-grid{gap:28px}.visit-panel{padding:28px}
}
@media(max-width:760px){
 :root{--title-page:clamp(42px,11.5vw,68px);--title-section:clamp(34px,9.5vw,54px)}
 .shell{width:calc(100% - 36px)}.section{padding:60px 0}.site-header .header-inner{min-height:70px;gap:12px}.brand img{width:42px;height:42px}.brand{font-size:14px}.brand small{font-size:7px}.header-actions{margin-left:auto}.lang{width:34px;height:34px}.mobile-nav summary{border-radius:3px;min-height:42px;padding:12px;background:var(--ink)}.mobile-nav nav{top:70px;padding:24px 18px}.season-inner{padding:7px 0}.season-inner a{min-height:32px;padding:6px 17px}
 .hero-grid{display:flex;gap:0;min-height:0}.hero-copy{padding:38px 0 35px}.hero-banner{width:260px;margin-bottom:26px}.hero-banner+h1{font-size:clamp(39px,10vw,62px);max-width:600px}.hero-lead{font-size:16px;max-width:580px}.hero-art{margin:0 -18px;min-height:0;height:460px}.hero-art picture{height:460px}.hero-art picture img{height:460px;object-position:50% 50%}.hero-art:after{display:none}.hero-facts{gap:22px;justify-content:flex-start;margin-top:26px}.hero-copy>.eyebrow{font-size:9px}
 .intro-points{font-size:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 0;padding:20px 0;letter-spacing:.08em}.intro-points li{gap:0}.intro-points li+li:before{font-size:16px}.intro-points li:nth-child(3):before{display:none}
 .experience-links{display:grid;grid-template-columns:1fr;gap:0;padding:10px 0}.experience-links a{border-bottom:1px solid var(--line);padding:18px 0;font-size:12px}.experience-links a:last-child{border:0}
 .page-hero,.season-summer .page-hero,.season-summer.page-visit .page-hero{padding:54px 0 58px}.page-hero h1,.season-summer .page-hero h1,.season-summer.page-visit .page-hero h1{font-size:var(--title-page)}.page-hero:after{width:410px;height:410px;top:-180px;right:-250px}.page-lead{font-size:16px;margin-top:24px}
 .feature-grid,.story-grid,.sport-feature .story-grid,.split-intro,.counter-story,.summer-story,.summer-story.reverse,.summer-games-grid,.summer-evenings,.faq-grid,.visit-grid,.cards-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .feature-grid .photo img{height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover}.story-copy h2,.feature-grid h2,.sport-copy h2,.split-intro h2,.summer-story h2,.summer-section-heading h2{font-size:var(--title-section)}.story-copy p:not(.eyebrow){max-width:none;font-size:16px}.story-copy h2{margin-bottom:22px}
 .live-gallery.editorial-gallery,.sport-gallery.editorial-gallery{gap:9px}.live-gallery .live-detail,.sport-gallery .sport-screen{width:auto;margin:0}.counter-guinness{width:100%;max-width:none}.counter-guinness img{width:100%;height:auto;max-height:none}
 .info-card{padding:28px;border-top-width:4px}.info-card h3{font-size:29px}.home-event-image{margin:-28px -28px 24px}.tile{padding:30px;min-height:300px}.tile h3,.tile-drinks h3{font-size:35px}.tile h3 .tile-question{font-size:21px}
 .summer-hero{display:flex;flex-direction:column}.summer-hero-copy.shell{width:100%;padding:42px 18px}.summer-hero h1{font-size:clamp(49px,13vw,78px);max-width:580px;margin-bottom:25px}.summer-hero-copy>p:not(.eyebrow){font-size:16px;max-width:550px}.summer-hero-photo{width:100%;min-height:0;height:500px}.summer-hero-photo picture{height:100%}.summer-hero-photo img{height:100%;min-height:0;object-fit:cover;object-position:center}.summer-rhythm.shell{display:grid;grid-template-columns:1fr;padding:22px 18px;gap:5px;font-size:11px}.summer-rhythm b{font-size:19px;transform:none}
 .summer-story.reverse .story-copy{order:0}.summer-story.reverse .photo{order:1}.summer-story .photo img,.summer-terrace .photo img{aspect-ratio:4/5;height:auto;max-height:none}.summer-games-grid .photo img{aspect-ratio:1.1/1}.summer-games-grid h3{font-size:30px}.summer-games-grid article+article{margin-top:20px}.summer-evenings{padding-top:35px;margin-top:40px}.summer-evenings h3{font-size:32px}.summer-drinks .photo{max-width:none}.summer-drinks .photo img{aspect-ratio:4/5}.summer-discover h2{font-size:var(--title-section)}
 .menu-items{grid-template-columns:1fr}.menu-heading h2{font-size:34px}.menu-toc{flex-wrap:nowrap}.menu-enhanced .menu-picker{top:70px;z-index:19;padding:12px 0;background:var(--paper)}.menu-section{scroll-margin-top:178px}.menu-item .item-name{font-size:15px}.menu-item strong{font-size:13px}.notice{padding:23px}.notice strong{font-size:24px}.menu-subheading{font-size:23px}
 .visit-panel{padding:27px}.visit-panel h2,.season-summer.page-visit .visit-panel h2{font-size:37px}.maps-card{padding:20px 0}.faq-list summary{font-size:22px}.faq-grid h2,.season-summer.page-visit .faq-grid h2{font-size:var(--title-section)}
 .event-card.has-image{grid-template-columns:60px 1fr}.event-card h3{font-size:26px}.agenda-week>h2{font-size:32px}.week-empty{font-size:15px;padding:20px}.agenda-week .empty-state h3{font-size:34px}.empty-links{flex-wrap:wrap}.empty-state{padding-top:28px}
 .site-footer{padding:50px 0 25px}.footer-main{grid-template-columns:1fr 1fr;gap:34px 20px}.footer-main>div:first-child{grid-column:1/-1}.footer-main strong{font-size:47px}.footer-bottom{display:flex;flex-wrap:wrap;gap:20px}.footer-bottom>span:last-child{width:100%;font-size:10px}.footer-social{margin-left:auto}.footer-main p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.photo:hover img,.brand:hover img,.reveal-arrived{transform:none;animation:none}html{scroll-behavior:auto}}

/* Keep the sunset and the mountain backdrop in the terrace portrait. */
.season-summer .summer-terrace .terrace-sunset img{aspect-ratio:3/4;object-position:50% 25%}

/* Keep official event posters intact and give upcoming dates a consistent presentation. */
.event-thumb{aspect-ratio:1}.event-thumb img,.event-detail-image img{object-fit:contain}
.event-detail-image{aspect-ratio:auto;background:transparent}.event-detail-image img{height:auto}
.date-box small{font-size:10px;letter-spacing:.05em;margin-top:4px}
.date-box .event-weekday{border-bottom:1px solid rgba(27,20,22,.32);font-size:9px;letter-spacing:.08em;margin:0 2px 6px;padding-bottom:5px;white-space:nowrap}
.date-box .event-month{line-height:1.1}
.event-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px 10px}
.event-kind{font-size:11px}
.event-time{background:var(--dark);border-radius:2px;color:var(--paper);font-size:14px;font-weight:900;letter-spacing:.04em;padding:7px 10px;white-space:nowrap}
.summer-lineup{background:var(--paper)}.summer-lineup h2{margin-top:0}.home-event-list{margin:36px 0}.summer-lineup>.shell>p:not(.eyebrow){max-width:650px}
.filter-note{margin:0 0 32px;padding:18px 22px;border-left:5px solid var(--yellow);background:var(--cream);max-width:820px}
@media(max-width:760px){.event-card.has-image .event-thumb{aspect-ratio:3/2}.home-event-list .event-thumb{max-height:300px}}
