/* ============ FCI LEVADIA — PARTNER DECK ============ */
:root{
  --green-900:#03281a;
  --green-800:#0a4a2c;
  --green-700:#0e6a3e;
  --green-600:#138c52;
  --green-500:#1aae67;
  --green-400:#2dcb7e;
  --gold:#e6c043;
  --gold-2:#f7d869;
  --ink:#0b1410;
  --paper:#f6f3ec;
  --line:rgba(255,255,255,.14);
  --partner:#ff6a00;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:#fff;
  background:var(--green-900);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
.container{max-width:1240px;margin:0 auto;padding:0 32px}

/* ============ ADMIN PAGE ============ */
.admin-page{
  min-height:100vh;
  background:
    radial-gradient(1300px 700px at 80% -10%, rgba(45,203,126,.35), transparent 60%),
    radial-gradient(900px 600px at -10% 110%, rgba(230,192,67,.20), transparent 60%),
    linear-gradient(160deg,#0a4a2c 0%,#03281a 60%,#021b12 100%);
  padding:40px 24px 80px;
}
.admin-shell{max-width:1100px;margin:0 auto}
.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.admin-top__brand{display:flex;align-items:center;gap:14px}
.admin-top__brand img{width:48px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}
.admin-top__brand b{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:.06em}
.admin-top__brand span{opacity:.6;font-size:13px;letter-spacing:.18em;text-transform:uppercase;display:block}
.admin-top__hint{opacity:.55;font-size:13px}

.admin-card{
  background:rgba(255,255,255,.03);
  border:1px solid var(--line);
  border-radius:24px;
  padding:40px;
  backdrop-filter:blur(10px);
}
.admin-card h1{
  font-family:'Oswald','Bebas Neue',sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:.01em;
  font-size:48px;line-height:1.05;margin:0 0 10px;
}
.admin-card h1 span{color:var(--gold)}
.admin-card p.sub{opacity:.65;margin:0 0 32px;font-size:15px}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.form-grid .full{grid-column:1/-1}
.form-grid label{
  display:flex;flex-direction:column;gap:8px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.6);font-weight:500;
}
.form-grid input[type="text"],
.form-grid input[type="email"],
.form-grid input[type="tel"],
.form-grid input[type="number"],
.form-grid input[type="url"]{
  background:rgba(0,0,0,.35);
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px 16px;
  color:#fff;font-size:15px;font-weight:500;
  transition:.15s;
  font-family:inherit;
}
.form-grid input:focus{outline:none;border-color:var(--gold);background:rgba(0,0,0,.5)}
.form-grid input[type="color"]{
  width:100%;height:50px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.3);cursor:pointer;
}
.form-grid input[type="file"]{
  background:rgba(0,0,0,.3);border:1px dashed var(--line);border-radius:12px;padding:14px;color:#fff;cursor:pointer;
}
.form-divider{
  grid-column:1/-1;
  font-family:'Bebas Neue',sans-serif;letter-spacing:.18em;font-size:14px;
  color:var(--gold);margin-top:8px;padding-top:20px;border-top:1px solid var(--line);
}

.logo-preview{
  grid-column:1/-1;
  display:flex;align-items:center;gap:20px;
  padding:20px;background:rgba(0,0,0,.25);border-radius:14px;border:1px solid var(--line);
}
.logo-preview__box{
  width:100px;height:100px;border-radius:12px;
  background:#fff;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.logo-preview__box img{max-width:80%;max-height:80%}
.logo-preview__txt{font-size:13px;opacity:.7;line-height:1.5}

.admin-actions{
  display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;align-items:center;
}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:999px;font-weight:700;
  letter-spacing:.06em;font-size:14px;text-transform:uppercase;
  text-decoration:none;transition:.18s transform,.18s box-shadow,.18s background;
  white-space:nowrap;
}
.btn.gold{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 100%);color:#0a0a0a}
.btn.gold:hover{transform:translateY(-1px);box-shadow:0 12px 30px -8px rgba(212,175,55,.5)}
.btn.green{background:linear-gradient(135deg,var(--green-500),var(--green-400));color:#fff}
.btn.green:hover{transform:translateY(-1px);box-shadow:0 12px 30px -8px rgba(0,148,68,.6)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:#fff}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn.lg{padding:18px 34px;font-size:15px}
.btn.sm{padding:10px 18px;font-size:12px}

.share-result{
  display:none;margin-top:32px;padding:24px;border-radius:16px;
  background:linear-gradient(135deg,rgba(0,148,68,.18),rgba(212,175,55,.08));
  border:1px solid rgba(212,175,55,.3);
}
.share-result.show{display:block}
.share-result__lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.share-result__row{display:flex;gap:10px;flex-wrap:wrap}
.share-result__url{
  flex:1;min-width:280px;background:rgba(0,0,0,.5);border:1px solid var(--line);
  border-radius:10px;padding:13px 16px;color:#fff;font-size:13px;font-family:'SF Mono',Menlo,monospace;
  word-break:break-all;
}

.library{margin-top:48px}
.library h2{font-family:'Bebas Neue',sans-serif;letter-spacing:.1em;font-size:22px;margin:0 0 18px}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.lib-card{
  padding:18px;background:rgba(255,255,255,.03);border:1px solid var(--line);
  border-radius:14px;display:flex;flex-direction:column;gap:8px;
}
.lib-card__name{font-weight:700;font-size:16px}
.lib-card__meta{font-size:12px;opacity:.55}
.lib-card__row{display:flex;gap:8px;margin-top:8px}
.lib-card__row a{flex:1;text-align:center}
.lib-empty{opacity:.4;font-size:14px;padding:20px;text-align:center;border:1px dashed var(--line);border-radius:14px}

/* ============ PRESENTATION ============ */
.deck{background:var(--green-900)}

.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 32px;
  background:rgba(0,12,8,.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.topbar__brand{display:flex;align-items:center;gap:14px;font-family:'Bebas Neue',sans-serif;letter-spacing:.08em;font-size:18px}
.topbar__brand img{height:34px;width:auto}
.brand-x{opacity:.4;font-size:18px}
.topbar__partner{color:var(--gold)}
.topbar__cta{display:flex;align-items:center;gap:18px}
.topbar__season{font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.6}
.lang-switch{display:flex;gap:4px;background:rgba(0,0,0,.3);padding:4px;border-radius:999px;border:1px solid var(--line)}
.lang-switch button{
  padding:6px 12px;font-size:11px;letter-spacing:.14em;border-radius:999px;
  font-weight:700;color:rgba(255,255,255,.55);
}
.lang-switch button.on{background:var(--gold);color:#0a0a0a}

/* sections */
.sec{position:relative;padding:120px 0;overflow:hidden}
.sec.dark{background:linear-gradient(180deg,#03281a,#011b11)}
.sec-head{margin-bottom:48px}
.kicker{
  display:inline-block;font-family:'Bebas Neue',sans-serif;letter-spacing:.22em;font-size:13px;
  color:var(--gold);margin-bottom:16px;
}
.kicker.light{color:#fff;opacity:.85}
h2{
  font-family:'Oswald','Bebas Neue',sans-serif;font-weight:300;text-transform:uppercase;
  font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:.005em;margin:0 0 24px;
}
h2.white{color:#fff}
.gold{color:var(--gold)}
.lede{font-size:18px;line-height:1.6;opacity:.78;max-width:720px}

/* ============ HERO ============ */
.hero{padding:0;min-height:100vh;display:flex;align-items:center}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.85) brightness(.55)}
.hero__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,12,8,.55) 0%,rgba(0,12,8,.85) 60%,#000d07 100%),
    radial-gradient(800px 500px at 70% 30%,rgba(0,148,68,.35),transparent 60%);
}
.hero__pattern{
  position:absolute;inset:0;opacity:.06;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><circle cx='40' cy='40' r='1.2' fill='%23ffffff'/></svg>");
}
.hero__inner{position:relative;z-index:2;width:100%;padding:120px 32px 80px;max-width:1240px;margin:0 auto}
.hero__eyebrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.badge{
  display:inline-block;padding:8px 16px;border-radius:999px;
  background:rgba(212,175,55,.12);color:var(--gold);
  border:1px solid rgba(212,175,55,.4);
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
}
.badge.ghost{background:rgba(255,255,255,.05);color:#fff;border-color:var(--line)}
.badge.red{background:#a01539;color:#fff;border-color:#a01539}
.hero__title{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(72px,12vw,180px);line-height:.9;letter-spacing:.02em;margin:0 0 28px;
  text-shadow:0 8px 40px rgba(0,0,0,.4);
}
.hero__lead{font-size:clamp(18px,1.6vw,22px);line-height:1.55;opacity:.9;max-width:640px;margin:0 0 56px}
.hero__logos{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.hero__logo-card{
  display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:30px 40px;background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:20px;backdrop-filter:blur(8px);min-width:240px;
}
.hero__logo-card img{height:90px;width:auto}
.hero__logo-card span{font-family:'Bebas Neue',sans-serif;letter-spacing:.12em;font-size:18px}
.hero__logo-card.partner{border-color:rgba(212,175,55,.4)}
.hero__x{font-family:'Oswald','Bebas Neue',sans-serif;font-weight:200;font-size:72px;color:var(--gold)}
.hero__scroll{margin-top:80px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.5}

/* ============ partner-logo (clean placeholder) ============ */
.partner-logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:160px;height:64px;padding:8px 14px;
  background:#fff;color:#0a0a0a;
  font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.04em;font-size:18px;
  border-radius:4px;
  background-size:contain;background-position:center;background-repeat:no-repeat;
  background-color:#fff;
  position:relative;overflow:hidden;line-height:1;text-align:center;
}
.partner-logo.lg{width:240px;height:96px;font-size:26px}
.partner-logo.md{width:180px;height:72px;font-size:20px}
.partner-logo.sm{width:110px;height:44px;font-size:13px}
.partner-logo.white{background:#fff}
.partner-logo.has-img{padding:0}
.partner-logo.placeholder{
  background:#fff;
  border:1.5px dashed #aaa;
  color:#666;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.partner-logo.placeholder::before{
  content:"PARTNER";display:block;
}
.partner-logo.placeholder.has-text::before{content:""}

/* ============ ABOUT ============ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:40px 0}
.stat{
  padding:32px 24px;border-radius:18px;
  background:linear-gradient(160deg,rgba(0,148,68,.18),rgba(0,148,68,.04));
  border:1px solid rgba(0,148,68,.3);
}
.stat__num{font-family:'Bebas Neue',sans-serif;font-size:64px;line-height:1;color:var(--gold)}
.stat__txt{font-size:13px;letter-spacing:.1em;text-transform:uppercase;opacity:.78;margin-top:8px}

.two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:center}
.ticks{list-style:none;padding:0;margin:24px 0 0}
.ticks li{
  position:relative;padding:14px 0 14px 36px;border-bottom:1px solid var(--line);
  font-size:17px;
}
.ticks li::before{
  content:"";position:absolute;left:0;top:18px;width:18px;height:18px;border-radius:50%;
  background:var(--gold);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>") center/16px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>") center/16px no-repeat;
}

/* table mock */
.mock-table{
  background:linear-gradient(180deg,rgba(8,32,22,.85),rgba(3,18,12,.95));
  color:#e8e8e8;border-radius:16px;overflow:hidden;
  border:1px solid rgba(212,175,55,.18);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.03);
  backdrop-filter:blur(8px);
}
.mock-table__head{
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(90deg,rgba(14,106,62,.5),rgba(3,40,26,.5));
  border-bottom:1px solid rgba(212,175,55,.25);
  color:#fff;padding:16px 20px;
}
.mock-table__head .badge.red{
  padding:7px 14px;font-size:11px;letter-spacing:.18em;
  background:transparent;border:1px solid rgba(212,175,55,.5);color:var(--gold);
  border-radius:999px;
}
.mock-table__date{font-weight:600;font-size:13px;color:var(--gold);letter-spacing:.12em}
.mock-table__row{
  display:grid;grid-template-columns:36px 1fr 40px 40px 40px 40px 110px 50px;
  gap:8px;align-items:center;padding:13px 20px;font-size:14px;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .25s ease;
}
.mock-table__row:last-child{border-bottom:none}
.mock-table__row:hover{background:rgba(255,255,255,.02)}
.mock-table__row.head{
  background:rgba(0,0,0,.25);font-weight:600;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);
  padding-top:11px;padding-bottom:11px;
}
.mock-table__row.head:hover{background:rgba(0,0,0,.25)}
.mock-table__row.hl{
  background:linear-gradient(90deg,rgba(212,175,55,.12),rgba(212,175,55,.02) 60%,transparent);
  font-weight:700;color:#fff;
  position:relative;
}
.mock-table__row.hl::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--gold);
}
.mock-table__row.hl b{color:var(--gold)}
.mock-table__row span:nth-child(2){display:flex;align-items:center;gap:10px;font-weight:500}
.mock-table__row .mini{height:22px;width:22px;object-fit:contain;filter:brightness(1.3)}
.mock-table__row .form-pill.w{background:rgba(45,203,126,.18);color:#3ce39a;border:1px solid rgba(45,203,126,.3)}
.mock-table__row .form-pill.l{background:rgba(220,80,80,.18);color:#ff7878;border:1px solid rgba(220,80,80,.3)}
.mock-table__row .form-pill.d{background:rgba(160,160,160,.15);color:#bbb;border:1px solid rgba(160,160,160,.25)}

/* ============ AUDIENCE ============ */
.audience{background-size:cover;background-position:center;background-attachment:fixed}
.audience__veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(3,40,26,.78),rgba(3,40,26,.92));
}
.audience .container{position:relative;z-index:2}
.big-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.bs{padding:40px;border-radius:24px;background:rgba(255,255,255,.05);border:1px solid var(--line);backdrop-filter:blur(8px)}
.bs__num{font-family:'Bebas Neue',sans-serif;font-size:120px;line-height:.9;color:var(--gold);margin-bottom:8px}
.bs__txt{font-size:15px;line-height:1.4;opacity:.85}

/* ============ SOCIAL ============ */
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.social-card{
  padding:32px;border-radius:18px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
}
.social-card.hl{
  background:linear-gradient(160deg,rgba(212,175,55,.14),rgba(212,175,55,.02));
  border-color:rgba(212,175,55,.3);
}
.social-card__net{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin-bottom:14px}
.social-card__num{font-family:'Bebas Neue',sans-serif;font-size:64px;line-height:1;color:#fff}
.social-card.hl .social-card__num{color:var(--gold)}
.social-card__lbl{font-size:13px;opacity:.65;margin-top:8px;line-height:1.4}
.social-card__delta{
  display:inline-block;margin-left:10px;font-family:'Inter',sans-serif;
  font-size:11px;letter-spacing:.04em;color:#3ce39a;
  padding:4px 10px;border:1px solid rgba(45,203,126,.35);border-radius:999px;
  vertical-align:middle;background:rgba(45,203,126,.08);
}

.social-hero{
  margin:36px 0 8px;padding:36px 40px;
  display:flex;align-items:center;gap:32px;
  background:
    radial-gradient(60% 100% at 0% 50%,rgba(212,175,55,.18),transparent 60%),
    linear-gradient(135deg,rgba(8,32,22,.7),rgba(3,18,12,.4));
  border:1px solid rgba(212,175,55,.3);
  border-radius:22px;position:relative;overflow:hidden;
}
.social-hero::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,transparent,var(--gold),transparent);
}
.social-hero__num{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(56px,7vw,108px);
  line-height:.9;color:var(--gold);letter-spacing:.005em;
  text-shadow:0 0 40px rgba(212,175,55,.25);
}
.social-hero__lbl{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.social-hero__lbl b{
  font-size:clamp(16px,1.5vw,22px);color:#fff;font-weight:600;line-height:1.3;
}
.social-hero__lbl span{font-size:13px;opacity:.55;letter-spacing:.04em}

.social-cta{
  margin-top:28px;padding:24px 32px;
  border-left:3px solid var(--gold);
  background:linear-gradient(90deg,rgba(212,175,55,.06),transparent 70%);
  border-radius:0 14px 14px 0;
  display:flex;flex-direction:column;gap:6px;
}
.social-cta>span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.55}
.social-cta>b{font-size:clamp(15px,1.3vw,18px);font-weight:500;line-height:1.45;color:#fff}

@media (max-width:900px){
  .social-hero{flex-direction:column;align-items:flex-start;padding:28px 22px}
}

/* ============ PROPS ============ */
.props{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:32px}
.prop{
  padding:40px;border-radius:20px;
  background:linear-gradient(160deg,rgba(0,148,68,.1),transparent);
  border:1px solid var(--line);
  position:relative;
}
.prop__num{
  font-family:'Bebas Neue',sans-serif;font-size:64px;color:var(--gold);
  opacity:.5;line-height:1;margin-bottom:16px;
}
.prop h3{font-family:'Oswald','Bebas Neue',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:30px;margin:0 0 12px}
.prop p{font-size:15px;line-height:1.6;opacity:.78;margin:0}

/* ============ MOCKS ============ */
.mocks .lede{margin-bottom:48px}
.mock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.mock{margin:0}
.mock__img{
  position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;
  background-size:cover;background-position:center;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
}
.mock__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.mock__pin{
  position:absolute;left:16px;top:16px;
  background:var(--gold);color:#0a0a0a;font-weight:800;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:999px;
}
.presswall-mock .mock__pin,
.led-screen-mock .mock__pin,
.pvc-mock .mock__pin{
  top:auto;left:50%;bottom:14px;transform:translateX(-50%);white-space:nowrap;
}
.mock figcaption{padding:18px 4px}
.mock figcaption b{display:block;font-size:17px;margin-bottom:4px}
.mock figcaption span{font-size:13px;opacity:.6}

/* sleeve overlay */
.mock__overlay.sleeve .partner-logo{
  position:absolute;left:18%;top:42%;transform:rotate(-6deg);
  width:140px;height:75px;box-shadow:0 8px 20px rgba(0,0,0,.4);
  border-radius:6px;
}

/* LED strip */
.mock__overlay.led{align-items:flex-end;padding-bottom:12%}
.led-strip{
  display:flex;gap:30px;justify-content:center;align-items:center;
  width:90%;padding:14px 20px;
  background:linear-gradient(180deg,#0066cc,#003e80);
  border-radius:6px;
  box-shadow:0 12px 30px rgba(0,0,0,.5);
}
.led-strip .partner-logo{width:120px;height:50px;background:transparent;color:#fff;filter:brightness(1.1) contrast(1.1)}

/* corner flag */
.mock__overlay.corner{align-items:flex-start;justify-content:flex-end;padding:5%}
.corner-flag{
  width:160px;height:120px;background:var(--gold);
  clip-path:polygon(0 0,100% 0,100% 80%,0 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.3);
}
.corner-flag .partner-logo{background:transparent}

/* training base banner */
.mock__overlay.tb{align-items:center;justify-content:center}
.banner2x6{
  display:flex;align-items:center;gap:24px;padding:16px 28px;
  background:linear-gradient(135deg,var(--green-700),var(--green-500));
  border-radius:8px;border:2px solid var(--gold);
  box-shadow:0 12px 30px rgba(0,0,0,.5);
  width:80%;
}
.banner2x6 .partner-logo{
  background:#fff;width:auto;aspect-ratio:1.3/1;height:104px;
  border-radius:8px;padding:12px;flex-shrink:0;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  background-origin:content-box;
}
.banner2x6__txt{
  font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:.04em;color:#fff;flex:1;text-align:center;line-height:1.05;
}

/* press-wall */
.mock__overlay.presswall{align-items:center;justify-content:center}
.presswall__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  background:linear-gradient(135deg,#003820,#007539);
  padding:28px;border-radius:8px;width:75%;border:1px solid var(--gold);
}
.presswall__grid img{height:50px;width:auto;margin:0 auto;filter:brightness(1.4)}
.presswall__grid .partner-logo{height:50px;width:auto;background:#fff}

/* phone */
.mock__overlay.app{align-items:center;justify-content:center}
.phone{
  width:200px;height:380px;border-radius:30px;
  background:#0a1a13;border:8px solid #1a1a1a;
  box-shadow:0 20px 50px rgba(0,0,0,.6);
  display:flex;flex-direction:column;overflow:hidden;
}
.phone__top{
  text-align:center;padding:14px;background:var(--green-700);color:#fff;
  font-family:'Bebas Neue',sans-serif;letter-spacing:.1em;font-size:13px;
}
.phone__hero{
  flex:1;background:url('darby.jpg') center/cover;
}
.phone__partner{
  padding:12px;background:#000;display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.phone__partner span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.phone__partner .partner-logo{width:70px;height:34px}

.more-mocks{
  margin-top:32px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
.mm{
  padding:18px 22px;border:1px dashed var(--line);border-radius:14px;
  display:flex;flex-direction:column;gap:4px;
}
.mm b{color:var(--gold);font-size:14px}
.mm span{font-size:13px;opacity:.6}
.mm{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
.mm__ic{width:22px;height:22px;color:var(--gold);flex-shrink:0}
.mm b,.mm span{flex-basis:100%}

/* ============ HERO MOTION ============ */
@keyframes kenburns{
  0%{transform:scale(1.05) translate(0,0)}
  50%{transform:scale(1.18) translate(-2%,-1.5%)}
  100%{transform:scale(1.05) translate(0,0)}
}
@keyframes mesh-drift{
  0%{transform:translate(0,0) rotate(0)}
  100%{transform:translate(-4%,3%) rotate(8deg)}
}
@keyframes shine-sweep{
  0%{background-position:-150% 0}
  60%{background-position:250% 0}
  100%{background-position:250% 0}
}
@keyframes pulse-glow{
  0%,100%{opacity:.35;transform:scaleX(.9)}
  50%{opacity:.9;transform:scaleX(1)}
}
@keyframes grain{
  0%,100%{transform:translate(0,0)}
  25%{transform:translate(-2%,1%)}
  50%{transform:translate(1%,-2%)}
  75%{transform:translate(-1%,-1%)}
}
.hero .hero__bg{
  animation:kenburns 22s ease-in-out infinite;
  filter:saturate(1.1) contrast(1.05);
}
.hero::before{
  content:"";position:absolute;inset:-15%;z-index:1;pointer-events:none;
  background:
    radial-gradient(60% 40% at 20% 30%,rgba(212,175,55,.18),transparent 60%),
    radial-gradient(50% 35% at 80% 70%,rgba(14,106,62,.35),transparent 60%);
  mix-blend-mode:screen;animation:mesh-drift 18s ease-in-out infinite alternate;
}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;z-index:3;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transform-origin:center;animation:pulse-glow 3.2s ease-in-out infinite;
}
.hero__title{
  background:linear-gradient(90deg,#fff 0%,#fff 40%,rgba(255,255,255,.4) 50%,#fff 60%,#fff 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shine-sweep 6s ease-in-out 1.2s infinite;
}
.hero__title .gold{
  -webkit-text-fill-color:var(--gold);background:none;
}

/* ============ ATMOSPHERE ============ */
.atmosphere{position:relative;overflow:hidden;padding:0 !important}
.atmosphere>.container{position:relative;z-index:1;padding-top:80px;padding-bottom:32px}
.atmosphere::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 80% at 50% 0%,rgba(212,175,55,.08),transparent 60%);
}
.atmosphere__lead{max-width:640px;margin:14px 0 32px;opacity:.8;font-size:clamp(15px,1.2vw,18px);line-height:1.55}
.atm-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:25vh;
  gap:0;
  width:100vw;height:auto;
  margin-left:calc(50% - 50vw);
  position:relative;
}
.atm-cell{
  position:relative;display:block;border-radius:0;overflow:hidden;
  background-size:cover;background-position:center;cursor:pointer;
  border:none;
  transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease;
  grid-column:span 6;grid-row:span 1;
  isolation:isolate;
}
.atm-cell.big{grid-column:span 6;grid-row:span 2}
.atm-cell.wide{grid-column:span 12;grid-row:span 1}
.atm-cell.tall{grid-column:span 3;grid-row:span 2}
.atm-cell{
  background-size:cover;background-position:center;
  filter:saturate(.95) contrast(1.02);
}
.atm-cell::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.85) 100%);
  transition:opacity .45s ease;
}
.atm-cell:hover{
  z-index:5;
  background-size:115%;
  filter:saturate(1.2) contrast(1.1);
  transition:background-size 1.1s cubic-bezier(.2,.7,.2,1),filter .55s ease;
}
.atm-cell:hover::after{
  background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.7) 100%);
}
.atm-cell__cap{
  position:absolute;left:28px;right:28px;bottom:24px;z-index:3;
  font-family:'Bebas Neue',sans-serif;letter-spacing:.14em;font-size:15px;
  color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7);
  transform:translateY(6px);opacity:.92;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s ease;
}
.atm-cell:hover .atm-cell__cap{transform:translateY(0);opacity:1}
.atm-cell.big .atm-cell__cap{font-size:26px;letter-spacing:.1em}
.atm-cell.wide .atm-cell__cap{font-size:20px}
.atm-cell__cap::before{
  content:"";display:block;width:32px;height:2px;background:var(--gold);
  margin-bottom:10px;transition:width .45s cubic-bezier(.2,.7,.2,1);
}
.atm-cell:hover .atm-cell__cap::before{width:64px}

@media (max-width:900px){
  .atm-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:32vh;height:auto}
  .atm-cell,.atm-cell.big,.atm-cell.wide,.atm-cell.tall{grid-column:span 2;grid-row:span 1}
  .atm-cell.big{grid-row:span 1}
}

/* ============ CINEMA FULL-BLEED ============ */
.cinema{
  position:relative;width:100%;
  min-height:clamp(420px,72vh,820px);
  display:flex;align-items:flex-end;
  overflow:hidden;isolation:isolate;
  margin:0;padding:0;
}
.cinema__bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;
  background-attachment:fixed;
  animation:kenburns 26s ease-in-out infinite;
  filter:saturate(1.05) contrast(1.05);
}
@supports not (background-attachment:fixed){
  .cinema__bg{background-attachment:scroll}
}
@media (max-width:900px){
  .cinema__bg{background-attachment:scroll;animation-duration:18s}
}
.cinema::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(2,18,11,.55) 0%,rgba(2,18,11,.15) 35%,rgba(2,18,11,.85) 100%),
    linear-gradient(90deg,rgba(2,18,11,.7) 0%,transparent 45%);
}
.cinema::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;z-index:2;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.7;
}
.cinema__inner{
  position:relative;z-index:2;width:100%;
  max-width:1400px;margin:0 auto;padding:80px 48px 72px;
}
.cinema__kicker{
  display:inline-block;font-family:'Bebas Neue',sans-serif;letter-spacing:.32em;
  font-size:13px;color:var(--gold);margin-bottom:18px;
  padding:8px 16px;border:1px solid rgba(212,175,55,.4);border-radius:999px;
  background:rgba(0,0,0,.3);backdrop-filter:blur(6px);
}
.cinema__title{
  font-family:'Bebas Neue','Oswald',sans-serif;
  font-size:clamp(40px,6.5vw,108px);line-height:.95;letter-spacing:.005em;
  color:#fff;margin:0 0 22px;max-width:14ch;
  text-shadow:0 4px 32px rgba(0,0,0,.5);
}
.cinema__title .gold{color:var(--gold)}
.cinema__sub{
  font-size:clamp(15px,1.3vw,20px);line-height:1.55;
  color:rgba(255,255,255,.85);max-width:560px;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}
.cinema__meta{
  position:absolute;right:48px;bottom:32px;z-index:2;
  font-family:'Bebas Neue',sans-serif;letter-spacing:.2em;font-size:11px;
  color:rgba(255,255,255,.55);text-align:right;
}
.cinema__meta b{display:block;color:var(--gold);font-size:13px;letter-spacing:.18em;margin-bottom:4px}
@media (max-width:900px){
  .cinema__inner{padding:48px 24px 56px}
  .cinema__meta{display:none}
}

/* ============ PHOTO MARQUEE ============ */
.marquee{
  position:relative;overflow:hidden;padding:28px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.05));
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{
  display:flex;gap:18px;width:max-content;
  animation:marquee 38s linear infinite;
}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{
  width:280px;height:170px;flex-shrink:0;border-radius:12px;overflow:hidden;
  background-size:cover;background-position:center;
  border:1px solid rgba(255,255,255,.06);
  position:relative;
  transition:transform .4s ease;
}
.marquee__item::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.5));
}
.marquee__item:hover{transform:scale(1.03)}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* ============ OFFER ============ */
.offer{
  background:linear-gradient(135deg,#03281a 0%,#0e6a3e 50%,#03281a 100%);
  position:relative;
}
.offer__bg{
  position:absolute;inset:0;opacity:.08;
  background:url('BG.jpg') center/cover;
  mix-blend-mode:luminosity;
}
.offer .container{position:relative;z-index:2}
.package{
  margin-top:40px;background:rgba(0,0,0,.3);border:1px solid var(--line);
  border-radius:20px;overflow:hidden;
}
.package__row{
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 28px;border-bottom:1px solid var(--line);font-size:16px;
}
.package__row:last-child{border-bottom:0}
.package__row .muted{opacity:.55;font-size:14px}
.package__row.hl{
  background:linear-gradient(90deg,rgba(212,175,55,.15),transparent);
  font-size:18px;font-weight:700;
}
.package__row.hl .price{
  font-family:'Bebas Neue',sans-serif;font-size:48px;color:var(--gold);letter-spacing:.02em;
}
.extras{margin-top:48px}
.extras h3{font-family:'Oswald','Bebas Neue',sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:.02em;font-size:28px;margin:0 0 18px}
.extras__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.extras__grid div{padding:18px 22px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;font-size:15px}

/* ============ CONTACT ============ */
.contact-card{
  margin-top:40px;padding:48px;border-radius:24px;
  background:linear-gradient(135deg,rgba(0,148,68,.18),rgba(212,175,55,.08));
  border:1px solid rgba(212,175,55,.4);
  display:grid;grid-template-columns:auto 1fr auto;gap:48px;align-items:center;
}
.contact-card__logos{display:flex;align-items:center;gap:22px}
.contact-card__logos img{height:80px}
.contact-card__logos .x{font-family:'Oswald','Bebas Neue',sans-serif;font-weight:200;font-size:42px;color:var(--gold);opacity:.7}
.contact-card__logos .partner-logo{
  width:auto;min-width:180px;height:96px;padding:14px 22px;
  border-radius:14px;
  background:#fff;
  box-shadow:
    0 12px 32px rgba(0,0,0,.35),
    0 0 0 1px rgba(230,192,67,.55),
    0 0 0 6px rgba(230,192,67,.10);
  position:relative;
  transition:transform .35s ease,box-shadow .35s ease;
}
.contact-card__logos .partner-logo:hover{
  transform:translateY(-2px);
  box-shadow:
    0 18px 40px rgba(0,0,0,.45),
    0 0 0 1px rgba(230,192,67,.85),
    0 0 0 8px rgba(230,192,67,.15);
}
.cc__name{font-family:'Oswald','Bebas Neue',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em;font-size:28px;margin-bottom:4px}
.cc__title{opacity:.7;margin-bottom:14px;font-size:14px}
.cc__link{display:block;color:var(--gold);text-decoration:none;font-size:15px;margin-bottom:4px}
.cc__link:hover{text-decoration:underline}

/* ============ FOOTER ============ */
.foot{padding:32px 0;border-top:1px solid var(--line);background:#000}
.foot__inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:13px;opacity:.6}
.foot img{height:30px}
.foot .muted{margin-left:auto}

/* ============ THIN ICONS (Lucide-style) ============ */
.icon{
  width:18px;height:18px;flex:none;display:inline-block;vertical-align:-3px;
  stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;
}
.icon.sm{width:14px;height:14px}
.icon.lg{width:22px;height:22px}
.btn .icon{margin-right:8px}
.btn.sm .icon{margin-right:6px;width:14px;height:14px}

/* ============ PVC BANNER MOCK ============ */
.pvc-mock{
  position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
}
.pvc-mock__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.pvc-mock__veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(3,40,26,.2) 0%,rgba(3,40,26,.1) 50%,rgba(3,40,26,.85) 100%);
}
.pvc-banner{
  position:absolute;left:6%;right:6%;bottom:14%;
  height:120px;
  background:linear-gradient(180deg,#fff 0%,#f5f5f5 100%);
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;gap:32px;
  padding:0 56px;
  box-shadow:0 14px 28px rgba(0,0,0,.45),inset 0 0 0 1px rgba(0,0,0,.06);
  transform:perspective(900px) rotateX(6deg);
}
.pvc-banner::before,.pvc-banner::after{
  content:"";position:absolute;top:0;bottom:0;width:48px;
  background:repeating-linear-gradient(135deg,#0e6a3e 0,#0e6a3e 14px,#138c52 14px,#138c52 28px);
}
.pvc-banner::before{left:0;border-radius:6px 0 0 6px}
.pvc-banner::after{right:0;border-radius:0 6px 6px 0}
.pvc-club{height:88px;width:auto;position:relative;z-index:2;object-fit:contain}
.pvc-x{
  font-family:'Oswald',sans-serif;font-weight:200;font-size:36px;color:#999;position:relative;z-index:2;
}
.pvc-banner .partner-logo{
  position:relative;z-index:2;background:transparent;box-shadow:none;
  height:96px;aspect-ratio:1.3/1;width:auto;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  padding:0;
}

/* ============ LED SCREEN MOCK ============ */
.led-screen-mock{
  position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;
  background:linear-gradient(160deg,#021b12,#03281a);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
}
.led-screen-mock__bg{
  position:absolute;inset:0;
  background:url('/assets/topfoto/darby.jpg') center/cover;
  opacity:.18;filter:blur(2px);
}
.led-screen{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:78%;aspect-ratio:16/9;
  background:#000;border-radius:8px;padding:14px;
  box-shadow:
    0 30px 50px rgba(0,0,0,.6),
    inset 0 0 0 6px #1a1a1a,
    inset 0 0 0 8px #0a0a0a,
    0 0 60px rgba(45,203,126,.3);
}
.led-screen__inner{
  position:relative;width:100%;height:100%;
  background:linear-gradient(160deg,#03281a 0%,#0e6a3e 50%,#03281a 100%);
  border-radius:3px;overflow:hidden;
  display:flex;flex-direction:column;
}
.led-screen__top{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 18px;background:rgba(0,0,0,.55);color:#fff;
  font-family:'Bebas Neue',sans-serif;letter-spacing:.08em;font-size:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.led-team{display:flex;align-items:center;gap:8px}
.led-team img{height:22px;width:auto;filter:brightness(1.4)}
.led-team .dot.fl{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#0a8c41,#0a4a2c);display:inline-block}
.led-score{display:flex;align-items:center;gap:8px;color:var(--gold);font-size:22px}
.led-score i{opacity:.5;font-style:normal;font-size:18px}
.led-screen__top{display:none}
.led-screen__sponsor{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  padding:0;
}
.led-eyebrow{display:none}
.led-screen__sponsor .partner-logo{
  width:100%;height:100%;max-width:none;aspect-ratio:auto;
  background:#fff;border-radius:0;padding:0;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  background-origin:content-box;
  box-shadow:none;
}
.led-screen__pixels{
  position:absolute;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(0,0,0,.18) 2px,rgba(0,0,0,.18) 3px),
    repeating-linear-gradient(90deg,transparent 0,transparent 2px,rgba(0,0,0,.18) 2px,rgba(0,0,0,.18) 3px);
  mix-blend-mode:multiply;opacity:.6;
}
.led-stand{
  position:absolute;left:50%;bottom:8%;transform:translateX(-50%);
  width:16%;height:18%;
  background:linear-gradient(180deg,#1a1a1a,#0a0a0a);
  clip-path:polygon(40% 0,60% 0,90% 100%,10% 100%);
  box-shadow:0 6px 16px rgba(0,0,0,.5);
}

/* ============ EXTRAS callout (training base bonus) ============ */
.mock.extra .extra-badge{
  position:absolute;top:14px;right:14px;
  padding:6px 12px;border-radius:999px;
  background:rgba(0,0,0,.7);color:var(--gold);
  border:1px solid var(--gold);
  font-family:'Bebas Neue',sans-serif;letter-spacing:.18em;font-size:11px;
}
.mock.extra .mock__overlay{
  background:linear-gradient(180deg,rgba(3,40,26,.15) 0%,rgba(3,40,26,.85) 100%);
}
.mock.extra .extra-cap{
  position:absolute;left:24px;right:24px;bottom:24px;
  font-family:'Oswald',sans-serif;font-weight:300;text-transform:uppercase;
  font-size:24px;letter-spacing:.04em;color:#fff;line-height:1.15;
}
.mock.extra .extra-cap b{color:var(--gold);font-weight:500}

/* ============ FORM dots (W/D/L) in table ============ */
.form-cell{display:flex;gap:3px;justify-content:center}
.form-dot{
  width:14px;height:14px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:8px;font-weight:800;color:#fff;letter-spacing:0;
}
.form-dot.W{background:#19a862}
.form-dot.D{background:#a0a0a0}
.form-dot.L{background:#d23535}

/* team mini-badge in sport table */
.team-badge{
  width:22px;height:22px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:10px;flex:none;
}

/* ============ PRESS-WALL MOCK ============ */
.presswall-mock{
  position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;
  background:linear-gradient(160deg,#0e6a3e,#03281a);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
  border:2px solid var(--gold);
}
.presswall-mock__bg{
  position:absolute;inset:0;
  background:url('BG.jpg') center/cover;
  opacity:.18;mix-blend-mode:luminosity;
}
.presswall-mock__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;
  height:78%;gap:0;padding:18px;
}
.pw-cell{
  display:flex;align-items:center;justify-content:center;padding:12px;
  border:1px solid rgba(255,255,255,.08);
}
.pw-cell.club img{height:60%;max-height:48px;width:auto;filter:brightness(1.4)}
.pw-cell.partner .partner-logo{
  width:auto;aspect-ratio:1.3/1;height:78%;max-height:64px;
  font-size:11px;padding:6px;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  background-origin:content-box;
}
.presswall-mock__podium{
  position:absolute;left:0;right:0;bottom:0;height:22%;z-index:2;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.85));
  display:flex;align-items:flex-end;justify-content:center;padding:0 0 16px;
  pointer-events:none;
}
.presswall-mock__mic{
  position:absolute;left:50%;bottom:30%;transform:translateX(-50%);
  width:14px;height:60px;background:linear-gradient(180deg,#666,#222);border-radius:8px 8px 2px 2px;
  box-shadow:0 4px 10px rgba(0,0,0,.6);
}
.presswall-mock__mic::before{
  content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#888,#222);
  box-shadow:0 4px 10px rgba(0,0,0,.6);
}
.presswall-mock__plate{
  position:relative;color:#fff;font-family:'Bebas Neue',sans-serif;
  letter-spacing:.18em;font-size:12px;opacity:.9;
}

/* ============ APP RICH MOCK ============ */
.app-mock .mock__img.clean{position:relative}
figcaption.rich{padding:22px 4px}
figcaption.rich b{font-size:18px;display:block;margin-bottom:4px}
figcaption.rich > span{display:block;font-size:13px;opacity:.6;margin-bottom:14px}
.bullets{list-style:none;padding:0;margin:14px 0 0}
.bullets li{
  position:relative;padding:10px 0 10px 28px;font-size:14px;line-height:1.5;
  border-bottom:1px solid var(--line);opacity:.92;
}
.bullets li:last-child{border-bottom:0}
.bullets li::before{
  content:"";position:absolute;left:0;top:14px;width:14px;height:14px;border-radius:50%;
  background:var(--gold);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>") center/12px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>") center/12px no-repeat;
}
.bullets li b{color:#fff;font-weight:700}

/* ============ ATTENDANCE BAR CHART ============ */
.att-chart{
  margin-top:64px;padding:32px;border-radius:20px;
  background:rgba(0,0,0,.45);border:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.att-chart__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:24px}
.att-chart__title{
  font-family:'Oswald',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em;
  font-size:24px;color:#fff;
}
.att-chart__sub{font-size:13px;opacity:.55;margin-top:4px}
.att-chart__legend{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.att-chart__legend .dot{width:10px;height:10px;border-radius:2px;display:inline-block;margin-right:4px}
.att-chart__legend .dot.gold{background:var(--gold)}
.att-chart__legend .dot.ghost{background:rgba(255,255,255,.3)}
.att-rows{display:flex;flex-direction:column;gap:6px}
.att-row{
  display:grid;grid-template-columns:240px 1fr 70px;gap:18px;align-items:center;
  padding:8px 0;
}
.att-row__name{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
.att-row__name img{height:24px;width:24px;object-fit:contain}
.badge-dot{
  width:24px;height:24px;border-radius:50%;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;font-size:11px;letter-spacing:0;
}
.att-row__bar{height:14px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden;position:relative}
.att-row__fill{
  height:100%;width:0;
  background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.32));
  border-radius:4px;
  animation:barfill 1.2s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay:.3s;
}
.att-row.leader .att-row__fill{
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold-2) 100%);
  box-shadow:0 0 20px rgba(230,192,67,.35);
}
.att-row.leader .att-row__name{font-weight:700;color:var(--gold)}
.att-row.leader .att-row__num{color:var(--gold);font-weight:800}
.att-row__num{
  text-align:right;font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:.04em;
}
@keyframes barfill { to { width: var(--pct); } }
.att-chart__foot{margin-top:18px;font-size:11px;opacity:.4;letter-spacing:.08em;text-transform:uppercase}

/* ============ LOGIN GATE ============ */
.login-gate{
  position:fixed;inset:0;z-index:999;
  display:flex;align-items:center;justify-content:center;padding:24px;
  background:
    radial-gradient(900px 500px at 70% 10%, rgba(45,203,126,.4), transparent 60%),
    radial-gradient(700px 500px at 10% 100%, rgba(230,192,67,.18), transparent 60%),
    linear-gradient(160deg,#0a4a2c 0%,#03281a 60%,#011b11 100%);
}
.login-card{
  width:100%;max-width:420px;
  padding:40px 36px;
  background:rgba(0,0,0,.55);
  border:1px solid var(--line);
  border-radius:20px;
  backdrop-filter:blur(14px);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6);
  display:flex;flex-direction:column;gap:14px;
}
.login-logo{height:60px;width:auto;margin:0 auto 4px;display:block}
.login-eyebrow{
  text-align:center;font-family:'Bebas Neue',sans-serif;letter-spacing:.18em;
  font-size:11px;color:var(--gold);
}
.login-card h1{
  text-align:center;margin:0 0 8px;
  font-family:'Oswald',sans-serif;font-weight:400;text-transform:uppercase;
  letter-spacing:.04em;font-size:28px;
}
.login-card label{
  display:flex;flex-direction:column;gap:6px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.6);font-weight:600;
}
.login-card input[type="text"],
.login-card input[type="password"]{
  background:rgba(0,0,0,.4);border:1px solid var(--line);border-radius:10px;
  padding:13px 14px;color:#fff;font-size:15px;font-family:inherit;
}
.login-card input:focus{outline:none;border-color:var(--gold)}
.login-error{
  background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.3);
  color:#ff8b8b;padding:10px 14px;border-radius:10px;font-size:13px;text-align:center;
}
.login-remember{
  flex-direction:row !important;align-items:center;gap:8px !important;
  font-size:12px !important;letter-spacing:.04em !important;text-transform:none !important;
  font-weight:400 !important;color:rgba(255,255,255,.6) !important;cursor:pointer;
  margin-top:4px;
}
.login-remember input{accent-color:var(--gold)}
.login-hint{
  margin-top:18px;padding:14px 16px;border-radius:10px;
  background:rgba(230,192,67,.08);border:1px dashed rgba(230,192,67,.3);
  font-size:12px;line-height:1.6;color:rgba(255,255,255,.65);
}
.login-hint b{color:var(--gold);font-weight:700}

/* ============ ADMIN TOP RIGHT ============ */
.admin-top__right{display:flex;align-items:center;gap:14px}

/* ============ ITEMS LIST (admin package) ============ */
.items-list{display:flex;flex-direction:column;gap:8px}
.item-row{
  display:grid;grid-template-columns:1fr 130px auto 32px;gap:10px;align-items:center;
  padding:10px;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:10px;
}
.item-row input[type="text"],.item-row input[type="number"]{
  background:rgba(0,0,0,.4);border:1px solid var(--line);border-radius:8px;
  padding:10px 12px;color:#fff;font-family:inherit;font-size:14px;
}
.item-row input:focus{outline:none;border-color:var(--gold)}
.item-incl{
  display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.55);cursor:pointer;
}
.item-incl input{accent-color:var(--gold)}
.item-del{
  width:32px;height:32px;border-radius:8px;background:rgba(255,107,107,.12);
  color:#ff8b8b;border:1px solid rgba(255,107,107,.3);cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;
}
.item-del:hover{background:rgba(255,107,107,.25)}
.items-totals{
  margin-top:14px;padding:14px 18px;border-radius:10px;
  background:linear-gradient(135deg,rgba(230,192,67,.1),rgba(0,148,68,.05));
  border:1px solid rgba(230,192,67,.2);
}
.items-totals__row{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.items-totals__row b{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--gold);letter-spacing:.04em;margin-right:4px}
.items-totals__row.hint{margin-top:6px;font-size:12px;color:rgba(255,255,255,.5);justify-content:flex-start}

/* ============ PACKAGE SAVINGS rows ============ */
.package--total{margin-top:14px}
.package__row.sub .strike{text-decoration:line-through;opacity:.4}
.package__row.save{background:rgba(0,148,68,.12)}
.package__row.save .save-num{
  font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:.04em;
  color:#2dcb7e;
}
.package__row.save span:first-child{color:#2dcb7e;font-weight:600}

/* ============ ERROR (presentation page) ============ */
.empty-state{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:24px;padding:40px;text-align:center;
}
.empty-state h1{font-family:'Oswald','Bebas Neue',sans-serif;font-weight:300;text-transform:uppercase;font-size:56px;margin:0}
.empty-state p{opacity:.6;max-width:480px;font-size:16px;line-height:1.6}

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .form-grid,.stats,.big-stats,.social-grid,.props,.mock-grid,.more-mocks,.extras__grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr;gap:40px}
  .contact-card{grid-template-columns:1fr;gap:24px;text-align:center}
  .contact-card__logos{justify-content:center}
  .sec{padding:80px 0}
  .container{padding:0 20px}
  .hero__title{font-size:64px}
  .topbar{padding:12px 20px}
  .topbar__cta .topbar__season{display:none}
  .mock-table__row{grid-template-columns:28px 1fr 28px 28px 28px 28px 80px 38px;font-size:11px;padding:9px 10px;gap:6px}
}

/* ============ MORE-MOCKS RICH ============ */
.more-mocks.rich{
  margin-top:48px;grid-template-columns:repeat(2,1fr);gap:20px;
}
.more-mocks.rich .mm{
  padding:28px 30px 26px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  gap:10px;transition:.25s;position:relative;overflow:hidden;
}
.more-mocks.rich .mm::before{
  content:"";position:absolute;inset:0;border-radius:18px;
  background:linear-gradient(135deg,rgba(230,192,67,.12),transparent 50%);
  opacity:0;transition:.25s;pointer-events:none;
}
.more-mocks.rich .mm:hover{border-color:rgba(230,192,67,.4);transform:translateY(-3px)}
.more-mocks.rich .mm:hover::before{opacity:1}
.more-mocks.rich .mm__icon{font-size:30px;line-height:1;margin-bottom:4px}
.more-mocks.rich .mm b{font-size:18px;letter-spacing:.01em;line-height:1.25;color:var(--gold)}
.more-mocks.rich .mm > span{font-size:14px;opacity:.7;line-height:1.55}
.mm__list{
  list-style:none;margin:8px 0 0;padding:0;
  display:flex;flex-direction:column;gap:6px;
}
.mm__list li{
  font-size:13px;opacity:.78;line-height:1.5;padding-left:18px;position:relative;
}
.mm__list li::before{
  content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--gold);border-radius:2px;
}

/* ============ MATCH NAMED AFTER PARTNER ============ */
.match-name{
  position:relative;padding:130px 0;
  background:
    radial-gradient(900px 500px at 100% 0%,rgba(230,192,67,.10),transparent 60%),
    radial-gradient(700px 500px at 0% 100%,rgba(45,203,126,.12),transparent 60%),
    linear-gradient(180deg,#03281a,#021b12);
  overflow:hidden;
}
.match-name__bg{
  position:absolute;inset:0;background:
    repeating-linear-gradient(135deg,transparent 0 28px,rgba(255,255,255,.025) 28px 29px);
  pointer-events:none;
}
.match-name h2{
  font-family:'Oswald','Bebas Neue',sans-serif;font-weight:300;
  font-size:72px;line-height:1;letter-spacing:.005em;text-transform:uppercase;
  margin:14px 0 18px;
}
.match-name .lede{max-width:880px;font-size:18px;opacity:.78;margin:0 0 56px}

.match-poster-wrap{margin:0 0 64px}
.match-poster{
  position:relative;width:100%;max-width:1200px;margin:0 auto;
  aspect-ratio:1920/1005;border-radius:20px;overflow:hidden;
  box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);
}
.match-poster__bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
.match-poster__cover{
  position:absolute;
  left:24.5%;top:0.5%;width:13%;height:27%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  animation:posterPulse 3.5s ease-in-out infinite;
}
@keyframes posterPulse{
  0%,100%{filter:drop-shadow(0 0 0 rgba(230,192,67,0))}
  50%{filter:drop-shadow(0 0 14px rgba(230,192,67,.55))}
}
.match-poster__cover .partner-logo{
  width:100%;height:78%;background-size:contain;background-repeat:no-repeat;background-position:center;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));
}
.match-poster__cover-tag{
  font-family:'Bebas Neue',sans-serif;letter-spacing:.18em;font-size:11px;color:rgba(255,255,255,.95);
  text-transform:uppercase;text-align:center;line-height:1;
  text-shadow:0 1px 4px rgba(0,0,0,.4);
}
.match-poster__pin{
  position:absolute;right:18px;bottom:18px;
  background:var(--gold);color:#1a1a1a;
  font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:.14em;
  padding:8px 14px;border-radius:8px;
}
.match-poster__caption{
  max-width:900px;margin:24px auto 0;text-align:center;
  font-size:14px;opacity:.65;line-height:1.6;
}
.mn-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 56px;
}
.mn{
  padding:28px 24px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(180deg,rgba(230,192,67,.05),rgba(255,255,255,.01));
  position:relative;
}
.mn__num{
  font-family:'Bebas Neue',sans-serif;color:var(--gold);font-size:32px;letter-spacing:.06em;line-height:1;margin-bottom:14px;
}
.mn h3{font-size:18px;margin:0 0 10px;letter-spacing:.01em}
.mn p{font-size:14px;opacity:.75;line-height:1.6;margin:0}
.mn p b{color:#fff;opacity:1}
.mn-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  padding:28px;border-radius:18px;
  background:linear-gradient(135deg,rgba(230,192,67,.10),rgba(45,203,126,.06));
  border:1px solid rgba(230,192,67,.25);
}
.mn-stat{display:flex;flex-direction:column;gap:6px;text-align:center;padding:8px}
.mn-stat b{font-family:'Oswald',sans-serif;font-weight:300;font-size:42px;color:var(--gold);line-height:1}
.mn-stat span{font-size:12px;opacity:.7;letter-spacing:.06em;text-transform:uppercase}

/* ============ CSR · CHILDREN ============ */
.csr{
  position:relative;padding:140px 0;
  background-size:cover;background-position:center;background-attachment:fixed;
}
.csr__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(3,40,26,.85) 0%,rgba(3,40,26,.78) 50%,rgba(3,40,26,.92) 100%),
    radial-gradient(800px 500px at 20% 30%,rgba(230,192,67,.18),transparent 60%);
}
.csr .container{position:relative}
.csr h2{
  font-family:'Oswald','Bebas Neue',sans-serif;font-weight:300;
  font-size:72px;line-height:1;text-transform:uppercase;margin:14px 0 18px;
}
.csr .lede.white{color:#fff;max-width:900px;margin:0 0 56px;font-size:18px;line-height:1.6;opacity:.9}
.csr__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:56px;
}
.csr-card{
  padding:36px 28px;border-radius:18px;
  background:rgba(255,255,255,.06);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);
  text-align:center;
}
.csr-card__num{
  font-family:'Oswald',sans-serif;font-weight:300;font-size:64px;color:var(--gold);line-height:1;margin-bottom:10px;
}
.csr-card__txt{font-size:15px;opacity:.85;line-height:1.5}
.csr__what{
  padding:40px;border-radius:20px;
  background:rgba(0,0,0,.35);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.10);
}
.csr__what h3{
  font-family:'Bebas Neue',sans-serif;letter-spacing:.14em;font-size:22px;color:var(--gold);margin:0 0 24px;
}
.csr__what-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.csr__what-grid > div{
  display:flex;flex-direction:column;gap:6px;padding:18px;
  border-left:2px solid var(--gold);
  background:rgba(255,255,255,.03);border-radius:0 12px 12px 0;
}
.csr__what-grid b{color:#fff;font-size:15px}
.csr__what-grid span{font-size:13px;opacity:.7;line-height:1.5}

@media (max-width:900px){
  .more-mocks.rich{grid-template-columns:1fr}
  .match-name h2,.csr h2{font-size:46px}
  .match-name{padding:80px 0}
  .csr{padding:90px 0;background-attachment:scroll}
  .mn-grid,.mn-stats,.csr__grid,.csr__what-grid{grid-template-columns:1fr 1fr}
  .mn-stat b{font-size:32px}
  .csr-card__num{font-size:48px}
  .match-poster__cover-tag{display:none}
  .match-poster__pin{font-size:11px;padding:6px 10px;right:10px;bottom:10px}
  .csr__what{padding:24px}
}
@media (max-width:560px){
  .mn-grid,.mn-stats,.csr__grid,.csr__what-grid{grid-template-columns:1fr}
}

/* ============ PARTNER LOGO · HARDENING / AUDIT ============ */
.partner-logo{
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-origin:content-box;
  background-clip:content-box;
  flex:0 0 auto;
}
.partner-logo.has-img{padding:6px 10px}
.partner-logo.has-img.white{padding:8px 12px}
.pvc-banner .partner-logo{padding:8px 16px;background:#fff;border-radius:4px}
.led-screen__sponsor .partner-logo{padding:10px 18px}
.pw-cell.partner .partner-logo,
.presswall__grid .partner-logo,
.presswall-mock__grid .partner-logo{
  width:100%;height:100%;
  padding:8px 12px;
  background:#fff;border-radius:3px;
}
.hero__logo-card .partner-logo{
  width:100%;max-width:280px;height:90px;
  padding:10px 16px;
  background:#fff;border-radius:8px;
}
.mock__overlay.sleeve .partner-logo{padding:4px 6px}
.banner2x6 .partner-logo{padding:6px 14px;background:#fff;border-radius:3px}
.match-poster__cover .partner-logo{
  background-color:transparent !important;padding:0;
}
.phone__partner .partner-logo{padding:4px 6px;background:#fff;border-radius:3px}
.partner-logo[data-partner-logo]:not([style*="background-image"]){min-width:80px}

/* ============ COUNTER-OFFER ============ */
.counter-offer{
  margin-top:32px;
  display:flex;align-items:center;gap:28px;
  padding:32px 40px;
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(230,192,67,.16) 0%,rgba(45,203,126,.10) 100%),
    rgba(255,255,255,.04);
  border:1px solid rgba(230,192,67,.35);
  box-shadow:0 20px 60px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);
  position:relative;overflow:hidden;
}
.counter-offer::before{
  content:"";position:absolute;left:-40%;top:-40%;width:60%;height:180%;
  background:radial-gradient(closest-side,rgba(230,192,67,.18),transparent 70%);
  pointer-events:none;animation:coGlow 6s ease-in-out infinite;
}
@keyframes coGlow{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(180%,8%)}
}
.counter-offer__icon{
  font-size:48px;line-height:1;flex:0 0 auto;
  filter:drop-shadow(0 4px 12px rgba(230,192,67,.4));
}
.counter-offer__body{flex:1 1 auto;min-width:0}
.counter-offer__body h3{
  margin:0 0 8px;font-size:22px;line-height:1.25;
  font-family:'Oswald','Bebas Neue',sans-serif;font-weight:400;
  color:#fff;letter-spacing:.01em;
}
.counter-offer__body p{
  margin:0 0 16px;font-size:15px;line-height:1.6;opacity:.85;color:#fff;
  max-width:780px;
}
.csr__note{
  margin-top:24px;padding:18px 22px;
  border-radius:14px;border:1px dashed rgba(230,192,67,.45);
  background:rgba(230,192,67,.06);
  font-size:14px;line-height:1.6;color:#fff;opacity:.92;
}
@media (max-width:760px){
  .counter-offer{flex-direction:column;align-items:flex-start;padding:24px 22px;gap:14px}
  .counter-offer__body h3{font-size:19px}
}
