/* GIRI 3.3.0: approved design refinements over the complete 3.2.0 content. */
/* A matched-height opening: the photo follows the address-to-button column. */
.giri-opening{grid-template-columns:42% 58%;align-items:stretch;min-height:0;padding-block:28px}
.giri-opening-copy{padding:0 var(--pad);align-self:stretch}
.giri-opening-copy>.edition-eyebrow{margin-bottom:18px}
.giri-opening-logo{width:clamp(140px,16vw,210px);margin-bottom:18px}
.giri-opening h1{font-size:clamp(56px,5.4vw,84px);line-height:1.03;margin-bottom:20px}
.giri-opening-description{font-size:15px;line-height:1.6;margin-bottom:24px}
.giri-opening-actions{margin-top:auto;gap:14px 20px}
.giri-opening-photo{align-self:stretch;min-height:0;height:auto;aspect-ratio:auto}
.giri-opening-photo>img{object-position:center 48%}
.giri-opening-colophon{flex-wrap:wrap}
.giri-opening-colophon .giri-opening-footnote{margin:0;padding:0;font:400 12px/1.5 var(--serif);letter-spacing:0}

/* Explicit foregrounds remove inherited white text on cream programme pages. */
.programme-section,.programme-directory{background:var(--paper);color:var(--ink)}
.upcoming-programme{margin-bottom:0;border-top:0}
.weekly-heading,.weekly-heading h2,.weekly-heading p,.weekly-heading .edition-eyebrow,
.upcoming-event,.upcoming-event time,.upcoming-event-main,.upcoming-event-main h3,
.programme-directory-heading,.programme-directory-heading h1,.programme-directory-heading p,
.programme-directory-heading a,.programme-directory-summary,.programme-detail,
.programme-detail-copy,.programme-detail-copy h2,.programme-detail-date,.event-facts,
.giri-calendar-day,.giri-calendar-weekday,.giri-calendar-event{color:var(--ink)}
.upcoming-event-main>span,.programme-detail-copy>.micro-label{color:var(--news-blue)}
.weekly-event-meta,.programme-detail-subtitle,.programme-detail-description{color:#4e5047}
.upcoming-event.is-past{opacity:1}
.giri-calendar-day.is-outside{color:#626459}
.giri-calendar-event{overflow-wrap:anywhere}
.giri-calendar-event:hover,.giri-calendar-event:focus-visible{background:var(--news-pink);color:var(--ink)}
.giri-programme-toolbar .giri-filters button,.giri-view-switch button{background:var(--paper);color:var(--ink)}
.giri-programme-toolbar .giri-filters button[aria-pressed="true"],.giri-view-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.programme-announcement{display:inline-flex;align-items:center;min-height:44px;color:var(--news-blue);border-bottom:1px solid currentColor}

/* Secondary introductions share the quieter split layout. */
.page-hero{grid-template-columns:1fr 1fr;min-height:0;background:var(--paper);color:var(--ink)}
.page-hero::after{display:none}
.page-hero>img{grid-row:1;grid-column:2;min-height:0;height:100%;max-height:620px;filter:none}
.page-hero-copy{padding:42px var(--pad)}
.page-hero-copy h1{font-size:clamp(48px,5.4vw,80px);line-height:1.06}
.page-hero-copy h1 em{color:var(--news-blue)}
.page-hero-copy>p{font-size:16px;line-height:1.6}
.giri-format-mark{display:block;width:180px;height:auto;margin:0 0 16px;mix-blend-mode:multiply}
.formats-list article:has(.giri-format-mark){background:var(--paper)}
.formats-list article>.giri-format-mark,.formats-list article>h3,.formats-list article>p{grid-column:2}
.story-mosaic img,.formats-image img,.full-gallery img{filter:none}
.full-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.giri-detail-gallery{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;padding:0 var(--pad) 56px}
.giri-detail-gallery figure{min-width:0}
.giri-detail-gallery img{display:block;width:100%;height:320px;object-fit:cover}
.giri-detail-gallery figcaption{font:400 13px/1.5 var(--sans);padding-top:12px;color:var(--ink)}

/* Full menu retained, with a smaller cover and consistent prices. */
.final-menu-cover{min-height:0;padding-block:32px;grid-template-columns:1fr 180px;gap:36px}
.final-menu-cover h1{margin:20px 0}
.final-menu-cover h1 img{width:min(100%,350px)}
.menu-cover-illustration{height:180px}
.menu-category-nav{position:sticky;top:calc(84px + var(--giri-admin-bar,0px));z-index:20}
.designer-menu-item p{font-size:14px;line-height:1.5}
.designer-menu-item strong{white-space:nowrap}

/* BACI identity in the cover; the original featured recording remains below. */
.baci-cover h1{font-size:clamp(76px,9vw,138px)}
.baci-cover-copy{padding-block:38px}
.baci-brand-image{padding:28px 8%;display:flex;align-items:center;justify-content:center;background:var(--news-pink)}
.baci-brand-image a{display:block;max-width:390px;width:100%}
.baci-brand-image img{display:block;width:100%;height:auto}
.baci-featured{padding:36px var(--pad);border-bottom:1px solid var(--ink);background:var(--paper-deep)}
.baci-featured .baci-cover-record{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:32px;align-items:center;border:0;padding:0}
.baci-featured .baci-cover-record figcaption{padding:0;gap:24px;flex-wrap:wrap}
.baci-featured .baci-cover-record h2{font-size:32px}

/* Inquiry layout keeps all private-event details and the real submit handler. */
.giri-booking-form{grid-template-columns:.85fr 1.15fr;min-height:0;align-items:start;padding:42px var(--pad);gap:50px}
.giri-booking-intro h2{font:400 clamp(36px,4vw,58px)/1.08 var(--serif);letter-spacing:-.035em;margin:18px 0}
.giri-booking-intro p{font:400 16px/1.6 var(--sans);max-width:38ch}
.giri-booking-intro>img{width:100%;height:220px;object-fit:cover;margin-top:28px;filter:none}
.giri-booking-form .booking-content{padding:0;align-self:start;min-width:0}
.giri-booking-form .giri-form-note{font-size:12px;line-height:1.6}
.giri-form-grid input,.giri-form-grid select,.giri-form-grid textarea{background:var(--paper)}
.giri-address-print img{aspect-ratio:3/2;object-fit:cover}
.footer-map{display:block}

@media(max-width:1000px){
 .giri-opening-copy{padding-inline:30px}.giri-opening-actions{gap:12px}
 .page-hero-copy{padding:32px}.giri-booking-form{gap:30px}
}
@media(max-width:800px){
 .menu-category-nav{top:calc(74px + var(--giri-admin-bar,0px))}
 .page-hero{grid-template-columns:1fr}.page-hero>img{grid-row:2;grid-column:1;height:340px;min-height:0}
 .page-hero-copy{grid-row:1;grid-column:1;padding:30px var(--pad)}
 .giri-booking-form{grid-template-columns:1fr}.giri-booking-intro>img{display:none}
 .giri-detail-gallery img{height:260px}
}
@media(max-width:700px){
 .giri-opening{display:grid;grid-template-columns:1fr;padding:0;min-height:0}
 .giri-opening-copy{padding:28px var(--pad)}
 .giri-opening-photo{width:100%;height:auto;aspect-ratio:16/9;min-height:0}
 .giri-opening h1{font-size:60px}.giri-opening-colophon .giri-opening-footnote{display:block;width:100%}
 .giri-opening-colophon a{font-size:11px}
 .giri-detail-gallery{grid-template-columns:1fr}.giri-detail-gallery img{height:auto;aspect-ratio:4/3}
 .full-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .giri-format-mark{width:150px}
 .final-menu-cover{grid-template-columns:1fr 90px;gap:18px;padding:28px var(--pad)}
 .menu-cover-illustration{height:auto;width:90px}.menu-category-nav{gap:0 20px}
 .baci-brand-image{padding:24px var(--pad)}.baci-brand-image a{max-width:330px}
 .baci-featured .baci-cover-record{grid-template-columns:110px minmax(0,1fr);gap:20px}
 .baci-featured .baci-cover-record figcaption{align-items:start;flex-direction:column;gap:16px}
 .baci-featured .baci-cover-record h2{font-size:24px}
 .giri-booking-form{padding:32px var(--pad)}
}
@media(max-width:380px){.giri-opening h1{font-size:52px}.baci-featured .baci-cover-record{grid-template-columns:1fr}.baci-featured .baci-sleeve-cover{max-width:180px}}
