/* FinChat Hub — landing page styles. Self-owned document, scoped under .fc-page
   so element-level resets never leak into cookie-consent/admin-bar/plugin markup. */

:root{
  --red:#FE0000;
  --red-dark:#C40000;
  --ink:#111111;
  --ink-soft:#4A433F;
  --line:#E3DFD9;
  --paper:#FBF9F6;
  --white:#FFFFFF;
  --wa:#25D366;
  --wa-dark:#128C4A;
  --green-deep:var(--ink);
  --green:var(--red);
  --green-light:#F1EEEA;
  --charcoal:var(--ink);
  --radius-s:10px;
  --radius-m:18px;
  --radius-l:26px;
  --shadow-soft:0 16px 40px -22px rgba(14,59,46,0.25);
  --shadow-card:0 22px 50px -24px rgba(14,59,46,0.3);
  --ease:cubic-bezier(.22,.68,0,1);
  --font-main: Calibri, Candara, 'Segoe UI', Optima, Arial, sans-serif;
}

html.fc-html{ scroll-behavior:smooth; scroll-padding-top:90px; }
@media (prefers-reduced-motion: reduce){
  html.fc-html{ scroll-behavior:auto; }
  .fc-page *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
  .fc-page .reveal{ opacity:1 !important; transform:none !important; }
}

/* scoped resets — never applied outside our own document root, so cookie-consent
   banners, the admin bar, and other plugin-injected markup are untouched */
.fc-page, .fc-page *{ box-sizing:border-box; }
.fc-page{
  font-family:var(--font-main); color:var(--ink);
  background-color:var(--ink);
  background-image:
    radial-gradient(1200px 700px at 88% -10%, rgba(254,0,0,0.10), transparent 60%),
    radial-gradient(900px 650px at -10% 40%, rgba(254,0,0,0.06), transparent 55%),
    radial-gradient(1000px 700px at 50% 112%, rgba(254,0,0,0.06), transparent 60%);
  background-repeat:no-repeat;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
.fc-page h1, .fc-page h2, .fc-page h3, .fc-page h4{ font-family:var(--font-main); font-weight:700; line-height:1.1; letter-spacing:-0.01em; margin:0; color:var(--green-deep); }
.fc-page p{ margin:0; }
.fc-page a{ text-decoration:none; color:inherit; }
.fc-page ul{ margin:0; padding:0; list-style:none; }
.fc-page button{ font-family:inherit; cursor:pointer; border:none; background:none; }
.fc-page :focus-visible{ outline:2.5px solid var(--green); outline-offset:2px; }
.fc-page .mono{ font-family:var(--font-main); }

.fc-page .wrap{ width:100%; max-width:1180px; margin:0 auto; padding:0 32px; }
@media (max-width:640px){ .fc-page .wrap{ padding:0 20px; } }

.fc-page .eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-main); font-size:12px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--green);
}
.fc-page .eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--green); }

/* ---------- BUTTONS ---------- */
.fc-page .btn{
  display:inline-flex; align-items:center; gap:10px; padding:15px 26px; border-radius:999px;
  font-weight:700; font-size:15px; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  white-space:nowrap;
}
.fc-page .btn-wa{ background:var(--wa); color:#fff; box-shadow:0 12px 26px -12px rgba(37,211,102,0.55); }
.fc-page .btn-wa:hover{ background:var(--wa-dark); transform:translateY(-2px); }
.fc-page .btn-outline{ border:1.5px solid var(--green-deep); color:var(--green-deep); }
.fc-page .nav-cta .btn-outline{ border-color:rgba(255,255,255,0.5); color:#fff; }
.fc-page .nav-cta .btn-outline:hover{ background:#fff; color:var(--ink); transform:translateY(-2px); }
.fc-page .btn-red{ background:var(--red); color:#fff; box-shadow:0 12px 26px -12px rgba(254,0,0,0.45); }
.fc-page .btn-red:hover{ background:var(--red-dark); transform:translateY(-2px); }
.fc-page .btn-outline:hover{ background:var(--green-deep); color:#fff; transform:translateY(-2px); }
.fc-page .btn-outline-white{ border:1.5px solid rgba(255,255,255,0.5); color:#fff; }
.fc-page .btn-outline-white:hover{ background:rgba(255,255,255,0.12); }
.fc-page .btn-sm{ padding:10px 18px; font-size:13px; }
.fc-page .btn-block{ width:100%; justify-content:center; }
.fc-page .btn[disabled]{ opacity:.55; cursor:not-allowed; pointer-events:none; }

/* ---------- HEADER ---------- */
.fc-page header{
  position:fixed; top:0; left:0; right:0; z-index:200;
  background:rgba(17,17,17,0.75); backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:border-color .3s ease, background .3s ease;
}
.fc-page header.scrolled{ border-color:rgba(255,255,255,0.1); background:rgba(17,17,17,0.92); }
.fc-page .nav{ display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1180px; margin:0 auto; }
.fc-page .logo{ display:flex; align-items:center; gap:10px; }
.fc-page .logo-mark{ width:34px; height:34px; border-radius:9px; background:var(--red); display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; }
.fc-page .logo-mark svg{ width:18px; height:18px; }
.fc-page .logo-mark img{ width:100%; height:100%; object-fit:cover; display:block; }
.fc-page .logo-word{ font-family:var(--font-main); font-weight:700; font-size:19px; color:#fff; }
.fc-page .nav-links{ display:flex; align-items:center; gap:4px; }
.fc-page .nav-links a{ font-size:14px; font-weight:600; color:rgba(255,255,255,0.65); padding:9px 14px; border-radius:999px; transition:color .2s ease, background .2s ease; }
.fc-page .nav-links a:hover{ color:#fff; background:rgba(255,255,255,0.08); }
.fc-page .nav-cta{ display:flex; align-items:center; gap:10px; }
.fc-page .burger{ display:none; }
@media (max-width:980px){
  .fc-page .nav-links{
    position:fixed; top:66px; left:0; right:0; background:#141010;
    flex-direction:column; align-items:flex-start; gap:0; padding:8px 24px 20px;
    border-bottom:1px solid rgba(255,255,255,0.1); transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
  }
  .fc-page .nav-links.open{ opacity:1; pointer-events:auto; transform:translateY(0); }
  .fc-page .nav-links a{ width:100%; padding:13px 4px; border-radius:0; border-bottom:1px solid rgba(255,255,255,0.08); }
  .fc-page .burger{ display:flex; flex-direction:column; gap:5px; align-items:center; justify-content:center; width:44px; height:44px; }
  .fc-page .burger span{ width:22px; height:2px; background:#fff; border-radius:2px; }
  .fc-page .nav-cta .btn-outline{ display:none; }
}

/* ---------- SECTION SCAFFOLD ---------- */
.fc-page section{ position:relative; scroll-margin-top:90px; }
.fc-page .section-pad{ padding:100px 0; }
@media (max-width:640px){ .fc-page .section-pad{ padding:64px 0; } }
.fc-page .section-head{ max-width:640px; margin-bottom:52px; }
.fc-page .section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.fc-page .section-head h2{ font-size:clamp(28px,3.6vw,42px); margin-top:14px; }
.fc-page .section-head p{ color:var(--ink-soft); font-size:16.5px; line-height:1.65; margin-top:16px; }
.fc-page .on-dark .section-head h2{ color:#fff; }
.fc-page .on-dark .section-head p{ color:rgba(255,255,255,0.7); }
.fc-page .on-dark .eyebrow{ color:#ff6b5e; }
.fc-page .on-dark .eyebrow::before{ background:#ff6b5e; }
.fc-page .on-dark .value-item h4, .fc-page .on-dark .flow-step h4, .fc-page .on-dark .pillar h4, .fc-page .on-dark .legend-item h4{ color:#fff; }
.fc-page .on-dark .value-item p, .fc-page .on-dark .flow-step p, .fc-page .on-dark .pillar p, .fc-page .on-dark .legend-item p{ color:rgba(255,255,255,0.65); }
.fc-page .on-dark .aha-checklist li{ color:#fff; }
.fc-page .on-dark .vision-words span{ color:#fff; }
.fc-page .on-dark .future-note p{ color:#fff; }
.fc-page .on-dark .btn-outline{ border-color:rgba(255,255,255,0.5); color:#fff; }
.fc-page .on-dark .btn-outline:hover{ background:#fff; color:var(--ink); transform:translateY(-2px); }
.fc-page .service-card h3, .fc-page .lead-card h4, .fc-page .future-cat h5{ color:var(--ink) !important; }

html.fc-js .fc-page .reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); transition-delay:var(--d,0s); }
html.fc-js .fc-page .reveal.in{ opacity:1; transform:translateY(0); }

/* ---------- HERO ---------- */
.fc-page .hero{
  padding:158px 0 90px; position:relative; overflow:hidden;
  background:
    radial-gradient(1300px 750px at 12% -18%, rgba(254,0,0,0.55), transparent 55%),
    radial-gradient(900px 600px at 100% 10%, rgba(254,0,0,0.22), transparent 60%),
    linear-gradient(165deg, #1c0000 0%, var(--ink) 62%);
}
.fc-page .hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:52px; align-items:center; position:relative; z-index:1; }
.fc-page .hero h1{ font-size:clamp(36px,5vw,58px); margin:16px 0 20px; color:#fff; }
.fc-page .hero-sub{ font-size:17.5px; line-height:1.6; color:rgba(255,255,255,0.72); max-width:500px; margin-bottom:30px; }
.fc-page .hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:8px; }
.fc-page .hero-note{ font-size:13px; color:rgba(255,255,255,0.55); margin-top:18px; }

.fc-page .chat-visual{
  background:var(--white); border-radius:var(--radius-l); border:1px solid var(--line);
  box-shadow:var(--shadow-card); padding:22px; max-width:380px; margin:0 auto; position:relative;
}
.fc-page .chat-visual-head{ display:flex; align-items:center; gap:10px; padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.fc-page .chat-visual-head .dot{ width:9px; height:9px; border-radius:50%; background:var(--wa); }
.fc-page .chat-visual-head b{ font-family:var(--font-main); font-weight:700; font-size:13.5px; color:var(--ink); }
.fc-page .chat-visual-head span{ font-size:11.5px; color:var(--ink-soft); margin-left:auto; font-family:var(--font-main); font-weight:400; }
.fc-page .cv-body{ display:flex; flex-direction:column; gap:10px; min-height:210px; }
.fc-page .cv-bubble{ max-width:82%; padding:11px 15px; border-radius:16px; font-size:13.5px; line-height:1.45; opacity:0; transform:translateY(6px); animation:fcCvPop .4s var(--ease) forwards; }
@keyframes fcCvPop{ to{ opacity:1; transform:translateY(0); } }
.fc-page .cv-bubble.them{ align-self:flex-start; background:var(--green-light); color:var(--green-deep); border-bottom-left-radius:4px; }
.fc-page .cv-bubble.us{ align-self:flex-start; background:var(--paper); border:1px solid var(--line); color:var(--ink); border-bottom-left-radius:4px; }
.fc-page .cv-bubble.me{ align-self:flex-end; background:#d9fdd3; color:#0b3d1f; border-bottom-right-radius:4px; }
.fc-page .cv-typing{ align-self:flex-start; display:flex; gap:4px; padding:11px 14px; background:var(--green-light); border-radius:16px; border-bottom-left-radius:4px; opacity:0; animation:fcCvPop .3s var(--ease) forwards; }
.fc-page .cv-typing span{ width:6px; height:6px; border-radius:50%; background:var(--green); animation:fcCvBlink 1.1s infinite ease-in-out; }
.fc-page .cv-typing span:nth-child(2){ animation-delay:.15s; }
.fc-page .cv-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes fcCvBlink{ 0%,80%,100%{ opacity:.3; transform:translateY(0);} 40%{ opacity:1; transform:translateY(-2px);} }
.fc-page .cv-badge{ position:absolute; top:-14px; right:22px; background:var(--wa); color:#fff; font-size:11px; font-weight:700; padding:6px 12px; border-radius:999px; box-shadow:0 8px 18px -8px rgba(37,211,102,0.6); }

@media (max-width:940px){ .fc-page .hero-grid{ grid-template-columns:1fr; } }

/* ---------- VALUE STRIP ---------- */
.fc-page .value-strip{ border-top:1px solid rgba(255,255,255,0.1); border-bottom:1px solid rgba(255,255,255,0.1); padding:52px 0; }
.fc-page .value-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.fc-page .value-item{ display:flex; gap:14px; align-items:flex-start; }
.fc-page .value-icon{ width:42px; height:42px; border-radius:12px; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.fc-page .value-item h4{ font-size:16.5px; margin-bottom:5px; }
.fc-page .value-item p{ font-size:14px; color:var(--ink-soft); line-height:1.55; }
@media (max-width:800px){ .fc-page .value-grid{ grid-template-columns:1fr; gap:26px; } }

/* ---------- SERVICE CARDS ---------- */
.fc-page .service-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.fc-page .service-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-m); padding:32px 28px;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.fc-page .service-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-soft); }
.fc-page .service-icon{ width:50px; height:50px; border-radius:14px; background:var(--green-light); color:var(--green-deep); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.fc-page .service-card h3{ font-size:19px; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.fc-page .service-card p{ color:var(--ink-soft); font-size:14.5px; line-height:1.6; margin-bottom:18px; }
.fc-page .service-card .link{ color:var(--green); font-weight:700; font-size:14px; }
@media (max-width:860px){ .fc-page .service-grid{ grid-template-columns:1fr; } }

.fc-page .future-note{ text-align:center; margin:44px 0 0; }
.fc-page .future-note p{ font-family:var(--font-main); font-size:19px; color:var(--green-deep); font-style:italic; }
.fc-page .future-toggle{ margin-top:14px; color:var(--green); font-weight:700; font-size:13.5px; display:inline-flex; align-items:center; gap:6px; }
.fc-page .future-panel{ max-height:0; overflow:hidden; transition:max-height .5s var(--ease); }
.fc-page .future-panel.open{ max-height:1400px; }
.fc-page .future-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
.fc-page .future-cat{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-m); padding:22px 24px; }
.fc-page .future-cat h5{ font-family:var(--font-main); font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--green); margin-bottom:12px; }
.fc-page .future-cat ul{ display:flex; flex-direction:column; gap:7px; }
.fc-page .future-cat li{ font-size:13.5px; color:var(--ink-soft); display:flex; gap:8px; }
.fc-page .future-cat li::before{ content:"→"; color:var(--green); flex-shrink:0; }
@media (max-width:860px){ .fc-page .future-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .fc-page .future-grid{ grid-template-columns:1fr; } }

/* ---------- HOW IT WORKS ---------- */
.fc-page .flow-row{ display:flex; align-items:flex-start; gap:0; }
.fc-page .flow-step{ flex:1; text-align:center; padding:0 12px; position:relative; }
.fc-page .flow-num{ width:52px; height:52px; border-radius:50%; background:var(--red); color:#fff; font-family:var(--font-main); font-weight:700; font-size:19px; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.fc-page .flow-step h4{ font-size:16px; margin-bottom:8px; }
.fc-page .flow-step p{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; }
.fc-page .flow-arrow{ flex:0 0 auto; width:40px; display:flex; align-items:center; justify-content:center; padding-top:26px; color:var(--green); }
.fc-page .flow-arrow svg{ animation:fcArrowPulse 2.2s ease-in-out infinite; }
@keyframes fcArrowPulse{ 0%,100%{ transform:translateX(0); opacity:.6; } 50%{ transform:translateX(4px); opacity:1; } }
@media (max-width:860px){
  .fc-page .flow-row{ flex-direction:column; gap:28px; }
  .fc-page .flow-arrow{ width:auto; padding:0; transform:rotate(90deg); }
}

/* ---------- AHA MOMENT ---------- */
.fc-page .aha-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.fc-page .aha-checklist{ margin-top:26px; display:flex; flex-direction:column; gap:12px; }
.fc-page .aha-checklist li{ display:flex; align-items:center; gap:10px; font-size:14.5px; font-weight:600; color:var(--green-deep); }
.fc-page .aha-checklist svg{ width:18px; height:18px; color:var(--wa); flex-shrink:0; }
@media (max-width:860px){ .fc-page .aha-grid{ grid-template-columns:1fr; } }

/* ---------- FUNNEL (FOR PROVIDERS) ---------- */
.fc-page .funnel-row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0; margin-bottom:56px; }
.fc-page .funnel-node{
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:999px;
  padding:11px 20px; font-size:13px; font-weight:700; color:#fff; white-space:nowrap;
}
.fc-page .funnel-node.hi{ background:var(--wa); border-color:var(--wa); color:#fff; }
.fc-page .funnel-arrow-sm{ width:28px; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.4); }
@media (max-width:760px){ .fc-page .funnel-row{ flex-direction:column; gap:10px; } .fc-page .funnel-arrow-sm{ transform:rotate(90deg); width:auto; padding:2px 0; } }

.fc-page .lead-card{
  background:#fff; border-radius:var(--radius-l); padding:30px; max-width:420px; margin:0 auto;
  box-shadow:0 30px 60px -25px rgba(0,0,0,0.4);
}
.fc-page .lead-card-tag{ font-family:var(--font-main); font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:16px; }
.fc-page .lead-card h4{ font-size:18px; margin-bottom:18px; }
.fc-page .lead-row{ display:flex; justify-content:space-between; padding:10px 0; border-top:1px solid var(--line); font-size:13.5px; gap:12px; }
.fc-page .lead-row:last-child{ border-bottom:1px solid var(--line); }
.fc-page .lead-row span:first-child{ color:var(--ink-soft); }
.fc-page .lead-row span:last-child{ font-family:var(--font-main); font-weight:700; color:var(--ink); text-align:right; }
.fc-page .lead-row.ok span:last-child{ color:var(--wa-dark); }
.fc-page .lead-card-foot{ margin-top:16px; font-size:11.5px; color:var(--ink-soft); text-align:center; font-style:italic; }

.fc-page .benefit-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:56px; }
.fc-page .benefit-chip{ background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14); border-radius:var(--radius-m); padding:20px; }
.fc-page .benefit-chip svg{ width:22px; height:22px; color:var(--wa); margin-bottom:12px; }
.fc-page .benefit-chip p{ font-size:13.5px; color:rgba(255,255,255,0.85); font-weight:600; line-height:1.4; }
@media (max-width:900px){ .fc-page .benefit-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .fc-page .benefit-grid{ grid-template-columns:1fr; } }

/* ---------- WHY FINCHAT HUB ---------- */
.fc-page .pillar-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.fc-page .pillar{ text-align:center; padding:8px; }
.fc-page .pillar-icon{ width:56px; height:56px; border-radius:16px; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.fc-page .pillar h4{ font-size:16.5px; margin-bottom:8px; }
.fc-page .pillar p{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; }
@media (max-width:900px){ .fc-page .pillar-grid{ grid-template-columns:1fr 1fr; row-gap:34px; } }
@media (max-width:520px){ .fc-page .pillar-grid{ grid-template-columns:1fr; } }

/* ---------- SOUTHERN AFRICA MAP ---------- */
.fc-page .map-wrap{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:center; }
.fc-page .map-svg-holder{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-l); padding:20px; box-shadow:var(--shadow-soft); }
.fc-page .map-caption{ text-align:center; font-size:11.5px; color:var(--ink-soft); margin-top:10px; font-style:italic; }
.fc-page .on-dark .map-caption{ color:rgba(255,255,255,0.5); }
.fc-page .map-node circle{ transition:r .2s ease; }
.fc-page .map-node.current circle.pulse{ animation:fcMapPulse 2.6s ease-in-out infinite; }
@keyframes fcMapPulse{ 0%{ opacity:0.5; r:9;} 70%{ opacity:0; r:20;} 100%{ opacity:0; r:20;} }
.fc-page .map-legend{ display:flex; flex-direction:column; gap:22px; }
.fc-page .legend-item{ display:flex; gap:14px; align-items:flex-start; }
.fc-page .legend-dot{ width:14px; height:14px; border-radius:50%; margin-top:4px; flex-shrink:0; }
.fc-page .legend-dot.current{ background:var(--red); }
.fc-page .legend-dot.future{ background:transparent; border:2px dashed var(--green); }
.fc-page .legend-item h4{ font-size:15px; margin-bottom:4px; }
.fc-page .legend-item p{ font-size:13.5px; color:var(--ink-soft); line-height:1.55; }
@media (max-width:900px){ .fc-page .map-wrap{ grid-template-columns:1fr; } }
@media (max-width:560px){
  /* the SVG map's text labels scale down with the whole graphic and become illegible on
     narrow phones; the same country names already exist as real, legible HTML in the
     legend beside it, so the map is safe to treat as purely decorative here. */
  .fc-page .map-svg-holder svg text{ display:none; }
}

/* ---------- VISION ---------- */
.fc-page .vision-words{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:34px; }
.fc-page .vision-words span{
  font-family:var(--font-main); font-size:clamp(18px,2.4vw,26px); font-weight:700; color:var(--green-deep);
  padding:8px 4px; position:relative;
}
.fc-page .vision-words span:not(:last-child)::after{ content:"·"; color:var(--green); margin-left:12px; }

/* ---------- FAQ ---------- */
.fc-page .accordion{ border-top:1px solid rgba(255,255,255,0.12); }
.fc-page .acc-item{ border-bottom:1px solid rgba(255,255,255,0.12); }
.fc-page .acc-q{ width:100%; display:flex; justify-content:space-between; align-items:center; padding:22px 4px; text-align:left; font-size:16px; font-weight:700; color:#fff; }
.fc-page .acc-q .plus{ width:20px; height:20px; flex-shrink:0; position:relative; }
.fc-page .acc-q .plus::before, .fc-page .acc-q .plus::after{ content:""; position:absolute; background:#fff; border-radius:2px; transition:transform .3s var(--ease); }
.fc-page .acc-q .plus::before{ left:0; top:50%; width:100%; height:2px; transform:translateY(-50%); }
.fc-page .acc-q .plus::after{ top:0; left:50%; width:2px; height:100%; transform:translateX(-50%); }
.fc-page .acc-item.open .acc-q .plus::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
.fc-page .acc-a{ max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
.fc-page .acc-a-inner{ padding:0 4px 22px; font-size:14.5px; color:rgba(255,255,255,0.62); line-height:1.65; max-width:640px; }

/* ---------- WHATSAPP COUNTRY-CHOICE MODAL ---------- */
.fc-page .fc-modal-overlay{
  position:fixed; inset:0; z-index:300; background:rgba(10,8,8,0.72); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; pointer-events:none; transition:opacity .2s ease;
}
.fc-page .fc-modal-overlay.open{ opacity:1; pointer-events:auto; }
.fc-page .fc-modal{
  background:var(--white); border-radius:var(--radius-l); padding:32px; max-width:380px; width:100%;
  box-shadow:0 30px 70px -20px rgba(0,0,0,0.5); position:relative; transform:translateY(10px) scale(.98); transition:transform .2s ease;
}
.fc-page .fc-modal-overlay.open .fc-modal{ transform:translateY(0) scale(1); }
.fc-page .fc-modal-close{
  position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-size:18px; line-height:1;
}
.fc-page .fc-modal-close:hover{ background:var(--green-light); color:var(--ink); }
.fc-page .fc-modal h3{ font-size:20px; margin-bottom:6px; padding-right:24px; }
.fc-page .fc-modal p{ font-size:14px; color:var(--ink-soft); line-height:1.55; margin-bottom:22px; }
.fc-page .fc-country-options{ display:flex; flex-direction:column; gap:12px; }
.fc-page .fc-country-btn{
  display:flex; align-items:center; gap:12px; padding:16px 18px; border-radius:var(--radius-m);
  border:1.5px solid var(--line); background:var(--paper); font-size:15.5px; font-weight:700; color:var(--ink);
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.fc-page .fc-country-btn .flag{ font-size:22px; }
.fc-page .fc-country-btn:hover{ border-color:var(--wa); background:#f0fbf4; transform:translateY(-1px); }

/* ---------- CLOSING CTA ---------- */
.fc-page .cta-band{ background:var(--green-deep); background-image:radial-gradient(700px 320px at 50% 0%, rgba(254,0,0,0.28), transparent 70%); color:#fff; padding:88px 0; text-align:center; }
.fc-page .cta-band h2{ color:#fff; font-size:clamp(28px,4vw,44px); max-width:700px; margin:0 auto 16px; }
.fc-page .cta-band p{ color:rgba(255,255,255,0.7); font-size:16px; max-width:460px; margin:0 auto 30px; }
.fc-page .cta-band .btn-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ---------- FOOTER ---------- */
.fc-page footer{ background:var(--charcoal); color:rgba(255,255,255,0.62); padding:60px 0 28px; }
.fc-page .footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,0.1); }
.fc-page .footer-logo{ display:flex; align-items:center; gap:10px; color:#fff; font-family:var(--font-main); font-weight:700; font-size:19px; margin-bottom:12px; }
.fc-page .footer-logo .logo-mark{ background:var(--red); }
.fc-page .footer-col h4{ color:#fff; font-size:12.5px; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:16px; font-family:var(--font-main); font-weight:700; }
.fc-page .footer-col ul{ display:flex; flex-direction:column; gap:10px; }
.fc-page .footer-col a{ font-size:14px; }
.fc-page .footer-col a:hover{ color:#fff; }
.fc-page .footer-disclaimer{ font-size:12.5px; line-height:1.7; color:rgba(255,255,255,0.5); max-width:900px; margin-top:26px; }
.fc-page .footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:22px; flex-wrap:wrap; gap:12px; font-size:12.5px; }

/* ---------- MISC ---------- */
.fc-page .float-wa{
  position:fixed; bottom:22px; right:22px; z-index:90; width:56px; height:56px; border-radius:50%;
  background:var(--wa); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 24px -8px rgba(37,211,102,0.6); transition:transform .25s ease;
}
.fc-page .float-wa:hover{ transform:scale(1.08); }
.fc-page .float-wa svg{ width:26px; height:26px; }
@media (max-width:640px){ .fc-page .float-wa{ bottom:16px; right:16px; width:50px; height:50px; } }
