@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');
:root{--black:#070707;--black2:#0d0d0d;--gold:#ffe21a;--gold2:#fff06a;--red:#f20b32;--white:#fff;--muted:#aaa69d;--line:rgba(255,255,255,.13);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:'Montserrat',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{position:absolute;top:0;left:0;right:0;z-index:20}.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:block;width:154px;height:auto}.nav-links{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600;color:#ddd}.nav-links a{transition:.2s}.nav-links a:hover{color:var(--gold)}.nav-actions{display:flex;align-items:center;gap:10px}.nav-btn{border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;border-radius:4px;padding:12px 17px;font-size:11px;font-weight:700;letter-spacing:.04em}.nav-btn.gold{background:var(--gold);border-color:var(--gold);color:#090909}.menu{display:none}.mobile-nav{display:none;border-top:1px solid var(--line);background:rgba(7,7,7,.97);padding:10px 0 20px}.mobile-nav a{display:block;padding:13px 0;color:#ddd;font-size:13px;font-weight:600}.mobile-nav .nav-btn{margin-top:8px;width:100%}
.landing{min-height:100vh;min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center}.landing:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 77% 48%,rgba(255,226,26,.11),transparent 26%),radial-gradient(circle at 20% 75%,rgba(255,255,255,.035),transparent 28%)}.landing:after{content:"";position:absolute;right:-180px;bottom:-280px;width:650px;height:650px;border:1px solid rgba(255,226,26,.08);border-radius:50%;box-shadow:0 0 0 90px rgba(255,226,26,.018),0 0 0 180px rgba(255,226,26,.012)}
.africa-pattern{position:absolute;inset:auto auto -140px -120px;width:540px;height:540px;opacity:.18;pointer-events:none;background-image:radial-gradient(circle at 30% 30%,rgba(255,226,26,.7) 0 1px,transparent 1.5px),radial-gradient(circle at 65% 65%,rgba(255,255,255,.25) 0 1px,transparent 1.5px);background-size:26px 26px,34px 34px;mask-image:linear-gradient(145deg,transparent 4%,#000 22%,#000 78%,transparent 95%);transform:rotate(-8deg)}
.landing-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.78fr);gap:70px;align-items:center;padding:125px 0 76px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}.headline{font-size:clamp(48px,6.5vw,88px);line-height:.98;letter-spacing:-.065em;font-weight:800;margin:0;max-width:760px}.headline .gold{color:var(--gold)}.headline-sub{font-size:clamp(16px,1.45vw,20px);line-height:1.65;color:#c7c4bc;max-width:650px;margin:28px 0 34px}.headline-sub strong{color:#fff;font-weight:700}.micro{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7e7a72;font-weight:600;margin-top:18px}.cta-row{display:flex;flex-wrap:wrap;gap:10px}.cta{min-height:50px;padding:0 20px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:11px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center}.cta.primary{background:var(--gold);border-color:var(--gold);color:#090909}.cta:hover{border-color:#777}.cta.primary:hover{background:var(--gold2);border-color:var(--gold2)}
.winner-wrap{position:relative;justify-self:end;width:min(100%,500px);min-height:590px;display:grid;place-items:center}.africa-stage{position:absolute;width:510px;height:540px;right:-5px;top:25px;opacity:.38;filter:drop-shadow(0 20px 45px rgba(0,0,0,.35))}.africa-stage svg{width:100%;height:100%;overflow:visible}.africa-stage .outline{fill:rgba(255,226,26,.08);stroke:rgba(255,226,26,.48);stroke-width:2}.africa-stage .gridline{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1;stroke-dasharray:3 8}.winner-frame{position:relative;z-index:2;width:min(100%,390px);background:#111;border:1px solid rgba(255,255,255,.14);padding:9px;box-shadow:0 34px 90px rgba(0,0,0,.55);transform:rotate(1.2deg)}.winner-frame img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;clip-path:polygon(48% 0%,61% 3%,70% 9%,78% 16%,84% 25%,91% 35%,95% 46%,92% 57%,95% 67%,89% 76%,85% 87%,77% 94%,66% 98%,55% 100%,46% 96%,39% 91%,30% 88%,23% 80%,18% 72%,14% 62%,9% 53%,11% 43%,8% 33%,13% 23%,20% 16%,27% 8%,37% 3%)}.winner-info{position:absolute;left:-26px;bottom:28px;background:var(--gold);color:#090909;padding:15px 18px;min-width:210px;box-shadow:0 16px 40px rgba(0,0,0,.35)}.winner-info small{display:block;font-size:8px;font-weight:800;letter-spacing:.14em;margin-bottom:5px}.winner-info strong{display:block;font-size:14px;font-weight:800}.winner-info span{display:block;font-size:9px;font-weight:600;margin-top:3px}.season-mark{position:absolute;right:-25px;top:38px;border:1px solid rgba(255,226,26,.45);color:var(--gold);padding:10px 12px;font-size:8px;font-weight:800;letter-spacing:.14em;writing-mode:vertical-rl;background:rgba(7,7,7,.8)}
.contact-strip{position:absolute;z-index:5;left:0;right:0;bottom:0;border-top:1px solid var(--line);background:rgba(7,7,7,.68);backdrop-filter:blur(12px)}.contact-in{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-title{font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.contact-list{display:flex;align-items:center;gap:24px;color:#aaa;font-size:10px;font-weight:500}.contact-list a:hover{color:#fff}.contact-list span{color:#4d4a45}
.page{min-height:100vh;background:radial-gradient(circle at 80% 10%,rgba(255,226,26,.1),transparent 28%),var(--black);padding:140px 0 80px}.page-head{max-width:760px;margin-bottom:42px}.page-kicker{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:15px}.page h1{font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.06em;margin:0 0 18px}.page-lead{color:#aaa;line-height:1.7;max-width:680px}.panel{background:#0d0d0d;border:1px solid #262626;border-radius:10px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.form{display:grid;gap:14px}.field label{display:block;color:#aaa;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-bottom:7px}.field input,.field select{width:100%;padding:14px;border:1px solid #303030;background:#090909;color:#fff;border-radius:5px;outline:none;font-family:inherit}.field input:focus,.field select:focus{border-color:var(--gold)}.form .cta{width:100%}.notice{margin-top:18px;padding:15px;border:1px solid #2c2c2c;background:#0a0a0a;border-radius:6px;color:#999;font-size:11px;line-height:1.6}.notice strong{color:#fff}.result{margin-top:20px;display:none}.result.show{display:block}.result-card{border:1px solid rgba(255,226,26,.35);background:linear-gradient(135deg,rgba(255,226,26,.08),#0a0a0a);padding:20px;border-radius:8px}.result-code{font-size:28px;font-weight:900;color:var(--gold);letter-spacing:.04em}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.result-stat{border:1px solid #252525;padding:13px;border-radius:6px}.result-stat small{display:block;color:#777;font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.result-stat strong{display:block;margin-top:5px;font-size:13px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid #262626}.archive-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:start}.archive-feature img{width:100%;max-height:650px;object-fit:cover;border:1px solid #262626}.vote-report{background:#0d0d0d;border:1px solid #262626;padding:25px}.vote-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #222;font-size:12px}.vote-row:last-child{border-bottom:0}.vote-row strong{color:var(--gold)}.footer{border-top:1px solid #202020;padding:25px 0;color:#777;font-size:10px}.back{display:inline-flex;margin-bottom:35px;color:#aaa;font-size:11px;font-weight:700}.back:hover{color:var(--gold)}
@media(max-width:980px){.nav{height:auto;min-height:78px;flex-wrap:wrap;padding:12px 0 7px;gap:8px 16px}.nav-links{display:flex;order:3;flex:0 0 100%;overflow-x:auto;overflow-y:hidden;gap:24px;white-space:nowrap;padding:4px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex:0 0 auto}.nav-actions .nav-btn:first-child{display:none}.menu,.mobile-nav{display:none}.landing-grid{grid-template-columns:1fr;gap:30px;padding-top:145px}.winner-wrap{justify-self:start;width:min(100%,440px);min-height:520px}.contact-strip{position:relative}.landing{display:block;padding-top:1px}.contact-in{min-height:76px}.archive-feature{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.container{width:calc(100% - 30px)}.nav{min-height:112px}.logo{width:130px}.nav-actions .nav-btn{padding:10px 12px}.nav-links{gap:20px;font-size:11px}.landing-grid{padding-top:135px;gap:12px}.eyebrow{font-size:9px;margin-bottom:16px}.headline{font-size:47px;letter-spacing:-.06em}.headline-sub{font-size:14px;line-height:1.65;margin:22px 0 27px}.cta{width:100%}.winner-wrap{width:100%;min-height:470px}.winner-frame{width:min(100%,360px);transform:none}.winner-info{left:10px;bottom:18px}.season-mark{right:8px;top:18px}.africa-stage{width:390px;height:420px;right:-25px;top:5px}.contact-in{display:block;padding:17px 0}.contact-list{flex-wrap:wrap;gap:9px 17px;margin-top:10px}.contact-list span{display:none}.page{padding-top:110px}.panel{padding:20px}.result-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}}

.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.about-grid h2{font-size:20px;letter-spacing:-.03em;margin:8px 0 8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps strong{font-size:12px;letter-spacing:.04em}.steps p{margin-top:9px}@media(max-width:800px){.about-grid,.steps{grid-template-columns:1fr}}

.connect-section{position:relative;z-index:6;padding:72px 0 54px;background:#090909;border-top:1px solid var(--line)}.connect-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}.connect-head h2{font-size:clamp(30px,4vw,48px);line-height:1.02;letter-spacing:-.05em;margin:0 0 12px;max-width:680px}.connect-head p{margin:0;color:#999;line-height:1.65;font-size:13px}.connect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.connect-card{display:flex;flex-direction:column;min-height:180px;padding:22px;background:#0d0d0d;border:1px solid #242424;border-radius:8px;transition:.2s}.connect-card:hover{border-color:rgba(255,226,26,.5);transform:translateY(-2px)}.connect-label{font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:auto}.connect-card strong{font-size:15px;line-height:1.25;margin:24px 0 8px;color:#fff}.connect-card small{font-size:10px;line-height:1.55;color:#85827b}.contact-strip{display:none}
@media(max-width:980px){.connect-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.connect-section{padding:54px 0 36px}.connect-grid{grid-template-columns:1fr}.connect-card{min-height:150px}}

.connect-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.connect-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid var(--gold);background:var(--gold);color:#111;border-radius:999px;font-size:.78rem;font-weight:800;text-decoration:none}.connect-link.secondary{background:transparent;color:#fff}

.connect-page .connect-head{margin-bottom:30px}.connect-page .connect-head h1{margin-bottom:12px}.connect-page .connect-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.connect-page .connect-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.connect-page .connect-grid{grid-template-columns:1fr}}


/* Mobile header overlap fix for participant and status pages */
@media (max-width: 980px) {
  .site-header { position: relative; background: #070707; }
  .page { padding-top: 28px; }
  .nav { align-items: center; }
  .nav-links { min-width: 0; max-width: 100%; }
}
@media (max-width: 520px) {
  .container { width: calc(100% - 32px); }
  .nav { gap: 10px; }
  .logo { width: 126px; }
  .nav-actions { margin-left: auto; }
  .nav-actions .nav-btn { padding: 10px 11px; font-size: 10px; }
  .nav-links { gap: 18px; font-size: 11px; }
  .panel { padding: 20px; }
  .page h1 { font-size: clamp(36px, 10vw, 48px); }
}

/* Mobile-first winner banner: keep the clean portrait visible without text overlays. */
@media (max-width: 620px) {
  body:has(.landing) .landing-grid { padding-top: 125px; gap: 22px; }
  body:has(.landing) .winner-wrap { display: block !important; width: 100%; min-height: 0; justify-self: stretch; margin: 4px 0 12px; }
  body:has(.landing) .africa-stage { display: none; }
  body:has(.landing) .winner-frame { width: 100%; padding: 0; border: 1px solid rgba(255,226,26,.32); transform: none; box-shadow: 0 16px 36px rgba(0,0,0,.35); overflow: hidden; }
  body:has(.landing) .winner-frame img { width: 100%; height: clamp(150px, 42vw, 230px); aspect-ratio: auto; object-fit: cover; object-position: center 34%; clip-path: none; }
  body:has(.landing) .winner-info, body:has(.landing) .season-mark { display: none !important; }
  body:has(.landing) .micro { margin-bottom: 4px; }
}
/* Keep account status and FCA identifiers easy to scan. */
.dash-status { display:inline-flex; align-items:center; padding:8px 12px; border:1px solid rgba(255,226,26,.55); border-radius:6px; color:var(--gold); font-weight:800; }
#fcaNumber, #applicationStatus, #whatsappNumber, #votesReceived { overflow-wrap:anywhere; }


/* FaceCard Africa mobile winner banner and navigation refinement */
@media(max-width:620px){
  .landing-grid{display:flex;flex-direction:column;gap:18px;padding-top:26px!important}
  .winner-wrap{order:-1;width:100%;min-height:0!important;display:block;margin:0 auto 8px}
  .africa-stage{display:none}
  .winner-frame{width:100%!important;max-width:none;padding:0;border-radius:12px;overflow:hidden;transform:none!important;aspect-ratio:16/9;min-height:0;box-shadow:0 18px 42px rgba(0,0,0,.45)}
  .winner-frame img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 28%;clip-path:none!important}
  .season-mark{top:10px!important;right:10px!important;left:auto;writing-mode:horizontal-tb;transform:none;padding:7px 10px;font-size:9px;letter-spacing:.12em;background:rgba(0,0,0,.72);border:1px solid rgba(255,226,26,.7);color:var(--gold)}
  .winner-info{left:10px!important;bottom:10px!important;min-width:0!important;max-width:78%;padding:9px 12px!important;background:rgba(255,226,26,.96);border-radius:4px}
  .winner-info small{font-size:8px;letter-spacing:.12em}
  .winner-info strong{display:block;font-size:15px;line-height:1.2;margin:3px 0}
  .winner-info span{font-size:10px}
}


/* FaceCard Africa 2026 brand refinement — official supplied logo palette */
:root{--black:#050505;--black2:#0b0b0d;--gold:#ffe21a;--gold2:#fff06a;--red:#f20b32;--white:#fff;--muted:#b8b5ad;--line:rgba(255,255,255,.12)}
body{background:var(--black)}
.logo{width:clamp(172px,18vw,218px);max-height:64px;object-fit:contain;object-position:left center}
.nav-links a:hover,.back:hover{color:var(--red)}
.nav-btn.gold,.cta.primary{background:var(--gold);border-color:var(--gold);color:#080808;box-shadow:0 5px 20px rgba(255,226,26,.10)}
.nav-btn.gold:hover,.cta.primary:hover{background:var(--gold2);border-color:var(--gold2);box-shadow:0 7px 24px rgba(255,226,26,.18)}
.eyebrow,.page-kicker,.contact-title{color:var(--gold)}
.headline .gold,.result-code,.vote-row strong,.contestant-card .code{color:var(--gold)}
.field input:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,226,26,.10)}
.panel,.vote-report,.contestant-card{background:linear-gradient(155deg,#101012 0%,#09090a 100%);border-color:rgba(255,255,255,.12)}
.contestant-card{box-shadow:0 12px 35px rgba(0,0,0,.22)}
.contestant-card button,.auth-card button{background:var(--gold);color:#080808}
.contestant-card button:hover,.auth-card button:hover{background:var(--gold2)}
.contestant-card .code{color:var(--red)}
.page-kicker:before,.eyebrow:before{content:"";display:inline-block;width:20px;height:2px;background:var(--red);vertical-align:middle;margin-right:9px}
@media(max-width:620px){.logo{width:164px;max-height:52px}}
