:root{--green:#0b5d31;--dark:#073e22;--yellow:#f2cf24;--cream:#f7f6ef;--ink:#172019;--muted:#687069;--line:#dde2dc}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:var(--ink);line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px}.brand strong,.brand span{display:block}.brand span{font-size:.8rem;color:var(--muted)}.nav-badge,.page-hero-badge,.team-page-hero img,.honours-hero img,.article-sidebar img,.news-visual img,.footer-brand img{display:none}.brand-badge{display:block;width:54px;height:58px;object-fit:contain;flex:0 0 54px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.12))}.main-nav{display:flex;gap:18px;font-weight:700}.main-nav a:hover,.main-nav a.active{color:var(--green)}.nav-toggle{display:none;border:0;background:none;font-size:1.6rem}.hero,.page-hero,.team-page-hero,.article-hero,.honours-hero{background:linear-gradient(135deg,var(--dark),var(--green));color:#fff;padding:90px 0}.hero-layout,.page-hero-grid,.team-page-hero-grid,.honours-hero-grid{display:grid;grid-template-columns:1fr;gap:30px}.eyebrow{color:var(--yellow);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.eyebrow.dark{color:var(--green)}h1,h2,h3{line-height:1.12}h1{font-size:clamp(3rem,8vw,6rem);margin:10px 0 20px}h1 span{color:var(--yellow)}h2{font-size:clamp(2rem,4vw,3.3rem)}.hero-copy,.page-intro,.team-page-hero p,.article-hero p,.honours-hero p{max-width:760px;font-size:1.15rem;color:#e4eee7}.btn{display:inline-block;padding:13px 20px;border-radius:8px;font-weight:800}.btn-primary{background:var(--yellow);color:var(--dark)}.btn-outline{border:1px solid #fff;color:#fff}.btn-light{background:#fff;color:var(--green)}.btn-green{background:var(--green);color:#fff}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.quick-grid,.fixture-grid,.team-grid,.news-grid,.sponsor-grid,.record-feature-grid,.package-grid,.sponsor-directory,.benefit-grid,.player-grid,.results-grid,.junior-program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick-links{padding:28px 0}.quick-card,.fixture-card,.team-card,.news-card,.sponsor-grid div,.record-feature,.package-card,.sponsor-logo-card,.player-card,.result-card,.junior-program,.team-info-card,.join-card{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff}.quick-card strong,.quick-card span{display:block}.section{padding:80px 0}.section-alt{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.text-link,.read-more,.match-link{color:var(--green);font-weight:800}.tag,.team-label,.pill,.result-badge{display:inline-block;background:#eaf4ed;color:var(--green);padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:800}.juniors,.team-pathway,.junior-parent,.sponsor-benefits,.milestone-section,.honours-board-section{background:var(--dark);color:#fff;padding:80px 0}.split,.pathway-grid,.junior-detail-grid,.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.junior-list div,.board-row,.stat-row{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:20px}.cta-section{background:var(--green);color:#fff;padding:60px 0}.cta-inner,.sponsor-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}footer{background:#111a14;color:#c7d0ca;padding:35px 0}.footer-grid,.footer-brand{display:flex;justify-content:space-between;gap:20px}.fixtures-toolbar{padding:18px 0;border-bottom:1px solid var(--line)}.filter-row,.news-filter-row,.milestone-icons,.pathway-steps{display:flex;gap:8px;flex-wrap:wrap}.filter-btn,.news-filter{padding:9px 13px;border:1px solid var(--line);background:#fff;border-radius:999px;font-weight:700}.filter-btn.active,.news-filter.active{background:var(--green);color:#fff}.match-row{display:grid;grid-template-columns:80px 1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.match-date strong,.match-date span{display:block}.team-directory{display:grid;gap:14px}.team-directory-card{display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:22px}.team-num{background:var(--green);color:var(--yellow);padding:20px;border-radius:10px;text-align:center;font-weight:800}.team-stat-grid,.junior-facts,.article-stats{display:grid;grid-template-columns:repeat(3,1fr)}.team-stat-grid>div,.junior-facts>div,.article-stats>div{padding:20px;border-right:1px solid var(--line)}.team-info-grid,.stats-panels{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.article-wrap{padding:70px 0}.article-sidebar{border:1px solid var(--line);padding:22px;border-radius:12px}.honours-board{border:6px double #d3b04b;padding:30px;max-width:850px;margin:auto}.board-title,.board-subtitle{text-align:center;font-weight:800}.stats-panel{border:1px solid var(--line);border-radius:12px;overflow:hidden}.stats-title{background:var(--dark);color:#fff;padding:18px}.stats-panel .stat-row{border-bottom:1px solid var(--line);padding:14px 18px}.record-feature>strong,.package-price{display:block;font-size:2.5rem;color:var(--green);font-weight:800}.news-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.news-list-card{border:1px solid var(--line);border-radius:12px}.news-list-body{padding:24px}.featured-news{grid-column:span 2}.news-list-card[hidden]{display:none}.back-link{color:#fff;font-weight:700}.season-snapshot{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.season-stat{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px}.season-stat strong{display:block;font-size:2.25rem;line-height:1;color:var(--green);font-weight:800}.season-stat span{display:block;margin-top:8px;color:var(--muted);font-weight:700}.season-snapshot-section{padding:34px 0;background:#fff;border-bottom:1px solid var(--line)}.badge-feature{display:grid;place-items:center;min-height:230px;background:linear-gradient(135deg,#073e22,#0b5d31);border-radius:10px}.badge-feature img{display:block!important;max-width:150px;width:45%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}@media(max-width:850px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;flex-direction:column}.main-nav.open{display:flex}.quick-grid,.fixture-grid,.team-grid,.news-grid,.sponsor-grid,.record-feature-grid,.package-grid,.sponsor-directory,.benefit-grid,.player-grid,.results-grid,.junior-program-grid,.news-list-grid,.split,.pathway-grid,.junior-detail-grid,.article-grid,.team-info-grid,.stats-panels{grid-template-columns:1fr}.featured-news{grid-column:auto}.team-stat-grid,.junior-facts,.article-stats{grid-template-columns:1fr}.match-row{grid-template-columns:60px 1fr}.match-side{grid-column:2}.cta-inner,.sponsor-cta,.footer-grid{align-items:flex-start;flex-direction:column}.season-snapshot{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.season-snapshot{grid-template-columns:1fr 1fr}.season-stat{padding:18px}.season-stat strong{font-size:1.9rem}}

/* Site-wide club identity */
.site-header{background:rgba(255,255,255,.97);box-shadow:0 8px 28px rgba(7,62,34,.06);backdrop-filter:blur(10px)}
.nav-wrap{min-height:84px}
.brand{min-width:max-content;gap:12px;font-size:1.02rem;color:var(--dark)}
.brand::before{content:"";width:54px;height:58px;flex:0 0 54px;background:url("./assets/sutton-cc-badge.png?v=20260912c") center/contain no-repeat;filter:drop-shadow(0 3px 5px rgba(0,0,0,.12))}
.brand:has(.brand-badge)::before{display:none}
.brand strong{font-size:1.04rem;letter-spacing:-.01em}
.main-nav{align-items:center;gap:6px}
.main-nav a{position:relative;padding:11px 10px;border-radius:8px;font-size:.92rem;transition:background .18s ease,color .18s ease}
.main-nav a:hover{background:#eef6f1;color:var(--dark)}
.main-nav a.active{background:var(--green);color:#fff}
.nav-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:9px;color:var(--dark);cursor:pointer}
footer{position:relative;background:linear-gradient(135deg,#08150e,#0b2417);color:#d7e1da;padding:34px 0;border-top:4px solid var(--yellow)}
footer .container{position:relative;padding-left:58px;min-height:48px;display:flex;align-items:center}
footer .container::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:42px;height:46px;background:url("./assets/sutton-cc-badge.png?v=20260912c") center/contain no-repeat;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}
footer .container::after{content:"Sutton Cricket Club · Cambridgeshire";display:block;margin-left:auto;color:#9fb0a5;font-size:.82rem;font-weight:700}
@media(max-width:850px){.nav-wrap{min-height:76px}.brand::before,.brand-badge{width:44px;height:48px;flex-basis:44px}.brand strong{font-size:.95rem}.main-nav{top:76px;box-shadow:0 16px 25px rgba(7,62,34,.12);border-top:1px solid var(--line);gap:4px}.main-nav a{padding:12px 14px}.nav-toggle{display:grid;place-items:center}footer .container{padding-left:52px;display:block}footer .container::after{margin:4px 0 0}}
@media(max-width:520px){.brand strong{font-size:.88rem}.brand::before,.brand-badge{width:40px;height:44px;flex-basis:40px}footer .container::after{font-size:.76rem}}

/* Accessibility and mobile usability */
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:6px}
.main-nav a:focus-visible,.btn:focus-visible,.quick-card:focus-visible,.team-card:focus-visible,.join-card:focus-visible,.text-link:focus-visible,.read-more:focus-visible,.match-link:focus-visible{outline-color:var(--yellow);box-shadow:0 0 0 4px rgba(242,207,36,.2)}
.filter-btn,.news-filter,.nav-toggle,.btn,.main-nav a{min-height:44px}
.filter-btn,.news-filter,.nav-toggle{cursor:pointer}
a,button{touch-action:manipulation}
img{max-width:100%}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media(max-width:850px){
  .main-nav{max-height:calc(100vh - 76px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .main-nav a{display:flex;align-items:center;min-height:46px}
  .section{padding:58px 0}
  .hero,.page-hero,.team-page-hero,.article-hero,.honours-hero{padding:64px 0}
  .section-heading{align-items:flex-start;flex-direction:column;gap:10px}
  .hero-actions .btn,.contact-actions .btn{min-width:148px;text-align:center}
  .filter-row,.news-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
  .filter-btn,.news-filter{flex:0 0 auto}
  .team-directory-card{grid-template-columns:58px 1fr;gap:14px}
  .team-directory-card>*:last-child{grid-column:2}
  .junior-list div,.board-row,.stat-row{align-items:flex-start}
}
@media(max-width:520px){
  .container{width:min(100% - 22px,1160px)}
  h1{font-size:clamp(2.45rem,14vw,4rem)}
  h2{font-size:clamp(1.8rem,9vw,2.6rem)}
  .hero-copy,.page-intro,.team-page-hero p,.article-hero p,.honours-hero p{font-size:1.05rem}
  .quick-card,.fixture-card,.team-card,.news-card,.record-feature,.package-card,.sponsor-logo-card,.player-card,.result-card,.junior-program,.team-info-card,.join-card{padding:20px}
  .hero-actions,.contact-actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .btn,.contact-actions .btn{width:100%;min-width:0}
  .season-snapshot{grid-template-columns:1fr}
  .match-row{grid-template-columns:1fr;gap:8px}
  .match-side{grid-column:auto}
  .brand span{font-size:.72rem}
  .brand{min-width:0}
  .brand>div{min-width:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* Club social links */
.site-social-links{display:flex;gap:8px;flex-wrap:wrap;margin-left:18px}
.site-social-links a,.contact-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:999px;font-weight:800;font-size:.84rem}
.site-social-links a{border:1px solid rgba(255,255,255,.18);color:#fff;background:rgba(255,255,255,.06)}
.site-social-links a:hover,.site-social-links a:focus-visible{background:var(--yellow);color:var(--dark);border-color:var(--yellow)}
.contact-socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.contact-socials a{border:1px solid var(--line);background:#f7f9f7;color:var(--green)}
.contact-socials a:hover,.contact-socials a:focus-visible{background:var(--green);color:#fff;border-color:var(--green)}
@media(max-width:850px){.site-social-links{margin:14px 0 0;gap:7px}.site-social-links a{min-height:38px;padding:7px 11px}}
