/*
Theme Name: Wheelchair Rugby
Theme URI: https://satya.com.np
Author: Satya Maharjan
Author URI: https://satya.com.np
Description: Wheelchair Rugby is the official theme for Wheelchair Rugby Nepal (WRAN), the national governing body for wheelchair rugby in Nepal. Designed to showcase the federation's leagues, fixtures, championships, provinces, affiliates, executive team, and news, it pairs with the companion WRAN Content plugin for editable Championships, Fixtures, Provinces, and Affiliates content types. The homepage is fully modular through the Customizer and a drag-and-drop Homepage Sections widget area, with editable hero statistics, Get Involved pillars, donate band, affiliates strip, and footer columns. Built-in SEO features include dynamic meta descriptions, Open Graph and Twitter Card tags, and Schema.org JSON-LD structured data (SportsOrganization, WebSite, NewsArticle, and SportsEvent) for rich Google Search results. The theme ships with a Material Symbols + Public Sans + Space Grotesk typography system, responsive scroll-snap sliders, accessible navigation, and graceful bundled SVG fallbacks when optional media is unavailable.
Version: 2.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: wheelchair-rugby
Tags: custom-logo, custom-menu, custom-background, featured-images, footer-widgets, full-width-template, threaded-comments, translation-ready, rtl-language-support, editor-style, sticky-post, blog, news, portfolio, grid-layout, one-column, two-columns, three-columns, four-columns, custom-colors, flexible-header, block-styles, wide-blocks, accessibility-ready
*/


:root { --navy-deep:#051d42; --navy:#003893; --crimson:#dc143c; --crimson-dark:#b1002c; --gold:#eca313; --surface:#f4f6f9; --surface-2:#e6e8eb; --ink:#191c1e; --muted:#64748b; --border:#d8e2ec; --white:#fff; --container-width:1280px; --header-height:76px; --font-heading:'Space Grotesk', sans-serif; --font-body:'Public Sans', sans-serif; --transition:180ms ease; --color-black:var(--ink); --color-near-black:var(--navy-deep); --color-white:var(--white); --color-off-white:var(--surface); --color-crimson:var(--crimson); --color-crimson-hover:var(--crimson-dark); --color-grey:var(--muted); --color-light-grey:var(--border); --font-heading: 'Space Grotesk', sans-serif; --font-body: 'Public Sans', sans-serif; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--white); color:var(--ink); font-family:var(--font-body); line-height:1.6; }
/* Typography Scale — Stitch spec alignment */
h1,h2,h3,h4,h5,h6 { color:inherit; font-family:var(--font-heading); font-weight:700; line-height:1.12; margin-bottom:1rem; }
h1,h2,h3 { letter-spacing:-.02em; }
h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.6rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.65rem); }
.hero-content h1 { font-size:clamp(2.7rem,6vw,5.6rem); letter-spacing:-.03em; line-height:1.02; max-width:820px; text-transform:uppercase; }
.hero-intro { color:rgba(255,255,255,.86); font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.65; max-width:640px; }
.section-header h2 { font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.02em; margin:0; }
.news-featured h3 { font-size:clamp(1.3rem,2vw,1.75rem); line-height:1.2; }
.championship-section h2 { font-size:clamp(1.5rem,2.5vw,2.2rem); }
.cta-inner h2 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.02em; }


a { color:inherit; text-decoration:none; transition:var(--transition); }
a:hover { color:var(--crimson); }
img { display:block; height:auto; max-width:100%; }
.container { margin:0 auto; max-width:var(--container-width); padding:0 2rem; width:100%; }
.site-main { min-height:60vh; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute!important; width:1px; word-wrap:normal!important; }
.eyebrow { color:var(--crimson); font:700 .75rem/1.2 var(--font-heading); letter-spacing:.12em; margin-bottom:.75rem; text-transform:uppercase; }
.material-symbols-outlined { font-size:1.1em; line-height:1; vertical-align:middle; }
.btn { align-items:center; border:1px solid transparent; border-radius:4px; display:inline-flex; font:700 .8rem/1 var(--font-heading); gap:.55rem; justify-content:center; letter-spacing:.06em; min-height:44px; padding:.8rem 1.15rem; text-transform:uppercase; }
.btn-primary { background:var(--crimson); color:var(--white); }
.btn-primary:hover { background:var(--crimson-dark); color:var(--white); transform:translateY(-2px); }
.btn-light { background:var(--white); color:var(--navy-deep); }
.btn-light:hover { background:#e9eef5; color:var(--navy-deep); }
.btn-ghost,.btn-outline-light { border-color:rgba(255,255,255,.55); color:var(--white); }
.btn-ghost:hover,.btn-outline-light:hover { background:var(--white); color:var(--navy-deep); }
.btn-outline { border-color:var(--navy); color:var(--navy); }
.btn-outline:hover { background:var(--navy); color:var(--white); }
.text-link { color:var(--crimson); font:700 .82rem var(--font-heading); letter-spacing:.04em; text-transform:uppercase; }
.text-link span { display:inline-block; margin-left:.35rem; transition:var(--transition); }
.text-link:hover span { transform:translateX(4px); }

.live-ticker { background:var(--crimson); color:var(--white); font:600 .72rem var(--font-heading); letter-spacing:.04em; text-transform:uppercase; }
.live-ticker-inner { align-items:center; display:flex; gap:1rem; min-height:32px; }
.live-ticker a { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.live-ticker a:hover { color:var(--white); }
.live-badge { align-items:center; display:flex; gap:.45rem; white-space:nowrap; }
.live-dot { background:currentColor; border-radius:50%; display:inline-block; height:7px; width:7px; }
.live-badge .live-dot { animation:pulse 1.6s infinite; background:var(--white); }
.ticker-link { opacity:.85; white-space:nowrap; }
.site-header { background:var(--navy-deep); color:var(--white); min-height:var(--header-height); position:relative; z-index:20; }
.header-inner { align-items:center; display:flex; justify-content:space-between; min-height:var(--header-height); }
/* Navigation Branding Fixes */
.site-branding a { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; }
.site-branding img, .site-branding .custom-logo { height: 48px; width: auto; max-width: none; }
.brand-mark { background: var(--crimson); border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; height: 48px; width: 48px; font-family: var(--font-heading); color: var(--white); font-weight: 700; font-size: 1.2rem; }
.brand-mark svg { display: none; }
.brand-mark::before { content: 'WR'; }
.site-branding span:not(.brand-mark) { font-family: var(--font-heading); font-weight: 700; font-size: 1.25rem; color: var(--white); text-transform: uppercase; letter-spacing: -0.02em; }
/* Stitch navigation styling */
.main-navigation { align-items:center; display:flex; gap:1rem; }
.main-navigation > ul { align-items:center; display:flex; gap:1rem; list-style:none; margin:0; padding:0; }
.main-navigation > ul > li { position:relative; }
.main-navigation > ul > li > a { align-items:center; border-radius:4px; color:#5c3f3f; display:flex; font:600 .875rem/1.25rem var(--font-heading); letter-spacing:.06em; padding:.25rem; position:relative; text-decoration:none; transition:background-color var(--transition), color var(--transition); }
.main-navigation > ul > li > a:hover, .main-navigation > ul > li > a:focus-visible { background:#eceef1; color:var(--ink); }
.main-navigation > ul > li.current-menu-item > a, .main-navigation > ul > li.current_page_item > a, .main-navigation > ul > li.current-menu-ancestor > a { background:#eceef1; color:var(--crimson-dark); font-weight:700; }

/* Stitch light submenu panels */
.main-navigation li { position:relative; }
.main-navigation ul ul { background:var(--white); border:1px solid #e6e8eb; border-radius:4px; box-shadow:0 4px 12px rgba(5,29,66,.12); display:none; left:0; list-style:none; margin:0; min-width:220px; padding:.5rem 0; position:absolute; top:100%; z-index:99; }
.main-navigation ul ul li { margin:0; width:100%; }
.main-navigation ul ul a { color:#5c3f3f; display:block; font:600 .875rem/1.25rem var(--font-heading); padding:.625rem 1rem; text-decoration:none; text-transform:none; transition:background-color var(--transition), color var(--transition); }
.main-navigation ul ul a:hover, .main-navigation ul ul a:focus-visible { background:#eceef1; color:var(--ink); }
.main-navigation ul ul .current-menu-item > a, .main-navigation ul ul .current_page_item > a { color:var(--crimson-dark); }
.main-navigation ul ul a:after { display:none !important; }
@media (min-width:901px) {
    .main-navigation li:hover > ul, .main-navigation li:focus-within > ul { display:block; }
}


.header-donate .btn { background: var(--crimson); border-radius: 4px; color: var(--white); min-height:38px; padding: 0.65rem 1.25rem; }
.header-donate .btn:hover { background: var(--crimson-dark); color: var(--white); }

.menu-toggle { background:none; border:0; color:var(--white); cursor:pointer; display:none; }

.hero-section { background:var(--navy-deep) var(--hero-image) center/cover; color:var(--white); min-height:650px; overflow:hidden; padding:7rem 0 0; position:relative; }
.page-banner { background:var(--navy-deep); color:var(--white); padding:5rem 0 4rem; text-align:center; }
.page-banner h1 { font-size:clamp(2rem,4vw,3.5rem); margin:0; }
.page-content { padding:4rem 0; }
.content-area { font-size:1.05rem; margin:0 auto; max-width:900px; }
.content-area p { margin-bottom:1.25rem; }
.standard-content-layout { align-items:start; display:grid; gap:3rem; grid-template-columns:minmax(0,1fr) 280px; }
.standard-content-layout > .content-area,.standard-content-layout > article { max-width:none; }
.site-sidebar { border-left:1px solid var(--border); padding-left:1.5rem; }
.widget { margin-bottom:2rem; }
.widget-title { font-size:1rem; margin-bottom:.85rem; }
.widget ul { list-style:none; }
.widget li { border-bottom:1px solid var(--border); font-size:.88rem; padding:.55rem 0; }
.widget input,.widget select { max-width:100%; padding:.65rem; }
.standard-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); max-width:none; }
.standard-card { border:1px solid var(--border); padding:1.5rem; }
.standard-card h2 { font-size:1.35rem; }
.standard-card p { color:var(--muted); font-size:.9rem; }
.single-featured-image { margin:0 auto 2rem; max-width:900px; }
.category-news-grid { display:grid; gap:1.5rem; grid-template-columns:repeat(2,1fr); max-width:none; }
.category-news-card { border:1px solid var(--border); background:var(--white); }
.category-news-image { display:block; height:220px; overflow:hidden; }
.category-news-image img { height:100%; object-fit:cover; width:100%; }
.category-news-copy { padding:1.4rem; }
.category-news-copy h2 { font-size:1.35rem; }
.category-news-copy p { color:var(--muted); font-size:.9rem; }
.hero-section:before { background:var(--navy-deep) var(--court-image) center/cover; content:''; inset:0; opacity:.25; position:absolute; }
.hero-scrim { background:linear-gradient(110deg,rgba(5,29,66,.98) 10%,rgba(177,0,44,.45) 100%); inset:0; position:absolute; }
.hero-content { animation:rise .7s ease both; max-width:900px; padding-bottom:5rem; position:relative; z-index:1; }
.wran-badge { align-items:center; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); border-radius:999px; display:inline-flex; font:600 .72rem var(--font-heading); gap:.45rem; letter-spacing:.05em; margin-bottom:1.5rem; padding:.5rem .85rem; text-transform:uppercase; }
.hero-content h1 { font-size:clamp(2.7rem,6vw,5.3rem); max-width:820px; text-transform:uppercase; }
.hero-intro { color:rgba(255,255,255,.86); font-size:1.1rem; max-width:660px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.hero-stats { border-top:1px solid rgba(255,255,255,.25); display:grid; grid-template-columns:repeat(4,1fr); padding-bottom:1.5rem; padding-top:1.5rem; position:relative; z-index:1; }
.hero-stats div { border-right:1px solid rgba(255,255,255,.2); padding-left:1rem; }
.hero-stats div:first-child { padding-left:0; }
.hero-stats div:last-child { border:0; }
.hero-stats strong { display:block; font:700 clamp(1.4rem,3vw,2rem) var(--font-heading); }
.hero-stats span { color:rgba(255,255,255,.7); font-size:.72rem; text-transform:uppercase; }

.section-header { align-items:end; display:flex; justify-content:space-between; margin-bottom:2rem; }
.section-header h2 { font-size:clamp(1.8rem,3vw,2.6rem); margin:0; }
.section-lead { color:var(--muted); max-width:300px; }
.section-header-dark { color:var(--white); }
.news-section { background:var(--navy-deep); color:var(--white); padding:5.5rem 0; }
.news-layout { display:grid; gap:1.5rem; grid-template-columns:5fr 7fr; }
.news-featured { background:var(--white); color:var(--ink); display:grid; grid-template-columns:1.05fr 1fr; min-height:420px; }
.news-media { display:block; min-height:280px; overflow:hidden; }
.news-media img,.news-thumb img { height:100%; object-fit:cover; width:100%; }
.news-featured .content { padding:2rem; }
.category-tag { color:var(--crimson); display:block; font:700 .68rem var(--font-heading); letter-spacing:.1em; margin-bottom:.6rem; text-transform:uppercase; }
.date { color:var(--muted); font-size:.74rem; margin-bottom:.9rem; }
.news-featured h3 { font-size:1.65rem; }
.news-featured p,.news-card p { color:var(--muted); font-size:.9rem; }
.news-grid { display:flex; flex-direction:column; gap:.75rem; }
.news-card { background:rgba(255,255,255,.08); display:grid; grid-template-columns:150px 1fr; min-height:112px; }
.news-thumb { display:block; min-height:112px; overflow:hidden; }
.news-card-copy { padding:.85rem 1rem; }
.news-card h4 { font-size:1rem; margin:.1rem 0 .25rem; }
.news-card p { display:-webkit-box; font-size:.78rem; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.news-card .date { display:inline; font-size:.68rem; margin-left:.5rem; }
.news-card .text-link { font-size:.68rem; }
.news-card .text-link,.news-featured .text-link { display:inline-block; margin-top:.6rem; }
.section-action { margin-top:2rem; text-align:center; }

/* Championship Section */
.championship-section { background:var(--surface); padding:6rem 0; text-align:center; }
.championship-crest { display: flex; justify-content: center; margin-bottom: 1.5rem; }
.championship-crest img { max-height:192px; object-fit:contain; }
.championship-copy { max-width:680px; margin: 0 auto; }
.championship-actions { display: flex; justify-content: center; gap: 0.75rem; flex-wrap: wrap; margin-top: 2rem; }
.championship-copy .eyebrow { color:var(--crimson); }
.championship-copy h2 { color:var(--navy); font-size:clamp(1.8rem,3vw,2.7rem); margin-bottom:.5rem; }
.event-meta { align-items:center; color:var(--muted); display:flex; flex-wrap:wrap; font-size:.9rem; gap:.45rem; justify-content: center; }
.meta-divider { color:var(--border); margin:0 .3rem; }

.pillars-section { background:var(--surface); padding:5rem 0 0; }
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:2.5rem; }
.pillar { align-items:end; background-position:center; background-size:cover; color:var(--white); display:flex; min-height:330px; overflow:hidden; padding:2rem; position:relative; }
.pillar-overlay { background:linear-gradient(0deg,rgba(5,29,66,.9),rgba(5,29,66,.05)); inset:0; position:absolute; transition:var(--transition); }
.pillar-content { position:relative; z-index:1; }
.pillar-content strong { display:block; font:700 2.2rem var(--font-heading); text-transform:uppercase; }
.pillar-content span { color:rgba(255,255,255,.8); font-size:.85rem; }
.pillar:hover { color:var(--white); }
.pillar:hover .pillar-overlay { background:linear-gradient(0deg,rgba(177,0,44,.92),rgba(5,29,66,.1)); }

.fixtures-section { background:var(--surface); padding:5.5rem 0; }
.fixture-tabs { border:1px solid var(--border); display:flex; padding:.2rem; }
.fixture-tab { background:transparent; border:0; color:var(--muted); cursor:pointer; font:700 .75rem var(--font-heading); padding:.7rem 1rem; text-transform:uppercase; }
.fixture-tab.is-active { background:var(--navy-deep); color:var(--white); }
.fixture-panel { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); }
.fixture-card { background:var(--white); border:1px solid var(--border); border-radius: 8px; box-shadow:0 4px 12px rgba(5,29,66,.04); display: flex; flex-direction: column; padding:0; overflow: hidden; transition:var(--transition); }
.fixture-card:hover { border-color:var(--navy); transform:translateY(-4px); box-shadow: 0 8px 24px rgba(5,29,66,0.1); }
.fixture-featured { border-top: 4px solid var(--crimson); }
.fixture-card-top { background:var(--surface-2); color:var(--navy-deep); display:flex; font:700 .65rem var(--font-heading); justify-content:space-between; padding: 0.8rem 1.25rem; text-transform:uppercase; letter-spacing: 0.05em; }
.fixture-card-top span:first-child { color: var(--crimson); }
.fixture-teams { align-items:center; display:grid; flex-grow: 1; gap:.75rem; grid-template-columns:1fr auto 1fr; padding: 2rem 1.25rem; text-align:center; }
.fixture-teams strong { font:700 1rem var(--font-heading); color: var(--navy-deep); }
.fixture-teams b { color:var(--navy); font:800 1.75rem var(--font-heading); }
.fixture-teams small { background: var(--surface); border-radius: 4px; color:var(--muted); font: 700 0.8rem var(--font-heading); padding: 0.4rem 0.8rem; }
.fixture-card-foot { background:var(--surface); border-top:1px solid var(--border); color: var(--muted); display:flex; font:600 .7rem var(--font-heading); justify-content:space-between; padding: 0.8rem 1.25rem; text-transform:uppercase; }


.provinces-section { padding:5.5rem 0; }
.province-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,1fr); }
.province-card { border:1px solid var(--border); min-height:260px; padding:1.5rem 1.25rem 1.25rem; position:relative; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:space-between; }
.province-number { color:var(--crimson); font:700 .75rem var(--font-heading); }
.province-mark { color:var(--navy); font:700 2rem var(--font-heading); margin:1rem 0 .5rem; }
.province-thumb-wrap { margin-bottom:.75rem; height:100px; display:flex; align-items:center; justify-content:center; width:100%; }
.province-thumb { max-height:92px; max-width:100%; width:auto; object-fit:contain; }
.province-card h3 { font-size:1.25rem; margin-bottom:.2rem; }
.province-card p { color:var(--muted); font-size:.85rem; margin-bottom:.75rem; }
.province-card>a { color:var(--crimson); font-size:1.3rem; margin-top:auto; }

.cta-band { background:var(--navy-deep); color:var(--white); padding:5rem 0; }
.cta-inner { align-items:center; display:grid; gap:3rem; grid-template-columns:1fr 1fr; }
.cta-inner h2 { font-size:clamp(2rem,4vw,3.5rem); max-width:580px; }
.cta-inner p:not(.eyebrow) { color:rgba(255,255,255,.72); max-width:500px; }
.donation-options { display:grid; gap:.75rem; grid-template-columns:1fr 1fr; }
.donation-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:var(--white); display:flex; flex-direction:column; padding:1.3rem; }
.donation-card.is-featured { border-color:var(--crimson); }
.donation-card strong { font:700 1.3rem var(--font-heading); }
.donation-card span { color:rgba(255,255,255,.7); font-size:.78rem; }
.custom-donation { display:flex; flex-direction:column; gap:.35rem; }
.custom-donation span { color:rgba(255,255,255,.7); font:700 .7rem var(--font-heading); letter-spacing:.08em; text-transform:uppercase; }
.custom-donation input { background:var(--white); border:0; border-radius:4px; color:var(--ink); font:600 .9rem var(--font-body); min-height:44px; padding:.7rem .8rem; width:100%; }
.donation-options .btn { align-self:end; justify-self:start; }
.affiliates-section { background:var(--surface); border-top:1px solid var(--border); padding:3.5rem 0; text-align:center; }
.affiliate-heading { color:var(--muted); font:700 .6875rem/1.4 var(--font-heading); letter-spacing:.12em; margin:0; text-transform:uppercase; }
.affiliate-grid { align-items:start; display:grid; gap:1rem; grid-template-columns:repeat(6,minmax(0,1fr)); margin:1.5rem 0 1rem; }
.affiliate-logo { align-items:center; color:var(--navy-deep); display:flex; flex-direction:column; gap:.4rem; justify-content:center; min-height:100px; opacity:1; padding:.75rem .5rem; transition:opacity var(--transition),transform var(--transition); }
.affiliate-logo:hover,.affiliate-logo:focus-visible { color:var(--navy-deep); opacity:.85; transform:translateY(-2px); }
.affiliate-logo:focus-visible { outline:2px solid var(--crimson); outline-offset:3px; }
.affiliate-mark { align-items:center; display:flex; font:700 clamp(.95rem,1.5vw,1.2rem)/1.15 var(--font-heading); justify-content:center; min-height:2.5rem; text-align:center; }
.affiliate-mark img { max-height:52px; max-width:130px; object-fit:contain; opacity:1; transition:opacity var(--transition),transform var(--transition); }
.affiliate-logo:hover .affiliate-mark img,.affiliate-logo:focus-visible .affiliate-mark img { opacity:1; }
.affiliate-description { color:var(--muted); font:600 .625rem/1.35 var(--font-heading); letter-spacing:.04em; max-width:150px; text-align:center; text-transform:uppercase; }
.partner-link { align-items:center; color:var(--crimson); display:inline-flex; font:600 .875rem/1.4 var(--font-body); gap:.35rem; justify-content:center; margin-top:.25rem; }
.partner-link:hover,.partner-link:focus-visible { color:var(--navy-deep); }
.partner-link:focus-visible { outline:2px solid var(--crimson); outline-offset:4px; }
.partner-link-arrow { color:currentColor; font-size:1.1rem; line-height:1; transition:transform var(--transition); }
.partner-link:hover .partner-link-arrow,.partner-link:focus-visible .partner-link-arrow { transform:translateX(3px); }
@media (max-width:900px) { .affiliate-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:520px) { .affiliates-section { padding:3rem 0; } .affiliate-grid { gap:.75rem .5rem; grid-template-columns:repeat(2,minmax(0,1fr)); } .affiliate-logo { min-height:92px; } }

.testimonials-section { background:var(--surface); border-top:1px solid var(--border); padding:5.5rem 0; }
.team-section { background:var(--white); border-top:8px solid var(--surface); padding:5.5rem 0; }
.testimonial-track,.team-track { display:flex; gap:1rem; overflow-x:auto; overscroll-behavior-inline:contain; padding:.25rem .25rem 1rem; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-color:var(--crimson) transparent; scrollbar-width:thin; }
.archive-track { overflow-x:visible; flex-wrap:wrap; }
.testimonial-track:focus-visible,.team-track:focus-visible { outline:2px solid var(--crimson); outline-offset:4px; }
.testimonial-card { background:var(--white); border:1px solid var(--border); padding:1.5rem; }
.testimonial-card { flex:0 0 min(360px, 85vw); scroll-snap-align:start; }
.reference-testimonial-header { margin:0 auto 2rem; max-width:700px; text-align:center; }
.reference-testimonial-header h2 { margin-bottom:.65rem; }
.reference-testimonial-header>p:last-child { color:var(--muted); font-size:.9rem; }
.testimonial-card { border-radius:5px; box-shadow:0 2px 8px rgba(5,29,66,.05); padding:1.5rem; }
.testimonial-card-top { align-items:center; display:flex; justify-content:space-between; margin-bottom:.7rem; }
.quote-mark { color:var(--crimson); font:700 2rem/1 Georgia,serif; }
.testimonial-rating { color:var(--gold); font-size:.8rem; letter-spacing:.08em; }
.testimonial-photo { align-items:center; background:var(--navy-deep); border-radius:50%; color:var(--gold); display:flex; height:32px; justify-content:center; overflow:hidden; width:32px; }
.testimonial-photo img { height:100%; object-fit:cover; width:100%; }
.testimonial-photo span { font:700 .55rem var(--font-heading); }
.testimonial-quote { color:var(--ink); font-size:.95rem; margin-bottom:1.25rem; }
.testimonial-quote p:last-child { margin-bottom:0; }
.testimonial-author { align-items:center; border-top:1px solid var(--border); display:flex; gap:.65rem; padding-top:.9rem; }
.testimonial-card strong { display:block; font:700 .78rem var(--font-heading); }
.testimonial-role { color:var(--muted); display:block; font-size:.78rem; margin-top:.2rem; }
.team-card { background:var(--white); border:1px solid var(--border); border-radius:8px; box-shadow:0 4px 12px rgba(5,29,66,.06); flex:0 0 min(280px, 70vw); overflow:hidden; scroll-snap-align:start; transition:var(--transition); }
.team-card:hover { transform:translateY(-6px); box-shadow:0 8px 24px rgba(5,29,66,.12); }
.team-photo { background:var(--surface-2); display:flex; height:280px; justify-content:center; overflow:hidden; position:relative; }
.team-photo img { height:100%; object-fit:cover; width:100%; transition:var(--transition); }
.team-card:hover .team-photo img { transform:scale(1.05); }
.team-photo span { align-self:center; color:var(--gold); font:700 2.5rem var(--font-heading); }
.team-badge { background:var(--crimson); color:var(--white); font:700 .6rem var(--font-heading); left:.8rem; letter-spacing:.06em; padding:.4rem .5rem; position:absolute; text-transform:uppercase; top:.8rem; }
.team-copy { padding:1.5rem; }
.team-role { color:var(--crimson); font:700 .65rem var(--font-heading); letter-spacing:.06em; margin-bottom:.5rem; text-transform:uppercase; }
.team-copy h3 { color:var(--navy-deep); font-size:1.15rem; margin-bottom:.4rem; }
.team-bio { color:var(--muted); font-size:.8rem; line-height:1.5; margin-bottom:1rem; }
.team-meta { align-items:center; border-top:1px solid var(--border); color:var(--muted); display:flex; font:700 .6rem var(--font-heading); justify-content:space-between; margin-top:1rem; padding-top:.8rem; text-transform:uppercase; }
.team-meta .social-links { display:flex; gap:.4rem; }
.team-meta .social-links a { background:var(--surface); border-radius:50%; color:var(--muted); display:inline-flex; height:24px; justify-content:center; width:24px; }
.team-meta .social-links a:hover { background:var(--crimson); color:var(--white); }
.slider-controls { display:flex; gap:.5rem; }
.slider-button { align-items:center; background:var(--white); border:1px solid var(--border); border-radius:50%; color:var(--navy-deep); cursor:pointer; display:inline-flex; font-size:1rem; height:40px; justify-content:center; transition:var(--transition); width:40px; }
.slider-button:hover,.slider-button:focus-visible { background:var(--crimson); border-color:var(--crimson); color:var(--white); }
.team-section .slider-button { background:var(--surface); }

.site-footer { background:var(--navy-deep); color:rgba(255,255,255,.72); padding:0 0 1.5rem; }
.footer-accreditation { background:var(--crimson); color:var(--white); font:700 .72rem var(--font-heading); letter-spacing:.06em; padding:.9rem 0; text-align:center; text-transform:uppercase; }
.footer-body { padding:4rem 0 0; }
.footer-grid { display:grid; gap:2.5rem; grid-template-columns:1.4fr 1fr 1fr 1.4fr; }
.footer-brand { color:var(--white); font:700 1.4rem var(--font-heading); margin-bottom:1rem; text-transform:uppercase; }
.footer-brand-mark { align-items:center; display:flex; gap:.75rem; margin-bottom:1rem; }
.footer-brand-mark .brand-block { align-items:center; background:var(--crimson); border-radius:4px; color:var(--white); display:inline-flex; font:700 1.1rem var(--font-heading); height:44px; justify-content:center; width:44px; }
.footer-brand-mark .brand-block::before { content:'WR'; }
.footer-brand-mark .brand-name { color:var(--white); font:700 1rem var(--font-heading); line-height:1.2; text-transform:uppercase; }
.footer-brand-mark img { max-height:44px; width:auto; }
.footer-widget h4 { color:var(--white); font-size:.85rem; letter-spacing:.06em; margin-bottom:1rem; text-transform:uppercase; }
.footer-widget p { font-size:.85rem; margin-bottom:.4rem; }
.footer-widget a:hover { color:var(--white); }
.social-link { align-items:center; display:flex; font-size:.82rem; gap:.65rem; margin-bottom:.65rem; }
.social-link span { align-items:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); border-radius:50%; display:inline-flex; font:700 .65rem var(--font-heading); height:30px; justify-content:center; transition:var(--transition); width:30px; }
.social-link:hover span { background:var(--crimson); border-color:var(--crimson); }
.footer-menu { list-style:none; }
.footer-menu li { font-size:.85rem; margin-bottom:.5rem; }
.footer-menu a { color:rgba(255,255,255,.72); transition:var(--transition); }
.footer-menu a:hover { color:var(--white); padding-left:.25rem; }
.site-info { border-top:1px solid rgba(255,255,255,.15); font-size:.75rem; margin-top:3rem; padding-top:1.25rem; text-align:center; }
.site-info span { color:rgba(255,255,255,.55); display:block; margin-top:.5rem; }

@keyframes pulse { 0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.55)} 50%{box-shadow:0 0 0 5px transparent} }
@keyframes rise { from{opacity:0; transform:translateY(18px)} to{opacity:1; transform:translateY(0)} }
@media (max-width:900px) { .main-navigation > ul,.header-donate { display:none; } .menu-toggle { display:block; } .main-navigation.toggled > ul { background:var(--white); display:flex; flex-direction:column; gap:.75rem; left:0; padding:1.5rem 2rem; position:absolute; right:0; top:var(--header-height); border-bottom:1px solid var(--border); box-shadow:0 12px 24px rgba(5,29,66,.12); } .main-navigation.toggled ul ul { display:none; position:static; background:transparent; box-shadow:none; border:0; padding:0.5rem 0 0 1rem; } .main-navigation.toggled li.submenu-open > ul { display:block; } .main-navigation.toggled ul ul a { color:var(--ink) !important; padding:0.4rem 0; font-size:0.875rem; } .news-layout,.cta-inner,.standard-content-layout { grid-template-columns:1fr; } .news-grid { display:grid; grid-template-columns:1fr 1fr; } .championship-inner { grid-template-columns:80px 1fr; } .championship-actions { grid-column:2; } .footer-grid { grid-template-columns:repeat(2,1fr); } .standard-grid { grid-template-columns:repeat(2,1fr); } .site-sidebar { border-left:0; border-top:1px solid var(--border); padding-left:0; padding-top:2rem; } }
@media (max-width:640px) { .container { padding:0 1rem; } .live-ticker-inner { gap:.5rem; } .ticker-link { display:none; } .hero-section { min-height:700px; padding-top:5rem; } .hero-content { padding-bottom:3rem; } .hero-actions .btn { width:100%; } .hero-stats { gap:1rem; grid-template-columns:repeat(2,1fr); } .hero-stats div:nth-child(2) { border:0; } .hero-stats div:nth-child(3) { border-top:1px solid rgba(255,255,255,.2); padding-left:0; padding-top:1rem; } .hero-stats div:nth-child(4) { border-top:1px solid rgba(255,255,255,.2); padding-top:1rem; } .section-header { align-items:start; flex-direction:column; gap:1rem; } .news-featured { grid-template-columns:1fr; } .news-media { min-height:230px; } .news-grid,.fixture-panel,.standard-grid,.category-news-grid { grid-template-columns:1fr; } .championship-inner { grid-template-columns:1fr; } .championship-crest img { max-height:70px; } .championship-actions { grid-column:auto; } .pillar-grid,.province-grid { grid-template-columns:1fr 1fr; } .pillar { min-height:230px; padding:1rem; } .pillar-content strong { font-size:1.5rem; } .fixture-tabs { align-self:stretch; } .affiliate-grid { grid-template-columns:repeat(3,1fr); } .footer-grid { grid-template-columns:1fr; } .testimonial-grid,.team-grid { grid-template-columns:1fr; } }

/* Stitch-inspired white global navigation. */
.live-ticker { background:var(--navy-deep); }
.live-badge { background:var(--crimson); border-radius:2px; padding:.22rem .45rem; }
.ticker-link { color:#dae1ff; opacity:1; }
.site-header { background:var(--white); border-bottom:1px solid var(--border); box-shadow:0 2px 8px rgba(5,29,66,.05); color:var(--navy-deep); position:sticky; top:0; transition:box-shadow var(--transition); }
.site-header.is-scrolled { box-shadow:0 10px 24px rgba(5,29,66,.12); }
.site-branding span:not(.brand-mark) { color:var(--navy-deep); }
.main-navigation > ul > li > a { color:var(--crimson); }
.main-navigation > ul > li > a:hover, .main-navigation > ul > li.current-menu-item > a, .main-navigation > ul > li.current_page_item > a, .main-navigation > ul > li.current-menu-ancestor > a { color:var(--crimson-dark); }
.main-navigation > ul > li > a:hover:after, .main-navigation > ul > li.current-menu-item > a:after, .main-navigation > ul > li.current_page_item > a:after, .main-navigation > ul > li.current-menu-ancestor > a:after { transform:scaleX(1); }
.menu-toggle { color:var(--navy-deep); }
@media (max-width:900px) { .main-navigation.toggled > ul { background:var(--white); border-bottom:1px solid var(--border); box-shadow:0 12px 24px rgba(5,29,66,.12); } .main-navigation.toggled ul ul { background:var(--navy-deep); } }

/* Google Stitch visual parity refinements. */
:root { --surface:#f7f9fc; --surface-low:#f2f4f7; --surface-2:#e0e3e6; --surface-high:#e6e8eb; --shadow-card:0 2px 8px rgba(5,29,66,.05); --shadow-raised:0 12px 24px -4px rgba(5,29,66,.12); }
body { background:var(--surface); line-height:1.5; }
.container { max-width:1280px; padding-left:1.5rem; padding-right:1.5rem; }
h1 { font-size:clamp(2.25rem,4.375vw,3.5rem); line-height:1.143; }
h2 { font-size:clamp(1.75rem,3.125vw,2.5rem); line-height:1.2; }
h3 { font-size:clamp(1.25rem,1.72vw,1.375rem); line-height:1.36; }
.hero-content h1 { font-size:clamp(2.25rem,4.375vw,3.5rem); line-height:1.143; }
.hero-intro { font-size:1.125rem; line-height:1.56; }
.eyebrow { font-size:.6875rem; letter-spacing:.08em; line-height:1.45; }
.btn { min-height:44px; padding:.75rem 1rem; }
.btn:focus-visible, .text-link:focus-visible, .partner-link:focus-visible, .affiliate-logo:focus-visible, .main-navigation a:focus-visible, .menu-toggle:focus-visible, .fixture-tab:focus-visible, .slider-button:focus-visible, .custom-donation input:focus-visible { outline:3px solid rgba(0,56,147,.3); outline-offset:3px; }
.btn-primary:hover { transform:none; }
.site-header { min-height:76px; }
.header-inner { min-height:76px; }
.hero-section { min-height:640px; padding-top:6.5rem; }
.news-section { padding:5rem 0; }
.news-featured, .news-card, .fixture-card, .testimonial-card, .team-card { box-shadow:var(--shadow-card); }
.news-media, .news-thumb { aspect-ratio:16 / 9; }
.news-media img, .news-thumb img { height:100%; object-fit:cover; width:100%; }
.news-card:hover, .fixture-card:hover, .team-card:hover { box-shadow:var(--shadow-raised); transform:translateY(-2px); }
.championship-section { background:var(--surface); padding:6rem 0; text-align:center; }
.championship-inner { justify-items:center; grid-template-columns:1fr; max-width:896px; }
.championship-crest img { max-height:192px; }
.championship-copy { max-width:680px; }
.championship-actions { justify-content:center; }
.championship-copy .eyebrow { color:var(--crimson); }
.championship-copy h2 { color:var(--navy); }
.pillars-section { background:var(--surface); padding:5rem 0 0; }
.fixtures-section { background:var(--surface-low); padding:5rem 0; }
.fixture-tabs { border:0; gap:.5rem; padding:0; }
.fixture-tab { border-radius:4px; background:var(--surface-2); min-height:36px; padding:.55rem .75rem; }
.fixture-tab.is-active { background:var(--crimson); box-shadow:var(--shadow-card); }
.fixture-card { border-radius:8px; }
.fixture-card:hover { transform:translateY(-2px); }
.fixture-card-top { background:var(--surface-high); }
.provinces-section { background:var(--white); padding:5rem 0; }
.province-card { background:var(--white); border-radius:8px; box-shadow:var(--shadow-card); transition:var(--transition); }
.province-card:hover { border-color:var(--navy); box-shadow:var(--shadow-raised); transform:translateY(-2px); }
.team-section { background:var(--surface-low); border-top:1px solid var(--border); padding:5rem 0; }
.testimonials-section { background:var(--white); padding:5rem 0; }
.reference-section-header { align-items:end; display:flex; gap:2rem; justify-content:space-between; margin-bottom:3rem; }
.reference-section-header > div { max-width:672px; }
.reference-section-header > div > p:last-child { color:var(--muted); font-size:1rem; line-height:1.5; }
.testimonial-card { background:var(--surface); border-color:rgba(216,226,236,.7); border-radius:12px; min-height:300px; }
.team-card { border-radius:8px; }
.cta-band { background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy-deep) 60%, var(--crimson-dark) 100%); padding:5rem 0; }
.cta-band .eyebrow { color:var(--gold); }
.donation-card { border-radius:4px; transition:var(--transition); }
.donation-card:hover { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.42); color:var(--white); }
.custom-donation input { border:1.5px solid var(--border); }
.custom-donation input:focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(0,56,147,.15); outline:0; }
.affiliates-section { background:var(--surface); border-top:1px solid var(--border); padding:4rem 0; }
.affiliate-grid { gap:1rem; margin:1.5rem 0; }
.affiliate-logo { background:var(--white); border:1px solid var(--border); border-radius:8px; color:var(--muted); font:700 1.1rem var(--font-heading); opacity:.6; padding:1.5rem; }
.affiliate-logo img { max-height:48px; max-width:150px; object-fit:contain; width:auto; }
.affiliate-logo:hover, .affiliate-logo:focus-visible { filter:grayscale(0); opacity:1; transform:none; }
.partner-link { color:var(--navy); font:700 .875rem var(--font-heading); text-transform:uppercase; }
.site-footer { background:var(--navy-deep); }
@media (max-width:900px) { .reference-section-header { align-items:start; flex-direction:column; gap:1rem; } .championship-section { padding:4.5rem 0; } }
@media (max-width:640px) { .container { padding-left:1rem; padding-right:1rem; } .hero-section { min-height:620px; } .hero-intro { font-size:1rem; } .news-section,.fixtures-section,.provinces-section,.team-section,.testimonials-section,.cta-band { padding:4rem 0; } .championship-section { padding:4rem 0; } .championship-crest img { max-height:144px; } .affiliate-grid { grid-template-columns:repeat(2,1fr); } .affiliate-logo { min-height:64px; padding:.75rem; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }

/* Stitch matchday-center layout with the requested white section heading. */
.fixtures-section { background:var(--surface-low); color:var(--ink); }
.fixture-section-header { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:2rem; }
.fixture-eyebrow { color:var(--crimson); font:700 .6875rem/1.45 var(--font-heading); letter-spacing:.08em; margin:0 0 .25rem; text-transform:uppercase; }
.fixture-section-header h2 { color:var(--navy-deep); font-size:clamp(1.875rem,3vw,2.5rem); margin:0; text-transform:uppercase; }
.fixture-tabs { align-items:center; display:flex; flex-wrap:wrap; }
.fixture-tab { background:var(--surface-2); color:var(--navy-deep); font-size:.6875rem; letter-spacing:.08em; }
.fixture-tab:hover { background:var(--border); color:var(--navy-deep); }
.fixture-tab.is-active { background:var(--crimson); color:var(--white); }
.fixture-panel { gap:1.5rem; }
.fixture-card { background:var(--surface-container-lowest, var(--white)); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-card); gap:1rem; justify-content:space-between; padding:1rem; }
.fixture-card:hover { border:0; box-shadow:var(--shadow-raised); }
.fixture-featured { border-top:4px solid var(--crimson); padding-top:.75rem; }
.fixture-card-top { align-items:center; background:transparent; border-bottom:1px solid var(--border); color:var(--muted); font:400 .875rem/1.4 var(--font-body); gap:.75rem; letter-spacing:0; padding:0 0 .5rem; text-transform:none; }
.fixture-card-top span:first-child { color:var(--navy-deep); font:700 .6875rem/1.45 var(--font-heading); letter-spacing:.06em; text-transform:uppercase; }
.fixture-card-top span:last-child { overflow:hidden; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.fixture-teams { flex-grow:0; gap:.5rem; grid-template-columns:minmax(0,2fr) minmax(70px,1fr) minmax(0,2fr); padding:.5rem 0; }
.fixture-team { align-items:center; display:flex; flex-direction:column; gap:.5rem; min-width:0; text-align:center; }
.fixture-team-mark { align-items:center; background:var(--surface-2); border-radius:50%; color:var(--navy-deep); display:inline-flex; flex:0 0 48px; font:700 1rem var(--font-heading); height:48px; justify-content:center; width:48px; }
.fixture-team:last-child .fixture-team-mark { background:var(--navy); color:var(--white); }
.fixture-team strong { display:-webkit-box; font:600 1rem/1.35 var(--font-heading); -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.fixture-score { align-items:center; display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.fixture-score b { color:var(--muted); font:700 1.375rem/1 var(--font-heading); white-space:nowrap; }
.fixture-completed .fixture-score b { color:var(--crimson); font-size:2rem; }
.fixture-score b span { color:var(--muted); }
.fixture-score small { background:transparent; color:var(--muted); font:700 .625rem/1.35 var(--font-heading); letter-spacing:.06em; padding:0; text-align:center; text-transform:uppercase; }
.fixture-card-foot { align-items:center; background:var(--surface-low); border:0; border-radius:4px; color:var(--muted); font:600 .6875rem/1.4 var(--font-heading); gap:.75rem; letter-spacing:.02em; padding:.5rem; text-transform:none; }
.fixture-card-foot a { color:var(--crimson); font-weight:700; margin-left:auto; text-transform:uppercase; white-space:nowrap; }
.fixture-card-foot a:hover { color:var(--crimson-dark); text-decoration:underline; }
@media (max-width:900px) { .fixture-panel { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .fixture-section-header { align-items:flex-start; flex-direction:column; } .fixture-tabs { width:100%; } .fixture-tab { flex:1; } .fixture-panel { grid-template-columns:1fr; } .fixture-card-top { font-size:.75rem; } }

/* Upcoming matchday cards stay in a horizontal track; completed results keep the grid. */
.fixture-panel[data-fixture-panel="upcoming"],.fixture-panel[data-fixture-panel="completed"] { display:flex; flex-wrap:nowrap; gap:1.5rem; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; padding:.25rem .25rem 1rem; scroll-snap-type:x mandatory; scrollbar-color:var(--crimson) transparent; scrollbar-width:thin; }
.fixture-panel[data-fixture-panel="upcoming"] .fixture-card,.fixture-panel[data-fixture-panel="completed"] .fixture-card { flex:0 0 min(360px, 82vw); min-width:0; scroll-snap-align:start; }


/* Google Stitch Match Polish & Utilities */
.btn-pill { border-radius: 9999px; padding-left: 2rem; padding-right: 2rem; }
.championship-underline { width: 64px; height: 3px; background: var(--crimson); margin: 1rem auto 1.5rem; border-radius: 2px; }
.championship-desc { color: var(--muted); font-size: 1rem; line-height: 1.6; max-width: 640px; margin: 0 auto 2rem; }
.championship-actions { display: flex; justify-content: center; gap: 0.75rem; flex-wrap: wrap; }
.championship-centered { text-align: center; }

.province-number {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 700;
    color: var(--crimson);
    background: rgba(220, 20, 60, 0.1);
    margin-bottom: 1rem;
    font-family: var(--font-heading);
}

.pillar {
    aspect-ratio: 4 / 5;
    border-radius: 16px;
    min-height: auto;
}

.news-media {
    aspect-ratio: 16 / 10;
}

/* Typography Utility Classes */
.font-display-hero-mobile { font-size: 36px; line-height: 44px; letter-spacing: -0.02em; font-weight: 700; }
.font-headline-xl-mobile { font-size: 28px; line-height: 36px; letter-spacing: -0.01em; font-weight: 700; }
.font-label-sm { font-size: 11px; line-height: 16px; letter-spacing: 0.08em; font-weight: 700; text-transform: uppercase; }
.font-body-sm { font-size: 14px; line-height: 20px; font-weight: 400; }


/* Google Stitch News Section Styling (Exact Match) */
.news-stitch-section { background: var(--navy-deep); color: var(--white); padding: 5rem 0; position: relative; overflow: hidden; }
.news-stitch-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.5rem; flex-wrap: wrap; gap: 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.15); padding-bottom: 1.5rem; }
.news-stitch-header-content { display: flex; align-items: center; gap: 0.75rem; }
.stitch-header-accent { width: 6px; height: 24px; background: var(--primary); border-radius: 9999px; display: inline-block; }
.news-stitch-header h2 { color: var(--white); font-size: clamp(1.75rem, 2.5vw, 2.25rem); font-weight: 700; margin: 0; text-transform: uppercase; letter-spacing: -0.02em; }
.news-eyebrow-light { color: #cbd5e1; font-weight: 400; }
.news-stitch-archive-link { color: #93c5fd; font: 700 .875rem var(--font-heading); text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; transition: color 0.2s ease; display: inline-flex; align-items: center; gap: 0.25rem; }
.news-stitch-archive-link:hover { color: var(--white); }

.news-stitch-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: start; }
@media (min-width: 1024px) {
    .news-stitch-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .news-grid-featured { grid-column: span 5 / span 5; display: flex; flex-direction: column; height: 100%; }
    .news-grid-stack { grid-column: span 7 / span 7; display: flex; flex-direction: column; gap: 1rem; }
}

/* Featured Card (Left) */
.stitch-featured-card { background: #ffffff; color: var(--navy-deep); border-radius: 16px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.25); display: flex; flex-direction: column; height: 100%; transition: all 0.3s ease; }
.stitch-featured-card:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(0,0,0,0.35); }
.stitch-media-wrap { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #000; }
.stitch-media-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.stitch-featured-card:hover .stitch-media-wrap img { transform: scale(1.04); }
.stitch-badge-top { position: absolute; top: 1rem; left: 1rem; background: var(--primary); color: #ffffff; font: 700 .6875rem var(--font-heading); text-transform: uppercase; padding: 0.35rem 0.75rem; border-radius: 4px; letter-spacing: 0.06em; }
.stitch-badge-bottom { position: absolute; bottom: 1rem; right: 1rem; background: rgba(5, 29, 66, 0.85); backdrop-filter: blur(4px); color: #ffffff; font: 600 .75rem var(--font-heading); padding: 0.35rem 0.75rem; border-radius: 4px; }
.stitch-card-content { padding: 1.75rem; display: flex; flex-direction: column; flex-grow: 1; justify-content: space-between; }
.stitch-card-category { color: var(--primary); font: 700 .75rem var(--font-heading); text-transform: uppercase; letter-spacing: 0.08em; display: inline-block; margin-bottom: 0.5rem; }
.stitch-card-content h3 { font: 700 clamp(1.125rem, 1.8vw, 1.4rem)/1.3 var(--font-heading); margin: 0 0 0.75rem; }
.stitch-card-content h3 a { color: var(--navy-deep); text-decoration: none; transition: color 0.2s; }
.stitch-card-content h3 a:hover { color: var(--primary); }
.stitch-card-content p { color: #475569; font: 400 0.9375rem/1.6 var(--font-body); margin: 0 0 1.25rem; }
.stitch-card-footer { border-top: 1px solid #e2e8f0; padding-top: 1.25rem; display: flex; align-items: center; justify-content: space-between; font-size: 0.8125rem; color: #64748b; }
.stitch-location { display: inline-flex; align-items: center; gap: 0.35rem; }
.stitch-action-link { color: var(--primary); font: 700 .8125rem var(--font-heading); text-transform: uppercase; text-decoration: none; letter-spacing: 0.05em; display: inline-flex; align-items: center; gap: 0.25rem; transition: transform 0.2s; }
.stitch-action-link:hover { transform: translateX(3px); }

/* Editorial Stack Cards (Right) */
.stitch-editorial-card { background: #ffffff; color: var(--navy-deep); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; gap: 1rem; padding: 1rem; box-shadow: 0 4px 15px rgba(0,0,0,0.1); align-items: center; transition: all 0.2s ease; }
@media (min-width: 640px) { .stitch-editorial-card { flex-direction: row; } }
.stitch-editorial-card:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0,0,0,0.18); }
.stitch-editorial-thumb { position: relative; width: 100%; min-width: 100%; aspect-ratio: 16 / 10; border-radius: 8px; overflow: hidden; background: #000; flex-shrink: 0; }
@media (min-width: 640px) { .stitch-editorial-thumb { width: 150px; min-width: 150px; aspect-ratio: 4 / 3; } }
.stitch-editorial-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.stitch-editorial-card:hover .stitch-editorial-thumb img { transform: scale(1.05); }
.stitch-editorial-badge { position: absolute; bottom: 0.35rem; left: 0.35rem; background: rgba(5, 29, 66, 0.85); color: #ffffff; font: 700 .5625rem var(--font-heading); text-transform: uppercase; padding: 0.15rem 0.4rem; border-radius: 3px; }
.stitch-editorial-body { flex-grow: 1; min-width: 0; display: flex; flex-direction: column; width: 100%; }
.stitch-editorial-meta { display: flex; justify-content: space-between; align-items: center; font-size: 0.75rem; margin-bottom: 0.25rem; }
.stitch-editorial-cat { color: var(--primary); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-family: var(--font-heading); font-size: 0.6875rem; }
.stitch-editorial-date { color: #64748b; font-size: 0.75rem; }
.stitch-editorial-body h4 { font: 700 0.9375rem/1.35 var(--font-heading); margin: 0 0 0.35rem; }
.stitch-editorial-body h4 a { color: var(--navy-deep); text-decoration: none; transition: color 0.2s; }
.stitch-editorial-body h4 a:hover { color: var(--primary); }
.stitch-editorial-body p { color: #475569; font: 400 0.8125rem/1.4 var(--font-body); margin: 0 0 0.5rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.stitch-editorial-link { color: var(--primary); font: 700 .75rem var(--font-heading); text-transform: uppercase; text-decoration: none; letter-spacing: 0.05em; align-self: flex-start; display: inline-flex; align-items: center; gap: 0.15rem; }
.stitch-editorial-link:hover { text-decoration: underline; }

/* Centered All News CTA Button */
.news-stitch-footer-cta { display: flex; justify-content: center; margin-top: 3rem; }
.btn-pill-outline { background: rgba(255, 255, 255, 0.05); border: 1.5px solid rgba(255, 255, 255, 0.25); color: #ffffff; font: 700 .875rem var(--font-heading); text-transform: uppercase; letter-spacing: 0.08em; padding: 0.875rem 2.5rem; border-radius: 9999px; text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.btn-pill-outline:hover { background: var(--primary); border-color: var(--primary); color: #ffffff; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(177, 0, 44, 0.4); }


