:root{
    --sky:#4FA3D1;
    --sky-deep:#1F5FA8;
    --pitch:#2F9455;
    --pitch-deep:#1F6E40;
    --pitch-light:#E7F5EC;
    --sky-light:#EAF5FB;
    --gold:#F2B705;
    --ink:#16324F;
    --ink-soft:#4A6178;
    --paper:#FFFFFF;
    --paper-tint:#F6FAFC;
    --line:#DCE9EE;
    --radius-lg:28px;
    --radius-md:18px;
    --radius-sm:10px;
    --shadow-soft: 0 14px 30px -18px rgba(22,50,79,.35);
    --maxw:1180px;
    --font-display:"Noto Sans Georgian","Baloo 2",sans-serif;
    --font-body:"Noto Sans Georgian","Nunito Sans",sans-serif;
  }
  html[lang="en"]{
    --font-display:"Baloo 2","Noto Sans Georgian",sans-serif;
    --font-body:"Nunito Sans","Noto Sans Georgian",sans-serif;
  }

  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --paper:#0E2233;
      --paper-tint:#0B1C2B;
      --ink:#EAF3F8;
      --ink-soft:#AFC6D6;
      --line:#1E3B50;
      --sky-light:#123049;
      --pitch-light:#0F2A1D;
      --shadow-soft: 0 14px 30px -16px rgba(0,0,0,.6);
    }
  }
  :root[data-theme="dark"]{
    --paper:#0E2233;
    --paper-tint:#0B1C2B;
    --ink:#EAF3F8;
    --ink-soft:#AFC6D6;
    --line:#1E3B50;
    --sky-light:#123049;
    --pitch-light:#0F2A1D;
    --shadow-soft: 0 14px 30px -16px rgba(0,0,0,.6);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:16.5px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{
    font-family:var(--font-display);
    font-weight:700;
    line-height:1.22;
    margin:0 0 .5em;
    color:var(--ink);
  }
  p{margin:0 0 1em;color:var(--ink-soft);max-width:62ch;}
  .container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  section{padding:88px 0;}
  .eyebrow-label{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--font-display);font-weight:600;font-size:.95rem;
    color:var(--pitch-deep);margin-bottom:14px;
  }
  .eyebrow-label svg{width:18px;height:18px;flex:none;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 28px;border-radius:100px;
    font-family:var(--font-display);font-weight:600;font-size:1.02rem;
    text-decoration:none;border:none;cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
  .btn-primary{background:var(--gold);color:#3B2900;box-shadow:0 12px 24px -10px rgba(242,183,5,.6);}
  .btn-sky{background:var(--sky-deep);color:#fff;box-shadow:0 12px 24px -10px rgba(31,95,168,.5);}
  .btn-outline{background:transparent;color:var(--sky-deep);border:2px solid var(--sky-deep);}

  /* ---------- Header ---------- */
  header.site-header{
    position:sticky;top:0;z-index:50;
    background:var(--paper);
    background:color-mix(in srgb, var(--paper) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .header-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 24px;max-width:var(--maxw);margin:0 auto;gap:14px;
  }
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer;background:none;border:none;padding:0;}
  .brand img{height:46px;width:46px;object-fit:contain;border-radius:50%;background:#fff;padding:4px;}
  .brand-text{display:flex;flex-direction:column;line-height:1.15;text-align:left;}
  .brand-text strong{font-family:var(--font-display);font-size:1.1rem;color:var(--sky-deep);}
  .brand-text span{font-size:.72rem;color:var(--ink-soft);letter-spacing:.01em;}

  nav.main-nav{display:flex;align-items:center;gap:4px;}
  nav.main-nav .navlink{
    background:none;border:none;font-family:var(--font-display);font-size:.98rem;
    color:var(--ink);padding:10px 14px;border-radius:100px;cursor:pointer;
    position:relative;white-space:nowrap;
  }
  nav.main-nav .navlink:hover{background:var(--sky-light);}
  nav.main-nav .navlink.active{background:var(--sky-deep);color:#fff;}
  .dropdown-wrap{position:relative;}
  .dropdown-menu{
    position:absolute;top:calc(100% + 8px);left:0;background:var(--paper);
    border:1px solid var(--line);border-radius:var(--radius-sm);
    box-shadow:var(--shadow-soft);min-width:230px;padding:6px;
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:.16s ease;
  }
  .dropdown-wrap:hover .dropdown-menu, .dropdown-wrap:focus-within .dropdown-menu{
    opacity:1;visibility:visible;transform:translateY(0);
  }
  .dropdown-menu button{
    display:block;width:100%;text-align:left;background:none;border:none;
    font-family:var(--font-body);font-weight:700;color:var(--ink);
    padding:10px 12px;border-radius:8px;cursor:pointer;font-size:.92rem;
  }
  .dropdown-menu button:hover{background:var(--sky-light);}
  .nav-toggle{display:none;background:none;border:2px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;}
  .nav-toggle span{display:block;width:22px;height:2.5px;background:var(--ink);margin:4.5px 0;border-radius:2px;}

  .lang-switch{display:flex;align-items:center;border:2px solid var(--line);border-radius:100px;padding:3px;flex:none;}
  .lang-switch button{
    background:none;border:none;font-family:var(--font-display);font-weight:700;font-size:.82rem;
    padding:6px 12px;border-radius:100px;cursor:pointer;color:var(--ink-soft);
  }
  .lang-switch button.active{background:var(--sky-deep);color:#fff;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    background:
      linear-gradient(180deg, var(--sky) 0%, var(--sky) 42%, var(--pitch) 42%, var(--pitch-deep) 100%);
  }
  .pitch-stripes{
    position:absolute;left:0;right:0;bottom:0;top:42%;
    background-image:repeating-linear-gradient(
      100deg,
      rgba(255,255,255,0.055) 0px, rgba(255,255,255,0.055) 60px,
      transparent 60px, transparent 120px
    );
  }
  .hero-inner{
    position:relative;max-width:var(--maxw);margin:0 auto;padding:76px 24px 120px;
    text-align:center;color:#fff;
  }
  .hero-badge{
    width:168px;margin:0 auto 22px;
    filter:drop-shadow(0 16px 26px rgba(0,0,0,.35));
  }
  .hero-inner h1{
    color:#fff;font-size:clamp(1.75rem, 4vw, 3rem);max-width:840px;margin:0 auto 18px;
  }
  .hero-inner .tagline{
    color:#fff;opacity:.95;font-size:1.12rem;max-width:600px;margin:0 auto 34px;
  }
  .hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

  .stat-strip{
    position:relative;margin-top:-64px;z-index:5;
    max-width:980px;margin-left:auto;margin-right:auto;
    background:var(--paper);border-radius:var(--radius-lg);
    box-shadow:var(--shadow-soft);
    display:grid;grid-template-columns:repeat(3,1fr);
    padding:34px 20px;
  }
  .stat-strip div{text-align:center;border-right:1px solid var(--line);padding:0 12px;}
  .stat-strip div:last-child{border-right:none;}
  .stat-strip .num{
    font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);
    color:var(--sky-deep);font-weight:800;
  }
  .stat-strip .lbl{font-size:.88rem;color:var(--ink-soft);}

  /* ---------- Section helpers ---------- */
  .section-head{max-width:640px;margin:0 auto 48px;text-align:center;}
  .section-tint{background:var(--paper-tint);}

  /* highlight banner */
  .highlight-banner{max-width:var(--maxw);margin:0 auto;padding:0 24px 0;}
  .highlight-card{
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    background:linear-gradient(120deg, var(--sky-deep), var(--pitch-deep));
    color:#fff;border-radius:var(--radius-lg);padding:30px 36px;
  }
  .highlight-card h3{color:#fff;margin:0 0 4px;}
  .highlight-card p{color:#dcefff;margin:0;max-width:46ch;}

  /* team photo */
  .team-photo-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;text-align:center;}
  .team-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);border:6px solid var(--paper);}
  .team-photo img{width:100%;}
  figcaption{color:var(--ink-soft);font-size:.92rem;margin-top:14px;}

  /* sponsors */
  .sponsor-marquee{overflow:hidden;position:relative;padding:20px 0;
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  }
  .sponsor-track{display:flex;gap:46px;width:max-content;animation:scroll-x 26s linear infinite;}
  @keyframes scroll-x{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .sponsor-pill{
    display:flex;align-items:center;justify-content:center;
    height:64px;padding:0 30px;border-radius:100px;
    border:2px dashed var(--line);color:var(--ink-soft);
    font-family:var(--font-display);font-weight:600;white-space:nowrap;
  }

  /* ---------- About ---------- */
  .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  .dove-row{display:flex;gap:18px;margin-top:26px;}
  .dove-row svg{width:34px;height:34px;color:var(--sky-deep);}
  .timeline{border-left:3px solid var(--line);margin-left:6px;padding-left:26px;display:grid;gap:22px;}
  .timeline .yr{font-family:var(--font-display);color:var(--pitch-deep);font-weight:800;font-size:1.05rem;position:relative;}
  .timeline .yr::before{
    content:"";position:absolute;left:-32.5px;top:6px;width:12px;height:12px;border-radius:50%;
    background:var(--gold);border:3px solid var(--paper);box-shadow:0 0 0 2px var(--line);
  }

  /* ---------- News ---------- */
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  .news-ticket{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px;position:relative;}
  .news-ticket::after{content:"";position:absolute;left:24px;right:24px;bottom:58px;border-top:2px dashed var(--line);}
  .news-date{display:inline-block;font-family:var(--font-display);font-weight:700;color:#fff;background:var(--sky-deep);padding:5px 14px;border-radius:100px;font-size:.82rem;margin-bottom:14px;}
  .news-ticket h3{font-size:1.12rem;margin-bottom:10px;}
  .news-ticket p{font-size:.94rem;margin-bottom:0;}

  /* ---------- Tournaments ---------- */
  .subnav{display:flex;gap:10px;justify-content:center;margin-bottom:36px;flex-wrap:wrap;}
  .subnav button{
    font-family:var(--font-display);font-weight:600;padding:10px 22px;border-radius:100px;
    border:2px solid var(--sky-deep);background:transparent;color:var(--sky-deep);cursor:pointer;
  }
  .subnav button.active{background:var(--sky-deep);color:#fff;}

  .age-selector{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:44px;}
  .age-pill{
    width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-family:var(--font-display);font-weight:700;font-size:.92rem;
    background:var(--paper);border:2px solid var(--line);color:var(--ink);cursor:pointer;
    flex-direction:column;line-height:1.1;
  }
  .age-pill small{font-weight:400;font-size:.6rem;color:var(--ink-soft);font-family:var(--font-body);}
  .age-pill.active{background:var(--pitch);border-color:var(--pitch-deep);color:#fff;}
  .age-pill.active small{color:#eafff0;}

  .standings-wrap{overflow-x:auto;margin-bottom:56px;}
  table.standings{width:100%;border-collapse:collapse;min-width:520px;font-size:.95rem;}
  table.standings th{font-family:var(--font-display);text-align:center;padding:12px 8px;background:var(--sky-deep);color:#fff;font-weight:600;font-size:.85rem;}
  table.standings th:first-child{border-radius:12px 0 0 0;text-align:left;padding-left:18px;}
  table.standings th:last-child{border-radius:0 12px 0 0;}
  table.standings td{padding:12px 8px;text-align:center;border-bottom:1px solid var(--line);}
  table.standings td:first-child{text-align:left;padding-left:18px;font-weight:700;font-family:var(--font-display);}
  table.standings tr:nth-child(even) td{background:var(--paper-tint);}
  table.standings td.pts{color:var(--pitch-deep);font-weight:800;font-family:var(--font-display);}

  .match-groups{display:grid;gap:30px;margin-bottom:20px;}
  .match-date{font-family:var(--font-display);font-weight:700;color:var(--sky-deep);display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:1.02rem;}
  .match-date::after{content:"";flex:1;height:1px;background:var(--line);}
  .match-row{
    display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
    background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);
    padding:14px 20px;margin-bottom:10px;
  }
  .match-time{font-family:var(--font-display);color:var(--ink-soft);font-size:.88rem;min-width:60px;}
  .match-teams{display:flex;align-items:center;gap:14px;font-family:var(--font-display);font-weight:700;flex:1;justify-content:center;}
  .match-teams .vs{color:var(--ink-soft);font-weight:400;font-size:.82rem;}
  .match-pitch{font-size:.82rem;color:var(--ink-soft);min-width:86px;text-align:right;}
  .score-pill{background:var(--pitch-light);color:var(--pitch-deep);font-family:var(--font-display);font-weight:800;padding:5px 16px;border-radius:100px;font-size:.98rem;}
  .section-sub-label{font-family:var(--font-display);font-weight:700;color:var(--ink);font-size:1.2rem;margin-bottom:18px;}

  .archive-list{display:grid;gap:12px;max-width:720px;margin:0 auto;}
  .archive-row{display:flex;align-items:center;justify-content:space-between;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 22px;gap:10px;flex-wrap:wrap;}
  .archive-row strong{font-family:var(--font-display);}
  .archive-row span{color:var(--ink-soft);font-size:.88rem;}

  /* ---------- Archive: finished-tournament template ---------- */
  .archive-recent{margin-bottom:60px;}
  .archive-age-toggle{display:flex;gap:10px;justify-content:center;margin-bottom:34px;flex-wrap:wrap;}
  .archive-age-toggle button{
    font-family:var(--font-display);font-weight:600;padding:9px 20px;border-radius:100px;
    border:2px solid var(--pitch-deep);background:transparent;color:var(--pitch-deep);cursor:pointer;
  }
  .archive-age-toggle button.active{background:var(--pitch-deep);color:#fff;}

  .groups-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:40px;}
  .groups-grid.groups-4{grid-template-columns:repeat(4,1fr);}
  .group-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;}
  .group-card h4{font-family:var(--font-display);font-size:.98rem;margin-bottom:10px;}
  table.mini-standings{width:100%;border-collapse:collapse;font-size:.82rem;}
  table.mini-standings th{text-align:left;color:var(--ink-soft);font-weight:600;padding:4px 4px;border-bottom:1px solid var(--line);}
  table.mini-standings td{padding:6px 4px;border-bottom:1px solid var(--line);}
  table.mini-standings tr.qualified td{background:var(--pitch-light);}
  table.mini-standings tr.qualified td:first-child{border-left:3px solid var(--pitch-deep);padding-left:6px;}
  .standings-wrap tr.qualified td:first-child{border-left:4px solid var(--pitch-deep);}
  .standings-wrap tr.qualified td{background:var(--pitch-light);}
  .qualified-note{text-align:center;font-size:.8rem;color:var(--ink-soft);margin:-20px 0 40px;}

  .bracket-wrap{display:flex;gap:26px;overflow-x:auto;padding-bottom:8px;margin-bottom:14px;}
  .bracket-col{flex:1 1 220px;min-width:220px;display:flex;flex-direction:column;justify-content:space-around;gap:16px;}
  .bracket-col h4{
    font-family:var(--font-display);text-align:center;font-size:.92rem;color:var(--sky-deep);
    background:var(--sky-light);border-radius:100px;padding:8px 10px;margin-bottom:4px;
  }
  .bracket-match{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;}
  .bracket-match .bm-team{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-family:var(--font-display);font-weight:600;font-size:.92rem;}
  .bracket-match .bm-team.winner{color:var(--pitch-deep);}
  .bracket-match .bm-team .bm-score{font-weight:800;}
  .bracket-col.final-col{justify-content:flex-start;gap:24px;}
  .third-place-card{background:var(--paper-tint);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:12px 14px;}
  .third-place-card h5{font-family:var(--font-display);font-size:.82rem;color:var(--ink-soft);margin:0 0 8px;}
  .na-badge{display:inline-block;font-family:var(--font-display);font-weight:700;color:var(--ink-soft);background:var(--paper);border:1.5px dashed var(--line);border-radius:100px;padding:6px 14px;font-size:.85rem;}
  .champion-banner{
    background:linear-gradient(120deg, var(--gold), #f7cf4d);color:#3B2900;border-radius:var(--radius-sm);
    padding:14px 16px;text-align:center;font-family:var(--font-display);font-weight:800;
  }
  .structure-note{max-width:720px;margin:0 auto 10px;text-align:center;font-size:.82rem;color:var(--ink-soft);background:var(--paper-tint);border-radius:var(--radius-sm);padding:14px 18px;}
  .other-seasons-label{font-family:var(--font-display);font-weight:700;text-align:center;margin:0 0 20px;font-size:1.1rem;}

  @media (max-width:760px){
    .groups-grid, .groups-grid.groups-4{grid-template-columns:1fr;}
    .bracket-wrap{flex-direction:column;}
    .bracket-col{min-width:0;}
  }

  /* ---------- Roster hover ---------- */
  .roster-trigger{cursor:pointer;border-bottom:1.5px dashed var(--sky-deep);padding-bottom:1px;}
  .roster-trigger:hover, .roster-trigger:focus{color:var(--sky-deep);outline:none;}
  #rosterTooltip{
    position:fixed;display:none;z-index:80;background:var(--paper);border:1px solid var(--line);
    border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);padding:14px 16px;width:230px;
    font-size:.82rem;color:var(--ink-soft);
  }
  #rosterTooltip .coach-line{font-family:var(--font-display);font-weight:700;color:var(--ink);margin-bottom:4px;font-size:.85rem;}
  #rosterTooltip .roster-note{font-size:.72rem;font-style:italic;margin-bottom:10px;color:var(--ink-soft);}
  #rosterTooltip .players-label{font-family:var(--font-display);font-weight:700;font-size:.78rem;margin-bottom:6px;color:var(--sky-deep);}
  #rosterTooltip ul{list-style:none;margin:0;padding:0;max-height:150px;overflow-y:auto;}
  #rosterTooltip li{display:flex;gap:8px;padding:2px 0;}
  #rosterTooltip li .num{font-weight:800;color:var(--pitch-deep);width:20px;flex:none;}

  /* ---------- Season awards ---------- */
  .awards-block{margin-top:44px;}
  .awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px;}
  .award-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px 18px;text-align:center;}
  .award-avatar{
    width:96px;height:96px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(circle at 35% 30%, #fff, var(--sky-light) 45%, var(--sky-deep) 100%);
    box-shadow: inset -6px -6px 14px rgba(0,0,0,.15), 0 12px 22px -10px rgba(22,50,79,.4);
  }
  .award-avatar.gold{background:radial-gradient(circle at 35% 30%, #fffaea, #f7d774 45%, var(--gold) 100%);}
  .award-avatar.green{background:radial-gradient(circle at 35% 30%, #eafff0, #9fe0b4 45%, var(--pitch-deep) 100%);}
  .award-avatar svg{width:44px;height:44px;color:#fff;}
  .award-role{font-family:var(--font-display);font-weight:700;color:var(--ink);margin-bottom:6px;}
  .award-name{font-size:.82rem;color:var(--ink-soft);font-style:italic;}
  @media (max-width:760px){ .awards-grid{grid-template-columns:1fr;} }

  /* ---------- Registration ---------- */
  .reg-intro{max-width:640px;margin:0 auto 36px;text-align:center;}

  /* ---------- Admin demo toggle (placeholder for real admin panel) ---------- */
  .admin-demo-toggle{
    position:fixed;right:16px;bottom:16px;z-index:60;
    background:var(--paper);border:1.5px dashed var(--line);border-radius:100px;
    display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;box-shadow:var(--shadow-soft);
    font-size:.8rem;
  }
  .admin-demo-toggle span{font-family:var(--font-display);color:var(--ink-soft);}
  .admin-demo-toggle button{
    font-family:var(--font-display);font-weight:700;border:none;border-radius:100px;
    padding:7px 14px;cursor:pointer;background:var(--line);color:var(--ink-soft);
  }
  .admin-demo-toggle button.on{background:var(--pitch-deep);color:#fff;}
  @media (max-width:520px){ .admin-demo-toggle{left:16px;right:16px;justify-content:space-between;} }

  .gallery-cta{text-align:center;margin:52px 0 30px;}
  .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .gallery-tile{aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;position:relative;background:var(--sky-light);display:flex;align-items:center;justify-content:center;color:var(--sky-deep);font-size:.85rem;text-align:center;padding:10px;}
  .gallery-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .placeholder-note{font-size:.7rem;color:var(--ink-soft);margin-top:6px;font-family:var(--font-body);}

  /* ---------- Contact ---------- */
  .contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;max-width:var(--maxw);margin:0 auto;padding:0 24px;align-items:flex-start;}
  .contact-info-card{background:linear-gradient(150deg, var(--sky-deep), var(--pitch-deep));color:#fff;border-radius:var(--radius-lg);padding:36px;}
  .contact-info-card h3{color:#fff;}
  .contact-info-card p{color:#dcefff;}
  .contact-line{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
  .contact-line svg{width:22px;height:22px;flex:none;margin-top:2px;}
  .contact-line strong{display:block;font-family:var(--font-display);}
  form.contact-form{display:grid;gap:16px;}
  .field{display:grid;gap:6px;}
  .field label{font-family:var(--font-display);font-weight:600;font-size:.92rem;}
  .field input, .field select, .field textarea{
    padding:13px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--line);
    font-family:var(--font-body);font-size:1rem;background:var(--paper);color:var(--ink);
  }
  .field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--sky-deep);outline-offset:1px;}
  .row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .form-note{display:none;background:var(--pitch-light);color:var(--pitch-deep);border-radius:var(--radius-sm);padding:16px 18px;font-family:var(--font-display);font-weight:600;}
  .form-note.show{display:block;}

  /* ---------- Footer ---------- */
  footer{background:var(--ink);color:#cfe0ee;padding:52px 0 26px;margin-top:40px;}
  :root[data-theme="dark"] footer{background:#081521;}
  .footer-row{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  .footer-brand{display:flex;align-items:center;gap:12px;}
  .footer-brand img{height:44px;width:44px;border-radius:50%;background:#fff;padding:4px;}
  .footer-brand strong{font-family:var(--font-display);color:#fff;}
  .footer-links{display:flex;gap:22px;flex-wrap:wrap;}
  .footer-links button{background:none;border:none;color:#cfe0ee;font-family:var(--font-body);font-weight:700;cursor:pointer;padding:0;}
  .footer-fine{max-width:var(--maxw);margin:34px auto 0;padding:20px 24px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#8fa9bd;text-align:center;}

  /* ---------- Pages ---------- */
  .page{display:none;}
  .page.active{display:block;}

  /* ---------- Responsive ---------- */
  @media (max-width:920px){
    .about-grid, .contact-grid{grid-template-columns:1fr;}
    .news-grid{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .stat-strip{grid-template-columns:1fr;gap:18px;}
    .stat-strip div{border-right:none;border-bottom:1px solid var(--line);padding-bottom:14px;}
    .stat-strip div:last-child{border-bottom:none;padding-bottom:0;}
    .row-2{grid-template-columns:1fr;}
  }
  @media (max-width:760px){
    nav.main-nav{
      position:fixed;top:70px;left:16px;right:16px;background:var(--paper);
      border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;
      align-items:stretch;padding:10px;box-shadow:var(--shadow-soft);display:none;
    }
    nav.main-nav.open{display:flex;}
    nav.main-nav .navlink{text-align:left;}
    .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;display:none;padding-left:14px;}
    .dropdown-wrap.open .dropdown-menu{display:block;}
    .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;}
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .sponsor-track{animation:none;}
    .btn:hover{transform:none;}
  }
