:root{
  --ink:#10130f;--paper:#f7f3e9;--white:#fff;--green:#0d3b2a;--green-2:#195d43;--gold:#d7ad45;--gold-soft:#f2df9a;--muted:#677069;--line:#d9d4c8;--shadow:0 18px 50px rgba(16,19,15,.12);--radius:24px;--width:1240px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-width{width:min(var(--width),calc(100% - 36px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:#fff;padding:12px 16px;border-radius:8px}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:100;background:rgba(247,243,233,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,59,42,.12)}.nav-shell{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{display:block;font-family:Georgia,serif;font-size:1.15rem}.brand small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.primary-nav{display:flex;align-items:center;gap:4px}.primary-nav a{text-decoration:none;padding:10px 12px;border-radius:999px;font-weight:800;font-size:.9rem}.primary-nav a:hover,.primary-nav a[aria-current="page"]{background:var(--green);color:#fff}.menu-toggle{display:none;border:0;background:var(--green);width:46px;height:46px;border-radius:50%;padding:12px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{background:linear-gradient(135deg,#0a271c,#144d37 64%,#1d6a4c);color:#fff;overflow:hidden}.hero-grid{min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:50px;padding-block:70px}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:.74rem;color:var(--gold-soft)}.hero h1,.page-hero h1,.section-heading h2,.detail-hero h1{font-family:Georgia,serif;line-height:1.02;margin:0}.hero h1{font-size:clamp(3rem,7vw,6.5rem);max-width:850px}.hero h1 em{color:var(--gold-soft);font-style:normal}.hero-lead{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:700px;color:#e9efe9}.hero-actions,.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:13px 20px;text-decoration:none;font-weight:900}.button--primary{background:var(--gold);color:#17130b}.button--light{background:#fff;color:var(--green)}.button--ghost{border-color:rgba(255,255,255,.45);color:#fff}.hero-panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.hero-panel img{border-radius:20px;aspect-ratio:4/3;object-fit:cover}.live-card{margin-top:18px;background:#fff;color:var(--ink);padding:20px;border-radius:20px}.live-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--green-2)}.live-card h2{font-family:Georgia,serif;margin:5px 0 4px;font-size:1.6rem}.section{padding:78px 0}.section--white{background:#fff}.section--dark{background:#111b15;color:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading h2{font-size:clamp(2rem,4vw,3.4rem)}.section-heading>p{max-width:560px;color:var(--muted)}.section--dark .section-heading>p{color:#c9d1cb}.grid{display:grid;gap:20px}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(16,19,15,.06)}.card-body{padding:22px}.card h3{font-family:Georgia,serif;margin:3px 0 8px;font-size:1.5rem}.card p{color:var(--muted);margin:0}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf3ee;color:var(--green);font-size:.78rem;font-weight:850}.card-link{display:inline-flex;margin-top:18px;font-weight:900;color:var(--green);text-decoration:none}.image-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e8e5dc}.brand-image-fallback{aspect-ratio:16/10;background:linear-gradient(135deg,#d9d1bd,#f3ead3);display:grid;place-items:center;color:var(--green);font-family:Georgia,serif;font-size:1.35rem}.page-hero{background:linear-gradient(135deg,#0b2f21,#175840);color:#fff;padding:74px 0 66px}.page-hero h1{font-size:clamp(2.8rem,6vw,5.3rem)}.page-hero p:not(.eyebrow){font-size:1.15rem;max-width:760px;color:#e3ece6}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:26px}.toolbar input,.toolbar select{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px;min-width:220px}.status{padding:20px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--muted)}.status.error{border-color:#b95151;color:#7a2222;background:#fff1f1}.empty{grid-column:1/-1;padding:34px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:20px}.rally-date{display:flex;gap:10px;align-items:center;color:var(--green);font-weight:900}.rally-card{display:flex;flex-direction:column}.rally-card .card-body{display:flex;flex-direction:column;flex:1}.rally-card .card-link{margin-top:auto;padding-top:18px}.detail-hero{position:relative;background:#173f2e;color:#fff;padding:76px 0;overflow:hidden}.detail-hero.has-image{min-height:520px;display:flex;align-items:end}.detail-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52}.detail-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,15,.92),rgba(5,22,15,.28))}.detail-hero__content{position:relative;z-index:1}.detail-hero h1{font-size:clamp(3rem,7vw,6rem);max-width:850px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:30px}.detail-section{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;margin-bottom:20px}.detail-section h2{font-family:Georgia,serif;margin-top:0}.fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fact{background:#f4f1e9;padding:14px;border-radius:14px}.fact span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.fact strong{display:block;margin-top:4px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#e9f0eb;color:var(--green);padding:7px 11px;border-radius:999px;font-weight:800;font-size:.84rem}.contact-card{position:sticky;top:110px;background:var(--green);color:#fff;border-radius:24px;padding:24px}.contact-card h2{font-family:Georgia,serif}.contact-card a{color:#fff}.newsletter-grid,.album-grid,.park-grid,.notice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.newsletter-cover{position:relative;background:#e7e1d1;aspect-ratio:4/5;overflow:hidden}.newsletter-cover img{width:100%;height:100%;object-fit:cover}.newsletter-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.action{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-weight:850;text-decoration:none;color:var(--green)}.action.primary{background:var(--green);color:#fff;border-color:var(--green)}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(6,12,8,.78)}.modal-panel{position:relative;width:min(1050px,100%);max-height:94vh;background:#fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 90px rgba(0,0,0,.35)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;background:var(--green);color:#fff}.modal-head h2{font-family:Georgia,serif;font-size:1.35rem;margin:0}.modal-close{border:0;background:rgba(255,255,255,.15);color:#fff;width:42px;height:42px;border-radius:50%;font-size:1.4rem}.reader-frame{width:100%;height:min(76vh,900px);border:0;background:#eee}.modal-actions{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--line);flex-wrap:wrap}.album-card button{all:unset;display:block;cursor:pointer;width:100%}.album-cover{aspect-ratio:16/10;background:#e7e1d1;overflow:hidden}.album-cover img{width:100%;height:100%;object-fit:cover}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.photo-grid button{border:0;padding:0;background:#ddd;border-radius:12px;overflow:hidden}.photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}.lightbox-image{max-height:78vh;max-width:100%;margin:auto}.form-card{background:#fff;border-radius:26px;border:1px solid var(--line);padding:28px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fff}.form-grid textarea{resize:vertical}.honeypot{position:absolute!important;left:-9999px!important}.form-message{margin-top:14px;padding:14px;border-radius:13px}.form-message.success{background:#e8f5ec;color:#17572f}.form-message.error{background:#fff0f0;color:#8d2929}.committee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.committee-card{text-align:center;background:#fff;border-radius:22px;border:1px solid var(--line);padding:24px}.committee-card img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:5px solid #f0e1a5}.committee-card h3{font-family:Georgia,serif;margin:0}.committee-card p{margin:4px 0 14px;color:var(--green);font-weight:900}.committee-card a{display:block;margin:5px 0;color:var(--muted)}.site-footer{background:#0c1711;color:#dfe7e1;padding:56px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:60px}.footer-brand strong{font-family:Georgia,serif;font-size:1.2rem}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{text-decoration:none}.footer-label{text-transform:uppercase;letter-spacing:.12em;color:var(--gold-soft);font-size:.74rem;font-weight:900}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#aab5ad;font-size:.85rem}.loading-card{min-height:200px;background:linear-gradient(90deg,#eee8dc 25%,#f8f5ed 50%,#eee8dc 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:20px}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:980px){.primary-nav{position:fixed;inset:87px 18px auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:14px;display:none;flex-direction:column;align-items:stretch}.primary-nav.open{display:flex}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr;min-height:auto}.grid--4,.grid--3,.newsletter-grid,.album-grid,.park-grid,.notice-grid,.committee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr}.contact-card{position:static}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.site-width{width:min(100% - 24px,var(--width))}.brand small{display:none}.brand img{width:50px;height:50px}.nav-shell{min-height:74px}.primary-nav{inset:75px 12px auto}.hero-grid{padding-block:46px}.hero h1{font-size:3.2rem}.hero-panel{padding:14px}.section{padding:54px 0}.section-heading{display:block}.grid--4,.grid--3,.newsletter-grid,.album-grid,.park-grid,.notice-grid,.committee-grid{grid-template-columns:1fr}.fact-list,.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.page-hero{padding:52px 0}.modal{padding:0}.modal-panel{border-radius:0;max-height:100vh;height:100vh}.reader-frame{height:calc(100vh - 130px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.brand-image-fallback{min-height:220px;background:linear-gradient(145deg,#0d3b2a,#1d6a4c);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;font-family:Georgia,serif;font-weight:700;text-align:center;padding:24px}.brand-image-fallback img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(0,0,0,.22))}
.information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.information-card{border:1px solid var(--line);background:#fffaf3;border-radius:16px;padding:18px}.information-card h3{font-family:Georgia,serif;margin:0 0 8px;font-size:1.08rem;text-transform:capitalize}.information-card p{margin:6px 0;color:var(--muted);line-height:1.55}.mini-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mini-facts span{background:#f0e7d7;border-radius:999px;padding:6px 9px;font-size:.82rem;color:var(--ink)}@media(max-width:650px){.information-grid{grid-template-columns:1fr}}


/* Website v1.1 public-site refinements */
.brand-logos{display:flex;align-items:center;gap:7px;flex:0 0 auto}.brand-logos>img{margin:0}.brand-national-logo{width:42px!important;height:42px!important;border-radius:50%;background:#fff;padding:2px}.hero-rally-image{border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,#d9d1bd,#f3ead3)}.hero-rally-image>img{width:100%;height:100%;object-fit:cover;border-radius:0}.hero-rally-image .brand-image-fallback{height:100%;aspect-ratio:auto}.club-intro{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:52px}.club-intro h2,.join-panel h2,.rally-enquiry-panel h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;margin:0 0 18px}.club-intro__logos{display:flex;align-items:center;justify-content:center;gap:18px;padding:32px;border-radius:28px;background:linear-gradient(145deg,#0d3b2a,#1d6a4c);box-shadow:var(--shadow)}.club-intro__logos img{width:88px;height:88px;object-fit:contain}.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 8px 24px rgba(16,19,15,.05)}.feature-card>span{display:inline-flex;color:var(--gold);font-weight:950;letter-spacing:.14em}.feature-card h3{font-family:Georgia,serif;font-size:1.45rem;margin:14px 0 8px}.feature-card p{margin:0;color:var(--muted)}.home-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.join-panel{display:flex;align-items:center;justify-content:space-between;gap:36px}.join-panel p{color:#c9d1cb;max-width:690px}.rally-detail-shell{max-width:1040px}.rally-detail-shell>.detail-section{padding:32px}.rally-copy{margin-top:28px}.rally-copy h2{font-family:Georgia,serif;margin:28px 0 8px}.rally-copy p{white-space:pre-line;color:var(--muted)}.button--outline{border-color:var(--green);color:var(--green);background:#fff}.rally-enquiry-panel{margin-top:26px;background:var(--green);color:#fff;border-radius:24px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.rally-enquiry-panel h2{font-size:2rem}.rally-enquiry-panel p{margin:0;color:#dbe9df}.detail-date{font-size:1.14rem;font-weight:850}.about-group-photo{border-radius:24px;width:100%;object-fit:cover}.about-intro{align-items:start}.ccsa-about{display:flex;align-items:center;gap:22px}.ccsa-about>img{width:88px;height:88px;object-fit:contain;flex:0 0 auto}.committee-card a{display:none}.committee-card img{background:#f4f1e9}.contact-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:30px;align-items:start}.form-card h2{font-family:Georgia,serif;font-size:2rem;margin:0}.form-intro{color:var(--muted);margin:4px 0 24px}.contact-explainer{background:var(--green);color:#fff;border-radius:26px;padding:28px;box-shadow:var(--shadow)}.contact-explainer>img{width:92px;height:92px;object-fit:contain;background:#fff;border-radius:50%;padding:5px;margin-bottom:18px}.contact-explainer h2{font-family:Georgia,serif;font-size:1.7rem}.contact-explainer ol{padding-left:22px}.contact-explainer li{margin:12px 0}.contact-explainer p{color:#dbe9df}.footer-logo-pair{display:flex;align-items:center;gap:8px}.footer-logo-pair img{width:54px;height:54px;object-fit:contain}.official-link{display:inline-flex;margin-top:8px;color:var(--gold-soft);font-weight:850}.image-error{background:linear-gradient(135deg,#d9d1bd,#f3ead3)}
@media(max-width:980px){.club-intro{grid-template-columns:1fr}.club-intro__logos{max-width:360px}.contact-layout{grid-template-columns:1fr}.join-panel,.rally-enquiry-panel{align-items:flex-start;flex-direction:column}.brand-national-logo{width:38px!important;height:38px!important}}
@media(max-width:650px){.brand-logos{gap:3px}.brand-national-logo{width:34px!important;height:34px!important}.club-intro__logos{padding:24px}.club-intro__logos img{width:72px;height:72px}.home-media-grid{grid-template-columns:1fr}.ccsa-about{align-items:flex-start;flex-direction:column}.rally-detail-shell>.detail-section{padding:22px}.rally-enquiry-panel{padding:24px}}

/* Website v1.2 photography, rally artwork and Facebook */
.rally-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#ebe7dc}.rally-card-media>img:first-child{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.rally-card-media.has-logo>img:first-child{object-fit:contain;padding:14px;background:linear-gradient(145deg,#eee9dc,#faf7ef)}.rally-card-badge{position:absolute!important;right:12px;bottom:12px;width:76px!important;height:76px!important;aspect-ratio:1!important;object-fit:contain!important;padding:5px;border-radius:18px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 8px 24px rgba(0,0,0,.25)}.detail-hero__logo{position:absolute;right:max(20px,calc((100vw - var(--width))/2));bottom:32px;z-index:2;width:150px;height:150px;object-fit:contain;background:rgba(255,255,255,.94);border-radius:28px;padding:10px;box-shadow:0 18px 44px rgba(0,0,0,.3)}.detail-hero.has-logo .detail-hero__image{object-fit:contain;opacity:.78;background:linear-gradient(145deg,#e8e1d1,#faf7ef)}.hero-rally-image>img{image-rendering:auto}.section--facebook{background:#eaf2ff}.facebook-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;background:#fff;border:1px solid #c9d9ef;border-radius:28px;padding:30px;box-shadow:var(--shadow)}.facebook-panel h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:0 0 10px}.facebook-panel p:not(.eyebrow){margin:0;color:var(--muted);max-width:760px}.facebook-mark{display:grid;place-items:center;width:82px;height:82px;border-radius:22px;background:#1877f2;color:#fff;font:900 4.4rem/1 Arial,sans-serif;padding-top:11px}.button--facebook{background:#1877f2;color:#fff;white-space:nowrap}.button--facebook:hover{background:#0f64d8}@media(max-width:980px){.facebook-panel{grid-template-columns:auto 1fr}.facebook-panel .button{grid-column:1/-1;justify-self:start}.detail-hero__logo{width:112px;height:112px}}@media(max-width:650px){.facebook-panel{grid-template-columns:1fr}.facebook-mark{width:68px;height:68px;font-size:3.6rem}.rally-card-badge{width:62px!important;height:62px!important}.detail-hero__logo{right:14px;bottom:18px;width:84px;height:84px;border-radius:18px}}

/* Website v1.3 — WCAG 2.2 AA accessibility remediation */
:root{--gold-text:#735700;--control-border:#7e7a71;--error:#8d2929;--error-border:#a00000;--focus-dark:#10130f;--focus-light:#fff}
html{scroll-padding-top:112px;color-scheme:light}
body{overflow-wrap:anywhere}
[id]{scroll-margin-top:112px}
main[tabindex="-1"]:focus{outline:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus-dark);outline-offset:3px;box-shadow:0 0 0 6px var(--focus-light);scroll-margin-block:112px 24px}
:where(.hero,.page-hero,.detail-hero,.section--dark,.site-footer,.modal-head,.modal-panel--dark) :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline-color:#fff;box-shadow:0 0 0 6px #10130f}
.skip-link{color:var(--ink);border:2px solid var(--ink);font-weight:900;text-decoration:none;box-shadow:var(--shadow)}
.skip-link:focus{top:16px}
:where(p,li,.accessibility-note) a:not(.button):not(.action){text-decoration:underline;text-decoration-thickness:.1em;text-underline-offset:.16em}
:where(a,button){touch-action:manipulation}
.primary-nav a,.button,.action,.card-link,.footer-links a,.official-link{min-height:44px;display:inline-flex;align-items:center}
.primary-nav a{justify-content:center}
.footer-links a{width:max-content;max-width:100%}
.menu-toggle,.modal-close,.photo-grid button{min-width:44px;min-height:44px}
.button--primary{border:2px solid var(--green)}
.button--ghost{border-color:#fff;border-width:2px}
.action{border-color:var(--control-border)}
.toolbar{align-items:flex-end}
.filter-control{display:flex;flex:1 1 220px;min-width:min(100%,220px);max-width:360px;flex-direction:column;gap:7px;font-weight:800}
.toolbar input,.toolbar select,.form-field input,.form-field select,.form-field textarea{width:100%;min-height:48px;border:2px solid var(--control-border);border-radius:13px;padding:12px 14px;background:#fff;color:var(--ink)}
.toolbar input::placeholder,.form-field input::placeholder,.form-field textarea::placeholder{color:#59615b;opacity:1}
.form-grid{align-items:start}
.form-field{display:flex;min-width:0;flex-direction:column;gap:7px;font-weight:800}
.form-field.full{grid-column:1/-1}
.form-grid--single{grid-template-columns:1fr}
.form-field textarea{min-height:150px;resize:vertical}
.required-note{margin:8px 0 18px;color:var(--muted);font-weight:750}
.required-marker,.required-note>span{color:var(--error);font-weight:950}
.field-error{display:block;color:var(--error);font-size:.9rem;font-weight:800}
.field-error[hidden],.error-summary[hidden],.form-message[hidden]{display:none}
.form-field :where(input,select,textarea)[aria-invalid="true"]{border-color:var(--error-border);box-shadow:0 0 0 2px rgba(160,0,0,.12)}
.error-summary{margin:0 0 20px;padding:16px 18px;border:2px solid var(--error-border);border-radius:14px;background:#fff0f0;color:#701f1f;font-weight:750}
.error-summary p{margin:0 0 6px;font-weight:900}
.error-summary ul{margin:0;padding-left:22px}
.error-summary a{color:inherit;text-decoration:underline}
.privacy-note{color:var(--muted);font-size:.95rem}
.form-card[aria-busy="true"]{cursor:progress}
.form-card button[disabled]{cursor:wait}
.honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.results-status{min-height:1.6em;margin:0 0 18px;color:var(--muted);font-weight:750}
.status{border-color:var(--control-border)}
.feature-card>span,.facebook-panel .eyebrow{color:var(--gold-text)}
.button--facebook{background:#0b5fcc}
.button--facebook:hover{background:#0757bd}
.accessibility-note{background:#fff7d6;border-block:1px solid #8b6c00;padding:14px 0;color:#3e3100}
.accessibility-note strong{margin-right:.35em}
.modal-backdrop{cursor:pointer}
.modal-panel{overscroll-behavior:contain}
.modal-head{flex-wrap:wrap}
.modal-scroll{padding:16px;overflow:auto;overscroll-behavior:contain}
.modal-load-more{text-align:center;margin:18px}
.reader-accessibility-note{margin:0;padding:12px 18px;background:#fff7d6;color:#3e3100;border-top:1px solid #8b6c00}
.modal-panel--dark{background:#111;color:#fff}
.lightbox-stage{display:grid;place-items:center;min-height:60vh;padding:14px}
.lightbox-position{min-height:1.6em;margin:0;padding:6px 18px;text-align:center;color:#fff}
.album-card button{font:inherit;color:inherit}
.album-card button:focus-visible{border-radius:var(--radius)}
.photo-grid button{position:relative}
.photo-grid button:focus-visible{z-index:1}
.lightbox-image{object-fit:contain}
.new-window-note{white-space:nowrap}
@media(max-width:980px){.primary-nav{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}.primary-nav a{min-height:48px;justify-content:flex-start}.modal-panel{max-height:calc(100dvh - 36px)}}
@media(max-width:650px){.filter-control{max-width:none}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.modal-panel{max-height:100dvh}.hero h1{font-size:clamp(2.45rem,13vw,3.2rem)}.facebook-panel .button{white-space:normal;text-align:center}.brand strong{font-size:1rem}}
@media(max-width:360px){.site-width{width:calc(100% - 18px)}.brand-logos>img:first-child{width:44px;height:44px}.brand-national-logo{width:30px!important;height:30px!important}.brand{gap:8px}.hero-panel{padding:10px}.button{width:100%}.hero-actions,.button-row{align-items:stretch;flex-direction:column}}
@media(forced-colors:active){:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid Highlight;box-shadow:none}.button,.action,.menu-toggle,.modal-close,.card,.form-card,.status{border:1px solid CanvasText}.primary-nav a[aria-current="page"]{outline:2px solid CanvasText}.loading-card{background:Canvas}}
.modal-open{overflow:hidden}
.accessibility-statement{max-width:900px}.accessibility-statement .detail-section{margin-bottom:22px}.accessibility-review{color:var(--muted);font-weight:750}
/* Keep rally hero text contrast independent of the supplied photograph. */
.detail-hero__shade{background:linear-gradient(90deg,rgba(5,22,15,.94) 0%,rgba(5,22,15,.90) 68%,rgba(5,22,15,.72) 100%)}
@media(max-width:650px){.detail-hero__shade{background:rgba(5,22,15,.86)}}

/* Website v1.5 — supplied park icons are the only rally imagery. */
.rally-card-media.has-logo{
  display:grid;
  place-items:center;
  aspect-ratio:16/10;
  background:linear-gradient(145deg,#eee9dc,#faf7ef);
  padding:12px;
}
.rally-card-media.has-logo>img:first-child{
  width:min(76%,300px);
  height:min(92%,232px);
  max-width:none;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  padding:0;
  background:transparent;
  image-rendering:auto;
}
.rally-card-media.has-photo{display:none!important}
.rally-card-badge,.detail-hero__logo{display:none!important}
.detail-hero.has-logo{
  min-height:500px;
  background:linear-gradient(135deg,#0a271c,#174e38);
}
.detail-hero.has-logo .detail-hero__image{
  position:absolute;
  inset:8% 4% 8% auto;
  width:min(43%,560px);
  height:84%;
  object-fit:contain;
  padding:0;
  opacity:1;
  background:transparent;
}
.detail-hero.has-logo .detail-hero__shade{
  background:linear-gradient(90deg,rgba(5,22,15,.98) 0%,rgba(5,22,15,.96) 48%,rgba(5,22,15,.34) 72%,rgba(5,22,15,.10) 100%);
}
.detail-hero.has-logo .detail-hero__content{max-width:58%}
@media(max-width:760px){
  .rally-card-media.has-logo>img:first-child{width:min(80%,280px);height:min(92%,220px)}
  .detail-hero.has-logo{min-height:440px}
  .detail-hero.has-logo .detail-hero__image{inset:auto 8% 3% auto;width:64%;height:60%;opacity:.28}
  .detail-hero.has-logo .detail-hero__shade{background:rgba(5,22,15,.88)}
  .detail-hero.has-logo .detail-hero__content{max-width:none}
}

/* Website v1.6 — Midlands Rally Road visual system */
:root{
  --ink:#18312c;
  --paper:#fff8e8;
  --white:#fff;
  --green:#006b5f;
  --green-2:#00a896;
  --gold:#ffd166;
  --gold-soft:#fff0a6;
  --sun:#ffb703;
  --coral:#ff6b5d;
  --pink:#ef476f;
  --sky:#37bde8;
  --navy:#073b4c;
  --purple:#7957d5;
  --muted:#53655f;
  --line:#d8cdbb;
  --shadow:0 18px 0 rgba(7,59,76,.08),0 28px 70px rgba(7,59,76,.16);
  --radius:28px;
  --width:1260px;
}

body{
  background:
    radial-gradient(circle at 12px 12px,rgba(0,107,95,.07) 2px,transparent 2.5px) 0 0/30px 30px,
    var(--paper);
  color:var(--ink);
  font-family:"Trebuchet MS",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.site-header{
  background:rgba(255,248,232,.94);
  border-bottom:4px solid transparent;
  border-image:linear-gradient(90deg,var(--pink),var(--sun),var(--green-2),var(--sky),var(--purple)) 1;
  box-shadow:0 10px 30px rgba(7,59,76,.08);
}
.nav-shell{min-height:94px}
.brand strong,
.hero h1,.page-hero h1,.section-heading h2,.detail-hero h1,
.card h3,.feature-card h3,.live-card h2,.footer-brand strong,
.club-intro h2,.join-panel h2,.rally-enquiry-panel h2,
.detail-section h2,.form-card h2,.contact-explainer h2,
.facebook-panel h2,.committee-card h3{
  font-family:"Arial Rounded MT Bold","Trebuchet MS",Georgia,sans-serif;
  font-weight:900;
  letter-spacing:-.035em;
}
.brand strong{font-size:1.28rem;color:var(--navy)}
.brand small{color:var(--green);font-weight:900}
.brand-logos>img:first-child{filter:drop-shadow(0 5px 8px rgba(7,59,76,.18))}
.brand-national-logo{box-shadow:0 4px 0 rgba(7,59,76,.12)}
.primary-nav{gap:3px}
.primary-nav a{color:var(--navy);border:2px solid transparent;transition:transform .18s ease,background .18s ease,color .18s ease}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{background:var(--green);color:#fff;transform:translateY(-2px);box-shadow:0 5px 0 #004f47}
.primary-nav a:nth-child(5):hover{background:#0b5fcc;box-shadow:0 5px 0 #084896}
.menu-toggle{background:var(--pink);box-shadow:0 5px 0 #b71f46}

.hero{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,209,102,.95) 0 7%,transparent 7.2%),
    radial-gradient(circle at 86% 14%,rgba(239,71,111,.86) 0 16%,transparent 16.2%),
    radial-gradient(circle at 75% 88%,rgba(55,189,232,.55) 0 25%,transparent 25.2%),
    linear-gradient(135deg,#073b4c 0%,#006b5f 54%,#00a896 100%);
  color:#fff;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-6%;right:-6%;bottom:-112px;
  height:260px;
  background:
    radial-gradient(ellipse at 18% 12%,#66c75a 0 29%,transparent 30%),
    radial-gradient(ellipse at 50% 34%,#2fa65e 0 34%,transparent 35%),
    radial-gradient(ellipse at 82% 8%,#8bd05c 0 29%,transparent 30%);
  filter:drop-shadow(0 -8px 0 rgba(7,59,76,.12));
}
.hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.18;
  background-image:radial-gradient(circle,#fff 1.5px,transparent 1.5px);
  background-size:27px 27px;
  mask-image:linear-gradient(90deg,#000,transparent 72%);
}
.hero-grid{position:relative;z-index:2;min-height:720px;gap:62px;padding-block:76px 112px}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
  color:var(--navy);
  background:var(--gold);
  border:2px solid var(--navy);
  border-radius:999px;
  padding:7px 12px;
  box-shadow:4px 4px 0 var(--navy);
  letter-spacing:.13em;
}
.hero h1{font-size:clamp(3.7rem,7.2vw,7.2rem);letter-spacing:-.075em;text-wrap:balance;text-shadow:0 6px 0 rgba(7,59,76,.24)}
.hero h1 em{
  display:inline-block;
  color:var(--gold);
  transform:rotate(-1.5deg);
  text-decoration:underline;
  text-decoration-color:var(--pink);
  text-decoration-thickness:.12em;
  text-underline-offset:.08em;
}
.hero-lead{max-width:660px;font-size:clamp(1.1rem,1.8vw,1.38rem);color:#fff;line-height:1.65;font-weight:650}
.button{
  min-height:48px;
  border:2px solid var(--navy);
  border-radius:16px 26px 16px 26px;
  box-shadow:5px 6px 0 var(--navy);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.button:hover{transform:translate(2px,2px);box-shadow:3px 4px 0 var(--navy)}
.button--primary{background:var(--gold);color:var(--navy);border-color:var(--navy)}
.button--ghost{background:rgba(255,255,255,.12);border-color:#fff;color:#fff;box-shadow:5px 6px 0 rgba(7,59,76,.65)}
.button--light{background:#fff;color:var(--navy);border-color:var(--navy)}
.hero-panel{
  position:relative;
  background:#fff8e8;
  border:5px solid #fff;
  border-radius:34px 18px 36px 20px;
  padding:18px;
  box-shadow:14px 16px 0 rgba(7,59,76,.42),0 34px 80px rgba(7,59,76,.32);
  transform:rotate(1.25deg);
}
.hero-panel::before{
  content:"RALLY LIFE";
  position:absolute;
  z-index:4;
  top:-20px;right:22px;
  padding:8px 15px;
  color:#fff;
  background:var(--pink);
  border:3px solid #fff;
  border-radius:999px;
  box-shadow:4px 5px 0 var(--navy);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.12em;
  transform:rotate(4deg);
}
.hero-rally-image{border:3px solid var(--navy);border-radius:24px 13px 24px 13px;box-shadow:0 8px 0 rgba(7,59,76,.14)}
.hero-rally-image>img{filter:saturate(1.2) contrast(1.04)}
.live-card{position:relative;background:#fff;color:var(--ink);border:3px solid var(--navy);border-radius:16px 26px 16px 26px;margin-top:16px;padding:18px 20px;box-shadow:none}
.live-card::after{content:"NEXT STOP";position:absolute;top:-13px;left:20px;background:var(--sky);color:var(--navy);border:2px solid var(--navy);padding:3px 9px;border-radius:7px;font-size:.65rem;font-weight:950;letter-spacing:.1em;transform:rotate(-2deg)}
.live-card>span{color:var(--green);margin-top:7px;display:block}
.live-card h2{color:var(--navy);font-size:1.75rem}
.rally-sticker-strip{display:flex;justify-content:center;gap:9px;margin:15px -2px -1px;padding-top:2px}
.rally-sticker{display:grid;place-items:center;width:70px;height:70px;background:#fff;border:3px solid var(--navy);border-radius:50%;box-shadow:4px 5px 0 rgba(7,59,76,.22);transform:rotate(-5deg);overflow:hidden}
.rally-sticker:nth-child(2){transform:rotate(4deg);background:#fff0a6}
.rally-sticker:nth-child(3){transform:rotate(-2deg);background:#d7f6ff}
.rally-sticker:nth-child(4){transform:rotate(6deg);background:#ffe0e7}
.rally-sticker img{width:92%;height:92%;object-fit:contain}
.rally-route{position:absolute;z-index:3;left:0;right:0;bottom:34px;height:52px;pointer-events:none}
.rally-route::before{content:"";position:absolute;left:-3%;right:-3%;top:20px;border-top:8px solid rgba(7,59,76,.76);transform:rotate(-1deg)}
.rally-route__dash{position:absolute;left:-3%;right:-3%;top:23px;border-top:2px dashed var(--gold);transform:rotate(-1deg)}
.rally-route__caravan{position:absolute;top:-8px;left:9%;width:76px;height:43px;background:#fff8e8;border:3px solid var(--navy);border-radius:18px 22px 8px 8px;box-shadow:4px 4px 0 rgba(7,59,76,.24);animation:rally-cruise 16s ease-in-out infinite alternate}
.rally-route__caravan::before{content:"";position:absolute;right:-18px;bottom:4px;width:19px;border-top:3px solid var(--navy);transform:rotate(8deg);transform-origin:left center}
.rally-route__caravan::after{content:"";position:absolute;left:9px;right:8px;bottom:-10px;height:14px;background:radial-gradient(circle at 8px 5px,var(--navy) 0 6px,transparent 6.5px),radial-gradient(circle at calc(100% - 7px) 5px,var(--navy) 0 6px,transparent 6.5px)}
.rally-route__caravan i{position:absolute;left:9px;top:8px;width:22px;height:14px;background:var(--sky);border:2px solid var(--navy);border-radius:6px}
.rally-route__caravan b{position:absolute;right:9px;top:7px;width:18px;height:27px;background:var(--coral);border:2px solid var(--navy);border-radius:7px}
@keyframes rally-cruise{from{left:8%;transform:rotate(-1deg)}to{left:82%;transform:rotate(1deg)}}

.section{position:relative;padding:88px 0}
.section--white{background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)}
.section-heading{align-items:center;margin-bottom:38px}
.section-heading h2{font-size:clamp(2.35rem,4.6vw,4.15rem);color:var(--navy);text-wrap:balance}
.section-heading>p{color:var(--muted);font-size:1.05rem}
.section .eyebrow{color:var(--navy)!important}
.feature-card,.card,.detail-section,.form-card,.committee-card{
  border:3px solid var(--navy);
  box-shadow:8px 9px 0 rgba(7,59,76,.12);
}
.feature-card{position:relative;padding:32px;border-radius:32px 18px 30px 18px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.feature-card::after{content:"";position:absolute;right:-24px;top:-28px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.38)}
.feature-card:nth-child(1){background:#fff0a6;transform:rotate(-1deg)}
.feature-card:nth-child(2){background:#cff6ee;transform:rotate(1deg)}
.feature-card:nth-child(3){background:#ffdce5;transform:rotate(-.5deg)}
.feature-card:hover{transform:translateY(-8px) rotate(0);box-shadow:10px 16px 0 rgba(7,59,76,.12)}
.feature-card>span{display:grid;place-items:center;width:48px;height:48px;background:var(--navy);color:#fff;border-radius:15px;letter-spacing:0;box-shadow:4px 4px 0 rgba(7,59,76,.18)}
.feature-card h3{font-size:1.65rem;color:var(--navy)}
.feature-card p{color:#344b45}

.card{border-radius:32px 18px 30px 18px;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-7px);box-shadow:10px 16px 0 rgba(7,59,76,.13)}
.card-body{padding:25px}
.card h3{color:var(--navy);font-size:1.62rem}
.card p{color:var(--muted)}
.card-link{color:var(--green);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:.18em;text-underline-offset:.18em}
.pill{background:var(--gold-soft);color:var(--navy);border:2px solid var(--navy);font-weight:950}
.rally-date{color:var(--green);font-weight:950}
.rally-card:nth-child(3n+1) .card-body{background:#fffaf0}
.rally-card:nth-child(3n+2) .card-body{background:#f1fffb}
.rally-card:nth-child(3n+3) .card-body{background:#fff2f6}
.rally-card-media.has-logo{border-bottom:3px solid var(--navy);padding:18px;background:radial-gradient(circle at 20% 15%,#fff0a6 0 18%,transparent 18.5%),linear-gradient(145deg,#d5f7ef,#fffaf0)}
.rally-card:nth-child(3n+2) .rally-card-media.has-logo{background:radial-gradient(circle at 80% 12%,#ffdce5 0 18%,transparent 18.5%),linear-gradient(145deg,#d9f6ff,#fffaf0)}
.rally-card:nth-child(3n+3) .rally-card-media.has-logo{background:radial-gradient(circle at 18% 85%,#d8cff7 0 18%,transparent 18.5%),linear-gradient(145deg,#fff0a6,#fffaf0)}
.rally-card-media.has-logo>img:first-child{filter:drop-shadow(0 12px 10px rgba(7,59,76,.22));transition:transform .25s ease}
.rally-card:hover .rally-card-media.has-logo>img:first-child{transform:scale(1.06) rotate(-1deg)}

.page-hero{
  position:relative;
  isolation:isolate;
  min-height:410px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,209,102,.9) 0 11%,transparent 11.3%),
    radial-gradient(circle at 70% 110%,rgba(55,189,232,.62) 0 34%,transparent 34.3%),
    linear-gradient(125deg,var(--navy),var(--green));
  padding:86px 0 78px;
}
.page-hero::before{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.24) 1.5px,transparent 1.5px);background-size:24px 24px;mask-image:linear-gradient(90deg,#000,transparent 72%)}
.page-hero::after{content:"";position:absolute;z-index:-1;left:-5%;right:-5%;bottom:-125px;height:210px;border-radius:50% 50% 0 0;background:#5dc75e;box-shadow:0 -16px 0 rgba(0,107,95,.28)}
.page-hero>.site-width{position:relative;z-index:2}
.page-hero h1{max-width:760px;font-size:clamp(3.5rem,7vw,6.7rem);letter-spacing:-.065em;text-shadow:0 6px 0 rgba(7,59,76,.28)}
.page-hero p:not(.eyebrow){position:relative;z-index:2;max-width:680px;color:#fff;font-weight:650}
body[data-page="rallies"] .page-hero{background:radial-gradient(circle at 86% 20%,#ffd166 0 12%,transparent 12.3%),linear-gradient(125deg,#073b4c 0%,#006b5f 48%,#00a896 100%)}
body[data-page="newsletters"] .page-hero{background:radial-gradient(circle at 85% 16%,#ffb703 0 12%,transparent 12.3%),linear-gradient(125deg,#3b275e 0%,#7957d5 52%,#ef476f 130%)}
body[data-page="gallery"] .page-hero{background:radial-gradient(circle at 86% 16%,#ff8f70 0 12%,transparent 12.3%),linear-gradient(125deg,#073b4c 0%,#086f83 50%,#37bde8 125%)}
body[data-page="about"] .page-hero{background:radial-gradient(circle at 87% 18%,#ffd166 0 12%,transparent 12.3%),linear-gradient(125deg,#233d32 0%,#006b5f 50%,#5dc75e 125%)}
body[data-page="contact"] .page-hero{background:radial-gradient(circle at 88% 18%,#ffd166 0 12%,transparent 12.3%),linear-gradient(125deg,#5a1738 0%,#ef476f 52%,#ff8f70 120%)}
body[data-page="accessibility"] .page-hero{background:radial-gradient(circle at 88% 18%,#37bde8 0 12%,transparent 12.3%),linear-gradient(125deg,#073b4c 0%,#3b275e 54%,#7957d5 120%)}
body[data-page="404"] .page-hero{min-height:620px;background:radial-gradient(circle at 83% 14%,#ffd166 0 12%,transparent 12.3%),linear-gradient(125deg,#073b4c 0%,#5a1738 54%,#ef476f 120%)}
.page-hero__art{position:absolute;z-index:1;inset:0 2% 0 auto;width:min(47%,620px);pointer-events:none}
.page-hero__art .rally-sticker{position:absolute;width:150px;height:150px;border-width:5px;box-shadow:10px 12px 0 rgba(7,59,76,.28);background:#fff}
.page-hero__art .rally-sticker--1{right:26%;top:10%;transform:rotate(-8deg)}
.page-hero__art .rally-sticker--2{right:3%;top:34%;width:176px;height:176px;transform:rotate(7deg);background:#fff0a6}
.page-hero__art .rally-sticker--3{right:41%;bottom:4%;width:132px;height:132px;transform:rotate(4deg);background:#d9f6ff}
.page-hero__sun{position:absolute;right:8%;top:5%;width:95px;height:95px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 16px rgba(255,209,102,.2)}
.page-hero__road{position:absolute;left:-3%;right:-6%;bottom:44px;border-top:12px solid rgba(7,59,76,.74);transform:rotate(-7deg)}
.page-hero__road::after{content:"";position:absolute;left:0;right:0;top:-7px;border-top:3px dashed var(--gold)}

.toolbar{padding:18px;background:#fff;border:3px solid var(--navy);border-radius:24px 14px 24px 14px;box-shadow:7px 8px 0 rgba(7,59,76,.11)}
.toolbar input,.toolbar select,.form-field input,.form-field select,.form-field textarea{border-color:var(--navy);background:#fffdf8;color:var(--ink)}
.toolbar input:focus,.toolbar select:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{background:#fff;outline-color:var(--pink)}
.status{border:3px solid var(--navy);background:#fffdf8;box-shadow:5px 6px 0 rgba(7,59,76,.09)}
.action{border:2px solid var(--navy);color:var(--navy);box-shadow:3px 4px 0 rgba(7,59,76,.14)}
.action.primary{background:var(--green);border-color:var(--navy);color:#fff}
.newsletter-card:nth-child(3n+1) .card-body,.album-card:nth-child(3n+1) .card-body{background:#fffaf0}
.newsletter-card:nth-child(3n+2) .card-body,.album-card:nth-child(3n+2) .card-body{background:#f1fffb}
.newsletter-card:nth-child(3n+3) .card-body,.album-card:nth-child(3n+3) .card-body{background:#fff2f6}
.newsletter-cover,.album-cover{border-bottom:3px solid var(--navy)}
.album-card button{border-radius:inherit}
.photo-grid button{border:3px solid var(--navy);box-shadow:4px 5px 0 rgba(7,59,76,.16)}

.detail-hero.has-logo{min-height:570px;background:radial-gradient(circle at 87% 15%,#ffd166 0 11%,transparent 11.3%),linear-gradient(125deg,#073b4c 0%,#006b5f 58%,#00a896 130%)}
.detail-hero.has-logo::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-140px;height:220px;border-radius:50% 50% 0 0;background:#66c75a;box-shadow:0 -17px 0 rgba(7,59,76,.2)}
.detail-hero.has-logo .detail-hero__image{z-index:2;right:max(4%,calc((100vw - var(--width))/2));width:min(40%,520px);height:78%;filter:drop-shadow(12px 16px 0 rgba(7,59,76,.28))}
.detail-hero.has-logo .detail-hero__shade{z-index:1;background:linear-gradient(90deg,rgba(7,59,76,.98) 0%,rgba(7,59,76,.92) 49%,rgba(7,59,76,.14) 78%,transparent 100%)}
.detail-hero__content{z-index:3}
.detail-hero.has-logo .detail-hero__content{max-width:var(--width);padding-right:48%}
.detail-hero h1{letter-spacing:-.065em;text-shadow:0 6px 0 rgba(7,59,76,.28)}
.detail-date{color:var(--gold);font-size:1.25rem}
.rally-detail-shell>.detail-section{background:#fffdf8}
.fact{background:#dff8f1;border:2px solid var(--navy);border-radius:18px 10px 18px 10px}
.fact:nth-child(2n){background:#fff0a6}
.fact span{color:var(--green)}
.rally-enquiry-panel{background:linear-gradient(125deg,var(--navy),var(--green));border:3px solid var(--navy);box-shadow:9px 10px 0 rgba(7,59,76,.14)}

.club-intro__logos{background:radial-gradient(circle at 20% 20%,rgba(255,209,102,.85) 0 18%,transparent 18.5%),linear-gradient(145deg,#006b5f,#00a896);border:4px solid var(--navy);box-shadow:9px 10px 0 rgba(7,59,76,.16)}
.about-group-photo{border:5px solid var(--navy);border-radius:34px 18px 34px 18px;box-shadow:11px 12px 0 rgba(7,59,76,.15);filter:saturate(1.12)}
.committee-card:nth-child(4n+1){background:#fff0a6;transform:rotate(-1deg)}
.committee-card:nth-child(4n+2){background:#dff8f1;transform:rotate(1deg)}
.committee-card:nth-child(4n+3){background:#ffdce5;transform:rotate(-.7deg)}
.committee-card:nth-child(4n+4){background:#d9f6ff;transform:rotate(.7deg)}
.committee-card img{border:5px solid var(--navy);box-shadow:5px 6px 0 rgba(7,59,76,.15)}
.committee-card p{color:var(--green)}
.contact-explainer{background:linear-gradient(145deg,#073b4c,#006b5f);border:3px solid var(--navy);box-shadow:9px 10px 0 rgba(7,59,76,.15)}
.form-card{background:#fffdf8}
.form-card::before{content:"SEND A SIGNAL FROM THE ROAD";display:inline-flex;margin:0 0 18px;padding:6px 10px;border:2px solid var(--navy);border-radius:8px;background:var(--gold);color:var(--navy);font-size:.7rem;font-weight:950;letter-spacing:.1em;transform:rotate(-1deg)}

.section--facebook{background:linear-gradient(135deg,#d9f6ff,#edf7ff)}
.facebook-panel{border:3px solid var(--navy);border-radius:34px 18px 34px 18px;box-shadow:9px 10px 0 rgba(7,59,76,.13)}
.facebook-mark{border:3px solid var(--navy);box-shadow:6px 7px 0 rgba(7,59,76,.15)}
.button--facebook{background:#0b5fcc;color:#fff;border-color:var(--navy)}
.section--dark{background:radial-gradient(circle at 90% 12%,rgba(239,71,111,.58) 0 14%,transparent 14.3%),linear-gradient(125deg,#073b4c,#006b5f);color:#fff}
.join-panel h2{color:#fff}
.site-footer{position:relative;background:#052c39;color:#e8f5f2;padding-top:76px}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:18px;background:linear-gradient(90deg,var(--pink) 0 20%,var(--sun) 20% 40%,var(--green-2) 40% 60%,var(--sky) 60% 80%,var(--purple) 80%)}
.footer-brand strong{color:#fff}
.footer-label{color:var(--gold)}
.official-link{color:var(--gold)}
.footer-links a:hover{color:var(--gold)}
.loading-card{border:3px solid var(--navy);background:linear-gradient(90deg,#dff8f1 25%,#fff0a6 50%,#ffdce5 75%);background-size:200% 100%;box-shadow:6px 7px 0 rgba(7,59,76,.1)}

@media(max-width:1100px){
  .page-hero__art{right:-6%;opacity:.82}
  .page-hero>.site-width{padding-right:34%}
  .hero-grid{gap:36px}
}
@media(max-width:980px){
  .nav-shell{min-height:86px}
  .primary-nav{inset:88px 18px auto;border:3px solid var(--navy);box-shadow:8px 9px 0 rgba(7,59,76,.15)}
  .hero-grid{min-height:auto;padding-bottom:120px}
  .hero-panel{max-width:680px;margin-inline:auto;transform:none}
  .page-hero>.site-width{padding-right:30%}
  .page-hero__art{right:-12%;width:54%;opacity:.65}
  .detail-hero.has-logo .detail-hero__image{width:47%;opacity:.56}
}
@media(max-width:760px){
  .detail-hero.has-logo{min-height:500px}
  .detail-hero.has-logo .detail-hero__image{inset:auto 2% 2% auto;width:60%;height:56%;opacity:.35}
  .detail-hero.has-logo .detail-hero__shade{background:rgba(7,59,76,.88)}
  .detail-hero.has-logo .detail-hero__content{padding-right:0}
}
@media(max-width:650px){
  .site-width{width:min(100% - 26px,var(--width))}
  .nav-shell{min-height:78px}
  .primary-nav{inset:80px 12px auto}
  .hero-grid{padding-block:54px 102px}
  .hero h1{font-size:clamp(3rem,15vw,4.4rem)}
  .hero-lead{font-size:1.05rem}
  .hero-panel{padding:12px;border-width:4px;box-shadow:8px 10px 0 rgba(7,59,76,.35)}
  .hero-panel::before{right:10px}
  .rally-sticker{width:56px;height:56px;border-width:2px}
  .rally-route{bottom:28px}
  .rally-route__caravan{animation-duration:12s}
  .section{padding:62px 0}
  .section-heading h2{font-size:clamp(2.2rem,11vw,3.3rem)}
  .feature-card,.card,.detail-section,.form-card,.committee-card{box-shadow:5px 6px 0 rgba(7,59,76,.12)}
  .page-hero{min-height:430px;padding:64px 0 95px}
  .page-hero>.site-width{padding-right:0;padding-bottom:76px}
  .page-hero h1{font-size:clamp(3.25rem,16vw,5rem)}
  .page-hero__art{inset:auto -8% 2px auto;width:84%;height:190px;opacity:.52}
  .page-hero__art .rally-sticker{width:92px;height:92px;border-width:3px}
  .page-hero__art .rally-sticker--1{left:8%;right:auto;top:24%}
  .page-hero__art .rally-sticker--2{right:4%;top:14%;width:108px;height:108px}
  .page-hero__art .rally-sticker--3{right:38%;bottom:0;width:82px;height:82px}
  .page-hero__sun{width:65px;height:65px}
  .toolbar{padding:14px}
  .detail-hero h1{font-size:clamp(3rem,14vw,4.5rem)}
  .committee-card{transform:none!important}
  .button{border-radius:14px 22px 14px 22px}
}
@media(max-width:360px){
  .hero h1{font-size:2.75rem}
  .rally-sticker{width:50px;height:50px}
  .page-hero h1{font-size:3rem}
}
@media(prefers-reduced-motion:reduce){
  .rally-route__caravan{animation:none;left:12%}
  .feature-card,.card,.button,.primary-nav a,.rally-card-media.has-logo>img:first-child{transition:none!important}
}

/* Website v1.7 — Heritage Private Club theme, based on the supplied reference */
:root{
  --ink:#17231d;
  --paper:#f4ecdc;
  --white:#fffdf7;
  --green:#102d22;
  --green-2:#1d4635;
  --gold:#b88a3c;
  --gold-soft:#d8b86a;
  --muted:#6c6658;
  --line:#cbb98e;
  --oxblood:#5b1718;
  --navy:#0b2119;
  --shadow:0 18px 38px rgba(24,28,22,.13);
  --radius:4px;
}

body{
  background:
    linear-gradient(rgba(244,236,220,.94),rgba(244,236,220,.94)),
    repeating-linear-gradient(0deg,rgba(66,54,35,.035) 0 1px,transparent 1px 4px),
    #f4ecdc;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
}

.rally-route,.rally-sticker-strip,.page-hero__art{display:none!important}

.site-header{
  background:rgba(9,31,23,.97);
  border:0;
  border-bottom:1px solid var(--gold);
  box-shadow:0 8px 28px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
}
.nav-shell{min-height:92px}
.brand strong,.brand small{color:#f1e7d3}
.brand strong{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.28rem;letter-spacing:.015em}
.brand small{color:var(--gold-soft);font-family:"Trebuchet MS",sans-serif;font-size:.65rem;letter-spacing:.18em}
.brand-logos>img:first-child{filter:sepia(.25) drop-shadow(0 4px 7px rgba(0,0,0,.35))}
.brand-national-logo{border:1px solid var(--gold);box-shadow:none}
.primary-nav a{
  color:#efe3cc;
  border:0;
  border-radius:0;
  font-family:"Trebuchet MS",sans-serif;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:color .18s ease,background .18s ease;
}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{
  color:var(--gold-soft);
  background:transparent;
  box-shadow:inset 0 -1px 0 var(--gold);
  transform:none;
}
.primary-nav a:nth-child(5):hover{background:transparent;box-shadow:inset 0 -1px 0 var(--gold)}
.menu-toggle{background:var(--oxblood);border:1px solid var(--gold);box-shadow:none}

.hero{
  min-height:730px;
  background:
    linear-gradient(90deg,rgba(6,25,18,.97) 0%,rgba(6,25,18,.88) 38%,rgba(6,25,18,.38) 66%,rgba(6,25,18,.08) 100%),
    url("/assets/photos/heritage-rally-hero.png") center/cover no-repeat,
    #0b2119;
  color:#f8f0df;
}
.hero::before{
  z-index:0;
  inset:0;
  height:auto;
  background:
    linear-gradient(180deg,transparent 70%,rgba(4,17,13,.84)),
    repeating-linear-gradient(0deg,rgba(225,201,149,.025) 0 1px,transparent 1px 4px);
  filter:none;
}
.hero::after{display:none}
.hero-grid{min-height:730px;grid-template-columns:minmax(0,1.05fr) minmax(380px,.68fr);gap:70px;padding-block:86px}
.eyebrow{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 18px;
  padding:0 0 9px;
  color:var(--gold-soft);
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(216,184,106,.62);
  border-radius:0;
  box-shadow:none;
  font-family:"Trebuchet MS",sans-serif;
  font-size:.71rem;
  letter-spacing:.2em;
}
.hero h1,.page-hero h1,.section-heading h2,.detail-hero h1,
.card h3,.feature-card h3,.live-card h2,.footer-brand strong,
.club-intro h2,.join-panel h2,.rally-enquiry-panel h2,
.detail-section h2,.form-card h2,.contact-explainer h2,
.facebook-panel h2,.committee-card h3{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.025em;
}
.hero h1{max-width:760px;font-size:clamp(3.8rem,6.5vw,6.8rem);line-height:.94;letter-spacing:-.055em;text-shadow:0 3px 16px rgba(0,0,0,.5)}
.hero h1 em{color:var(--gold-soft);font-style:italic;text-decoration:none;transform:none}
.hero-lead{max-width:650px;color:#eee4d1;font-size:1.18rem;font-weight:400;line-height:1.72;text-shadow:0 2px 8px rgba(0,0,0,.45)}
.button{
  position:relative;
  min-height:50px;
  padding:13px 25px;
  border:1px solid var(--gold);
  border-radius:0;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.08),0 6px 16px rgba(0,0,0,.18);
  font-family:"Trebuchet MS",sans-serif;
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.button:hover{transform:none;box-shadow:inset 0 0 0 3px rgba(255,255,255,.13),0 9px 20px rgba(0,0,0,.23)}
.button--primary{background:var(--oxblood);color:#f8ead0;border-color:var(--gold)}
.button--ghost{background:rgba(7,29,21,.68);color:#f8ead0;border-color:var(--gold);box-shadow:inset 0 0 0 3px rgba(255,255,255,.05)}
.button--light{background:#f6edda;color:var(--green);border-color:var(--gold)}
.hero-panel{
  background:rgba(9,32,23,.92);
  border:1px solid var(--gold);
  border-radius:2px;
  padding:16px;
  box-shadow:inset 0 0 0 4px rgba(184,138,60,.12),0 22px 55px rgba(0,0,0,.42);
  transform:none;
}
.hero-panel::before{
  content:"MIDLANDS RALLY";
  top:-13px;right:22px;
  padding:5px 12px;
  color:var(--gold-soft);
  background:var(--oxblood);
  border:1px solid var(--gold);
  border-radius:50%;
  box-shadow:0 5px 12px rgba(0,0,0,.35);
  font-family:"Trebuchet MS",sans-serif;
  font-size:.61rem;
  letter-spacing:.12em;
  transform:none;
}
.hero-rally-image{border:1px solid var(--gold);border-radius:0;box-shadow:none;background:#132d23}
.hero-rally-image>img{filter:sepia(.18) saturate(.75) contrast(1.04)}
.live-card{
  margin-top:12px;
  padding:18px 20px;
  background:#f4ecdc;
  color:var(--ink);
  border:1px solid var(--gold);
  border-radius:0;
  box-shadow:inset 0 0 0 3px #e9dcc3;
}
.live-card::after{content:"UPCOMING RALLY";top:-11px;left:18px;background:var(--green);color:var(--gold-soft);border:1px solid var(--gold);border-radius:0;font-size:.57rem;letter-spacing:.13em;transform:none}
.live-card>span{color:var(--oxblood);font-family:"Trebuchet MS",sans-serif;letter-spacing:.12em}
.live-card h2{color:var(--green);font-size:1.65rem}

.section{padding:84px 0}
.section--white{background:rgba(255,252,244,.82);border-block:1px solid rgba(184,138,60,.24)}
.section-heading h2{color:var(--green);font-size:clamp(2.5rem,4.5vw,4.25rem)}
.section-heading>p{color:var(--muted);font-family:"Trebuchet MS",sans-serif;font-size:.96rem;line-height:1.7}
.section .eyebrow{color:#7c5b21!important}
.feature-card,.card,.detail-section,.form-card,.committee-card{
  border:1px solid var(--line);
  border-radius:2px;
  box-shadow:var(--shadow);
}
.feature-card{
  padding:30px;
  border-top:3px solid var(--gold);
  background:#102d22!important;
  color:#f4ead7;
  border-radius:2px;
  transform:none!important;
}
.feature-card::after{display:none}
.feature-card:hover{transform:none;box-shadow:0 22px 42px rgba(24,28,22,.17)}
.feature-card>span{display:block;width:auto;height:auto;background:transparent;color:var(--gold-soft);border-radius:0;box-shadow:none;font-family:Georgia,serif;font-size:1.25rem}
.feature-card h3{color:#f4ead7;font-size:1.6rem}
.feature-card p{color:#d8cdb8}
.card{background:#fffaf0;border-color:#c6b481;border-radius:2px;box-shadow:0 12px 28px rgba(36,31,21,.12);transform:none!important}
.card:hover{transform:none;box-shadow:0 18px 36px rgba(36,31,21,.17)}
.card-body{background:#fffaf0!important}
.card h3{color:var(--green);font-size:1.56rem}
.card p{color:var(--muted);font-family:"Trebuchet MS",sans-serif;font-size:.92rem;line-height:1.65}
.card-link{color:var(--oxblood);text-decoration:none;border-bottom:1px solid var(--gold);font-family:"Trebuchet MS",sans-serif;font-size:.77rem;letter-spacing:.06em;text-transform:uppercase}
.pill{background:transparent;color:var(--green);border:1px solid var(--gold);border-radius:0;font-family:"Trebuchet MS",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.rally-date{color:#806020;font-family:"Trebuchet MS",sans-serif;font-size:.77rem;letter-spacing:.08em;text-transform:uppercase}
.rally-card-media.has-logo,.rally-card:nth-child(n) .rally-card-media.has-logo{
  border-bottom:1px solid var(--gold);
  background:
    radial-gradient(circle at 50% 44%,rgba(209,191,148,.28),transparent 48%),
    repeating-linear-gradient(0deg,rgba(80,63,33,.035) 0 1px,transparent 1px 4px),
    #eee3cd;
}
.rally-card-media.has-logo>img:first-child{filter:sepia(.18) saturate(.72) drop-shadow(0 10px 8px rgba(35,30,20,.2));transition:none}
.rally-card:hover .rally-card-media.has-logo>img:first-child{transform:none}

.page-hero{
  min-height:390px;
  padding:84px 0 74px;
  background:
    linear-gradient(90deg,rgba(7,28,20,.98),rgba(7,28,20,.78) 58%,rgba(7,28,20,.42)),
    url("/assets/photos/heritage-rally-hero.png") center 52%/cover no-repeat,
    #0b2119!important;
  border-bottom:1px solid var(--gold);
}
.page-hero::before{inset:0;background:repeating-linear-gradient(0deg,rgba(225,201,149,.025) 0 1px,transparent 1px 4px);mask-image:none}
.page-hero::after{display:none}
.page-hero h1{max-width:820px;color:#f7edda;font-size:clamp(3.3rem,6.4vw,6.2rem);letter-spacing:-.045em;text-shadow:0 3px 16px rgba(0,0,0,.55)}
.page-hero p:not(.eyebrow){max-width:700px;color:#e7ddc9;font-family:"Trebuchet MS",sans-serif;font-size:1rem;font-weight:400;line-height:1.75;text-shadow:0 2px 8px rgba(0,0,0,.5)}

.toolbar{padding:20px;background:#fffaf0;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:2px;box-shadow:var(--shadow)}
.toolbar label,.form-field{font-family:"Trebuchet MS",sans-serif;font-size:.8rem;letter-spacing:.035em}
.toolbar input,.toolbar select,.form-field input,.form-field select,.form-field textarea{border:1px solid #9b8c6c;border-radius:0;background:#fffdf8;color:var(--ink)}
.status{border:1px solid var(--line);border-radius:0;background:#fffaf0;box-shadow:none}
.action{border:1px solid var(--gold);border-radius:0;color:var(--green);box-shadow:none;font-family:"Trebuchet MS",sans-serif;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}
.action.primary{background:var(--green);border-color:var(--gold);color:#fff5df}
.newsletter-cover,.album-cover{border-bottom:1px solid var(--gold)}
.photo-grid button{border:1px solid var(--gold);border-radius:0;box-shadow:0 7px 15px rgba(33,28,20,.13)}

.detail-hero.has-logo{
  min-height:540px;
  background:
    linear-gradient(90deg,rgba(6,25,18,.98),rgba(6,25,18,.88) 52%,rgba(6,25,18,.42)),
    url("/assets/photos/heritage-rally-hero.png") center/cover no-repeat,
    #0b2119;
  border-bottom:1px solid var(--gold);
}
.detail-hero.has-logo::after{display:none}
.detail-hero.has-logo .detail-hero__image{
  z-index:2;
  inset:10% max(5%,calc((100vw - var(--width))/2)) 10% auto;
  width:min(34%,430px);
  height:80%;
  padding:20px;
  background:rgba(244,236,220,.93);
  border:1px solid var(--gold);
  filter:sepia(.18) saturate(.72) drop-shadow(0 18px 24px rgba(0,0,0,.34));
}
.detail-hero.has-logo .detail-hero__shade{z-index:1;background:linear-gradient(90deg,rgba(7,28,20,.99) 0%,rgba(7,28,20,.94) 52%,rgba(7,28,20,.28) 78%,rgba(7,28,20,.16) 100%)}
.detail-hero.has-logo .detail-hero__content{padding-right:44%}
.detail-hero h1{color:#f7edda;letter-spacing:-.045em;text-shadow:0 3px 16px rgba(0,0,0,.55)}
.detail-date{color:var(--gold-soft);font-family:"Trebuchet MS",sans-serif;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase}
.rally-detail-shell>.detail-section{background:#fffaf0}
.fact,.fact:nth-child(n){background:#f1e6d1;border:1px solid var(--line);border-radius:0}
.fact span{color:#7a5a21;font-family:"Trebuchet MS",sans-serif;letter-spacing:.09em}
.rally-enquiry-panel{background:var(--green);border:1px solid var(--gold);border-radius:2px;box-shadow:var(--shadow)}

.club-intro__logos{background:var(--green);border:1px solid var(--gold);border-radius:2px;box-shadow:var(--shadow)}
.about-group-photo{border:1px solid var(--gold);border-radius:2px;box-shadow:var(--shadow);filter:sepia(.16) saturate(.75)}
.committee-card:nth-child(n){background:#fffaf0;transform:none}
.committee-card img{border:3px double var(--gold);box-shadow:none;filter:sepia(.1) saturate(.78)}
.committee-card p{color:#76591f;font-family:"Trebuchet MS",sans-serif;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.contact-explainer{background:var(--green);border:1px solid var(--gold);border-radius:2px;box-shadow:var(--shadow)}
.form-card{background:#fffaf0}
.form-card::before{content:"CLUB ENQUIRY";margin-bottom:18px;padding:0 0 7px;background:transparent;color:#76591f;border:0;border-bottom:1px solid var(--gold);border-radius:0;font-family:"Trebuchet MS",sans-serif;font-size:.65rem;letter-spacing:.16em;transform:none}
.section--facebook{background:#e9dfcb}
.facebook-panel{background:#fffaf0;border:1px solid var(--line);border-top:3px solid #315b92;border-radius:2px;box-shadow:var(--shadow)}
.facebook-mark{border:1px solid #244f87;border-radius:50%;box-shadow:none}
.button--facebook{background:#173d71;color:#fff;border-color:var(--gold)}
.section--dark{background:linear-gradient(120deg,#071d15,#14382a);border-top:1px solid var(--gold);color:#f3e9d5}
.join-panel h2{color:#f3e9d5}
.site-footer{background:#071d15;color:#ddd1bb;padding-top:70px;border-top:1px solid var(--gold)}
.site-footer::before{height:5px;background:linear-gradient(90deg,transparent,var(--gold) 22%,var(--gold) 78%,transparent)}
.footer-brand strong{color:#f1e5cf}
.footer-label,.official-link{color:var(--gold-soft)}
.footer-links a:hover{color:var(--gold-soft)}
.loading-card{border:1px solid var(--line);border-radius:0;background:linear-gradient(90deg,#e8ddc8 25%,#f7efdf 50%,#e8ddc8 75%);background-size:200% 100%;box-shadow:none}

@media(max-width:980px){
  .primary-nav{background:#0b281e;border:1px solid var(--gold);border-radius:0;box-shadow:0 16px 36px rgba(0,0,0,.35)}
  .hero-grid{grid-template-columns:1fr;min-height:auto}
  .hero-panel{max-width:680px;margin-inline:0}
  .detail-hero.has-logo .detail-hero__content{padding-right:40%}
}
@media(max-width:760px){
  .detail-hero.has-logo .detail-hero__content{padding-right:0}
  .detail-hero.has-logo .detail-hero__image{inset:auto 4% 3% auto;width:52%;height:48%;padding:12px;opacity:.22}
  .detail-hero.has-logo .detail-hero__shade{background:rgba(7,28,20,.88)}
}
@media(max-width:650px){
  .hero{background-position:62% center}
  .hero-grid{padding-block:62px}
  .hero h1{font-size:clamp(3.15rem,14vw,4.6rem)}
  .hero-panel{padding:10px}
  .page-hero{min-height:370px;padding:62px 0}
  .page-hero>.site-width{padding:0}
  .page-hero h1{font-size:clamp(3rem,14vw,4.4rem)}
  .feature-card,.card,.detail-section,.form-card,.committee-card{box-shadow:0 12px 24px rgba(36,31,21,.12)}
  .button{border-radius:0}
}

/* Website v1.8 — WCAG 2.2 AA remediation for the heritage theme */
.hero,.page-hero{overflow:visible}
.hero-grid>*{min-width:0;max-width:100%}
.hero h1,.page-hero h1,.hero-lead,.page-hero p{max-width:100%;overflow-wrap:break-word}
.hero h1 em{display:inline;max-width:100%}
.loading-card{animation-iteration-count:3}

@media(max-width:650px){
  .hero{
    background:
      linear-gradient(rgba(5,22,15,.94),rgba(5,22,15,.94)),
      url("/assets/photos/heritage-rally-hero.png") 62% center/cover no-repeat,
      #0b2119;
  }
  .page-hero{
    background:
      linear-gradient(rgba(5,22,15,.92),rgba(5,22,15,.92)),
      url("/assets/photos/heritage-rally-hero.png") center 52%/cover no-repeat,
      #0b2119!important;
  }
  .hero-grid{width:100%;max-width:100%}
  .hero h1{font-size:clamp(2.35rem,12vw,2.75rem);letter-spacing:-.035em;line-height:1.02}
  .hero h1 em{overflow-wrap:anywhere}
  .hero .eyebrow,.page-hero .eyebrow{width:auto;max-width:100%;line-height:1.5;overflow-wrap:anywhere}
  .page-hero h1{font-size:clamp(2.6rem,13vw,3.25rem);letter-spacing:-.03em;line-height:1.02}
}

@media(max-width:360px){
  .hero h1{font-size:2.35rem}
  .page-hero h1{font-size:2.6rem}
}

/* Website v1.9 — small content and loading refinements */
.newsletter-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,280px));
  justify-content:start;
}
.newsletter-card{width:100%;max-width:280px}
.loading-card{position:relative;display:grid;place-items:center;color:var(--green)}
.loading-card--labelled span{
  position:relative;
  z-index:1;
  padding:8px 12px;
  background:rgba(255,250,240,.94);
  border:1px solid var(--gold);
  color:var(--green);
  font-family:"Trebuchet MS",sans-serif;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
@media(max-width:650px){
  .newsletter-grid{grid-template-columns:1fr}
  .newsletter-card{max-width:none}
}


/* Website v1.9.2 — restored heritage live-content loader */
.status--loading{padding:0;border:0;background:transparent}
.heritage-loader{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  width:100%;
  min-height:180px;
  padding:30px;
  background:
    repeating-linear-gradient(0deg,rgba(80,63,33,.025) 0 1px,transparent 1px 4px),
    #fffaf0;
  border:1px solid var(--line);
  border-top:3px solid var(--gold);
  color:var(--ink);
  text-align:left;
  box-shadow:0 12px 28px rgba(36,31,21,.1);
}
.heritage-loader--compact{min-height:150px;padding:22px;gap:18px}
.heritage-loader__seal{position:relative;flex:0 0 auto;width:108px;height:108px}
.heritage-loader--compact .heritage-loader__seal{width:82px;height:82px}
.heritage-loader__seal img{position:absolute;inset:27%;width:46%;height:46%;object-fit:contain;filter:sepia(.12) saturate(.82);z-index:2}
.heritage-loader__ring{position:absolute;inset:0;border-radius:50%;border:1px solid transparent}
.heritage-loader__ring--outer{border-top-color:var(--gold);border-right-color:rgba(163,122,43,.38);animation:heritage-spin 3s linear infinite}
.heritage-loader__ring--middle{inset:10%;border-bottom-color:#6f171c;border-left-color:rgba(111,23,28,.35);animation:heritage-spin-reverse 4.4s linear infinite}
.heritage-loader__ring--inner{inset:20%;border-top-color:#17442f;border-right-color:rgba(23,68,47,.38);animation:heritage-spin 2.4s linear infinite}
.heritage-loader__copy{display:flex;flex-direction:column;gap:7px;max-width:410px}
.heritage-loader__copy strong{color:var(--green);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,2vw,1.5rem);font-weight:600;line-height:1.2}
.heritage-loader__copy span{color:#625844;font-family:"Trebuchet MS",sans-serif;font-size:.9rem;line-height:1.55}
@keyframes heritage-spin{to{transform:rotate(360deg)}}
@keyframes heritage-spin-reverse{to{transform:rotate(-360deg)}}
@media(max-width:560px){
  .heritage-loader{flex-direction:column;gap:15px;min-height:210px;padding:24px 18px;text-align:center}
  .heritage-loader--compact{min-height:190px}
  .heritage-loader__seal{width:84px;height:84px}
}
@media(prefers-reduced-motion:reduce){
  .heritage-loader__ring{animation:none}
  .heritage-loader__ring--outer{border-color:rgba(163,122,43,.6)}
  .heritage-loader__ring--middle{border-color:rgba(111,23,28,.45)}
  .heritage-loader__ring--inner{border-color:rgba(23,68,47,.5)}
}

/* v1.9.5 header brand alignment update */
.brand{gap:12px}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-logos{display:flex;align-items:center;gap:0;flex:0 0 auto}
.brand-logos>img,.brand-national-logo--after{width:58px!important;height:58px!important;object-fit:contain}
.brand-national-logo--after{margin-left:10px;border-radius:50%;background:#fff;padding:2px;flex:0 0 auto}
@media(max-width:980px){.brand-logos>img,.brand-national-logo--after{width:50px!important;height:50px!important}.brand-national-logo--after{margin-left:6px}}
@media(max-width:650px){.brand{gap:8px}.brand-logos>img,.brand-national-logo--after{width:42px!important;height:42px!important}.brand-national-logo--after{margin-left:4px}.brand strong{font-size:1rem}}
@media(max-width:360px){.brand-logos>img,.brand-national-logo--after{width:38px!important;height:38px!important}}
