:root{--navy:#042d53;--ink:#122437;--gold:#c99d45;--cream:#f7f5f0;--line:#dce1e4;--muted:#637180;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);font-size:16px;line-height:1.5}.site-header{max-width:1180px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;color:var(--navy)}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--navy);border:2px solid var(--gold);color:#fff;font-weight:700;font-size:12px;letter-spacing:-.06em}.brand strong,.brand small{display:block}.brand strong{font-size:14px;letter-spacing:.02em}.brand small{font-size:12px;color:var(--muted)}button{font:inherit;cursor:pointer}.staff-button,.text-button{border:0;background:transparent;color:var(--navy);font-weight:700}.staff-button{border:1px solid #b9c3cb;padding:9px 14px;border-radius:4px;font-size:14px}main{max-width:1180px;margin:auto;padding:20px 28px 64px}.intro{background:linear-gradient(90deg,#021f3ee9 0%,#052d53d8 48%,#052d5370 100%),url('https://eu-images.contentstack.com/v3/assets/bltdb98d8f2fea905ea/bltb478d33366d068e7/6a0f06bebd58a318971badc6/broadland-sands-reception-new-1200x1200.jpg?auto=webp&environment=production&fit=bounds&format=pjpg&quality=75&width=2048') center/cover;color:white;padding:62px 56px 66px;position:relative;overflow:hidden;border-bottom:5px solid var(--gold)}.intro:after{content:'';position:absolute;width:390px;height:390px;border:1px solid rgba(201,157,69,.55);border-radius:50%;right:-120px;top:-250px}.eyebrow{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em;margin:0 0 8px}.intro h1,h2{font-family:'Playfair Display',serif;line-height:1.13;margin:0}.intro h1{font-size:clamp(30px,4.8vw,53px);max-width:690px}.intro>p:last-child{max-width:500px;color:#dbe6ee;margin:18px 0 0;font-size:17px}.quick-events{padding:50px 0}.section-heading,.calendar-toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.section-heading h2,.calendar-toolbar h2{font-size:30px}.text-button span{font-size:20px;margin-left:5px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.event-card{background:var(--white);border:1px solid var(--line);padding:20px;min-height:177px;text-align:left;position:relative;transition:transform .16s,box-shadow .16s}.event-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #092a4b18}.category{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--muted)}.category-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:7px}.event-card h3{font-family:'Playfair Display';font-size:22px;line-height:1.2;margin:16px 0 10px}.event-card p{margin:0;font-size:14px;color:var(--muted)}.calendar-section{background:#fff;padding:35px 32px 40px;border-top:4px solid var(--gold)}.calendar-actions{display:flex;gap:8px}.calendar-actions button{width:36px;height:36px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:26px;line-height:1}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 27px}.filter{border:1px solid var(--line);background:#fff;padding:7px 11px;border-radius:20px;font-size:13px;color:var(--ink)}.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{padding:0 10px 9px;color:var(--muted);font-size:12px;font-weight:700}.day{min-height:112px;border:1px solid #e6eaed;border-right:0;border-bottom:0;padding:8px;position:relative}.day:nth-child(7n){border-right:1px solid #e6eaed}.day:nth-last-child(-n+7){border-bottom:1px solid #e6eaed}.day.empty{background:#fafafa}.date{font-size:13px;color:var(--muted);display:block;margin-bottom:4px}.today .date{color:var(--navy);font-weight:700}.cal-event{display:block;width:100%;text-align:left;border:0;padding:4px 5px;border-left:3px solid;background:#f5f7f8;font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:3px 0}.notice{margin-top:30px;background:#eaf1f4;padding:29px 30px;display:flex;gap:18px}.notice-icon{width:30px;height:30px;background:var(--gold);color:var(--navy);border-radius:50%;display:grid;place-items:center;font-weight:700;flex:none}.notice h2{font-size:25px}.notice p:last-child{margin:7px 0 0;color:#4b5e6e}footer{text-align:center;padding:25px;color:#687989;font-size:13px;background:#eef1f2}footer span{color:var(--gold);padding:0 7px}dialog{border:0;padding:0;box-shadow:0 20px 50px #0004;max-width:min(610px,calc(100% - 28px));color:var(--ink)}dialog::backdrop{background:#041728aa}.event-dialog{background:#fff}.event-dialog #eventDetails{padding:44px 40px}.close{position:absolute;right:13px;top:9px;border:0;background:transparent;font-size:29px;color:var(--navy)}.event-date{color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:12px}.event-dialog h2{font-size:38px;margin:10px 0 22px}.details-meta{display:flex;gap:22px;flex-wrap:wrap;border-block:1px solid var(--line);padding:15px 0;color:var(--muted);font-size:14px}.details-body{font-size:17px;margin:24px 0}.primary{background:var(--navy);color:#fff;border:0;padding:12px 16px;font-weight:700}.staff-dialog{width:530px;padding:37px}.staff-head h2{font-size:30px}.staff-head>p:last-child{color:var(--muted);font-size:14px;margin-top:5px}form{margin-top:24px}label{font-size:13px;font-weight:700;display:block;margin-bottom:15px}input,select,textarea{margin-top:5px;width:100%;border:1px solid #c9d1d6;padding:10px;font:inherit;font-size:14px;background:white}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:720px){.site-header{padding:17px 18px}.staff-button{font-size:12px;padding:7px 9px}main{padding:0 0 42px}.intro{padding:42px 21px}.quick-events{padding:38px 20px}.event-grid{grid-template-columns:1fr}.calendar-section{padding:28px 13px}.calendar-toolbar{padding:0 8px}.weekdays span{font-size:10px;padding:0 3px 7px}.day{min-height:79px;padding:4px}.cal-event{font-size:9px;padding:3px;margin:2px 0}.date{font-size:11px}.notice{margin:24px 20px 0;padding:22px}.section-heading h2,.calendar-toolbar h2{font-size:25px}.event-dialog #eventDetails{padding:40px 25px}.event-dialog h2{font-size:31px}.staff-dialog{padding:32px 22px}.form-row{grid-template-columns:1fr}}

/* Calendar readability refresh */.calendar{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;}.day{min-width:0;min-height:94px;background:#fff;}.day.empty{background:#f7f8f8;}.weekdays span{padding:0 8px 10px;color:#27435e;font-size:12px;}.cal-event{white-space:normal;overflow:visible;min-height:28px;padding:5px 7px;margin:4px 0;border-radius:0 3px 3px 0;font-size:11px;font-weight:600;line-height:1.25;}.calendar-section{box-shadow:0 12px 30px rgba(4,45,83,.08);}.filters{padding-bottom:4px;border-bottom:1px solid #e7ebee;}@media(max-width:720px){.day{min-height:86px}.cal-event{font-size:9px;min-height:22px;padding:3px 4px}}

.event-hero{display:block;width:100%;height:220px;object-fit:cover;margin:-44px -40px 26px;width:calc(100% + 80px)}@media(max-width:720px){.event-hero{height:180px;margin:-40px -25px 22px;width:calc(100% + 50px)}}

.agenda-list{margin-top:22px;border-top:1px solid var(--line)}.agenda-row{display:grid;grid-template-columns:72px 1fr 24px;gap:14px;align-items:center;width:100%;text-align:left;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:white}.agenda-date{font-weight:700;color:var(--navy);font-size:14px;text-transform:uppercase}.agenda-row strong,.agenda-row small{display:block}.agenda-row strong{font-family:Playfair Display,serif;font-size:18px}.agenda-row small{font-size:13px;color:var(--muted);margin-top:3px}.agenda-arrow{font-size:20px;color:var(--gold)}

/* Desktop agenda layout */
#agendaDialog{width:min(940px,calc(100% - 48px));max-height:calc(100vh - 48px);}
#agendaDialog #agendaDetails{padding:48px 52px;}
#agendaDialog .agenda-list{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;margin-top:28px;}
#agendaDialog .agenda-row{grid-template-columns:68px 1fr 18px;min-height:100px;padding:18px 0;}
#agendaDialog .agenda-date{font-size:13px;color:var(--navy);}
#agendaDialog .agenda-row strong{font-size:20px;line-height:1.18;}
#agendaDialog .agenda-row small{line-height:1.45;}
@media(max-width:720px){#agendaDialog{width:calc(100% - 28px);max-height:calc(100vh - 28px)}#agendaDialog #agendaDetails{padding:40px 25px}#agendaDialog .agenda-list{display:block;margin-top:22px}#agendaDialog .agenda-row{min-height:auto;padding:15px 0}#agendaDialog .agenda-row strong{font-size:18px}}

/* Coastal surface treatment */
body{background:radial-gradient(900px 520px at 100% 0%,rgba(126,202,220,.26),transparent 62%),radial-gradient(680px 460px at 0% 38%,rgba(219,178,78,.13),transparent 65%),linear-gradient(145deg,#eef7f8 0%,#f8f7f1 48%,#edf4f5 100%)}
.site-header{background:rgba(255,255,255,.66);backdrop-filter:blur(9px);border-bottom:1px solid rgba(4,45,83,.08)}
.intro{border-radius:10px 10px 0 0;box-shadow:0 20px 42px rgba(2,31,62,.17)}
.quick-events{margin:0;padding:42px 32px 45px;background:rgba(255,255,255,.76);box-shadow:0 13px 30px rgba(4,45,83,.08)}
.calendar-section{margin-top:30px;border-radius:8px;box-shadow:0 18px 38px rgba(4,45,83,.12);border-top-width:5px}
.notice{border-radius:8px;box-shadow:0 10px 24px rgba(4,45,83,.07);border:1px solid rgba(4,45,83,.07)}
.event-card{border-radius:6px;border-top:3px solid var(--gold);box-shadow:0 6px 16px rgba(4,45,83,.06)}
@media(max-width:720px){.quick-events{padding:38px 20px;background:transparent;box-shadow:none}.calendar-section{margin-top:24px;border-radius:0}.intro{border-radius:0}.notice{border-radius:6px}}

/* Stronger visible coastal backdrop */
html{background:#d7edf2}
body{background:linear-gradient(135deg,#d8f0f4 0%,#eef8f7 38%,#f8efd8 100%)!important;background-attachment:fixed;min-height:100vh}
main{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.05));padding-top:32px;border-inline:1px solid rgba(255,255,255,.55)}
@media(max-width:720px){main{padding-top:0;border:0}}

/* Clearly framed coastal desktop layout */
@media(min-width:721px){
 main{max-width:1240px;padding:34px 30px 70px;background:linear-gradient(135deg,#b7dce5 0%,#e7f3f1 48%,#ecdba9 100%)!important;border-radius:14px;margin-top:22px;box-shadow:0 24px 58px rgba(3,39,69,.18)}
 .intro{margin:0 8px;border-radius:10px 10px 0 0}
 .quick-events{margin:0 8px 30px;border-radius:0 0 10px 10px}
 .calendar-section{margin:0 8px 30px;border-radius:10px}
 .notice{margin:22px 8px 0}
}

/* Integrated owners hub header */
.site-header{max-width:none!important;margin:0!important;padding:13px max(28px,calc((100vw - 1180px)/2))!important;background:linear-gradient(90deg,#022442,#063c68)!important;border-bottom:3px solid var(--gold)!important;box-shadow:0 8px 20px rgba(2,31,62,.18)!important;backdrop-filter:none!important}
.site-header .brand{color:#fff!important}.site-header .brand strong{color:#fff!important;font-size:17px!important;letter-spacing:.01em}.site-header .brand small{color:#bdd7e5!important}.site-header .brand-logo{width:52px!important;height:52px!important;border-radius:3px;box-shadow:0 2px 8px rgba(0,0,0,.22)}
@media(max-width:720px){.site-header{padding:10px 18px!important}.site-header .brand-logo{width:45px!important;height:45px!important}.site-header .brand strong{font-size:15px!important}}

.month-glance{display:grid;grid-template-columns:1fr 1fr 1.7fr;gap:1px;margin:0 8px 30px;background:rgba(4,45,83,.12);border:1px solid rgba(4,45,83,.12);box-shadow:0 10px 22px rgba(4,45,83,.08)}.month-glance article{padding:20px 22px;background:#fff}.month-glance span{display:block;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.11em}.month-glance strong{display:block;font-family:Playfair Display,serif;font-size:31px;line-height:1.1;color:var(--navy);margin:6px 0}.month-glance small{color:var(--muted);font-size:13px}.month-glance .next-glance{background:linear-gradient(115deg,#052d53,#074b78);color:#fff}.month-glance .next-glance strong{color:#fff;font-size:22px}.month-glance .next-glance small{color:#d9e9ee}.calendar-subtitle{margin:7px 0 0;color:var(--muted);font-size:14px}.cal-event{box-shadow:inset 0 0 0 1px rgba(4,45,83,.035)}@media(max-width:720px){.month-glance{grid-template-columns:1fr;margin:0 0 24px}.month-glance article{padding:17px 20px}.calendar-subtitle{font-size:13px}}

/* Owners’ update notifications */
.updates{margin:0 8px 30px;padding:24px 28px;background:linear-gradient(110deg,#052d53,#0b5685);border-left:5px solid var(--gold);box-shadow:0 14px 30px rgba(4,45,83,.16);color:#fff}.updates-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.updates .eyebrow{margin-bottom:4px}.updates h2{font-size:27px}.updates-heading>span{color:#d8e9ee;font-size:13px}.updates-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.update-item{display:block;width:100%;text-align:left;border:1px solid rgba(255,255,255,.2);border-radius:5px;background:rgba(255,255,255,.1);color:#fff;padding:14px;transition:background .16s,transform .16s}.update-item:not([disabled]):hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}.update-item[disabled]{cursor:default}.update-kind{display:block;color:#f1cf7c;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}.update-item strong,.update-item small{display:block}.update-item strong{font-family:'Playfair Display',serif;font-size:17px;line-height:1.22}.update-item small{color:#d8e9ee;font-size:12px;margin-top:6px}@media(max-width:720px){.updates{margin:0 0 24px;padding:21px 20px}.updates-heading{align-items:start;flex-direction:column;gap:3px}.updates h2{font-size:24px}.updates-list{grid-template-columns:1fr}.update-item{padding:13px}}

/* Tidy mobile month view and calendar-page motion */
.weekdays i{display:none;font-style:normal}.calendar-wrap{position:relative;overflow:hidden;background:#fff;transform-style:preserve-3d;perspective:1200px;touch-action:pan-y}.calendar-wrap:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 38%,rgba(4,45,83,.08) 52%,rgba(255,255,255,.94) 64%,#e8dfc8 100%);transform-origin:right center}.calendar-wrap.peel-next:after{animation:calendar-peel-next .52s ease-in-out}.calendar-wrap.peel-prev:after{transform-origin:left center;background:linear-gradient(65deg,#e8dfc8 0%,rgba(255,255,255,.94) 36%,rgba(4,45,83,.08) 48%,transparent 62%);animation:calendar-peel-prev .52s ease-in-out}.calendar-wrap.peel-next .calendar,.calendar-wrap.peel-next .weekdays{animation:calendar-sheet-next .52s ease-in-out}.calendar-wrap.peel-prev .calendar,.calendar-wrap.peel-prev .weekdays{animation:calendar-sheet-prev .52s ease-in-out}@keyframes calendar-peel-next{0%,100%{opacity:0;transform:translateX(100%) skewX(0)}35%{opacity:1}55%{opacity:1;transform:translateX(0) skewX(-7deg)}}@keyframes calendar-peel-prev{0%,100%{opacity:0;transform:translateX(-100%) skewX(0)}35%{opacity:1}55%{opacity:1;transform:translateX(0) skewX(7deg)}}@keyframes calendar-sheet-next{0%,100%{transform:rotateY(0);opacity:1}45%{transform:rotateY(-5deg) translateX(-1%);opacity:.68}}@keyframes calendar-sheet-prev{0%,100%{transform:rotateY(0);opacity:1}45%{transform:rotateY(5deg) translateX(1%);opacity:.68}}.swipe-hint,.mobile-month-list{display:none}

@media(max-width:720px){
 .calendar-section{padding:24px 12px 30px;overflow:hidden}.calendar-toolbar{align-items:center;margin-bottom:16px}.calendar-toolbar>div:first-child{min-width:0}.calendar-toolbar h2{font-size:28px}.calendar-subtitle{max-width:260px}.calendar-actions button{width:42px;height:42px;border-radius:50%;background:#f5f8f9}.filters{flex-wrap:nowrap;overflow-x:auto;margin-inline:-12px;padding:0 12px 14px;border-bottom:1px solid #e4e9ec;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filters::-webkit-scrollbar{display:none}.filter{flex:0 0 auto;min-height:42px;padding:9px 14px}.weekdays span{padding:8px 0;text-align:center}.weekdays b{display:none}.weekdays i{display:inline;font-weight:700}.day{min-height:62px;padding:4px 3px}.day.empty{background:#f7f8f8}.date{font-size:12px;margin-bottom:2px}.today .date{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff}.cal-event{min-height:19px;padding:2px 1px;margin:2px 0;text-align:center;border-left-width:3px;border-radius:2px;font-size:9px;line-height:1.15}.event-title{display:none}.event-time{font-weight:700}.has-events{background:linear-gradient(180deg,#fff,#fbfcfc)}.swipe-hint{display:block;text-align:center;margin:10px 0 22px;color:var(--muted);font-size:12px}.swipe-hint:before{content:'↔';margin-right:6px;color:var(--gold);font-size:16px}.mobile-month-list{display:block;border-top:3px solid var(--gold);background:#fff;padding:20px 16px 8px}.mobile-list-heading{margin-bottom:8px}.mobile-list-heading h3{font-family:'Playfair Display',serif;font-size:24px;margin:0}.mobile-event-row{display:grid;grid-template-columns:50px 1fr 14px;gap:12px;align-items:center;width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink)}.mobile-event-date{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--navy)}.mobile-event-row strong,.mobile-event-row small{display:block}.mobile-event-row strong{font-family:'Playfair Display',serif;font-size:16px;line-height:1.25}.mobile-event-row small{margin-top:3px;color:var(--muted);font-size:12px}.mobile-event-row>span:last-child{color:var(--gold);font-size:22px}.mobile-empty{color:var(--muted)}
}
@media(prefers-reduced-motion:reduce){.calendar-wrap.peel-next:after,.calendar-wrap.peel-prev:after,.calendar-wrap.peel-next .calendar,.calendar-wrap.peel-next .weekdays,.calendar-wrap.peel-prev .calendar,.calendar-wrap.peel-prev .weekdays{animation:none}}

/* Refined Broadland Sands typography and calendar hierarchy */
body{font-feature-settings:'kern' 1,'liga' 1;color:#10283d}
.intro h1,.section-heading h2,.calendar-toolbar h2,.notice h2,.event-dialog h2{text-wrap:balance;letter-spacing:-.025em}
.intro h1{font-weight:700;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.intro>p:last-child{line-height:1.65}
.eyebrow{letter-spacing:.145em}
.section-heading h2,.calendar-toolbar h2{color:var(--navy);font-weight:700}
.event-card{padding:22px;min-height:190px}
.event-card h3{margin:14px 0 14px;font-size:21px;line-height:1.22;letter-spacing:-.015em}
.event-card .event-when{display:flex;align-items:center;gap:8px;color:#40576a;font-size:13px;font-weight:600}
.time-chip{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:4px;background:#e7f1f5;color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.035em}
.event-card .event-location{margin-top:8px;color:#687887;font-size:13px}
.calendar-toolbar{align-items:center;margin:-10px -8px 22px;padding:20px 20px 18px;border-radius:8px;background:linear-gradient(105deg,#eff7f8 0%,#fbf8ee 100%);border-left:4px solid var(--gold)}
.calendar-toolbar h2{font-size:34px}
.calendar-actions button{width:42px;height:42px;border-radius:50%;border-color:#b9cbd5;background:#fff;box-shadow:0 4px 10px rgba(4,45,83,.08);font-size:25px;font-weight:600;transition:transform .15s,background .15s}
.calendar-actions button:hover{transform:translateY(-1px);background:#f4f8fa}
.filter{min-height:38px;padding:8px 14px;border-color:#ccd7dd;color:#233b50;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s}
.filter.active{box-shadow:0 4px 10px rgba(4,45,83,.14)}
.weekdays{border:1px solid #dbe4e8;border-bottom:0;background:#edf5f7}
.weekdays span{padding:10px 8px;color:#173b5a;font-size:11px;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.day{padding:8px 7px;border-color:#dfe6ea}
.date{margin-bottom:6px;color:#657786;font-size:12px;font-weight:600}
.cal-event{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:5px;min-height:34px;padding:5px 6px;border-left-width:4px;border-radius:3px;font-size:11px;line-height:1.25;white-space:normal;overflow:hidden}
.cal-event .event-time{display:inline-flex;padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.72);color:#123c60;font-size:9px;font-weight:800;letter-spacing:.025em}
.cal-event .event-title{display:-webkit-box;overflow:hidden;color:#163650;font-weight:700;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.event-dialog .event-date{letter-spacing:.13em}
.event-dialog h2{color:var(--navy)}
.details-meta{color:#425c70;font-weight:500}
.details-body{color:#263d50;line-height:1.7}
@media(max-width:720px){
 .intro h1{font-size:36px}
 .calendar-toolbar{margin:-8px 0 18px;padding:17px 14px;border-left-width:3px}
 .calendar-toolbar h2{font-size:29px}
 .calendar-subtitle{line-height:1.45}
 .weekdays{border-inline:0}
 .weekdays span{font-size:10px;letter-spacing:.04em}
 .cal-event{display:block;min-height:21px;padding:2px 1px;border-left-width:3px}
 .cal-event .event-time{display:block;padding:1px;background:transparent;font-size:9px;text-align:center}
 .event-card{min-height:auto}
 .mobile-event-row strong{letter-spacing:-.01em}
}

/* Streamlined owners' noticeboard */
html{background:#f5f6f4}
body{background:#f5f6f4!important;color:#19324a}
.site-header{background:#fff!important;border-bottom:2px solid var(--gold)!important;box-shadow:none!important}
.site-header .brand{color:var(--navy)!important}.site-header .brand strong{color:var(--navy)!important;font-size:16px!important}.site-header .brand small{color:#617487!important}.site-header .brand-logo{box-shadow:none!important}
main{display:flex;flex-direction:column;background:transparent!important;border:0!important;box-shadow:none!important}
.intro{order:0;margin:0!important;padding:34px 0 30px!important;background:#fff!important;background-image:none!important;color:var(--navy)!important;border:0!important;border-bottom:1px solid #dce4e7!important;border-radius:0!important;box-shadow:none!important}
.intro:after{display:none}.intro h1{max-width:none;font-size:clamp(34px,4.3vw,48px);text-shadow:none!important}.intro>p:last-child{margin-top:9px;color:#617487!important;font-size:16px}
.updates{order:1;margin:24px 0 0!important;padding:17px 20px!important;background:#f1f6f7!important;border:1px solid #d3e0e3!important;border-left:4px solid var(--gold)!important;box-shadow:none!important;color:var(--navy)!important}
.updates .eyebrow{color:#876722}.updates h2{font-size:23px}.updates-heading>span{color:#617487}.updates-list{display:block}.update-item{display:grid;grid-template-columns:150px 1fr;border:0!important;border-top:1px solid #d3e0e3!important;border-radius:0!important;background:transparent!important;color:var(--navy)!important;padding:11px 0!important}.update-item strong{font-family:'DM Sans',sans-serif!important;font-size:14px!important}.update-item small{grid-column:2;color:#617487!important;margin-top:2px!important}.update-kind{margin:0!important;color:#876722!important}
.month-glance{display:none!important}
.calendar-section{order:2;margin:28px 0 0!important;padding:28px!important;background:#fff!important;border:1px solid #dce4e7!important;border-top:3px solid var(--gold)!important;border-radius:0!important;box-shadow:none!important}
.calendar-toolbar{margin:0 0 20px!important;padding:0 0 18px!important;background:transparent!important;border:0!important;border-bottom:1px solid #dce4e7!important;border-radius:0!important}.calendar-toolbar h2{font-size:32px}.calendar-subtitle{font-size:15px!important;color:#617487!important}
.calendar-actions button{border-radius:3px!important;box-shadow:none!important;background:#fff!important}.calendar-actions button:hover{background:#f1f6f7!important}
.filters{margin-bottom:20px!important;padding-bottom:16px!important}.filter{min-height:36px;border-radius:3px!important;box-shadow:none!important}.filter.active{background:var(--navy)!important}
.weekdays{background:#f1f6f7!important;border-color:#dce4e7!important}.weekdays span{color:#38536b!important}.day{background:#fff!important;border-color:#e1e7e9!important}.day.empty{background:#fafbfa!important}.cal-event{box-shadow:none!important}
.quick-events{order:3;margin:34px 0 0!important;padding:0!important;background:transparent!important;box-shadow:none!important}.section-heading{padding-bottom:14px;border-bottom:1px solid #dce4e7}.section-heading h2{font-size:26px}.event-grid{gap:12px}.event-card{min-height:160px;padding:18px!important;border:1px solid #dce4e7!important;border-top:3px solid var(--gold)!important;border-radius:0!important;box-shadow:none!important}.event-card:hover{transform:none!important;box-shadow:none!important;background:#fbfcfc}.event-card h3{font-size:20px}
.notice{order:4;margin:24px 0 0!important;padding:20px!important;background:#fff!important;border:1px solid #dce4e7!important;border-radius:0!important;box-shadow:none!important}.notice h2{font-size:22px}.notice-icon{border-radius:3px!important}
footer{margin-top:34px;background:#eef2f2!important;color:#617487}
@media(min-width:721px){main{max-width:1180px!important;margin:0 auto!important;padding:0 28px 58px!important}.intro{padding-inline:0!important}}
@media(max-width:720px){main{padding:0 18px 38px!important}.site-header{margin:0 -0px!important}.intro{padding:28px 0 24px!important}.intro h1{font-size:34px}.updates{margin-top:18px!important;padding:16px!important}.updates h2{font-size:21px}.update-item{grid-template-columns:1fr!important;gap:3px}.update-item small{grid-column:auto}.calendar-section{margin-top:22px!important;padding:20px 12px!important}.calendar-toolbar{padding:0 4px 16px!important}.quick-events{margin-top:28px!important}.event-grid{gap:10px}.notice{padding:18px!important}.notice h2{font-size:20px}}

/* Compact upcoming list and calendar controls */
.today-button{width:auto!important;padding:0 11px!important;border-radius:3px!important;font-size:12px!important;font-weight:700;color:var(--navy)}
.category-key{display:flex;flex-wrap:wrap;gap:8px 14px;margin:-8px 0 18px;color:#657786;font-size:12px}
.category-key span{display:inline-flex;align-items:center;gap:6px}.category-key i{display:inline-block;width:8px;height:8px;border-radius:50%}
.event-grid{display:block}.event-card{display:grid;grid-template-columns:58px 1fr 18px;gap:14px;align-items:center;width:100%;min-height:0!important;margin:0;padding:16px 0!important;border:0!important;border-top:1px solid #dce4e7!important;background:transparent!important}.event-card:last-child{border-bottom:1px solid #dce4e7!important}.event-card-date{color:var(--navy);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.event-card-main{display:grid;gap:5px;min-width:0}.event-card .category{font-size:10px}.event-card strong{font-family:'Playfair Display',serif;color:var(--navy);font-size:19px;line-height:1.18;letter-spacing:-.015em}.event-card small{display:flex;align-items:center;gap:8px;color:#617487;font-size:13px}.event-card .time-chip{font-size:10px}.event-card-arrow{color:var(--gold);font-size:24px;line-height:1}.event-card:hover{background:#f7faf9!important}
@media(max-width:720px){.calendar-actions{gap:5px}.today-button{height:36px!important;padding:0 9px!important}.category-key{gap:7px 11px;margin:-4px 2px 16px;font-size:11px}.event-card{grid-template-columns:52px 1fr 14px;gap:10px;padding:14px 0!important}.event-card strong{font-size:17px}.event-card small{font-size:12px}.event-card-arrow{font-size:21px}}

/* 2027 months awaiting their event programme */
.calendar-wrap.coming-soon-mode .weekdays{display:none}
.calendar-wrap.coming-soon-mode{border:1px solid #dce4e7}
.coming-soon{grid-column:1/-1;min-height:310px;display:grid;place-content:center;justify-items:center;padding:48px 24px;text-align:center;background:linear-gradient(135deg,#f1f7f8 0%,#fff 52%,#fbf6e8 100%)}
.coming-soon:before{content:'✦';display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border:1px solid #d5b56f;border-radius:50%;color:var(--gold);font-size:18px;background:#fff}
.coming-soon span{color:#8a6826;font-size:11px;font-weight:800;letter-spacing:.15em}
.coming-soon h3{margin:8px 0 9px;font-family:'Playfair Display',serif;color:var(--navy);font-size:36px;line-height:1.1;letter-spacing:-.02em}
.coming-soon p{max-width:390px;margin:0;color:#617487;font-size:15px}
@media(max-width:720px){.coming-soon{min-height:240px;padding:38px 20px}.coming-soon h3{font-size:31px}.mobile-month-list>.coming-soon{margin:-20px -16px -8px}.coming-soon-mode+.swipe-hint{margin-top:14px}}
