/* =======================================================================
   Al Assaf Football Academy
   style.css — single stylesheet for all pages

   BRAND TOKENS are the first block below. Replace those five values with
   the real palette and nothing else in this file needs to change.
   ==================================================================== */

:root{
  /* ---- BRAND ---- */
  --ink:#21409A;        /* PRIMARY  Royal Blue */
  --ink-2:#182F73;      /* deeper royal — cards on dark, footer depth */
  --gold:#F2B21C;       /* ACCENT   Gold — fills, rules and numbers only.
                           Never white text on this: 1.88:1. Navy on gold is 4.93:1. */
  --red:#E30613;        /* ACCENT   Red — urgent states only. Do NOT place on the blue
                           (1.9:1). Use red text on white instead. */
  --chalk:#F5F6FA;      /* page background */
  --paper:#FFFFFF;      /* BASE     White      PMS 7436 C */

  /* ---- derived ---- */
  --line:rgba(33,64,154,.16);
  --muted:#5C6F7E;
  --text:#1E2A48;
  --focus:#2D7FF9;
  --stone:#EDEFF6;

  --sans-latin:'Lato',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans-ar:'Alexandria','Lato',system-ui,sans-serif;

  --wrap:1180px;
  --pad:clamp(20px,5vw,56px);

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}

html{scroll-behavior:smooth;scroll-padding-top:calc(104px + env(safe-area-inset-top,0px))}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{
  margin:0;background:var(--chalk);color:var(--text);
  font-family:var(--sans-ar);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
html[lang="en"] body{font-family:var(--sans-latin);line-height:1.6}

h1,h2,h3,h4{margin:0;line-height:1.12;font-weight:600;color:var(--ink);letter-spacing:-.01em}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3{font-family:var(--sans-latin);font-weight:900;letter-spacing:-.02em}
p{margin:0 0 1em}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.eyebrow{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:14px}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--line)}

/* ------------------------------ header ------------------------------ */
header{position:sticky;top:0;z-index:60;background:var(--ink);padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid rgba(255,255,255,.1)}
.bar{display:flex;align-items:center;gap:18px;height:104px;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.logo img{height:80px;width:auto}
.logo .mark{display:none}
.logo-name{color:#fff;font-size:15px;font-weight:700;line-height:1.2;letter-spacing:-.01em}
.logo-name span{display:block;font-size:11px;font-weight:400;color:var(--gold);letter-spacing:.04em}

nav{margin-inline-start:auto;display:flex;align-items:center;gap:4px}
nav a{color:rgba(255,255,255,.82);text-decoration:none;font-size:14px;font-weight:500;padding:9px 12px;border-radius:3px;white-space:nowrap}
nav a:hover,nav a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.1)}
.lang{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:3px;cursor:pointer;margin-inline-start:8px}
.lang:hover{background:rgba(255,255,255,.12)}
.burger{display:none;background:none;border:1px solid rgba(255,255,255,.35);border-radius:3px;color:#fff;padding:8px 11px;cursor:pointer;margin-inline-start:auto;font-size:16px}
@media (max-width:1000px){
  .bar{height:72px}
  .logo img{height:48px}
  .logo .lockup{display:none}
  .logo .mark{display:block}
  nav{position:fixed;inset-block-start:calc(72px + env(safe-area-inset-top,0px));inset-inline:0;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 20px;display:none;border-bottom:1px solid rgba(255,255,255,.12);max-height:calc(100vh - 72px);overflow-y:auto}
  nav.open{display:flex}
  nav a{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
  .lang{margin:12px 0 0}
  .burger{display:block}
}

/* ------------------------------- hero ------------------------------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.42}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,47,115,.93),rgba(24,47,115,.46))}
html[dir="rtl"] .hero-media::after{background:linear-gradient(270deg,rgba(24,47,115,.93),rgba(24,47,115,.46))}
.hero-in{position:relative;z-index:1;max-width:var(--wrap);margin-inline:auto;padding:clamp(64px,11vw,132px) var(--pad) clamp(48px,8vw,92px)}
.hero h1{color:#fff;font-size:clamp(38px,7.2vw,76px);max-width:16ch;margin-bottom:22px}
html[lang="en"] .hero h1{letter-spacing:-.03em;text-transform:uppercase}
.lede{font-size:clamp(17px,2vw,21px);color:rgba(255,255,255,.86);max-width:48ch;margin-bottom:34px}

.page-head{position:relative;background:var(--ink);color:#fff;padding-block:clamp(44px,7vw,78px);overflow:hidden}
.page-head .hero-media img{opacity:.38}
.page-head > .wrap{position:relative;z-index:1}
.page-head h1{color:#fff;font-size:clamp(30px,5vw,52px);max-width:20ch;margin-bottom:14px}
.page-head p{color:rgba(255,255,255,.78);max-width:58ch;margin:0;font-size:18px}
.page-head .eyebrow{color:var(--gold)}
.page-head .eyebrow::after{background:rgba(255,255,255,.25)}

/* ------------------------------ buttons ----------------------------- */
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;text-decoration:none;font:inherit;font-size:16px;font-weight:600;padding:15px 30px;border-radius:3px;border:1px solid transparent;cursor:pointer;text-align:center}
.btn-primary{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-primary:hover{background:#ffc436}
.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:none}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-dark:hover{background:var(--ink-2)}

/* ----------------------------- counters ----------------------------- */
.counters{background:var(--ink-2);color:#fff;border-top:1px solid rgba(255,255,255,.12)}
.counters .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.counter{padding:26px 10px;border-inline-start:1px solid rgba(255,255,255,.12)}
.counter:first-child{border-inline-start:0}
.counter b{display:block;direction:ltr;font-variant-numeric:tabular-nums;font-family:var(--sans-latin);font-size:clamp(30px,4.6vw,46px);font-weight:800;color:var(--gold);line-height:1}
.counter span{font-size:13px;color:rgba(255,255,255,.72);display:block;margin-top:7px}
@media (max-width:700px){
  .counters .wrap{grid-template-columns:repeat(2,1fr)}
  .counter:nth-child(3){border-inline-start:0}
  .counter:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
}

/* ----------------------------- sections ----------------------------- */
section{padding-block:clamp(56px,8vw,96px)}
section.tight{padding-block:clamp(40px,6vw,64px)}
section.stone{background:var(--stone)}
.section-head{max-width:62ch;margin-bottom:40px}
.section-head h2{font-size:clamp(27px,4vw,42px);margin-bottom:14px}
.section-head p{color:var(--muted);font-size:18px;margin:0}

.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* ------------------------------ cards ------------------------------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.card .body{padding:22px}
.card h3{font-size:20px;margin-bottom:8px}
.card p{color:var(--muted);font-size:15.5px;margin:0}
.card .meta{font-family:var(--sans-latin);font-size:12px;color:var(--gold);font-weight:600;margin-bottom:9px}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid var(--line)}
.card img.portrait{aspect-ratio:3/4}
.framed{border:1px solid var(--line);border-radius:4px;width:100%;aspect-ratio:16/9;object-fit:cover}
.framed.four3{aspect-ratio:4/3}

.coach{text-align:center}
.coach img{width:132px;height:132px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:1px solid var(--line);aspect-ratio:auto}
.coach h3{font-size:18px;margin-bottom:6px}

/* ----------------------------- reasons ------------------------------ */
.reasons{display:grid;border-top:1px solid var(--line)}
.reason{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.reason b{font-family:var(--sans-latin);color:var(--gold);font-size:14px;font-weight:700;padding-top:3px}
.reason h3{font-size:18px;margin-bottom:5px}
.reason p{margin:0;color:var(--muted);font-size:15.5px}

/* ------------------------------ tables ------------------------------ */
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);font-size:15.5px}
.tbl th,.tbl td{padding:13px 15px;text-align:start;border-bottom:1px solid var(--line)}
.tbl th{background:var(--stone);font-weight:600;color:var(--ink);font-size:14px}
.tbl tr:last-child td{border-bottom:0}

/* ----------------------------- timeline ----------------------------- */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--gold);margin-top:10px}
.tl{padding:22px 18px 0 0;border-inline-end:1px solid var(--line)}
.tl:last-child{border-inline-end:0}
.tl b{font-family:var(--sans-latin);display:block;font-size:26px;font-weight:800;color:var(--ink);margin-bottom:6px}
.tl p{font-size:15px;color:var(--muted);margin:0}
@media (max-width:760px){.timeline{grid-template-columns:1fr;border-top:0}.tl{border-inline-end:0;border-top:2px solid var(--gold);padding:18px 0 22px}}

/* ----------------------------- pathway ------------------------------ */
.path{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:34px}
.step{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);padding:16px 14px;border-radius:3px}
.step b{display:block;font-size:15px;color:var(--ink);margin-bottom:4px}
.step span{font-family:var(--sans-latin);font-size:12.5px;color:var(--muted)}
@media (max-width:900px){.path{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.path{grid-template-columns:repeat(2,1fr)}}

/* --------------------------- dark bands ----------------------------- */
.band{background:var(--ink);color:#fff}
.band h1,.band h2,.band h3{color:#fff}
.band p{color:rgba(255,255,255,.78)}
.band .card{background:var(--ink-2);border-color:rgba(255,255,255,.14)}
.band .card h3{color:#fff}
.band .card p{color:rgba(255,255,255,.72)}
.band .eyebrow{color:var(--gold)}
.band .eyebrow::after{background:rgba(255,255,255,.25)}

/* ------------------------------ forms ------------------------------- */
.form{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:clamp(22px,4vw,34px)}
.field{margin-bottom:18px}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}
.field input,.field select{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:#FBFCFB;color:var(--text)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.field-row{grid-template-columns:1fr}}
.note{font-size:13.5px;color:var(--muted);margin-top:14px}

/* developer notes — delete the .dev-note blocks before launch */
.dev-note{border-inline-start:3px solid var(--gold);background:#FCF8EC;padding:12px 16px;font-size:13.5px;color:#6B5A24;border-radius:0 3px 3px 0;margin-top:18px}
html[dir="rtl"] .dev-note{border-radius:3px 0 0 3px}

/* ------------------------------- faq -------------------------------- */
details{background:var(--paper);border:1px solid var(--line);border-radius:3px;margin-bottom:10px}
summary{padding:16px 18px;cursor:pointer;font-weight:600;font-size:16px;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:inline-end;color:var(--gold);font-weight:700}
details[open] summary::after{content:"\2212"}
details p{padding:0 18px 17px;margin:0;color:var(--muted);font-size:15.5px}

/* ----------------------------- gallery ------------------------------ */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:3px}
@media (max-width:900px){.gal{grid-template-columns:repeat(2,1fr)}}

/* ------------------------------ footer ------------------------------ */
footer{background:var(--ink);color:rgba(255,255,255,.72);padding-block:52px 34px;font-size:15px}
footer h4{color:#fff;font-size:15px;margin:0 0 12px}
footer a{color:rgba(255,255,255,.72);text-decoration:none;display:block;padding:4px 0}
footer a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;margin-bottom:38px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:22px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:13.5px}

/* ---------------------------- whatsapp ------------------------------ */
.wa{position:fixed;inset-block-end:calc(20px + env(safe-area-inset-bottom,0px));inset-inline-end:20px;z-index:70;background:#1EA952;color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:14px 20px;border-radius:40px;box-shadow:0 6px 20px rgba(0,0,0,.22)}


/* ---------------------- alert band (red, sparing) -------------------- */
/* Use ONLY for time-critical states: registration closing, trials open,
   a tournament deadline. Never for ordinary links or buttons. */
.alert{background:var(--red);color:#fff;text-align:center;padding:11px var(--pad);font-size:15px;font-weight:600}
.alert a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ---------------------- licence / trust strip ----------------------- */
.licence{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:18px;font-size:14px;color:var(--muted)}
.licence .wrap{display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center;justify-content:center;text-align:center}
.licence b{color:var(--ink);font-weight:700}

/* ------------------------- footer lockup ---------------------------- */
.foot-logo{height:112px;width:auto;margin-bottom:18px}

/* ------------------------- schedule table --------------------------- */
.tbl td small{display:block;color:var(--muted);font-size:13px}
.counters .counter b{unicode-bidi:isolate}
.tbl .hi{background:#FBF7EC}


/* ------------------- graduates: five cards, 3 then 2 ------------------ */
.grads{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.grads > *{grid-column:span 2}
.grads > *:nth-child(4){grid-column:2 / span 2}
.grads > *:nth-child(5){grid-column:4 / span 2}
@media (max-width:980px){
  .grads{grid-template-columns:repeat(2,1fr)}
  .grads > *,
  .grads > *:nth-child(4),
  .grads > *:nth-child(5){grid-column:auto}
}
@media (max-width:620px){.grads{grid-template-columns:1fr}}
.grads .tagline{color:var(--ink);font-weight:700;font-size:14px;margin-top:8px}
