/* ------------------------- RESET -------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0}
img,svg{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
a{color:inherit}

/* ------------------------- TOKENS -------------------------- */
:root{
  --color-primary:#c8102e;--color-primary-dark:#9f0d25;--color-primary-soft:#fbecef;
  --color-dark:#181818;--color-dark-soft:#252525;--color-text:#181818;
  --color-text-secondary:#565b61;--color-white:#fff;--color-background:#fff;
  --color-surface:#f5f5f3;--color-border:#dde1e5;--color-success:#16734a;
  --font-display:"Barlow Condensed","Arial Narrow",sans-serif;
  --font-body:"Inter",Arial,sans-serif;
  --shadow-sm:0 8px 24px rgba(24,24,24,.08);--shadow-lg:0 22px 70px rgba(24,24,24,.16);
  --radius-sm:8px;--radius-md:12px;--radius-lg:18px;
  --container:1240px;--gutter:clamp(1.1rem,4vw,2.5rem);
  --section-space:clamp(4.5rem,8vw,8rem);
}

/* ------------------------- TYPOGRAPHY -------------------------- */
body{min-width:320px;background:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{max-width:100%;font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(3.5rem,8vw,7.75rem)}
h2{font-size:clamp(2.5rem,5.2vw,5rem)}
h3{font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.05}
h4{font-size:1.35rem;line-height:1.1}
p{max-width:68ch;color:var(--color-text-secondary)}
.lead{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.6}
.eyebrow{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;color:var(--color-primary);font-size:.77rem;font-weight:800;letter-spacing:.15em;line-height:1.2;text-transform:uppercase}
.eyebrow::before{content:"";width:1.75rem;height:2px;background:currentColor}
.text-white,.text-white p{color:var(--color-white)}
.text-muted{color:var(--color-text-secondary)}
.accent{color:var(--color-primary)}

/* ------------------------- GLOBAL LAYOUT -------------------------- */
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;padding:.8rem 1rem;background:var(--color-dark);color:#fff;border-radius:0 0 8px 8px;text-decoration:none;font-weight:700}
.skip-link:focus{top:0}
.container{width:min(100% - (2 * var(--gutter)),var(--container));margin-inline:auto}
.container-narrow{width:min(100% - (2 * var(--gutter)),860px);margin-inline:auto}
.section{padding-block:var(--section-space);position:relative}
.section-sm{padding-block:clamp(3rem,5vw,4.5rem)}
.section-surface{background:var(--color-surface)}
.section-dark{background:var(--color-dark);color:var(--color-white)}
.section-red{background:var(--color-primary);color:var(--color-white)}
.section-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);align-items:end;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.section-header>p{justify-self:end}
.stack{display:grid;gap:1.1rem}
.stack-lg{display:grid;gap:2rem}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.grid-2,.grid-3,.grid-4{display:grid;gap:clamp(1rem,2vw,1.5rem)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.25rem}
.split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}
.split.reverse> :first-child{order:2}
.panel{padding:clamp(1.5rem,3vw,2.5rem);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}
.rule{height:1px;background:var(--color-border);margin-block:1.5rem}
.link-arrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--color-primary);font-weight:750;text-decoration:none}
.link-arrow::after{content:"\2192";transition:transform .2s ease}
.link-arrow:hover::after{transform:translateX(4px)}

/* ------------------------- ALERT -------------------------- */
.site-alert{position:relative;z-index:1001;background:var(--color-dark);color:#fff;font-size:.82rem}
.site-alert__inner{min-height:38px;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.45rem 3rem;text-align:center}
.site-alert a{font-weight:750;text-underline-offset:3px}
.site-alert__close{position:absolute;right:max(1rem,calc((100vw - var(--container))/2));top:50%;translate:0 -50%;display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:#fff;cursor:pointer;border-radius:50%}
.site-alert__close:hover{background:rgba(255,255,255,.12)}

/* ------------------------- HEADER -------------------------- */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(221,225,229,.8);transition:box-shadow .25s ease,background .25s ease;backdrop-filter:blur(16px)}
.site-header.is-scrolled{box-shadow:0 8px 28px rgba(24,24,24,.08);background:rgba(255,255,255,.98)}
.header-inner{height:84px;display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.2rem)}
.brand{display:flex;align-items:center;gap:.75rem;min-width:205px;text-decoration:none}
.brand img{width:52px;height:52px;object-fit:contain;flex:none}
.brand__text{display:flex;flex-direction:column;font-family:var(--font-display);font-weight:700;line-height:.9;text-transform:uppercase;letter-spacing:.02em;font-size:1.18rem}
.brand__text small{font-family:var(--font-body);font-size:.58rem;line-height:1.3;letter-spacing:.18em;color:var(--color-text-secondary);margin-top:.25rem}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.7rem,1.4vw,1.45rem);margin-left:auto}
.main-nav a{position:relative;text-decoration:none;font-size:.86rem;font-weight:700;white-space:nowrap}
.main-nav>a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-.55rem;height:2px;background:var(--color-primary);transition:right .2s ease}
.main-nav>a:hover::after,.main-nav>a[aria-current="page"]::after{right:0}
.header-actions{display:flex;align-items:center;gap:.7rem}
.header-actions .utility-link{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;white-space:nowrap}
.nav-toggle{display:none;flex:0 0 46px;margin-left:auto;width:46px;height:46px;border:1px solid var(--color-border);border-radius:8px;background:#fff;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:var(--color-dark);transition:.25s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ------------------------- BUTTONS -------------------------- */
.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.78rem 1.25rem;border:1px solid transparent;border-radius:8px;font-weight:800;line-height:1;text-decoration:none;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}
.btn-secondary{background:transparent;color:var(--color-dark);border-color:#b9bec3}
.btn-secondary:hover{border-color:var(--color-dark);background:var(--color-dark);color:#fff}
.btn-white{background:#fff;color:var(--color-dark);border-color:#fff}
.btn-white:hover{background:var(--color-dark);color:#fff;border-color:var(--color-dark)}
.btn-dark{background:var(--color-dark);color:#fff;border-color:var(--color-dark)}
.btn-dark:hover{background:#000}
.btn-small{min-height:42px;padding:.62rem 1rem;font-size:.82rem}

/* ------------------------- HERO -------------------------- */
.home-hero{min-height:min(780px,calc(100vh - 84px));display:grid;grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);background:var(--color-surface);overflow:hidden;position:relative}
.home-hero__content{display:flex;align-items:center;padding:clamp(4rem,7vw,7rem) var(--gutter);padding-left:max(var(--gutter),calc((100vw - var(--container))/2));position:relative;z-index:2}
.home-hero__content-inner{min-width:0;max-width:690px}
.home-hero h1{margin-bottom:1.4rem;text-transform:uppercase}
.home-hero .lead{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:560px;margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.home-hero__media{position:relative;min-height:600px;overflow:hidden;background:#2c2c2c}
.home-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,24,24,.04),transparent 50%),linear-gradient(0deg,rgba(24,24,24,.35),transparent 45%)}
.home-hero__media img{width:100%;height:100%;object-fit:cover;object-position:56% center}
.hero-badge{position:absolute;z-index:2;right:clamp(1.2rem,3vw,3rem);bottom:clamp(1.2rem,3vw,3rem);width:132px;aspect-ratio:1;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;color:#fff;text-align:center;font:700 1rem/1.05 var(--font-display);text-transform:uppercase;letter-spacing:.09em;backdrop-filter:blur(4px)}
.court-lines{position:absolute;inset:auto auto -110px -110px;width:320px;aspect-ratio:1;border:1px solid rgba(200,16,46,.2);border-radius:50%;pointer-events:none}
.court-lines::before,.court-lines::after{content:"";position:absolute;border:1px solid rgba(200,16,46,.16);border-radius:50%}
.court-lines::before{inset:35px}.court-lines::after{inset:80px}
.page-hero{position:relative;isolation:isolate;min-height:430px;display:flex;align-items:end;background:var(--color-dark);color:#fff;overflow:hidden}
.page-hero__media{position:absolute;inset:0;z-index:-2}
.page-hero__media img{width:100%;height:100%;object-fit:cover;opacity:.44;filter:saturate(.72)}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,14,14,.94) 0%,rgba(14,14,14,.66) 55%,rgba(14,14,14,.15) 100%)}
.page-hero__content{padding-block:clamp(4rem,7vw,6.5rem);max-width:840px}
.page-hero h1{font-size:clamp(3.5rem,7vw,6.6rem);text-transform:uppercase;margin-bottom:1rem}
.page-hero p{color:rgba(255,255,255,.8);font-size:clamp(1.05rem,1.5vw,1.25rem)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin-bottom:1.5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.72)}
.breadcrumbs li+li::before{content:"/";margin-right:.4rem;opacity:.6}
.breadcrumbs a{text-decoration:none}

/* ------------------------- QUICK ACTIONS -------------------------- */
.quick-strip{background:var(--color-primary);color:#fff}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr)}
.quick-action{min-height:102px;display:flex;align-items:center;gap:1rem;padding:1.2rem clamp(1rem,2vw,1.7rem);border-right:1px solid rgba(255,255,255,.24);text-decoration:none;transition:background .2s ease}
.quick-action:first-child{border-left:1px solid rgba(255,255,255,.24)}
.quick-action:hover{background:var(--color-primary-dark)}
.quick-action svg{width:26px;height:26px;flex:none}
.quick-action span{font-family:var(--font-display);font-size:1.22rem;font-weight:700;line-height:1;text-transform:uppercase}
.quick-action small{display:block;margin-top:.28rem;font:600 .7rem/1.2 var(--font-body);text-transform:none;letter-spacing:0;opacity:.78}

/* ------------------------- CARDS -------------------------- */
.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:clamp(1.35rem,2.4vw,2rem)}
.card h3,.card h4{margin-bottom:.7rem}
.feature-card{position:relative;min-height:480px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-dark);color:#fff;isolation:isolate;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .28s ease,box-shadow .28s ease}
.feature-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s ease}
.feature-card:hover img{transform:scale(1.03)}
.feature-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,10,.93),rgba(10,10,10,.02) 68%)}
.feature-card__body{position:absolute;inset:auto 0 0;padding:clamp(1.4rem,3vw,2.2rem)}
.feature-card__body p{color:rgba(255,255,255,.78);margin:.7rem 0 1.2rem}
.feature-card__number{position:absolute;top:1.1rem;right:1.25rem;font:800 4rem/1 var(--font-display);color:rgba(255,255,255,.48)}
.feature-card .link-arrow{color:#fff}
.path-card{padding:clamp(1.5rem,3vw,2.2rem);border-top:4px solid var(--color-primary);background:#fff;box-shadow:var(--shadow-sm)}
.path-card .icon-box{margin-bottom:2rem}
.path-card p{margin:.7rem 0 1.5rem}
.icon-box{width:52px;height:52px;display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary);border-radius:50%}
.icon-box svg{width:24px;height:24px}
.number-card{position:relative;padding:2rem 1.5rem 1.5rem;border-top:1px solid var(--color-border)}
.number-card__num{font:800 3.5rem/1 var(--font-display);color:var(--color-primary);margin-bottom:1rem}
.number-card p{margin-top:.6rem}

/* ------------------------- INFORMATION -------------------------- */
.info-board{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--color-border)}
.info-board__item{padding:1.6rem clamp(1rem,2vw,1.5rem);border-right:1px solid var(--color-border)}
.info-board__item:last-child{border-right:0}
.info-board__label{display:block;margin-bottom:.45rem;color:var(--color-text-secondary);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.info-board__value{font:700 1.45rem/1.1 var(--font-display)}
.status{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-radius:999px;background:#e8f4ee;color:var(--color-success);font-size:.76rem;font-weight:800}
.status::before{content:"";width:7px;height:7px;background:currentColor;border-radius:50%}
.status.pending{background:#fff3d8;color:#8a5a00}
.notice{display:flex;gap:1rem;padding:1.1rem 1.25rem;background:#fff7e8;border-left:4px solid #c47a00;border-radius:0 8px 8px 0;color:#664400}
.notice p{color:inherit;font-size:.92rem}

/* ------------------------- EVENTS -------------------------- */
.events-list{border-top:1px solid var(--color-border)}
.event-card{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--color-border)}
.event-date{display:flex;flex-direction:column;align-items:flex-start;font-family:var(--font-display);font-weight:800;text-transform:uppercase;line-height:.85;color:var(--color-primary)}
.event-date strong{font-size:2.6rem}.event-date span{font-size:.88rem;letter-spacing:.1em}
.event-card h3{font-size:1.55rem;margin:.15rem 0 .25rem}
.event-card p{font-size:.9rem}
.event-category{color:var(--color-primary);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.event-card.is-hidden{display:none}
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}
.filter-btn{min-height:42px;padding:.55rem .9rem;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text);font-size:.8rem;font-weight:750;cursor:pointer}
.filter-btn:hover,.filter-btn.is-active{background:var(--color-dark);border-color:var(--color-dark);color:#fff}
.month-label{margin:3rem 0 1rem;padding-bottom:.75rem;border-bottom:3px solid var(--color-dark);font:800 2rem/1 var(--font-display);text-transform:uppercase}

/* ------------------------- EDITORIAL -------------------------- */
.editorial-image{position:relative;min-height:520px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-dark)}
.editorial-image img{position:absolute;width:100%;height:100%;object-fit:cover}
.editorial-image::after{content:"";position:absolute;width:160px;height:160px;right:-50px;bottom:-50px;border:26px solid var(--color-primary);border-radius:50%}
.quote-block{padding:clamp(2rem,5vw,4.5rem);background:var(--color-primary);color:#fff}
.quote-block blockquote{font:700 clamp(2.4rem,5vw,5rem)/.96 var(--font-display);text-transform:uppercase;max-width:820px}
.quote-block p{margin-top:1.5rem;color:rgba(255,255,255,.8)}
.stateless-story{display:grid;grid-template-columns:1.1fr .9fr;min-height:580px;background:var(--color-dark);color:#fff}
.stateless-story__media img{width:100%;height:100%;object-fit:cover}
.stateless-story__body{display:flex;align-items:center;padding:clamp(2rem,6vw,5rem)}
.stateless-story__body p{color:rgba(255,255,255,.72);margin:1.2rem 0 2rem}

/* ------------------------- SPONSORS & DOCUMENTS -------------------------- */
.logo-grid,.sponsor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem)}
.logo-card,.sponsor-logo-card{min-height:130px;display:flex;align-items:center;justify-content:center;padding:clamp(1.15rem,2.2vw,1.6rem);background:#fff;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);text-align:center;font:700 .78rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.sponsor-logo-card{min-height:142px;aspect-ratio:auto}
a.sponsor-logo-card:hover,a.sponsor-logo-card:focus-visible{transform:translateY(-3px);border-color:#c5cbd1;box-shadow:0 10px 28px rgba(24,24,24,.08)}
.logo-card img,.sponsor-logo{width:100%;max-width:180px;max-height:80px;height:auto;object-fit:contain;transform:scale(var(--logo-scale,1));transform-origin:center center}
.sponsor-logo--wide{max-width:210px;max-height:68px}
.sponsor-logo--tall{max-width:120px;max-height:88px}
.sponsor-logo--banner{max-width:100%;max-height:72px}
.sponsor-grid--page{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ------------------------- PLAYHQ / COMPETITION CENTRE -------------------------- */
.playhq-panel{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding:clamp(1.75rem,3.5vw,2.75rem);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;position:relative}
.playhq-panel::before{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;aspect-ratio:1;border:1px solid rgba(200,16,46,.14);border-radius:50%;pointer-events:none}
.playhq-panel__copy{position:relative;z-index:1;display:grid;gap:1rem}
.playhq-panel__copy .lead{margin:0}
.playhq-panel__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:.35rem}
.playhq-powered{font-size:.78rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}
.external-note{display:block;margin-top:.45rem;font-size:.78rem;font-weight:600;color:var(--color-text-secondary)}
.btn .external-note{margin-top:0;color:inherit;opacity:.78;font-weight:650}
.playhq-visual{position:relative;z-index:1;min-height:260px;padding:1.35rem;border-radius:var(--radius-md);background:linear-gradient(145deg,var(--color-dark) 0%,#2a2a2a 55%,#3a1218 100%);color:#fff;display:grid;gap:.9rem;align-content:center;overflow:hidden}
.playhq-visual::after{content:"";position:absolute;inset:auto -40px -60px auto;width:180px;aspect-ratio:1;border:18px solid rgba(200,16,46,.35);border-radius:50%;pointer-events:none}
.playhq-visual__label{position:relative;z-index:1;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.playhq-visual__title{position:relative;z-index:1;font:700 clamp(1.8rem,3vw,2.5rem)/1 var(--font-display);text-transform:uppercase;max-width:14ch}
.playhq-visual__list{position:relative;z-index:1;list-style:none;display:grid;gap:.55rem;margin:0;padding:0}
.playhq-visual__list li{display:flex;align-items:center;gap:.65rem;font-size:.92rem;font-weight:600;color:rgba(255,255,255,.86)}
.playhq-visual__list li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex:none}
.playhq-checklist{display:grid;gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none}
.playhq-checklist li{display:flex;align-items:flex-start;gap:.75rem;padding:0;font-weight:600;color:var(--color-text)}
.playhq-checklist li::before{content:"";width:10px;height:10px;margin-top:.45rem;border-radius:50%;background:var(--color-primary);flex:none}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.document-card{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;padding:1.25rem;background:#fff;border:1px solid var(--color-border);border-radius:8px}
.document-card__type{display:grid;place-items:center;width:48px;height:58px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.7rem;font-weight:850;border-radius:5px}
.document-card h3{font-size:1.35rem;margin-bottom:.25rem}
.document-card p{font-size:.84rem}
.document-card .meta{display:block;margin-top:.45rem;font-size:.7rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}
.document-card [aria-disabled="true"]{opacity:.5;pointer-events:none}

/* ------------------------- TABLE / DUTIES -------------------------- */
.duties-table{width:100%;border-collapse:collapse;border-spacing:0}
.duties-table th{padding:.85rem 1rem;background:var(--color-dark);color:#fff;text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.duties-table td{padding:1rem;border-bottom:1px solid var(--color-border);vertical-align:top}
.duties-table tbody tr:nth-child(even){background:var(--color-surface)}

/* ------------------------- FAQ -------------------------- */
.faq-list{border-top:1px solid var(--color-border)}
.faq-item{border-bottom:1px solid var(--color-border)}
.faq-item summary{list-style:none;position:relative;padding:1.35rem 3.2rem 1.35rem 0;font:700 clamp(1.3rem,2vw,1.65rem)/1.15 var(--font-display);cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:.35rem;top:50%;translate:0 -50%;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:50%;font:500 1.2rem var(--font-body);transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item__content{padding:0 3.5rem 1.4rem 0}

/* ------------------------- FORMS -------------------------- */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.form-group{display:grid;gap:.45rem}
.form-group.full{grid-column:1/-1}
label{font-size:.82rem;font-weight:750}
label .optional{font-weight:500;color:var(--color-text-secondary)}
input,select,textarea{width:100%;min-height:52px;padding:.8rem .9rem;border:1px solid #aeb4ba;border-radius:7px;background:#fff;color:var(--color-text);transition:border-color .2s,box-shadow .2s}
textarea{min-height:150px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(200,16,46,.12)}
.field-error{display:none;color:#a00;font-size:.78rem;font-weight:650}
.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#a00}
.form-group.has-error .field-error{display:block}
.form-status{display:none;padding:1rem;border-radius:7px;font-weight:650}
.form-status.is-visible{display:block}
.form-status.success{background:#e8f4ee;color:var(--color-success)}
.form-status.error{background:#fbecef;color:#9f0d25}
.contact-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.contact-card{padding:1.4rem 0;border-bottom:1px solid var(--color-border)}
.contact-card:first-of-type{border-top:1px solid var(--color-border)}
.contact-card span{display:block;margin-bottom:.35rem;color:var(--color-text-secondary);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.contact-card a{font-weight:750;text-underline-offset:3px}

/* ------------------------- CTA -------------------------- */
.cta-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:clamp(2rem,5vw,4.5rem);background:var(--color-primary);color:#fff;border-radius:var(--radius-lg)}
.cta-panel::after{content:"";position:absolute;right:18%;top:-140px;width:310px;height:310px;border:1px solid rgba(255,255,255,.25);border-radius:50%;pointer-events:none}
.cta-panel h2{font-size:clamp(2.7rem,5vw,5rem);text-transform:uppercase}
.cta-panel p{margin-top:.75rem;color:rgba(255,255,255,.8)}
.cta-panel__actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem}

/* ------------------------- FOOTER -------------------------- */
.site-footer{background:#111;color:#fff;padding-top:clamp(4rem,7vw,6rem)}
.footer-top{display:grid;grid-template-columns:1.15fr repeat(4,.7fr);gap:clamp(2rem,4vw,4rem);padding-bottom:3.5rem}
.footer-brand p{margin-top:1.2rem;color:#aeb0b3;font-size:.9rem}
.site-footer h3{font-size:1rem;font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem}
.footer-links{list-style:none;display:grid;gap:.62rem}
.footer-links a{color:#c6c8ca;text-decoration:none;font-size:.88rem}
.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.acknowledgement{padding:1.25rem 0;border-top:1px solid #2f2f2f;border-bottom:1px solid #2f2f2f;color:#aaa;font-size:.78rem}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 0;color:#888;font-size:.72rem}
.footer-bottom a{color:#aaa}

/* ------------------------- REVEALS -------------------------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}
.hero-animate{animation:hero-in .55s both ease-out}
.hero-animate:nth-child(2){animation-delay:.08s}.hero-animate:nth-child(3){animation-delay:.16s}.hero-animate:nth-child(4){animation-delay:.24s}
@keyframes hero-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* ------------------------- ACCESSIBILITY -------------------------- */
:focus-visible{outline:3px solid #3c78d8;outline-offset:3px}
::selection{background:var(--color-primary);color:#fff}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* ------------------------- RESPONSIVE -------------------------- */
@media (max-width:1120px){
  .main-nav{gap:.8rem}.main-nav a{font-size:.8rem}.header-actions .utility-link{display:none}
  .footer-top{grid-template-columns:1.2fr repeat(2,1fr)}
  .footer-brand{grid-row:span 2}
}
@media (max-width:920px){
  body.nav-open{overflow:hidden}
  .header-inner{height:74px}.brand img{width:44px;height:44px}.brand__text{font-size:1.05rem}
  .header-inner{width:100%;padding-inline:var(--gutter)}
  .header-actions{display:none}
  .nav-toggle{display:block}
  .main-nav{position:fixed;inset:74px 0 0;background:#fff;padding:1.5rem var(--gutter) 7rem;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .28s ease,visibility .28s}
  .main-nav.is-open{transform:none;visibility:visible}
  .main-nav>a:not(.btn){padding:1rem 0;border-bottom:1px solid var(--color-border);font:700 1.45rem/1 var(--font-display);text-transform:uppercase}
  .main-nav>a:not(.btn)::after{display:none}
  .main-nav .mobile-only{display:flex!important}
  .main-nav .btn{margin-top:1rem}
  .header-actions .btn{display:none}
  .home-hero{grid-template-columns:minmax(0,1fr);min-height:0}.home-hero__content{min-width:0;padding-block:4.5rem;overflow:hidden}.home-hero__media{min-width:0;min-height:500px}
  .quick-actions{grid-template-columns:repeat(2,1fr)}.quick-action:nth-child(2){border-right:0}.quick-action:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.24)}
  .section-header{grid-template-columns:1fr}.section-header>p{justify-self:start}
  .grid-3{grid-template-columns:repeat(2,1fr)}.grid-3>*:last-child{grid-column:1/-1}.grid-4{grid-template-columns:repeat(2,1fr)}
  .split,.stateless-story{grid-template-columns:1fr}.split.reverse> :first-child{order:0}.editorial-image{min-height:440px}
  .stateless-story__media{height:450px}.stateless-story__body{padding-block:4rem}
  .info-board{grid-template-columns:repeat(2,1fr)}.info-board__item:nth-child(2){border-right:0}.info-board__item:nth-child(-n+2){border-bottom:1px solid var(--color-border)}
  .logo-grid,.sponsor-grid,.sponsor-grid--page{grid-template-columns:repeat(3,minmax(0,1fr))}
  .playhq-panel{grid-template-columns:1fr}
  .cta-panel{grid-template-columns:1fr}.cta-panel__actions{justify-content:flex-start}
  .contact-layout{grid-template-columns:1fr}
}
@media (min-width:921px){.mobile-only{display:none!important}}
@media (max-width:680px){
  :root{--section-space:4.5rem}
  .site-alert__inner{justify-content:flex-start;text-align:left;padding-left:var(--gutter)}
  .site-alert__close{right:.5rem}
  .brand__text small{display:none}
  h1{font-size:clamp(3rem,13vw,4rem)}
  .home-hero__content{padding-block:3.7rem}.home-hero__media{min-height:420px}.hero-badge{width:108px;font-size:.82rem}
  .home-hero h1{font-size:clamp(3rem,13vw,4rem)}
  .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.hero-actions .btn{width:100%;min-width:0;white-space:normal;text-align:center}
  .page-hero{min-height:390px}.page-hero__content{min-width:0;overflow:hidden}.page-hero h1{font-size:clamp(2.85rem,12.5vw,3.7rem);line-height:.93}
  .quick-action{min-height:100px;flex-direction:column;align-items:flex-start;gap:.6rem}.quick-action small{display:none}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.grid-3>*:last-child{grid-column:auto}
  .feature-card{min-height:430px}
  .info-board{grid-template-columns:1fr}.info-board__item{border-right:0;border-bottom:1px solid var(--color-border)!important}.info-board__item:last-child{border-bottom:0!important}
  .event-card{grid-template-columns:70px 1fr;gap:1rem}.event-card>.link-arrow{grid-column:2}.event-date strong{font-size:2.2rem}
  .document-grid{grid-template-columns:1fr}.document-card{grid-template-columns:auto 1fr}.document-card>.btn{grid-column:2;justify-self:start}
  .form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}
  .logo-grid,.sponsor-grid,.sponsor-grid--page{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sponsor-logo-card{min-height:124px;padding:1rem}
  .playhq-visual{min-height:220px}
  .footer-top{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1;grid-row:auto}.footer-bottom{flex-direction:column}
  .duties-table,.duties-table tbody,.duties-table tr,.duties-table td{display:block;width:100%}.duties-table thead{display:none}.duties-table tr{padding:1rem;border:1px solid var(--color-border);border-radius:8px;margin-bottom:1rem;background:#fff!important}.duties-table td{display:grid;grid-template-columns:95px 1fr;gap:.5rem;padding:.35rem 0;border:0}.duties-table td::before{content:attr(data-label);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}
}
@media (max-width:390px){
  .brand{min-width:auto}.brand__text{font-size:.94rem}.header-inner{gap:.5rem}
  .hero-actions .btn,.cta-panel__actions .btn,.playhq-panel__meta .btn{width:100%}
  .quick-action span{font-size:1.05rem}
  .logo-grid,.sponsor-grid,.sponsor-grid--page{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:360px){
  .logo-grid,.sponsor-grid,.sponsor-grid--page{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
