/* BANÚS Executive Golf — Final systematic refinements, October 2026.
   A single typography, color, spacing and component layer shared by all pages.
   Display: original Futura SuperXP CAPS. Body/interface: Montserrat Light 300.
   No editorial SEO copy, brand vector shapes or official imagery retouched here. */
:root{
 --banus-navy:#102531; --banus-navy-deep:#0c1e28;--banus-ink:#233842;
 --banus-text:#374a52;--banus-secondary:#53646d;--banus-muted:#617079;
 --banus-paper:#f7f5f0;--banus-sand:#f1efe8;
 --banus-line:#d4d8d5;--banus-platinum:#c6d1d2;--banus-gold:#e5bf7d;
 --banus-label:11.5px; --banus-body:15px;--banus-small:13px;--banus-display:clamp(28px,2.8vw,40px);
}
/* The body and white surfaces should feel intentionally designed, not grey or transparent. */
body{font-family:var(--text);font-weight:300;background:var(--banus-paper);color:var(--banus-ink)}
.paper,.subpage-main,.subpage .subpage-intro,.services-main-gallery{background:var(--banus-paper);color:var(--banus-ink)}
.sand,.facilities,.staging-events{background:var(--banus-sand);color:var(--banus-ink)}
.ink-muted{color:#53616a!important}
.paper p,.sand p,.subpage-main p,.subpage .subpage-intro p,.course-page-heading p,
.course-page-texts p,.events-page-copy p,.events-intro,.services-intro p,.location-details>p,
.intro-side>p,.fees-intro>p,.facilities-info>p,.membership p,.event-feature-copy>p,
.contact-form-intro p,.event-page-layout p,.subpage-sections p,.detail-body p{
 color:var(--banus-text);opacity:1;font-weight:300;line-height:1.72;
}
/* Signature display hierarchy — all Futura rendered in approved ALL CAPS, never random sizes. */
h1,h2{font-family:var(--heading);font-weight:400;font-synthesis:none;letter-spacing:2px!important;line-height:1.16;text-transform:uppercase}
.hero h1{letter-spacing:2px!important} /* keep owner-approved final Hero size from typography.css */
@media(max-width:680px){h1,h2,.hero h1{letter-spacing:1.1px!important}}
.intro-heading h2,.course-info h2,.booking-head h2,.fees-intro h2,
.facilities-info h2,.membership h2,.event-feature-copy h2,.location-details h2,
.divot-copy h2{font-size:var(--banus-display)!important;line-height:1.16;letter-spacing:1.7px!important}
.booking-head h2,.event-feature-copy h2,.location-details h2{font-size:clamp(27px,2.65vw,36px)!important}
.divot-copy h2{font-size:clamp(29px,2.9vw,41px)!important;max-width:560px;line-height:1.16}
.footer-above h2{font-size:clamp(21px,2.05vw,29px)!important;letter-spacing:1.4px!important}
.subpage .subpage-intro h1{font-size:clamp(29px,3.2vw,45px)!important;line-height:1.18;letter-spacing:1.8px!important;max-width:980px}
.subpage-sections h2,.subpage-faq h2,.course-page-texts h2{
 font-size:clamp(19px,1.55vw,25px)!important;letter-spacing:1.1px!important;line-height:1.27}
.course-page-heading h2,.events-page-copy h2{font-size:clamp(22px,2vw,29px)!important;letter-spacing:1.2px!important}
.eyebrow,.ink-muted.eyebrow,.small-kicker,.round-choice-title,.holes-label,
.hole-overline,.photo-corner,.calendar-kicker,.programme-month-label,.programme-detail-link,
.weather-metrics span,.weather-heading .eyebrow,.cal-weekdays,.form-heading,
.field label,.booking-cta-row small,.tariff-detail small,.contact-form-intro .eyebrow,
.events-page-copy .eyebrow,.footer .eyebrow,.course-zoom-label{
 font-family:var(--text);font-weight:500;font-size:var(--banus-label);letter-spacing:.11em;
 text-transform:uppercase;opacity:1;
}
.paper .eyebrow,.sand .eyebrow,.subpage .eyebrow,.ink-muted.eyebrow{color:#465c67!important}
/* General text levels for similar semantic roles — consistent across sections. */
.hero-bottom p{font-size:16.5px!important;line-height:1.68;max-width:560px}
.intro-side>p,.facilities-info>p,.fees-intro>p,.membership p,
.event-feature-copy>p,.location-details>p,.subpage .subpage-intro p,.services-intro p{
 font-size:15px!important;line-height:1.75}
.round-explain,.approved-fees-note,.facilities-parking,.events-page-copy p,
.course-page-heading p,.course-page-texts p,.course-info .section-description,
.facility-visual-caption p,.location-contact,.contact-form-note,.contact-form-intro p{
 font-size:14px!important;line-height:1.7}
.course-info .section-description{color:#d5dddc;font-size:15px!important}
.hero-eyebrow,.hero-explore{font-size:12.5px!important;color:#fff;letter-spacing:.1em;text-shadow:0 1px 9px rgba(0,0,0,.6);font-weight:500}
.hero-explore{padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.85)}
/* Header: restrained separators, correct white-space & professional nav rhythm. */
.header,.header.scrolled{height:79px;padding:0 clamp(22px,2.9vw,48px);gap:15px;
 grid-template-columns:minmax(0,1fr) 265px minmax(0,1fr)}
.header{background:linear-gradient(180deg,rgba(8,20,28,.86),rgba(8,20,28,.63));
 backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.header.scrolled{background:rgba(10,23,32,.97)}
.brand{width:265px;height:77px}.brand img{width:242px;max-height:76px;height:auto}
.nav{gap:0;align-items:center;white-space:nowrap}
.nav a{font-family:var(--text);font-size:12.7px;letter-spacing:.038em;font-weight:400;opacity:1;
 padding:9px 0;line-height:1.2;white-space:nowrap}
.nav a+a:not(.nav-cta){margin-left:13px;padding-left:15px;border-left:1px solid rgba(239,242,240,.4)}
.nav .nav-cta{margin-left:16px;font-size:11.5px;line-height:1.2;letter-spacing:.042em;
 padding:7px 12px;min-height:32px;border:1px solid rgba(244,244,239,.8);background:rgba(13,29,38,.15)}
.nav a:hover{color:white;opacity:.78}
.nav-left{justify-self:start}.nav-right{justify-self:end}
/* smaller laptop — do not let larger brand and separated menu collide */
@media(max-width:1510px) and (min-width:1221px){
 .header,.header.scrolled{grid-template-columns:minmax(0,1fr) 245px minmax(0,1fr);padding:0 2.1%;gap:8px}
 .brand{width:245px}.brand img{width:232px}
 .nav a{font-size:11.4px;letter-spacing:.018em}
 .nav a+a:not(.nav-cta){margin-left:9px;padding-left:10px}
 .nav .nav-cta{margin-left:10px;font-size:10.8px;padding:7px 8px}
}
@media(max-width:1220px){
 .nav{display:none!important}
 .header,.header.scrolled{height:73px;grid-template-columns:1fr 1fr 1fr;padding:0 23px}
 .brand{grid-column:2;width:225px;height:70px}.brand img{width:220px;max-height:68px}
 .mobile-toggle{display:flex;grid-column:3}
}
@media(max-width:400px){.brand{width:185px}.brand img{width:183px}}
/* Compact vertical rhythm — preserve breathing room without empty screen-height sections. */
.intro{padding:48px 0 48px}.intro-layout{gap:7%;align-items:center}
.course{padding:48px 0}.course-shell{align-items:center}
.course-visual{height:395px}
.booking{padding:49px 0 53px}
.fees{padding:50px 0 50px}.fees-layout{align-items:start}
.facilities{padding:49px 0 51px}.facilities-layout{align-items:center}
.membership{padding:44px 0 44px}
.staging-events{padding:49px 0 55px}
.location{padding:49px 0 52px}
.divot{min-height:510px}
.divot-layout{padding-top:72px;padding-bottom:60px}
/* The light blocks maintain contrasting hierarchy, not whisper-grey-on-grey. */
.intro-heading h2,.fees-intro h2,.facilities-info h2,.membership h2,.location-details h2,
.subpage-intro h1,.event-feature-copy h2,.events-page-copy h2,.course-page-heading h2{
 color:#142c39!important;opacity:1}
.intro-heading h2 span{color:#536b73}
.round-choice-title,.round-explain,.round-option span,.approved-fees-note,
.fees-intro .text-link,.facilities-parking,.map-address p,.event-note-readable{color:#425762;opacity:1}
.tariff-row small,.tariff-detail small,.detail-body,.membership-item small,.facility-tabs button{
 color:#455a62;opacity:1}
.tariff-list .tariff-row strong,.tariff-list summary,.membership-item strong{color:#1f3743}
.tariff-detail summary{font-size:15px}.tariff-detail .detail-body{font-size:14px;line-height:1.7}
.tariff-detail .detail-body>div{font-size:13.5px;color:#354951}
.tariff-detail .detail-body b{font-weight:500;color:#142e3e}
.facility-tabs button{font-size:13.5px;font-weight:400;min-height:51px;opacity:1}
.facility-tabs button[aria-selected="true"]{font-weight:600;color:#182f3b}
.facility-tabs button[aria-selected="false"]{opacity:1;color:#53646b}
/* Course selector CTA moved to the right of 09; consistent genuine button style. */
.holes-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:7px}
.holes-toolbar .hole-selector{flex:0 0 auto;gap:7px}
.course-map-button{border:1px solid rgba(221,232,231,.7);color:#eef4f0;
 background:rgba(238,244,238,.06);font-size:11px;line-height:1.3;letter-spacing:.09em;
 padding:11px 13px;text-decoration:none;white-space:nowrap;transition:background .2s;display:inline-flex;align-items:center;justify-content:center}
.course-map-button:hover,.course-map-button:focus-visible{background:#e5e9e3;color:#19303c}
.course .hole-content{margin-top:15px;padding-top:15px}
.course .hole-overline,.course .holes-label{color:#d2dfdc}
.course .hole-content p{color:#c5d4d0}
/* Booking: subtle weather pictograms driven by real Open-Meteo weather codes. */
.weather-heading h3{font-weight:400;color:#f6f4ec}
.weather-main{gap:13px}.weather-symbol{display:flex;align-items:center;justify-content:center;width:45px;height:45px;flex:0 0 45px}
.weather-symbol svg{width:44px;height:44px;stroke-width:1.6;overflow:visible}
.weather-symbol .sun-core,.weather-day-symbol .sun-core{stroke:#e8ba69}
.weather-symbol .sky-cloud,.weather-day-symbol .sky-cloud{stroke:#bbced6}
.weather-symbol .sky-rain,.weather-day-symbol .sky-rain{stroke:#80b8d0}
.weather-main #weatherTemp{font-weight:400}
.weather-day{gap:5px;min-height:86px;padding:9px 4px;background:rgba(180,206,215,.11)}
.weather-day-symbol{width:26px;height:26px;display:flex;justify-content:center;align-items:center}
.weather-day-symbol svg{width:25px;height:25px;stroke-width:1.65}
.weather-day strong{font-size:18px;font-weight:400}
.weather-day em{font-size:10px;color:#c7d3d5}
.weather-day[aria-current="date"]{background:#f1eee3;color:#263a40}
.weather-day[aria-current="date"] em{color:#516a73}
.weather-panel .weather-loading{color:#c0d0d3}
.weather-approved-copy,.weather-selected>span{color:#d6e0dc!important;font-weight:300}
.weather-metrics strong{font-size:16px}.weather-status{font-size:10px}
/* Events — three logical elements, month list, date calendar all on one rhythm. */
.event-feature{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1.02fr) minmax(0,1.15fr);gap:22px;align-items:start}
.event-feature-copy{min-width:0}.event-feature-copy h2{max-width:340px}
.event-feature-copy>p{line-height:1.69}.event-feature-copy .event-note-readable{color:#51646c;font-size:13.5px!important}
.event-feature-programme,.event-programme-panel{min-width:0}
.event-feature-programme>.eyebrow,.event-programme-panel>.eyebrow{margin:0 0 13px}
.programme-list{display:flex;flex-direction:column;gap:0;border-top:1px solid #cbd2d0}
.programme-month{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:11px 0;
 border-bottom:1px solid #ced5d1;align-items:start}
.programme-month-label{font-size:12px!important;color:#66757b;padding-top:1px;font-weight:600!important}
.programme-month-items{display:flex;flex-direction:column;gap:9px}
.programme-event{display:flex;flex-direction:column;gap:2px;min-width:0}
.programme-name{font-size:13px;line-height:1.45;font-weight:500;color:#263e47}
.programme-kind{font-size:10.5px;font-weight:300;color:#64727b;line-height:1.25}
.programme-past .programme-month-label{color:#778487}
.programme-past .programme-name{color:#68777c}
.programme-detail-link{font-size:10.5px!important;display:inline-flex;border-bottom:1px solid #71818a;margin-top:12px;padding:6px 0;color:#273e4b}
.event-feature-calendar,.event-calendar-panel{min-width:0}
.golf-calendar{background:#f9f7f2;border:1px solid #ccd3d1;padding:15px;box-shadow:0 12px 30px rgba(15,37,45,.055)}
.cal-header h3{font-size:21px;font-weight:400;letter-spacing:-.035em}
.cal-weekdays{font-size:10px!important;font-weight:500}
.cal-days{gap:3px}.cal-day{min-width:0;color:#304a54;background:#eef1ec;font-size:12px;min-height:34px}
.cal-day:not(:disabled):hover{background:#dce4de}
.cal-today{outline:1px solid #7f999f;outline-offset:-2px}
.cal-day.has-event{background:#d2b073;color:#20313b;font-weight:700}
.cal-footer{font-size:11.5px!important;color:#536771!important;line-height:1.45}
.calendar-kicker{margin-bottom:13px;color:#435963}
/* Dívot layout + approved artwork unchanged except display size consistency. */
.divot-copy h2{color:#fff!important}
/* Visit/contact arranged in one logical info row. */
.visit-quick-facts{display:grid;grid-template-columns:1.2fr 1.1fr 1fr;align-items:end;gap:14px;
 margin-top:23px;padding:16px 0;border-top:1px solid #d1d6d2;border-bottom:1px solid #d1d6d2}
.visit-quick-facts .contact-hours{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:5px}
.visit-quick-facts .contact-hours strong{font-size:14px;font-weight:400;color:#283e47;white-space:nowrap}
.visit-quick-facts .location-facts-grid{display:contents;margin:0;padding:0;border:0}
.visit-quick-facts .location-facts-grid>span{display:flex;flex-direction:column;gap:5px;min-width:0;
 font-size:12.5px;line-height:1.5;color:#334b55}
.visit-quick-facts .location-facts-grid>span b{font-size:11.5px;font-weight:500;color:#51616b;letter-spacing:.08em}
.location-actions{margin-top:17px;padding-top:0;border:0}
.location-actions a{font-size:13.5px;color:#263b44}
.location-actions a span{font-size:11px;color:#50636e}
.contact-form-section{margin-top:30px;padding-top:28px;gap:30px}
.contact-form-intro h3{font-size:clamp(25px,2.2vw,32px);font-weight:300}
.enquiry-form label{font-size:11.5px;color:#304952}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:13.5px;color:#253e48}
.enquiry-confirm span{color:#445b64;font-size:12px}
/* One coherent full-height footer on every page, no foreign grey band. */
.footer{position:relative;isolation:isolate;background:#0b222e!important;color:#eff2ee}
.footer-image{opacity:.17!important}
.footer-shade{background:linear-gradient(180deg,rgba(9,27,37,.87),rgba(9,27,37,.94))!important}
.footer-inner{padding:31px 0 24px}.footer-above{margin-bottom:21px}
.footer-bottom{grid-template-columns:.8fr 1.85fr 1fr;gap:32px;align-items:start}
.footer-links{display:flex;gap:12px 20px;align-content:start}
.footer-links a{font-family:var(--text)!important;font-size:11.5px!important;line-height:1.45;
 letter-spacing:.065em;font-weight:400!important;text-transform:uppercase;color:#e8efec}
.footer-contact{display:flex;flex-direction:column;gap:12px}
.footer-contact a{display:flex;gap:10px;align-items:center;font-family:var(--text);
 font-size:12.5px;color:#e6edea;line-height:1.55}
.contact-icon{height:17px;width:17px;flex:0 0 17px;opacity:.91}
.legal{color:#b9c8cb;font-size:11px}
.footer-logo{width:190px}.footer-logo img{width:100%}
/* Internal course/map page is an editorial page, not an empty billboard. */
.subpage .subpage-intro{padding:110px 0 30px!important;background:var(--banus-paper)!important}
.subpage .subpage-intro .content-wrap{max-width:1220px}
.subpage .subpage-intro h1{margin:12px 0 14px!important}
.subpage .subpage-intro p{font-size:15px!important;max-width:930px!important;color:#344b55!important}
.subpage-main{padding:29px 0 43px!important;background:var(--banus-paper)!important}
.course-page-heading{margin-bottom:15px;align-items:end}
.course-map-caption{color:#5c6970;font-size:11.5px}
.course-map-showcase{width:min(100%,850px);margin:0 auto;background:#102936;
 border:1px solid #15323e;padding:12px 13px 12px;min-height:0}
.course-map-showcase img{width:100%;height:auto;max-height:320px;object-fit:contain}
.course-zoom-label{bottom:12px;right:12px;background:#f4f1e9;padding:9px 12px;
 color:#1e3944;font-size:10.5px!important;font-weight:500}
.course-page-texts{margin-top:23px;gap:20px}.course-page-texts section{padding-top:14px}
.course-page-texts p{font-size:14px!important}
.course-page-actions a{font-family:var(--text);font-size:11px;color:#24404c}
.course-map-dialog{padding:17px 20px;background:#10232e}.course-map-dialog p{color:#d3dddc}
/* Internal events page: retains all approved explanatory copy; inserts month list by calendar. */
.event-page-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.98fr) minmax(0,1.13fr);
 gap:24px;align-items:start}
.events-page-copy h2{margin:10px 0 13px}
.events-page-copy p{font-size:14px!important;color:#3d525c!important;line-height:1.67}
.events-page-note{border-left:1px solid #7e9494;padding-left:13px;margin-top:16px}
.events-page-after{margin-top:20px;padding-top:14px;border-top:1px solid #d0d5d1}
.events-page-after h2{font-size:20px!important}
.event-programme-panel .programme-list{margin-top:6px}
.event-calendar-panel .golf-calendar{padding:14px}
.event-selection{background:#eaece6;color:#38505a;font-size:12px;line-height:1.45}
/* Six strong photographic presentations without placeholder colors or false click states. */
.services-main-gallery{padding:17px 0 56px!important;background:var(--banus-paper)!important}
.services-section-head{margin:0 0 18px;display:block}
.services-gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.services-gallery .experience-card{display:flex;align-items:flex-end;position:relative;overflow:hidden;isolation:isolate;
 grid-column:span 1;min-height:240px;height:240px;background:#122834!important;color:#faf8f0!important;
 padding:22px!important;cursor:default;transition:filter .25s ease}
.services-gallery .experience-card-1{grid-column:span 2;min-height:300px;height:300px}
.services-gallery .experience-card-2,.services-gallery .experience-card-3{min-height:300px;height:300px}
.services-gallery .experience-card-4,.services-gallery .experience-card-5,.services-gallery .experience-card-6{grid-column:span 1}
/* Last row: 3 equally sized cards */
.services-gallery .experience-card:nth-child(n+4){grid-column:span 1}
.services-gallery{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.services-gallery .experience-card-1{grid-column:span 3}
.services-gallery .experience-card-2{grid-column:span 1.5} /* browser ignores fractional span; explicit remaining below */
.services-gallery .experience-card-2{grid-column:span 1}
.services-gallery .experience-card-3{grid-column:span 2}
.services-gallery .experience-card:nth-child(n+4){grid-column:span 2}
.services-gallery .experience-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
 transition:transform .7s ease}
.services-gallery .experience-card:hover img{transform:scale(1.035)}
.experience-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(7,24,31,.12) 30%,rgba(5,19,26,.87) 100%);z-index:-1}
.services-gallery .experience-card-title{font-family:var(--heading);font-weight:400;font-size:clamp(19px,1.85vw,29px);
 letter-spacing:1.1px!important;line-height:1.22;color:#faf9f5;text-transform:uppercase;max-width:100%;text-shadow:0 1px 18px rgba(0,0,0,.5)}
.services-gallery .experience-card:before{display:none}
/* Compact other subpages, inherited identical type, no stale staging warnings. */
.rates-grid{gap:18px 32px}.rates-grid section{padding-bottom:15px}
.faq-page p,.subpage-sections p{color:#364c55!important;font-size:14px!important}
/* Tablet and mobile transformations. */
@media(max-width:1100px){
 .event-feature,.event-page-layout{grid-template-columns:1fr 1fr}
 .event-feature-copy,.events-page-copy{grid-column:1/-1}
 .event-feature-programme,.event-feature-calendar,.event-programme-panel,.event-calendar-panel{grid-column:auto}
 .services-gallery{grid-template-columns:repeat(2,1fr)!important}
 .services-gallery .experience-card{grid-column:span 1!important;min-height:250px;height:250px}
 .services-gallery .experience-card-1{grid-column:span 2!important;min-height:310px;height:310px}
 .course-visual{height:350px}
}
@media(max-width:700px){
 :root{--banus-display:clamp(27px,7vw,37px);--banus-label:11px}
 .hero h1{font-size:clamp(25px,6.1vw,37px)!important}
 .intro,.course,.fees,.facilities,.membership,.staging-events,.location{padding:38px 0!important}
 .booking{padding:41px 0!important}
 .intro-layout,.course-shell,.facilities-layout,.fees-layout,.location-layout{gap:22px}
 .intro-heading h2,.course-info h2,.booking-head h2,.fees-intro h2,
 .facilities-info h2,.membership h2,.event-feature-copy h2,.location-details h2,.divot-copy h2{font-size:var(--banus-display)!important}
 .hero-bottom p{font-size:14px!important;line-height:1.6}
 .course-visual{height:300px}.hole-content{align-items:flex-start}
 .holes-toolbar{gap:12px}.holes-toolbar .hole-selector{flex-wrap:wrap}
 .course-map-button{padding:10px 13px}
 .event-feature,.event-page-layout{grid-template-columns:1fr;gap:22px}
 .event-feature-copy,.events-page-copy,.event-feature-programme,.event-feature-calendar,
 .event-programme-panel,.event-calendar-panel{grid-column:1}
 .staging-events{padding:40px 0!important}
 .programme-month{grid-template-columns:53px 1fr;gap:12px}
 .programme-name{font-size:14px}
 .golf-calendar{padding:12px}.cal-day{min-height:37px}
 .subpage .subpage-intro{padding:102px 0 24px!important}
 .subpage .subpage-intro h1{font-size:clamp(27px,6.6vw,38px)!important}
 .subpage-main{padding:22px 0 38px!important}
 .course-page-heading{grid-template-columns:1fr}
 .course-map-showcase{padding:8px}.course-map-showcase img{max-height:260px}
 .course-page-texts{grid-template-columns:1fr;gap:13px}
 .services-gallery{grid-template-columns:1fr!important;gap:11px}
 .services-gallery .experience-card,.services-gallery .experience-card-1{grid-column:1!important;min-height:220px;height:220px}
 .services-gallery .experience-card-title{font-size:22px}
 .visit-quick-facts{grid-template-columns:1fr 1fr;gap:18px}
 .visit-quick-facts .contact-hours{grid-column:1/-1}
 .footer-bottom{grid-template-columns:1fr;gap:24px}
 .footer-links{gap:12px 16px}.footer-links a{font-size:11px!important}
 .footer-contact{gap:13px}.footer-logo{width:170px}
 .weather-day{min-height:77px;padding:7px 2px}.weather-day-symbol{width:21px;height:21px}
 .weather-day-symbol svg{width:20px;height:20px}
}
@media(max-width:370px){.hole-selector button{width:29px;height:29px}.course-map-button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.services-gallery .experience-card img{transition:none}}
/* Strict 50 / 25 / 25 + thirds photography grid (not arbitrary uneven boxes). */
@media(min-width:1101px){
 .services-gallery{grid-template-columns:repeat(12,minmax(0,1fr))!important}
 .services-gallery .experience-card-1{grid-column:span 6!important}
 .services-gallery .experience-card-2,.services-gallery .experience-card-3{grid-column:span 3!important}
 .services-gallery .experience-card:nth-child(n+4){grid-column:span 4!important}
}
/* Protected dark-scene typography: explicit white, never inherited paper ink. */
.hero,.hero h1,.hero .hero-content,.hero-bottom p,.hero-eyebrow{color:#fbfaf5!important}
.hero h1{opacity:1!important;text-shadow:0 2px 18px rgba(4,13,19,.25)}
.hero-bottom p{opacity:1!important;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.course,.course-info h2,.booking,.booking-head h2,.divot,.divot-copy h2{color:#f5f4ee!important}
.divot-copy>p{color:#f4f2eb!important}
/* Editorial accent for the events programme: dark club-navy against warm ivory. */
.event-feature-programme,.event-programme-panel{
 background:linear-gradient(155deg,#193543,#102a36);color:#eaf0ed;
 padding:21px 21px 18px;box-shadow:0 10px 26px rgba(6,27,37,.08)
}
.event-feature-programme>.eyebrow,.event-programme-panel>.eyebrow{color:#d7e5e3!important}
.event-feature-programme .programme-list,.event-programme-panel .programme-list{border-color:rgba(221,229,226,.23)}
.event-feature-programme .programme-month,.event-programme-panel .programme-month{border-color:rgba(221,229,226,.21)}
.event-feature-programme .programme-name,.event-programme-panel .programme-name{color:#f3f3ed}
.event-feature-programme .programme-month-label,.event-programme-panel .programme-month-label{color:#e2c294}
.event-feature-programme .programme-kind,.event-programme-panel .programme-kind{color:#afc3c8}
.event-feature-programme .programme-past .programme-name,.event-programme-panel .programme-past .programme-name{color:#c2d0d0}
.event-feature-programme .programme-detail-link{color:#e6eee9;border-color:#a7b8b9}
