/* ============================================================
   PALETTE, DRAWN FROM THE CLUB CREST
   Club blue sampled from the logo: #25358C
   ============================================================ */
:root{
  --navy:#16205A;        /* deep surfaces: masthead, board, footer */
  --navy-2:#1B2A6E;      /* rows inside the board */
  --royal:#25358C;       /* the club blue */
  --pale:#A8B6E4;        /* secondary text on navy */
  --page:#F4F5FA;
  --paper:#FFFFFF;
  --ink:#131A35;
  --muted:#5A6484;
  --accent:#25358C;      /* buttons and links */
  --accent-ink:#FFFFFF;
  --tint:#E4E8F5;        /* highlight rows, chips */
  --live:#C2402F;
  --rule:rgba(19,26,53,.15);
  --shade:rgba(19,26,53,.045);

  --sans:'Archivo Narrow',Arial Narrow,Helvetica,sans-serif;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;

  --wrap:1080px;
  --gap:clamp(18px,3.2vw,34px);

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --navy:#080D26; --navy-2:#111A44; --royal:#93A6E8; --pale:#9DACD8;
    --page:#0B1030; --paper:#141C44; --ink:#E7EAF6; --muted:#9AA5C6;
    --accent:#93A6E8; --accent-ink:#0B1030; --tint:rgba(147,166,232,.14);
    --live:#E9806E; --rule:rgba(231,234,246,.17); --shade:rgba(231,234,246,.05);
  }
}
:root[data-theme="dark"]{
  --navy:#080D26; --navy-2:#111A44; --royal:#93A6E8; --pale:#9DACD8;
  --page:#0B1030; --paper:#141C44; --ink:#E7EAF6; --muted:#9AA5C6;
  --accent:#93A6E8; --accent-ink:#0B1030; --tint:rgba(147,166,232,.14);
  --live:#E9806E; --rule:rgba(231,234,246,.17); --shade:rgba(231,234,246,.05);
}
html{scroll-padding-top:calc(66px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%;}
*,*::before,*::after{box-sizing:inherit;}
body{margin:0;background:var(--page);color:var(--ink);
  font-family:var(--serif);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;}
a{color:inherit;}
:focus-visible{outline:2.5px solid var(--royal);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gap);}
h1,h2,h3,h4,.sans{font-family:var(--sans);font-weight:700;letter-spacing:.005em;}
h2{font-size:clamp(26px,3.6vw,38px);line-height:1.1;margin:0 0 6px;}
h3{font-size:20px;line-height:1.2;margin:0 0 6px;}
p{margin:0 0 1em;max-width:66ch;}
.lede{color:var(--muted);max-width:60ch;margin-bottom:0;}
section{padding:clamp(42px,6vw,72px) 0;border-top:1px solid var(--rule);}
.sec-head{margin-bottom:28px;}

.demo{background:var(--tint);color:var(--ink);font-family:var(--sans);font-weight:600;
  font-size:14px;padding:8px var(--gap);text-align:center;border-bottom:1px solid var(--rule);}

/* ---------- masthead ---------- */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;
  background:var(--navy);color:#fff;}
.top-in{display:flex;align-items:center;gap:16px;height:66px;}
.mark{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto;}
.mark img{height:40px;width:auto;display:block;}
.mark b{display:block;font-family:var(--sans);font-weight:700;font-size:19px;line-height:1.05;}
.mark i{display:block;font-style:normal;font-family:var(--sans);font-weight:500;
  font-size:11.5px;color:var(--pale);letter-spacing:.1em;}
nav.main{margin-left:auto;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;}
nav.main::-webkit-scrollbar{display:none;}
nav.main a{font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;
  padding:8px 11px;border-radius:3px;white-space:nowrap;color:#DDE3F5;}
nav.main a:hover{background:rgba(255,255,255,.12);color:#fff;}
nav.main a.join{background:#fff;color:var(--royal);}
nav.main a.join:hover{background:#fff;color:var(--navy);}

/* ---------- photography ---------- */
/* Every photo degrades to a crest-tinted block if the file is missing,
   so a broken link never leaves an empty box on the page. */
figure.ph{margin:0;position:relative;overflow:hidden;background:var(--tint);}
figure.ph::after{
  content:attr(data-fallback);position:absolute;inset:0;display:flex;
  align-items:center;justify-content:center;text-align:center;padding:14px;
  font-family:var(--sans);font-weight:600;font-size:14px;color:var(--royal);
  background:var(--tint);opacity:0;pointer-events:none;
}
figure.ph.noimg::after{opacity:1;}
figure.ph img{display:block;width:100%;height:100%;object-fit:cover;}
figure.ph.noimg img{visibility:hidden;}
figure.ph figcaption{
  font-family:var(--sans);font-weight:500;font-size:13px;color:var(--muted);
  padding:7px 0 0;
}

/* ---------- the board ---------- */
.board{background:var(--navy);color:#fff;padding-bottom:clamp(30px,5vw,48px);position:relative;overflow:hidden;}
.board .crest{position:absolute;right:-40px;top:-30px;width:300px;opacity:.06;pointer-events:none;z-index:2;}
.board-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.22;filter:saturate(.7);z-index:0;}
.board::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,var(--navy) 18%,rgba(22,32,90,.78) 62%,rgba(22,32,90,.55) 100%);}
.board .wrap{position:relative;z-index:3;}
.board-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;padding-top:clamp(26px,4vw,42px);}
.board-top h2{font-size:clamp(30px,5.2vw,52px);line-height:1;margin:0;}
.board-top .date{font-family:var(--sans);font-weight:600;font-size:clamp(15px,2vw,19px);color:var(--pale);}
.board-note{font-size:14.5px;color:var(--pale);margin:10px 0 22px;font-family:var(--sans);font-weight:500;}
.fixtures{display:grid;gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);}
.fx{background:var(--navy-2);display:grid;grid-template-columns:104px 1fr auto;
  gap:4px 18px;align-items:center;padding:14px 16px;}
.fx .team{font-family:var(--sans);font-weight:700;font-size:17px;color:#fff;}
.fx .opp{font-family:var(--sans);font-weight:600;font-size:clamp(17px,2.4vw,22px);line-height:1.15;}
.fx .opp small{display:block;font-weight:500;font-size:13.5px;color:var(--pale);letter-spacing:.02em;}
.fx .meta{font-family:var(--sans);font-weight:600;font-size:16px;text-align:right;font-variant-numeric:tabular-nums;}
.fx .meta em{display:block;font-style:normal;font-weight:500;font-size:13px;margin-top:2px;}
.chip{display:inline-block;font-family:var(--sans);font-weight:700;font-size:11.5px;
  padding:2px 7px;border:1px solid currentColor;border-radius:2px;letter-spacing:.06em;}
.chip.live{color:#fff;background:var(--live);border-color:var(--live);}
.chip.h{color:#fff;}
.chip.a{color:var(--pale);}
.board-empty{padding:30px 16px;border:1px dashed rgba(255,255,255,.3);}
.board-empty p{color:#D5DCF1;margin:0;}
.board-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.btn{font-family:var(--sans);font-weight:700;font-size:15.5px;text-decoration:none;
  padding:10px 16px;border-radius:3px;display:inline-block;}
.btn-solid{background:#fff;color:var(--royal);}
.btn-ghost{border:1.5px solid rgba(255,255,255,.45);color:#fff;}
.btn-line{border:1.5px solid var(--accent);color:var(--accent);}

/* ---------- task strip ---------- */
.tasks{background:var(--paper);border-bottom:1px solid var(--rule);}
.tasks ul{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--rule);
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.tasks li{background:var(--paper);}
.tasks a{display:block;padding:18px 20px;text-decoration:none;height:100%;
  border-top:3px solid transparent;}
.tasks a:hover{background:var(--shade);border-top-color:var(--accent);}
.tasks strong{display:block;font-family:var(--sans);font-weight:700;font-size:17px;}
.tasks span{font-size:14.5px;color:var(--muted);line-height:1.4;display:block;margin-top:2px;}

.cols{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.panel{background:var(--paper);border:1px solid var(--rule);padding:22px;}
.panel h3{margin-bottom:8px;}

/* ---------- tables ---------- */
.scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{border-collapse:collapse;width:100%;min-width:560px;background:var(--paper);}
caption{text-align:left;font-family:var(--sans);font-weight:600;color:var(--muted);padding:0 0 8px;font-size:15px;}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--rule);font-size:15.5px;}
th{font-family:var(--sans);font-weight:600;font-size:13px;color:var(--muted);letter-spacing:.05em;
  background:var(--tint);}
td{font-family:var(--sans);font-weight:500;font-variant-numeric:tabular-nums;}
td.name{font-weight:700;font-size:16.5px;}
td.pos{color:var(--muted);}
td a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px;}

/* ---------- results ---------- */
.results{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);}
.res{background:var(--paper);padding:15px 18px;display:grid;grid-template-columns:78px 1fr auto;
  gap:4px 16px;align-items:center;}
.res .team{font-family:var(--sans);font-weight:700;color:var(--accent);font-size:15.5px;}
.res .line{font-family:var(--sans);font-weight:600;font-size:16.5px;}
.res .line small{display:block;font-weight:500;font-size:14px;color:var(--muted);}
.res .out{font-family:var(--sans);font-weight:700;font-size:14px;text-align:right;}
.out.win{color:var(--accent);} .out.loss{color:var(--muted);} .out.draw{color:var(--ink);}

/* ---------- news ---------- */
.news{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.story{background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--royal);
  display:flex;flex-direction:column;}
.story figure.ph{aspect-ratio:16/10;border-bottom:1px solid var(--rule);}
.story .story-body{padding:18px 20px 20px;}
.story time{font-family:var(--sans);font-weight:600;font-size:13px;color:var(--muted);letter-spacing:.04em;}
.story h3{margin:6px 0 8px;}
.story p{font-size:15.5px;color:var(--muted);margin:0;}

/* ---------- grounds ---------- */
.grounds{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.ground{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--royal);padding:20px;}
.ground figure.ph{aspect-ratio:3/2;margin:0 0 16px;}
.panel figure.ph{aspect-ratio:3/2;margin:0 0 16px;}
.ground .who{font-family:var(--sans);font-weight:600;font-size:14.5px;color:var(--muted);}
.ground address{font-style:normal;font-family:var(--sans);font-weight:600;font-size:16.5px;margin:6px 0 10px;}

.fees{width:100%;min-width:420px;}
.fees td:last-child,.fees th:last-child{text-align:right;}

.people{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.people li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--rule);
  padding-bottom:10px;font-family:var(--sans);}
.people b{font-weight:700;}
.people span{color:var(--muted);font-weight:500;text-align:right;}

.sponsors{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--rule);
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border:1px solid var(--rule);}
.sponsors li{background:var(--paper);padding:20px;text-align:center;font-family:var(--sans);
  font-weight:700;font-size:16px;}
.sponsors li span{display:block;font-weight:500;font-size:13px;color:var(--muted);margin-top:3px;}

/* ---------- footer ---------- */
footer{background:var(--navy);color:#fff;padding:44px 0 34px;}
footer .crest-row{display:flex;align-items:center;gap:14px;margin-bottom:28px;}
footer .crest-row img{height:56px;width:auto;}
footer .crest-row b{font-family:var(--sans);font-weight:700;font-size:20px;display:block;}
footer .crest-row i{font-style:normal;font-family:var(--sans);font-weight:500;font-size:13px;color:var(--pale);}
footer h4{font-size:14px;letter-spacing:.07em;color:var(--pale);margin:0 0 10px;}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:7px;}
footer a{font-family:var(--sans);font-weight:500;font-size:15.5px;color:#DDE3F5;text-decoration:none;}
footer a:hover{color:#fff;text-decoration:underline;}
footer .fine{border-top:1px solid rgba(255,255,255,.18);margin-top:30px;padding-top:18px;
  font-family:var(--sans);font-weight:500;font-size:13.5px;color:var(--pale);
  display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;}

@media (max-width:620px){
  .board .crest{display:none;}
}
@media (max-width:560px){
  .fx{grid-template-columns:1fr auto;}
  .fx .team{grid-column:1/-1;}
  .res{grid-template-columns:1fr auto;}
  .res .team{grid-column:1/-1;}
  .top-in{height:60px;}
  .mark i{display:none;}
  .mark img{height:34px;}
}

/* ---------- loading / error ---------- */
.loading{padding:60px var(--gap);text-align:center;font-family:var(--sans);color:var(--muted);}
.load-error{max-width:560px;margin:60px auto;padding:22px;background:var(--paper);
  border:1px solid var(--rule);border-left:4px solid var(--live);font-family:var(--sans);}
.demo:empty{display:none;}

/* ---------- welcome ---------- */
.welcome{background:var(--paper);border-top:0;padding:clamp(34px,6vw,70px) 0 clamp(34px,5vw,56px);
  border-bottom:1px solid var(--rule);}
.welcome-in{display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:1.1fr .9fr;align-items:center;}
.kicker{font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);margin:0 0 10px;}
.welcome h1{font-size:clamp(32px,5vw,54px);line-height:1.02;margin:0 0 18px;color:var(--ink);
  text-wrap:balance;}
.welcome-text p{font-size:17.5px;}
.welcome-text p:last-of-type{margin-bottom:0;}
.welcome-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.btn-accent{background:var(--accent);color:var(--accent-ink);}
.stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:6px 30px;
  margin:30px 0 0;padding:18px 0 0;border-top:1px solid var(--rule);}
.stats div{margin:0;}
.stats dt{font-family:var(--sans);font-weight:700;font-size:30px;line-height:1;color:var(--accent);
  font-variant-numeric:tabular-nums;}
.stats dd{margin:4px 0 0;font-family:var(--sans);font-weight:500;font-size:13.5px;color:var(--muted);}
.welcome-photo{aspect-ratio:4/5;border-radius:2px;box-shadow:0 1px 0 var(--rule);}
.welcome-photo::before{content:"";position:absolute;inset:0;border:1px solid var(--rule);z-index:1;pointer-events:none;}

@media (max-width:820px){
  .welcome-in{grid-template-columns:1fr;}
  .welcome-photo{aspect-ratio:16/10;order:-1;}
  .stats{grid-template-columns:repeat(2,auto);}
}
