/* ============================================================
   IFA Shield U-15 International — Bootstrap theme
   Luxury tournament palette: navy · gold
   ============================================================ */
:root {
  /* Ink / blacks */
  --ink-900:#08080A; --ink-800:#0C0B0E; --ink-700:#131117; --ink-600:#1B1820; --ink-500:#2A2630;
  /* Burgundy */
  --burgundy-800:#F0F4F9; --burgundy-700:#12285A; --burgundy-600:#1B3B7A; --burgundy-500:#24488F;
  /* Gold */
  --gold-700:#8A5D0C; --gold-600:#AD7610; --gold-500:#C8901A; --gold-400:#E0A21A; --gold-300:#AD7610; --gold-100:#AD7610;
  /* Neutrals */
  --cream:#10244D; --cream-dim:#3A506E; --sand:#5E7091; --smoke:#6E7E96;

  --border-hairline:#D5E0EC;
  --border-strong:#AD7610;
  --glass-bg:#10244D;

  --grad-gold:linear-gradient(100deg,#B8912F 0%,#E8CE86 42%,#C8A24A 100%);
  --grad-gold-text:linear-gradient(180deg,#F5E9C6 0%,#C8A24A 90%);
  --grad-hero-veil:linear-gradient(180deg,rgba(11,26,58,0.15) 0%,rgba(11,26,58,0.42) 55%,rgba(16,36,77,0.82) 100%);
  --glow-gold:0 0 0 1px rgba(200,162,74,0.35),0 8px 30px rgba(200,162,74,0.22);
  --shadow-card:0 12px 30px rgba(16,36,77,0.10);
  --shadow-lg:0 22px 46px rgba(16,36,77,0.16);
  --ease-out:cubic-bezier(0.16,1,0.3,1);

  --font-display:'Cinzel','Marcellus',Georgia,serif;
  --font-serif:'Marcellus',Georgia,serif;
  --font-accent:'Cormorant Garamond',Georgia,serif;
  --font-body:'Barlow',system-ui,sans-serif;
  --font-condensed:'Barlow Semi Condensed','Barlow',sans-serif;
}

/* ---------- Base ---------- */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; background:#FFFFFF; color:var(--cream-dim);
  font-family:var(--font-body); font-weight:300; font-size:1.0625rem;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a { color:var(--gold-300); text-decoration:none; transition:color .18s var(--ease-out); }
a:hover { color:var(--gold-100); }
::selection { background:var(--burgundy-600); color:var(--cream); }
img { max-width:100%; display:block; }

/* Film grain overlay */
body::after {
  content:""; position:fixed; inset:0; z-index:1500; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* Page vignette */
.vignette { position:fixed; inset:0; z-index:1490; pointer-events:none;
  background:radial-gradient(125% 105% at 50% 0%,transparent 55%,rgba(0,0,0,0.32) 100%); }

/* ---------- Typography helpers ---------- */
.kicker {
  font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.28em;
  font-size:1rem; color:#8A5D0C; display:inline-flex; align-items:center; gap:.9rem; margin-bottom:1.25rem;
}
.kicker::before { content:""; width:34px; height:1px; background:var(--gold-500); display:inline-block; }
.kicker.center { justify-content:center; }
.display {
  font-family:var(--font-display); font-weight:800; color:var(--cream);
  line-height:1.04; letter-spacing:.02em; text-wrap:balance; margin:0;
}
.section-title { font-size:clamp(2.1rem,4.4vw,3.6rem); }
.lead-text { font-family:var(--font-body); font-weight:300; font-size:clamp(1.05rem,1.4vw,1.3rem);
  line-height:1.7; color:var(--cream-dim); }
.text-gold { background:var(--grad-gold-text); -webkit-background-clip:text; background-clip:text; color:transparent; }
.serif { font-family:var(--font-serif); color:var(--cream); }
.muted-label { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.28em;
  font-size:.75rem; color:var(--sand); }

/* ---------- Layout ---------- */
.section { padding:clamp(1.2rem,2.5vw,2.2rem) 0; position:relative; }
.hero-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(2rem,4vw,4rem); align-items:start; }
.hero-facts { background:#F0F4F9; border:1px solid var(--border-hairline); border-radius:16px; padding:1.6rem 1.7rem; box-shadow:var(--shadow-card); position:relative; }
.hero-facts::before { content:""; position:absolute; left:1.7rem; right:1.7rem; top:0; height:2px; background:linear-gradient(90deg,var(--gold-500,var(--gold-300)),transparent); border-radius:2px; }
.hero-facts-title { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.16em; font-size:.82rem; color:var(--gold-300); margin:0 0 1rem; }
.facts-table { width:100%; border-collapse:collapse; }
.facts-table th, .facts-table td { text-align:left; vertical-align:top; padding:.7rem .5rem; border-bottom:1px solid var(--border-hairline); font-weight:400; }
.facts-table tr:last-child th, .facts-table tr:last-child td { border-bottom:none; }
.facts-table th { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; color:var(--gold-300); white-space:nowrap; width:38%; }
.facts-table td { font-family:var(--font-body); font-weight:300; font-size:.9rem; line-height:1.35; color:var(--cream-dim); }
@media(max-width:900px){ .hero-grid{ grid-template-columns:1fr; } .hero-facts{ max-width:520px; } }
.why-ifa { margin-top:clamp(3rem,6vw,5rem); padding-top:clamp(2.5rem,5vw,4rem); border-top:1px solid var(--border-hairline); }
.why-ifa-title { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.16em; font-size:1.1rem; color:var(--gold-300); margin:0 0 1.6rem; display:flex; align-items:center; gap:.8rem; }
.why-ifa-title::after { content:""; flex:1; height:1px; background:var(--border-hairline); }
.why-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.1rem; }
.why-item { background:#F0F4F9; padding:1.6rem 1.5rem; border:1px solid var(--border-hairline); border-radius:14px; position:relative; overflow:hidden; transition:transform .4s var(--ease-out,ease), border-color .4s var(--ease-out,ease), box-shadow .4s var(--ease-out,ease); }
.why-item::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--gold-500,var(--gold-300)),transparent); }
.why-item:hover { transform:translateY(-4px); border-color:var(--border-strong,var(--gold-300)); box-shadow:var(--shadow-card); }
.why-item h4 { font-family:var(--font-serif,var(--font-body)); font-size:1.1rem; letter-spacing:.01em; color:var(--gold-100,var(--gold-300)); margin:0 0 .7rem; }
.why-item p { font-family:var(--font-body); font-weight:300; font-size:.9rem; line-height:1.55; color:var(--cream-dim); margin:0; }
@media(max-width:900px){ .why-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px){ .why-grid{ grid-template-columns:1fr; } }
/* ---------- About ---------- */
.about-head { max-width:820px; }
.about-body { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,5vw,4.5rem); margin-top:clamp(1.2rem,2.5vw,1.8rem); align-items:start; }
.about-lead { font-family:var(--font-serif,var(--font-body)); font-weight:400; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.35; color:var(--cream); margin:0; }
.about-cols p { font-family:var(--font-body); font-weight:300; font-size:1.02rem; line-height:1.7; color:var(--cream-dim); margin:0 0 1.1rem; }
.about-cols p:last-child { margin-bottom:0; }
.about-figures { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:clamp(1.5rem,3vw,2.2rem); background:rgba(200,162,74,.25); border:1px solid rgba(200,162,74,.22); border-radius:14px; overflow:hidden; }
.af-item { background:#10244D; padding:1.2rem 1.2rem; text-align:center; }
.af-num { display:block; font-family:var(--font-serif,var(--font-body)); font-size:clamp(1.8rem,3.5vw,2.8rem); line-height:1; color:#E8CE86; }
.af-lab { display:block; margin-top:.6rem; font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; color:#E4C066; }
.about-owner { margin-top:1.6rem; text-align:center; font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.1em; font-size:.85rem; color:var(--cream-dim); }
.about-owner strong { color:var(--gold-300); font-weight:600; }
@media(max-width:768px){ .about-body{ grid-template-columns:1fr; } .about-figures{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px){ .about-figures{ grid-template-columns:1fr; } }
.about-building { margin-top:clamp(1.8rem,3.5vw,2.6rem); padding-top:clamp(1.6rem,3vw,2.4rem); border-top:1px solid var(--border-hairline); }
.building-list { list-style:none; margin:1.4rem 0 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.building-list li { position:relative; background:#10244D; border:1px solid rgba(200,162,74,.22); border-radius:12px; padding:1.2rem 1.3rem 1.2rem 3rem; font-family:var(--font-body); font-weight:300; font-size:1rem; line-height:1.5; color:#FFFFFF; }
.building-list li::before { content:"✓"; position:absolute; left:1.2rem; top:1.2rem; color:#E4C066; font-size:1rem; }
@media(max-width:640px){ .building-list{ grid-template-columns:1fr; } }
/* ---------- Format & Venues ---------- */
.fv-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(1.5rem,3vw,2.5rem); margin-top:clamp(1.5rem,3vw,2.2rem); align-items:start; }
.fv-block { background:#F0F4F9; border:1px solid var(--border-hairline); border-radius:16px; padding:1.7rem 1.8rem; }
.fv-title { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.16em; font-size:.85rem; color:var(--gold-300); margin:0 0 1.2rem; }
.fv-list { list-style:none; margin:0; padding:0; }
.fv-list li { position:relative; padding:.7rem 0 .7rem 1.5rem; border-bottom:1px solid var(--border-hairline); font-family:var(--font-body); font-weight:300; font-size:1rem; line-height:1.5; color:var(--cream-dim); }
.fv-list li:last-child { border-bottom:none; padding-bottom:0; }
.fv-list li::before { content:""; position:absolute; left:0; top:1.15rem; width:6px; height:6px; border-radius:50%; background:var(--gold-300); }
.fv-list li span { color:var(--gold-100,var(--gold-300)); font-weight:500; }
.fv-venue { padding:1rem 0; border-bottom:1px solid var(--border-hairline); }
.fv-venue:first-of-type { padding-top:0; }
.fv-venue:last-child { border-bottom:none; padding-bottom:0; }
.fv-venue h4 { font-family:var(--font-serif,var(--font-body)); font-size:1.08rem; color:var(--gold-100,var(--gold-300)); margin:0 0 .5rem; line-height:1.3; }
.fv-venue p { font-family:var(--font-body); font-weight:300; font-size:.95rem; line-height:1.55; color:var(--cream-dim); margin:0; }
.fv-embed { position:relative; margin-top:clamp(1.5rem,3vw,2.2rem); border-radius:16px; overflow:hidden; border:1px solid var(--border-hairline); aspect-ratio:16/6; }
.fv-embed img { width:100%; height:100%; object-fit:cover; display:block; }
.fv-embed-note { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(11,26,58,.55); font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.16em; font-size:.8rem; color:var(--cream-dim); }
@media(max-width:768px){ .fv-grid{ grid-template-columns:1fr; } .fv-embed{ aspect-ratio:16/9; } }
.fv-media { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,2vw,1.5rem); margin-top:clamp(1.5rem,3vw,2.2rem); }
.fv-photo, .fv-map { border-radius:16px; overflow:hidden; border:1px solid rgba(200,162,74,.22); aspect-ratio:16/10; }
.fv-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.fv-map iframe { width:100%; height:100%; display:block; }
@media(max-width:768px){ .fv-media{ grid-template-columns:1fr; } }
/* ---------- Teams ---------- */
.teams-actions { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:2rem; }
.teams-note { margin-top:1.2rem; font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; color:var(--gold-300); opacity:.8; }
.teams-panel { max-width:720px; margin:1.6rem auto 0; background:#F0F4F9; border:1px solid var(--border-hairline); border-radius:16px; padding:1.6rem 1.8rem; }
.teams-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem 1.4rem; }
.teams-list li { position:relative; padding:.55rem 0 .55rem 1.4rem; font-family:var(--font-body); font-weight:300; font-size:1rem; color:var(--cream); border-bottom:1px solid var(--border-hairline); }
.team-loc { color:var(--cream-dim); font-size:.86rem; }
.form-status { margin-top:1rem; font-family:var(--font-body); font-weight:300; font-size:.92rem; padding:.7rem 1rem; border-radius:8px; border:1px solid var(--border-hairline); }
.form-status.ok { color:var(--gold-100); border-color:var(--border-strong,var(--gold-300)); background:rgba(200,162,74,.1); }
.form-status.err { color:#F3C0BC; border-color:rgba(243,192,188,.4); background:rgba(140,28,46,.18); }
.teams-list li::before { content:""; position:absolute; left:0; top:1rem; width:6px; height:6px; border-radius:50%; background:var(--gold-300); }
.teams-panel-note { margin:1.1rem 0 0; font-family:var(--font-body); font-weight:300; font-size:.86rem; color:var(--cream-dim); opacity:.8; }
@media(max-width:560px){ .teams-list{ grid-template-columns:1fr; } }
/* ---------- Participate / What's Included ---------- */
.incl-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; margin-top:clamp(1.5rem,3vw,2.2rem); }
.incl-item { display:flex; gap:.9rem; align-items:flex-start; background:#F0F4F9; border:1px solid var(--border-hairline); border-radius:12px; padding:1.3rem 1.4rem; }
.incl-check { flex:none; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(200,162,74,.12); color:var(--gold-300); font-size:.85rem; }
.incl-item p { margin:0; font-family:var(--font-body); font-weight:300; font-size:.98rem; line-height:1.5; color:var(--cream-dim); }
@media(max-width:900px){ .incl-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px){ .incl-grid{ grid-template-columns:1fr; } }
.part-detail { display:grid; grid-template-columns:1fr 1.2fr; gap:1.1rem; margin-top:1.1rem; align-items:start; }
.pd-block { background:#F0F4F9; border:1px solid var(--border-hairline); border-radius:16px; padding:1.7rem 1.8rem; }
.pd-fee { margin:0 0 .5rem; font-family:var(--font-body); font-weight:300; font-size:1.05rem; color:var(--cream-dim); }
.pd-fee span { font-family:var(--font-serif,var(--font-body)); font-weight:600; font-size:1.9rem; color:var(--gold-100,var(--gold-300)); display:inline-block; margin-right:.4rem; }
.pd-venue { margin:0 0 .6rem; font-family:var(--font-serif,var(--font-body)); font-size:1.08rem; line-height:1.35; color:var(--gold-100,var(--gold-300)); }
.pd-text { margin:0 0 .8rem; font-family:var(--font-body); font-weight:300; font-size:.98rem; line-height:1.55; color:var(--cream-dim); }
.pd-note { margin:0; padding-top:.9rem; border-top:1px solid var(--border-hairline); font-family:var(--font-body); font-weight:300; font-size:.9rem; line-height:1.5; color:var(--cream-dim); opacity:.85; }
.pd-block .fv-list { margin-top:.4rem; }
@media(max-width:768px){ .part-detail{ grid-template-columns:1fr; } }
.pd-downloads { display:flex; flex-direction:column; gap:.7rem; margin-top:1.2rem; }
.pd-downloads .btn-ifa { text-align:center; }
.apply-steps { margin:0; padding:0; list-style:none; counter-reset:step; }
.apply-steps li { position:relative; counter-increment:step; padding:.9rem 0 .9rem 3rem; border-bottom:1px solid var(--border-hairline); font-family:var(--font-body); font-weight:300; font-size:1rem; line-height:1.5; color:var(--cream-dim); }
.apply-steps li:last-child { border-bottom:none; padding-bottom:0; }
.apply-steps li::before { content:counter(step); position:absolute; left:0; top:.8rem; width:28px; height:28px; border-radius:50%; border:1px solid var(--border-strong,var(--gold-300)); display:flex; align-items:center; justify-content:center; font-family:var(--font-serif,var(--font-body)); font-size:.9rem; color:var(--gold-300); }
.eoi { margin-top:1.1rem; }
.eoi-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem 1.4rem; margin-top:1.3rem; }
.eoi-field { display:flex; flex-direction:column; gap:.4rem; }
.eoi-field label { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; color:var(--gold-300); }
.eoi-field input { background:#FFFFFF; border:1px solid var(--border-hairline); border-radius:8px; padding:.7rem .9rem; color:var(--cream); font-family:var(--font-body); font-weight:300; font-size:.95rem; }
.eoi-field input:focus { outline:none; border-color:var(--border-strong,var(--gold-300)); }
.eoi-field input::placeholder, .eoi-field textarea::placeholder { color:var(--cream-dim); opacity:.75; }
.phone-wrap { display:flex; align-items:stretch; }
.phone-cc { display:flex; align-items:center; padding:0 .7rem; background:#EAF0F7; border:1px solid var(--border-hairline); border-right:none; border-radius:8px 0 0 8px; color:var(--gold-300); font-family:var(--font-body); font-weight:400; font-size:.95rem; }
.phone-wrap input { flex:1; border-radius:0 8px 8px 0 !important; }
.eoi-submit { grid-column:1/-1; margin-top:.4rem; }
@media(max-width:560px){ .eoi-form{ grid-template-columns:1fr; } }
/* ---------- Participate (compact) ---------- */
.part-compact { margin-top:clamp(1.4rem,3vw,2rem); display:flex; flex-direction:column; gap:1rem; }
.pc-included, .pc-cell, .pc-eoi { background:#10244D; border:1px solid rgba(200,162,74,.22); border-radius:14px; padding:1.2rem 1.3rem; }
.pc-included .pc-mini, .pc-cell .pc-mini, .pc-eoi .pc-mini { color:#FFFFFF; }
.pc-tags span { color:#C4D0E0; border-color:rgba(200,162,74,.28); }
.pc-cell .pd-fee { color:#C4D0E0; }
.pc-tags { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.9rem; }
.pc-tags span { font-family:var(--font-body); font-weight:300; font-size:.86rem; color:#FFFFFF; background:rgba(200,162,74,.08); border:1px solid rgba(200,162,74,.28); border-radius:999px; padding:.4rem .85rem; }
.pc-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.pc-cell .fv-title { margin-bottom:.7rem; }
.pc-mini { margin:.5rem 0 0; font-family:var(--font-body); font-weight:300; font-size:.86rem; line-height:1.5; color:var(--cream-dim); }
.pc-mini b { color:var(--gold-300); font-weight:600; }
.pc-strong { margin:0; font-family:var(--font-serif,var(--font-body)); font-size:1rem; line-height:1.3; color:var(--gold-100,var(--gold-300)); }
.pc-cell .pd-fee { margin:0; }
.pc-cell .pd-fee span { font-size:1.5rem; }
.pc-downloads { display:flex; flex-wrap:wrap; gap:1.4rem; padding:0 .3rem; }
.pc-downloads a { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; color:var(--gold-300); }
.pc-eoi .eoi-form { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-top:.9rem; }
.pc-eoi .eoi-submit { grid-column:auto; margin-top:0; display:flex; align-items:center; justify-content:flex-start; }
.pc-eoi .eoi-submit .btn-ifa { width:auto; align-self:center; }
@media(max-width:900px){ .pc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } .pc-eoi .eoi-form{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px){ .pc-grid{ grid-template-columns:1fr; } .pc-eoi .eoi-form{ grid-template-columns:1fr; } }
/* ---------- Partnership tiers ---------- */
.tiers { margin-top:clamp(1.5rem,3vw,2.2rem); border:1px solid rgba(200,162,74,.22); border-radius:14px; overflow:hidden; }
.tier-head, .tier-row { display:grid; grid-template-columns:1fr 2fr; gap:1.5rem; padding:1.1rem 1.5rem; align-items:center; }
.tier-head { background:#0B1A3A; font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.14em; font-size:.75rem; color:#E4C066; }
.tier-row { background:#10244D; border-top:1px solid rgba(200,162,74,.16); transition:background .3s var(--ease-out,ease); }
.tier-row:hover { background:#163061; }
.tier-name { font-family:var(--font-serif,var(--font-body)); font-size:1.12rem; color:#E8CE86; }
.tier-desc { font-family:var(--font-body); font-weight:300; font-size:.98rem; line-height:1.5; color:#C4D0E0; }
@media(max-width:560px){ .tier-head{ display:none; } .tier-row{ grid-template-columns:1fr; gap:.35rem; } }
.tiers-note { margin:1rem 0 0; font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; color:var(--gold-300); opacity:.8; }
.tiers-cta { margin-top:1.6rem; }
/* ---------- FAQ ---------- */
.faq-list { margin-top:clamp(1.5rem,3vw,2.2rem); display:flex; flex-direction:column; gap:.8rem; }
.faq-grid { display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(1.5rem,3vw,2.5rem); margin-top:clamp(1.5rem,3vw,2.2rem); align-items:start; }
.faq-grid .faq-list { margin-top:0; }
.faq-media { position:sticky; top:6rem; border-radius:16px; overflow:hidden; border:1px solid var(--border-hairline); aspect-ratio:4/5; }
.faq-media img { width:100%; height:100%; object-fit:cover; display:block; }
@media(max-width:768px){ .faq-grid{ grid-template-columns:1fr; } .faq-media{ position:static; aspect-ratio:16/9; } }
.contact-form .eoi-field.full { grid-column:1/-1; }
.contact-form textarea, .contact-form select { background:#FFFFFF; border:1px solid var(--border-hairline); border-radius:8px; padding:.7rem .9rem; color:var(--cream); font-family:var(--font-body); font-weight:300; font-size:.95rem; resize:vertical; }
.contact-form select option { background:#F0F4F9; color:var(--cream); }
.contact-form textarea:focus, .contact-form select:focus { outline:none; border-color:var(--border-strong,var(--gold-300)); }
.contact-form textarea::placeholder { color:var(--cream-dim); opacity:.45; }
/* ---------- Footer ---------- */
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.footer-brand img { display:block; margin-bottom:1.1rem; }
.footer-title { margin:0 0 .5rem; font-family:var(--font-serif,var(--font-body)); font-size:1.1rem; color:var(--cream); }
.footer-sub { margin:0 0 .8rem; font-family:var(--font-body); font-weight:300; font-size:.9rem; line-height:1.5; color:var(--cream-dim); max-width:52ch; }
.footer-motto { margin:0; font-family:var(--font-accent); font-style:italic; font-size:1.15rem; color:var(--gold-300); }
.footer-links { display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; align-content:start; }
.footer-links a { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; color:var(--cream-dim); }
.footer-links a:hover { color:var(--gold-300); }
.footer-host { margin:1.6rem 0 0; display:inline-flex; align-items:center; white-space:nowrap; font-family:var(--font-serif,var(--font-body)); font-size:clamp(.95rem,1.2vw,1.1rem); letter-spacing:.02em; background:linear-gradient(180deg,#F5E9C6 0%,#C8A24A 90%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.footer-legal { margin-top:2rem; padding-top:1.4rem; border-top:1px solid var(--border-hairline); font-size:.8rem; color:var(--cream-dim); }
.social-row { display:flex; align-items:center; gap:.55rem; }
.footer-social { margin-top:1.3rem; }
.social-ic { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; border:1px solid var(--border-hairline); color:var(--gold-300); background:rgba(0,0,0,.12); transition:color .18s var(--ease-out,ease), border-color .18s var(--ease-out,ease), transform .18s var(--ease-out,ease), background .18s var(--ease-out,ease); }
.social-ic:hover { color:var(--ink-900,#F0F4F9); background:var(--gold-300); border-color:var(--gold-300); transform:translateY(-2px); }
.navbar-ifa .social-ic { width:30px; height:30px; }
@media(max-width:768px){ .footer-grid{ grid-template-columns:1fr; } }
/* ---------- Safeguarding page ---------- */
.sg-hero { padding-top:clamp(7rem,12vw,9rem)!important; }
.sg-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.sg-item { display:flex; gap:.9rem; align-items:flex-start; background:#F0F4F9; border:1px solid var(--border-hairline); border-radius:12px; padding:1.4rem 1.5rem; }
.sg-item p { margin:0; font-family:var(--font-body); font-weight:300; font-size:1rem; line-height:1.55; color:var(--cream-dim); }
.sg-cta { margin-top:1.8rem; }
.sg-note { margin-top:1.4rem; font-family:var(--font-body); font-weight:300; font-size:.92rem; line-height:1.5; color:var(--cream-dim); opacity:.8; }
@media(max-width:640px){ .sg-grid{ grid-template-columns:1fr; } }
.faq-item { background:#10244D; border:1px solid var(--border-hairline); border-radius:12px; overflow:hidden; }
.faq-item[open] { background:#F0F4F9; }
.faq-item[open] summary, .faq-item[open] p { color:var(--cream); }
.faq-item summary { list-style:none; cursor:pointer; padding:1.1rem 1.4rem; font-family:var(--font-serif,var(--font-body)); font-size:1.08rem; color:var(--cream); display:flex; justify-content:space-between; align-items:center; gap:1rem; color:#EAF0F7; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; color:var(--gold-300); font-size:1.4rem; line-height:1; transition:transform .3s var(--ease-out,ease); }
.faq-item[open] summary { color:var(--cream); }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-item p { margin:0; padding:0 1.4rem 1.2rem; font-family:var(--font-body); font-weight:300; font-size:.98rem; line-height:1.6; color:var(--cream-dim); }
.ent-wrap { margin-top:1.1rem; overflow-x:auto; border:1px solid var(--border-hairline); border-radius:14px; }
.ent-table { width:100%; border-collapse:collapse; min-width:720px; }
.ent-table th, .ent-table td { padding:.85rem 1rem; text-align:center; border-bottom:1px solid var(--border-hairline); }
.ent-table thead th { background:#E7EEF6; font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; color:var(--gold-300); white-space:nowrap; }
.ent-table tbody td { background:#F0F4F9; font-family:var(--font-body); font-weight:300; font-size:.92rem; color:var(--cream-dim); }
.ent-table td.y { color:var(--gold-300); font-weight:600; }
.ent-table .ent-benefit { text-align:left; font-family:var(--font-body); font-weight:400; color:var(--cream); white-space:nowrap; }
.ent-table thead .ent-benefit { color:var(--gold-300); }
.ent-table tbody tr:last-child td { border-bottom:none; }
.ent-table .ent-price td { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:var(--gold-100,var(--gold-300)); background:#EAF0F7; }
.ent-table .ent-price .ent-benefit { color:var(--gold-300); }
.section + .section, .host + .section, .section + .host { border-top:1px solid var(--border-hairline); }
.section-ink { background:#F0F4F9; }
.section-navy { background:#10244D; }
.section-navy .section-title, .section-navy .display, .section-navy .about-head .display { color:#EAF0F7; }
.section-navy .kicker { color:var(--gold-300); }
.section-navy .kicker::before { background:var(--gold-300); }
.section-ink-rev { background:#F0F4F9; }
.container-ifa { max-width:1200px; padding-left:clamp(1.15rem,4vw,2rem); padding-right:clamp(1.15rem,4vw,2rem); }

/* ---------- Buttons ---------- */
.btn-ifa {
  font-family:var(--font-condensed); font-weight:600; text-transform:uppercase; letter-spacing:.14em;
  border-radius:999px; padding:.95rem 2.1rem; border:1px solid transparent; cursor:pointer;
  display:inline-flex; align-items:center; gap:.6em; transition:transform .18s var(--ease-out),box-shadow .3s var(--ease-out); white-space:nowrap;
}
.btn-ifa.lg { padding:1.1rem 2.6rem; font-size:1.0625rem; }
.btn-ifa.sm { padding:.55rem 1.2rem; font-size:.8125rem; }
.btn-gold { background:var(--grad-gold); color:#241a05; box-shadow:var(--glow-gold); text-shadow:0 1px 0 rgba(255,255,255,.25); }
.btn-outline-gold { background:transparent; color:var(--gold-300); border-color:var(--border-strong); }
.btn-ifa:hover { transform:translateY(-3px); box-shadow:0 0 24px rgba(200,162,74,.4),0 0 60px rgba(200,162,74,.18); color:#241a05; }
.btn-outline-gold:hover { color:var(--gold-100); border-color:var(--gold-400); box-shadow:none; transform:translateY(-3px); }

/* ---------- Navbar ---------- */
.navbar-ifa { transition:background .35s var(--ease-out),padding .35s var(--ease-out),box-shadow .35s; padding:1.3rem 0; }
.navbar-ifa.scrolled { background:var(--glass-bg); backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%); border-bottom:1px solid var(--border-hairline);
  box-shadow:0 2px 8px rgba(0,0,0,.45); padding:.7rem 0; }
.navbar-ifa .nav-link { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.14em;
  font-size:.8125rem; color:var(--cream-dim); padding:.4rem .9rem; transition:color .18s; }
.navbar-ifa .nav-link:hover { color:var(--gold-300); }
.navbar-ifa .brand-logo { height:80px; }

/* ---------- Badges ---------- */
.badge-ifa { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.14em; font-size:.75rem;
  padding:.5rem 1rem; border-radius:999px; border:1px solid var(--border-hairline); color:var(--gold-300);
  background:rgba(200,162,74,.05); display:inline-block; }
.badge-ifa.solid { background:var(--grad-gold); color:#241a05; border-color:transparent; }

/* ---------- Glass cards ---------- */
.glass-card { background:#F0F4F9; backdrop-filter:none;
  -webkit-backdrop-filter:none; border:1px solid #D5E0EC;
  border-radius:22px; padding:2rem; box-shadow:var(--shadow-card); height:100%;
  transition:transform .32s var(--ease-out),box-shadow .32s,border-color .32s; }
.glass-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--border-strong); }
.card-num { font-family:var(--font-display); font-weight:700; font-size:2.4rem; line-height:1;
  background:var(--grad-gold-text); -webkit-background-clip:text; background-clip:text; color:transparent; }
.card-title { font-family:var(--font-serif); color:var(--cream); font-size:1.4rem; margin:.9rem 0 .6rem; }
.card-text { font-size:.95rem; line-height:1.55; color:var(--cream-dim); margin:0; }

/* ---------- Stat counters ---------- */
.stat-num { font-family:var(--font-display); font-weight:700; font-size:clamp(2.6rem,5vw,4.2rem); line-height:1;
  background:var(--grad-gold-text); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:.02em; }
.stat-label { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.28em; font-size:.75rem;
  color:var(--sand); margin-top:.75rem; }

/* ---------- Hero ---------- */
.hero { position:relative; min-height:auto; display:flex; align-items:flex-end; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; }
.hero-veil { position:absolute; inset:0; z-index:1; background:var(--grad-hero-veil); }
.hero-pool { position:absolute; inset:0; z-index:1;
  background:radial-gradient(80% 60% at 12% 92%,rgba(200,162,74,.15) 0%,transparent 60%); }
.hero-content { position:relative; z-index:2; width:100%; padding-top:clamp(5rem,9vw,7rem); padding-bottom:clamp(2rem,4vw,3.5rem); }
@media(max-width:991px){ .navbar-ifa .brand-logo{ height:52px; } .navbar-ifa{ padding:.7rem 0; } .hero-content{ padding-top:6.5rem; } }
.hero-title { font-size:clamp(3rem,8vw,7rem); }
/* Countdown */
.countdown { display:inline-flex; align-items:flex-start; gap:clamp(.5rem,1.5vw,1.25rem);
  padding:clamp(.9rem,2vw,1.4rem) clamp(1.25rem,3vw,2.2rem); border-radius:22px; background:var(--glass-bg);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border:1px solid var(--border-hairline); box-shadow:var(--shadow-card); }
.cd-unit { display:flex; flex-direction:column; align-items:center; gap:.35rem; min-width:clamp(56px,8vw,86px); }
.cd-val { font-family:var(--font-display); font-weight:700; line-height:1; font-size:clamp(1.9rem,4vw,3rem);
  background:var(--grad-gold-text); -webkit-background-clip:text; background-clip:text; color:transparent; font-variant-numeric:tabular-nums; }
.cd-lab { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.28em; font-size:.6rem; color:var(--sand); }
.cd-sep { color:var(--gold-700); font-size:clamp(1.4rem,3vw,2.4rem); font-family:var(--font-display); margin-top:.1em; }
.scroll-cue { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); z-index:2; text-align:center;
  font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.28em; font-size:.7rem; color:var(--sand); }
.scroll-line { width:1px; height:46px; margin:.5rem auto 0; background:linear-gradient(var(--gold-400),transparent); position:relative; overflow:hidden; }
.scroll-line::after { content:""; position:absolute; top:-46px; left:0; width:1px; height:46px; background:var(--gold-100); animation:scrollDot 2.2s var(--ease-out) infinite; }
@keyframes scrollDot { to { top:46px; } }

/* ---------- Media frames ---------- */
.frame { position:relative; border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lg); }
.frame img { width:100%; height:100%; object-fit:cover; }
.frame-fade::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(8,8,10,.55) 100%); }

/* ---------- Structure bracket ---------- */
.bracket { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; position:relative; }
.bracket .stage { position:relative; }
.bracket .arrow { position:absolute; right:-1.05rem; top:50%; transform:translateY(-50%); color:var(--gold-500); font-size:1.4rem; z-index:3; }
.stage-final { border:1px solid #D5E0EC; box-shadow:var(--shadow-card); background:#F0F4F9; }
.guarantee { display:inline-flex; align-items:center; gap:1rem; padding:1rem 3rem; border-radius:999px;
  border:1px solid var(--border-strong); background:rgba(200,162,74,.05); }
.guarantee .g-num { font-family:var(--font-display); font-weight:700; font-size:2rem; line-height:1;
  background:var(--grad-gold-text); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ---------- Host city ---------- */
.host { position:relative; min-height:auto; display:flex; align-items:center; overflow:hidden; padding:clamp(2rem,4vw,3.2rem) 0; }
.host-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.host-veil { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.55) 45%,transparent 100%); }

/* ---------- Gallery ---------- */
.gallery { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:clamp(150px,20vh,220px); gap:1rem; }
.g-item { position:relative; border-radius:22px; overflow:hidden; box-shadow:0 12px 32px rgba(0,0,0,.5); }
.g-item img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease-out); }
.g-item::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(8,8,10,.45) 100%); }
.g-item:hover img { transform:scale(1.05); }
.g1 { grid-column:span 7; grid-row:span 2; }
.g2 { grid-column:span 5; }
.g3 { grid-column:span 5; }
.g4 { grid-column:span 6; }
.g5 { grid-column:span 6; }

/* ---------- Contact ---------- */
#contact { --cream-dim:#2C4361; }
.contact-card { background:var(--glass-bg); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid var(--border-hairline); border-radius:22px; padding:clamp(2rem,4vw,3.5rem); box-shadow:var(--shadow-card); }
.contact-row { display:grid; grid-template-columns:150px 1fr; gap:1rem; align-items:baseline;
  padding:1rem 0; border-bottom:1px solid var(--border-hairline); }
.contact-row .c-key { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.14em; font-size:.75rem; color:var(--gold-300); }
.contact-row .c-val { color:var(--cream); overflow-wrap:anywhere; }

/* ---------- Floating register ---------- */
.floating-register { position:fixed; right:1.5rem; bottom:1.5rem; z-index:1200; animation:floatPulse 3s var(--ease-out) infinite; }
@media(max-width:600px){ .floating-register{ display:none; } }

@keyframes floatPulse { 0%,100%{ box-shadow:0 0 0 0 rgba(200,162,74,.4);} 50%{ box-shadow:0 0 0 14px rgba(200,162,74,0);} }

/* ---------- Modal / form ---------- */
.modal-ifa .modal-content { background:#10244D; border:1px solid rgba(200,162,74,.22); border-radius:22px; color:#C4D0E0; }
.modal-ifa .modal-header { border-bottom:1px solid rgba(200,162,74,.22); }
.modal-ifa .modal-title { font-family:var(--font-display); color:#EAF0F7; letter-spacing:.04em; }
.modal-ifa .card-text, .modal-ifa p { color:#C4D0E0; }
.modal-ifa .serif { color:#EAF0F7; }
.modal-ifa hr { border-color:rgba(200,162,74,.22)!important; }
.form-label-ifa { font-family:var(--font-condensed); text-transform:uppercase; letter-spacing:.14em; font-size:.9rem; color:var(--gold-300); margin-bottom:.4rem; }
.form-control-ifa, .form-select-ifa { background:#FFFFFF; border:1px solid rgba(200,162,74,.28); color:var(--cream);
  border-radius:8px; padding:.7rem .9rem; width:100%; font-family:var(--font-body); }
.form-control-ifa:focus, .form-select-ifa:focus { outline:none; border-color:var(--gold-500); box-shadow:0 0 0 3px rgba(200,162,74,.2); }
.dropzone { border:1.5px dashed var(--border-strong); border-radius:14px; padding:1.5rem; text-align:center; cursor:pointer;
  transition:background .2s,border-color .2s; background:rgba(200,162,74,.06); color:#C4D0E0; }
.dropzone.drag { background:rgba(200,162,74,.12); border-color:var(--gold-400); color:var(--gold-200); }
.dropzone img { max-height:150px; margin:.5rem auto 0; border-radius:8px; }
.success-check { width:64px; height:64px; margin:0 auto 1.25rem; border-radius:999px; display:grid; place-items:center;
  font-size:1.8rem; color:#241a05; background:var(--grad-gold); box-shadow:var(--glow-gold); }
.pay-box { padding:1rem; border-radius:14px; background:rgba(200,162,74,.05); border:1px solid var(--border-hairline);
  font-size:.8rem; color:var(--sand); line-height:1.7; }

/* ---------- Footer ---------- */
.footer-ifa { border-top:1px solid var(--border-hairline); padding:4rem 0 3rem; }

/* ---------- Responsive ---------- */
@media (max-width:991px){
  .bracket { grid-template-columns:repeat(2,1fr); }
  .bracket .arrow { display:none; }
  /* Collapsed mobile nav: give the dropdown a legible frosted panel */
  #navItems.navbar-collapse { background:rgba(12,11,14,.96); backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%); border:1px solid var(--border-hairline);
    border-radius:16px; margin-top:.8rem; padding:.75rem 1rem; box-shadow:var(--shadow-lg); }
  #navItems .navbar-nav { gap:.15rem; }
  #navItems .nav-link { padding:.7rem .6rem; display:block; }
  #navItems .nav-item.ms-lg-3 .btn-ifa { display:block; text-align:center; margin-top:.4rem; }
  #navItems .social-row { justify-content:center; padding-top:.6rem; margin-top:.4rem; border-top:1px solid var(--border-hairline); }
}
@media (max-width:820px){
  .gallery { grid-template-columns:1fr 1fr; }
  .g1,.g2,.g3,.g4,.g5 { grid-column:span 1; grid-row:span 1; }
}
@media (max-width:640px){
  .bracket { grid-template-columns:1fr; }
  .gallery { grid-template-columns:1fr; }
  .contact-row { grid-template-columns:1fr; gap:.25rem; }
  .container-ifa { padding-left:1.15rem; padding-right:1.15rem; }
  .btn-ifa.lg { padding:.95rem 1.8rem; font-size:1rem; }
  .countdown { display:flex; flex-wrap:wrap; justify-content:center; }
  .cd-sep { display:none; }
  .guarantee { padding:.85rem 1.4rem; gap:.7rem; text-align:left; }
  .contact-card { padding:1.5rem; }
}
@media (max-width:400px){
  body { font-size:1rem; }
  .cd-unit { min-width:52px; }
  .countdown { gap:.5rem; padding:.85rem 1rem; }
  .btn-ifa.lg { width:100%; justify-content:center; }
  .navbar-ifa .brand-logo { height:60px; }
  .kicker { letter-spacing:.2em; gap:.6rem; }
}
@media (prefers-reduced-motion:reduce){
  html { scroll-behavior:auto; }
  .scroll-line::after,.floating-register { animation:none; }
  .g-item:hover img { transform:none; }
}

/* ===== Light theme: dark-chrome overrides ===== */
.vignette{display:none;}
body::after{opacity:.025;}
::selection{background:#10244D;color:#fff;}
/* Navbar (navy glass) */
.navbar-ifa .nav-link{color:#E7EDF5;}
.navbar-ifa .nav-link:hover{color:#C8A24A;}
.navbar-ifa .social-ic{color:#C8A24A;border-color:rgba(200,162,74,.4);background:rgba(255,255,255,.06);}
.navbar-ifa .social-ic:hover{color:#10244D;background:#C8A24A;border-color:#C8A24A;}
/* Hero (light text over dark image) */
.hero-content .display,.hero-content .lead-text{color:#EAF0F7;}
.hero-content .muted-label{color:#C4D0E0;}
.hero-content .muted-label[style]{color:#C8A24A !important;}
.hero-title .text-gold{background:linear-gradient(180deg,#F5E9C6 0%,#C8A24A 90%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero .badge-ifa:not(.solid){color:#C8A24A;border-color:rgba(200,162,74,.45);background:rgba(0,0,0,.28);}
.hero .badge-ifa.solid{background:var(--grad-gold);color:#241a05;border-color:transparent;}
.hero .cd-val{color:#E8CE86;}
.hero .cd-lab{color:#C4D0E0;}
.hero .cd-sep{color:rgba(200,162,74,.6);}
/* Hero Quick Facts = navy accent card */
.hero-facts{background:#10244D;border:1px solid rgba(200,162,74,.22);}
.hero-facts-title{color:#C8A24A;}
.hero-facts .facts-table th{color:#C8A24A;}
.hero-facts .facts-table td{color:#EAF0F7;}
.hero-facts .facts-table th,.hero-facts .facts-table td{border-color:rgba(255,255,255,.10);}
/* Footer (navy) */
.footer-ifa{background:#10244D;border-top:1px solid rgba(200,162,74,.2);}
.footer-title{color:#FFFFFF;}
.footer-sub,.footer-legal{color:#C4D0E0;}
.footer-links a{color:#C4D0E0;}
.footer-links a:hover{color:#C8A24A;}
.footer-motto{color:#C8A24A;}
.footer-legal{border-top-color:rgba(255,255,255,.12);}
.footer-ifa .social-ic{color:#C8A24A;border-color:rgba(200,162,74,.4);background:rgba(255,255,255,.06);}
.footer-ifa .social-ic:hover{color:#10244D;background:#C8A24A;border-color:#C8A24A;}
/* Contact card = light box */
.contact-card{background:#F0F4F9;border:1px solid #D5E0EC;-webkit-backdrop-filter:none;backdrop-filter:none;}
/* Host City = dark image section, light text */
.host .display,.host .lead-text,.host p,.host li{color:#EAF0F7;}
.host .kicker,.host .muted-label{color:#C8A24A;}
.host .kicker::before{background:#C8A24A;}
.host .stat-label{color:#FFFFFF;}

/* ---------- Registration-opens popup ---------- */
#regNotice,.reg-notice-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(6,10,22,.62);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease-out,ease),visibility .35s}
#regNotice.show,.reg-notice-overlay.show{opacity:1;visibility:visible}
.reg-pop{position:relative;width:min(560px,100%);text-align:center;background:linear-gradient(180deg,#12285A,#0C1E45);border:1px solid rgba(200,162,74,.5);border-radius:20px;padding:3rem 2.4rem 2.6rem;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(200,162,74,.12);transform:translateY(18px) scale(.97);transition:transform .4s var(--ease-out,ease)}
#regNotice.show .reg-pop,.reg-notice-overlay.show .reg-pop{transform:none}
.reg-pop-close{position:absolute;top:.9rem;right:1.1rem;background:none;border:none;color:#C9D4E6;font-size:1.9rem;line-height:1;cursor:pointer;transition:color .2s}
.reg-pop-close:hover{color:#E4C066}
.reg-pop-dot{display:block;width:14px;height:14px;border-radius:50%;background:#E4C066;margin:0 auto 1.1rem;box-shadow:0 0 0 0 rgba(228,192,102,.6);animation:regDot 1.8s ease-out infinite}
@keyframes regDot{0%{box-shadow:0 0 0 0 rgba(228,192,102,.55)}70%{box-shadow:0 0 0 12px rgba(228,192,102,0)}100%{box-shadow:0 0 0 0 rgba(228,192,102,0)}}
.reg-pop-kicker{font-family:var(--font-condensed);text-transform:uppercase;letter-spacing:.24em;font-size:.78rem;font-weight:600;color:#8A5D0C;margin:0 0 .6rem}
.reg-pop-title{font-family:var(--font-display,'Cinzel',serif);color:#F5E9C6;font-size:clamp(1.5rem,4vw,2rem);line-height:1.18;margin:0 0 .9rem}
.reg-pop-title span{background:linear-gradient(100deg,#B8912F 0%,#E8CE86 42%,#C8A24A 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.reg-pop-sub{font-family:var(--font-body);color:#C9D4E6;font-size:1rem;line-height:1.55;max-width:40ch;margin:0 auto 1.6rem}
.reg-pop-ok{cursor:pointer}
@media(prefers-reduced-motion:reduce){.reg-pop-dot{animation:none}.reg-pop,#regNotice{transition:opacity .2s}}

/* ---------- EOI-gated downloads ---------- */
.pc-dl-lock{font-family:var(--font-body);font-size:.92rem;color:#4A5A72;background:#F0F4F9;border:1px solid var(--border-hairline);border-left:3px solid #B8912F;border-radius:8px;padding:.7rem .95rem;margin:0}
.pc-downloads.locked .pc-dl-links{display:none}
.pc-downloads:not(.locked) .pc-dl-lock{display:none}
