@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/inter-800.woff2') format('woff2')}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
/* ============================================================
   Plataforma Nacional Horizontes da Educação — design premium
============================================================ */
:root{
  --santander:#ec0000; --santander-dark:#c10000;
  --plum:#9b2156; --plum-2:#b8336e; --plum-light:#c45b8a; --plum-pale:#f6e9f0; --plum-ink:#5e0f33;
  --ink:#14142b; --ink-2:#2a2a42; --muted:#64647a; --faint:#9a9ab0;
  --line:#e9e9f1; --bg:#fafafc; --white:#fff; --cream:#fcfbfd;
  --shadow-s:0 1px 2px rgba(20,20,50,.06),0 2px 8px rgba(20,20,50,.05);
  --shadow-m:0 4px 14px rgba(20,20,50,.08),0 12px 32px rgba(20,20,50,.07);
  --shadow-l:0 10px 30px rgba(20,20,50,.12),0 30px 70px rgba(20,20,50,.12);
  --radius:16px; --radius-s:11px; --radius-l:24px;
  --max:1240px;
  --t:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;width:100%}

/* ===== Reveal on scroll ===== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--t),transform .7s var(--t)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

/* ===== Demo bar ===== */
.demobar{background:linear-gradient(90deg,#14142b,#2a2a42);color:#fff;font-size:12.5px;text-align:center;padding:8px 14px;letter-spacing:.2px;position:relative;z-index:100}
.demobar b{color:#ffc9c9;font-weight:700}

/* ===== Header ===== */
header.top{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(233,233,241,.8);transition:box-shadow .3s}
header.top.scrolled{box-shadow:var(--shadow-s)}
.topin{display:flex;align-items:center;gap:20px;height:70px}
.brand{display:flex;align-items:center;gap:12px;cursor:pointer}
.flame{width:38px;height:38px;border-radius:11px;background:linear-gradient(140deg,var(--santander),var(--plum));display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;box-shadow:0 4px 12px rgba(155,33,86,.35);flex-shrink:0}
.brand .bn{font-weight:800;font-size:16.5px;line-height:1.1;letter-spacing:-.3px}
.brand .bn small{display:block;font-weight:500;font-size:11px;color:var(--muted);letter-spacing:.2px;margin-top:1px}
nav.main{display:flex;gap:2px;margin-left:auto}
nav.main button{background:none;border:none;font:inherit;font-size:14.5px;font-weight:600;color:var(--muted);padding:9px 15px;border-radius:10px;cursor:pointer;transition:.18s var(--t)}
nav.main button:hover{background:var(--bg);color:var(--ink)}
nav.main button.active{background:var(--plum-pale);color:var(--plum)}
.btn-login{background:var(--ink);color:#fff!important;border:none;font:inherit;font-weight:700;font-size:14px;padding:10px 19px;border-radius:11px;cursor:pointer;transition:.2s var(--t)}
.btn-login:hover{background:var(--plum);transform:translateY(-1px)}
.burger{display:none;background:none;border:none;font-size:24px;cursor:pointer;margin-left:auto;color:var(--ink)}

/* ===== Views ===== */
.view{display:none}
.view.show{display:block;animation:viewin .5s var(--t)}
@keyframes viewin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.section{padding:64px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--plum);font-weight:800;font-size:11.5px;letter-spacing:1.6px;text-transform:uppercase}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--santander);border-radius:2px}
h1.big{font-size:clamp(32px,5.2vw,60px);line-height:1.02;font-weight:800;letter-spacing:-1.6px}
h2.sec{font-size:clamp(24px,3.2vw,36px);font-weight:800;letter-spacing:-.9px;line-height:1.1}
.lead{color:var(--muted);font-size:clamp(15px,1.6vw,18px);line-height:1.6}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:34px}
.section-head .lead{max-width:560px;margin-top:12px}

.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;padding:13px 24px;border-radius:12px;border:none;cursor:pointer;transition:.22s var(--t);white-space:nowrap}
.btn-primary{background:var(--santander);color:#fff;box-shadow:0 6px 18px rgba(236,0,0,.28)}
.btn-primary:hover{background:var(--santander-dark);transform:translateY(-2px);box-shadow:0 10px 26px rgba(236,0,0,.34)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--plum);transform:translateY(-2px)}
.btn-ghost{background:var(--white);color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--plum-light);color:var(--plum);transform:translateY(-2px)}

/* ===== HERO ===== */
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 120% at 85% 0%,#fbeef4 0%,#fdf6f9 38%,#ffffff 70%)}
.hero::before{content:"";position:absolute;top:-180px;right:-160px;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(155,33,86,.16),transparent 62%);pointer-events:none}
.hero::after{content:"";position:absolute;bottom:-220px;left:-160px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(236,0,0,.08),transparent 62%);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;padding:68px 24px 76px;position:relative;z-index:2}
.hero h1{margin:16px 0 18px}
.hero h1 .hl{background:linear-gradient(120deg,var(--plum),var(--santander));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .lead{max-width:520px}
.hero-cta{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.hero-stats{display:flex;gap:30px;margin-top:38px;flex-wrap:wrap}
.hero-stats .s b{font-size:32px;font-weight:800;color:var(--plum);display:block;letter-spacing:-1.4px;line-height:1}
.hero-stats .s span{font-size:12.5px;color:var(--muted);font-weight:600;margin-top:4px;display:block}

/* hero map card */
.heroart{position:relative}
.mapcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-l);padding:20px;position:relative;z-index:2}
.mapcard .mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.mapcard .mh b{font-size:13px;font-weight:700}
.mapcard .mh .hint{font-size:12px;font-weight:700;color:var(--plum);min-height:16px}
.mapwrap{display:block;padding:6px 0}
.ptmap-grid{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:stretch}
.pt-main{width:100%;height:auto;max-height:360px}
.pt-islands{display:flex;flex-direction:column;justify-content:center;gap:12px}
.pt-inset{display:flex;flex-direction:column;align-items:center;gap:3px}
.pt-inset span{font-size:9.5px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.5px}
.pt-inset svg{width:64px;height:44px}
#ptmap path{stroke:#fff;stroke-width:.8;cursor:pointer;transition:fill .25s,transform .2s var(--t);transform-origin:center;transform-box:fill-box}
#ptmap path:hover{filter:brightness(1.06);transform:scale(1.04)}
.pt-inset svg path{stroke-width:1.5}
.maplegend{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:var(--muted);margin-top:6px}
.swatch{width:90px;height:8px;border-radius:5px;background:linear-gradient(90deg,#f0dbe7,var(--plum))}
.float-badge{position:absolute;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-m);padding:11px 15px;display:flex;align-items:center;gap:10px;z-index:3}
.float-badge .ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff}
.float-badge b{font-size:14px;font-weight:800;display:block;line-height:1}
.float-badge span{font-size:11px;color:var(--muted);font-weight:600}
.fb-1{top:-18px;left:-26px;animation:floaty 5s ease-in-out infinite}
.fb-2{bottom:24px;right:-26px;animation:floaty 6s ease-in-out infinite .8s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ===== Trust strip ===== */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.trust .wrap{display:flex;align-items:center;gap:30px;padding:18px 24px;flex-wrap:wrap}
.trust .lbl{font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--faint);white-space:nowrap}
.trust .logos{display:flex;gap:26px;flex-wrap:wrap;align-items:center;flex:1}
.trust .logos span{font-weight:800;font-size:14.5px;color:#aaa;letter-spacing:-.3px;transition:.2s}
.trust .logos span:hover{color:var(--plum)}

/* ===== Commitment grid ===== */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;cursor:pointer;transition:.28s var(--t);position:relative;overflow:hidden}
.ccard::after{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:var(--cc);transform:scaleY(0);transform-origin:bottom;transition:transform .3s var(--t)}
.ccard:hover{transform:translateY(-5px);box-shadow:var(--shadow-m);border-color:transparent}
.ccard:hover::after{transform:scaleY(1)}
.ccard .num{width:44px;height:44px;border-radius:13px;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:14px;background:var(--cc);box-shadow:0 5px 14px var(--ccs)}
.ccard h3{font-size:16px;font-weight:700;line-height:1.25;margin-bottom:7px;letter-spacing:-.2px}
.ccard p{font-size:13px;color:var(--muted);line-height:1.5}
.ccard .tag{position:absolute;top:18px;right:18px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:4px 9px;border-radius:7px;background:var(--bg);color:var(--muted)}
.ccard .count{margin-top:15px;font-size:12.5px;font-weight:800;color:var(--cc);display:flex;align-items:center;gap:5px}
.ccard.focus{border:2px solid var(--plum);background:linear-gradient(180deg,#fff,var(--plum-pale))}
.ccard.focus .tag{background:var(--plum);color:#fff}

/* ===== Directory ===== */
.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-s);margin-bottom:20px;position:sticky;top:82px;z-index:40}
.search{flex:1;min-width:230px;display:flex;align-items:center;gap:9px;background:var(--bg);border:1.5px solid var(--line);border-radius:11px;padding:10px 14px;transition:.2s}
.search:focus-within{border-color:var(--plum-light);background:#fff}
.search input{border:none;background:none;font:inherit;font-size:14.5px;width:100%;outline:none}
.fselect{font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:10px 13px;cursor:pointer;outline:none;transition:.2s}
.fselect:hover,.fselect:focus{border-color:var(--plum-light)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.chip{font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:22px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:.18s var(--t);color:var(--muted)}
.chip:hover{border-color:var(--plum-light);color:var(--plum);transform:translateY(-1px)}
.chip.on{background:var(--plum);border-color:var(--plum);color:#fff;box-shadow:0 4px 12px rgba(155,33,86,.25)}
.resultbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.resultcount{font-size:13.5px;color:var(--muted);font-weight:600}
.resultcount b{color:var(--ink)}

.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.icard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.28s var(--t);cursor:pointer;display:flex;flex-direction:column;position:relative}
.icard:hover{transform:translateY(-5px);box-shadow:var(--shadow-m);border-color:transparent}
.icard .banner{height:6px;width:100%;background:linear-gradient(90deg,var(--g1),var(--g2))}
.icard .ctop{padding:18px 18px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.itype{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;padding:5px 10px;border-radius:8px}
.it-org{background:#e7f0ff;color:#2b62c4}.it-proj{background:#e3f6ec;color:#1f8b56}
.it-evt{background:#fff1dc;color:#b9791b}.it-pub{background:#efeaff;color:#5a48c9}
.icard h4{font-size:17px;font-weight:700;padding:12px 18px 4px;line-height:1.25;letter-spacing:-.3px}
.icard .desc{font-size:13px;color:var(--muted);padding:0 18px 14px;line-height:1.5;flex:1}
.icard .meta{padding:0 18px 16px;display:flex;gap:13px;font-size:11.5px;color:var(--muted);font-weight:600;flex-wrap:wrap}
.icard .meta span{display:flex;align-items:center;gap:4px}
.icard .cdots{padding:13px 18px;border-top:1px solid var(--line);display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:var(--cream)}
.cdot{width:24px;height:24px;border-radius:8px;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.verified{margin-left:auto;font-size:11px;font-weight:700;display:flex;align-items:center;gap:4px}
.v-yes{color:#1f8b56}.v-no{color:#b9791b}
.empty{grid-column:1/-1;padding:60px 20px;text-align:center;color:var(--muted)}
.empty .ic{font-size:42px;opacity:.4;margin-bottom:10px}

/* ===== Dashboard ===== */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:16px;margin-bottom:28px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-s);position:relative;overflow:hidden}
.kpi::before{content:"";position:absolute;right:-18px;top:-18px;width:70px;height:70px;border-radius:50%;background:var(--plum-pale);opacity:.7}
.kpi b{font-size:38px;font-weight:800;letter-spacing:-2px;display:block;color:var(--plum);position:relative}
.kpi span{font-size:12.5px;color:var(--muted);font-weight:600;position:relative}
.kpi .trend{font-size:11.5px;font-weight:700;color:#1f8b56;margin-top:5px;position:relative}
.dashrow{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-bottom:20px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-s)}
.panel h3{font-size:15.5px;font-weight:700;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;letter-spacing:-.2px}
.panel h3 small{font-size:11.5px;font-weight:600;color:var(--faint)}
.bar{display:flex;align-items:center;gap:12px;margin-bottom:11px;font-size:12.5px}
.bar .lbl{width:155px;color:var(--muted);font-weight:600;text-align:right;flex-shrink:0;font-size:11.5px;line-height:1.2}
.bar .track{flex:1;height:22px;background:var(--bg);border-radius:7px;overflow:hidden}
.bar .fill{height:100%;border-radius:7px;display:flex;align-items:center;justify-content:flex-end;padding-right:9px;color:#fff;font-size:10.5px;font-weight:800;min-width:26px;width:0;transition:width 1.1s var(--t)}
.powerbi{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#b9791b;background:#fff6e6;padding:7px 13px;border-radius:9px;border:1px solid #f0dca0}
.note{background:#fff8e6;border:1px solid #f0dca0;border-radius:12px;padding:13px 17px;font-size:13px;color:#7a5e10;margin-top:18px;display:flex;gap:10px;line-height:1.5}

/* ===== Submit ===== */
.steps{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.step{flex:1;min-width:130px;display:flex;align-items:center;gap:10px;padding:15px 17px;background:#fff;border:1.5px solid var(--line);border-radius:13px;font-size:13.5px;font-weight:700;color:var(--muted);transition:.25s var(--t)}
.step .sn{width:26px;height:26px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;flex-shrink:0;transition:.25s}
.step.active{border-color:var(--plum);color:var(--plum);box-shadow:0 6px 16px rgba(155,33,86,.12)}
.step.active .sn{background:var(--plum);color:#fff}
.step.done{border-color:#1f8b56;color:#1f8b56}
.step.done .sn{background:#1f8b56;color:#fff}
.formcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-m);max-width:780px}
.frow{margin-bottom:18px}
.frow label{display:block;font-size:12.5px;font-weight:700;margin-bottom:7px}
.frow input,.frow select,.frow textarea{width:100%;font:inherit;font-size:14px;padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;outline:none;background:var(--bg);transition:.2s;resize:vertical}
.frow input:focus,.frow select:focus,.frow textarea:focus{border-color:var(--plum-light);background:#fff}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.commit-pick{display:flex;flex-wrap:wrap;gap:8px}
.cpill{font-size:11.5px;font-weight:600;padding:7px 12px;border-radius:20px;border:1.5px solid var(--line);cursor:pointer;color:var(--muted);transition:.18s var(--t)}
.cpill:hover{border-color:var(--plum-light);color:var(--plum)}
.cpill.on{background:var(--plum);border-color:var(--plum);color:#fff}
.sub-done{display:none;text-align:center;padding:40px 16px}
.sub-done .big-check{width:80px;height:80px;border-radius:50%;background:linear-gradient(140deg,#27c07a,#1f8b56);display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;margin:0 auto 18px;box-shadow:0 12px 30px rgba(31,139,86,.3);animation:pop .5s var(--t)}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}

/* ===== Admin ===== */
.wf{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px}
.wfstate{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center;box-shadow:var(--shadow-s)}
.wfstate b{font-size:28px;display:block;font-weight:800;letter-spacing:-1px}
.wfstate span{font-size:11.5px;color:var(--muted);font-weight:600}
.queue{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-s);overflow:hidden}
.qrow{display:flex;align-items:center;gap:16px;padding:17px 20px;border-bottom:1px solid var(--line);transition:.2s;flex-wrap:wrap}
.qrow:last-child{border:none}.qrow:hover{background:var(--cream)}
.qstatus{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:5px 10px;border-radius:8px;flex-shrink:0}
.qs-pend{background:#fff1dc;color:#b9791b}.qs-rev{background:#e7f0ff;color:#2b62c4}.qs-appr{background:#e3f6ec;color:#1f8b56}
.qmeta{flex:1;min-width:160px}.qmeta b{font-size:14.5px;font-weight:700}.qmeta span{font-size:12px;color:var(--muted);display:block}
.qactions{display:flex;gap:8px;flex-wrap:wrap}
.qbtn{font:inherit;font-size:12px;font-weight:700;padding:8px 14px;border-radius:9px;border:none;cursor:pointer;transition:.18s}
.qb-appr{background:#e3f6ec;color:#1f8b56}.qb-appr:hover{background:#1f8b56;color:#fff}
.qb-rej{background:#fde8e8;color:#c4302b}.qb-rej:hover{background:#c4302b;color:#fff}
.qb-rev{background:var(--bg);color:var(--muted)}.qb-rev:hover{background:var(--ink);color:#fff}

/* ===== how it works ===== */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:f}
.fstep{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative;transition:.28s var(--t)}
.fstep:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}
.fstep .fi{width:50px;height:50px;border-radius:14px;background:var(--plum-pale);display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:14px}
.fstep h4{font-size:16px;font-weight:700;margin-bottom:7px}
.fstep p{font-size:13px;color:var(--muted);line-height:1.5}
.fstep .fn{position:absolute;top:20px;right:22px;font-size:34px;font-weight:800;color:var(--line)}

/* ===== CTA band ===== */
.ctaband{background:linear-gradient(135deg,var(--plum-ink),var(--plum) 55%,var(--santander));border-radius:var(--radius-l);padding:54px 48px;color:#fff;text-align:center;position:relative;overflow:hidden}
.ctaband::before{content:"";position:absolute;top:-80px;right:-60px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}
.ctaband::after{content:"";position:absolute;bottom:-100px;left:-40px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.06)}
.ctaband h2{font-size:clamp(24px,3.4vw,38px);font-weight:800;letter-spacing:-1px;position:relative;margin-bottom:12px}
.ctaband p{font-size:16px;opacity:.92;max-width:540px;margin:0 auto 26px;position:relative}
.ctaband .btn{position:relative}
.btn-white{background:#fff;color:var(--plum)}.btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.btn-outline-w{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}.btn-outline-w:hover{background:rgba(255,255,255,.12)}

/* ===== Modal ===== */
.modal{position:fixed;inset:0;background:rgba(20,20,45,.55);backdrop-filter:blur(4px);z-index:120;display:none;align-items:center;justify-content:center;padding:22px}
.modal.show{display:flex;animation:viewin .25s}
.modalcard{background:#fff;border-radius:var(--radius-l);max-width:620px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-l);animation:pop .35s var(--t)}
.modalcard .mbanner{height:8px;background:linear-gradient(90deg,var(--g1),var(--g2))}
.modalcard .mhead{padding:24px 28px 0;display:flex;justify-content:space-between;align-items:flex-start}
.mclose{background:var(--bg);border:none;width:36px;height:36px;border-radius:10px;cursor:pointer;font-size:18px;color:var(--muted);transition:.2s;flex-shrink:0}
.mclose:hover{background:var(--ink);color:#fff}
.modalcard .mbody{padding:8px 28px 30px}
.modalcard h2{font-size:25px;font-weight:800;margin:10px 0;letter-spacing:-.6px;line-height:1.15}
.mfield{margin:16px 0;font-size:14.5px}
.mfield .k{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--faint);font-weight:800;margin-bottom:4px}
.mgrid{display:flex;gap:34px;flex-wrap:wrap}

/* ===== Buddy ===== */
.buddy-fab{position:fixed;bottom:28px;right:28px;width:62px;height:62px;border-radius:50%;background:linear-gradient(140deg,var(--plum),var(--santander));color:#fff;border:none;cursor:pointer;box-shadow:0 10px 30px rgba(155,33,86,.45);font-size:26px;z-index:110;transition:.25s var(--t);display:flex;align-items:center;justify-content:center}
.buddy-fab:hover{transform:scale(1.1) rotate(4deg)}
.buddy-fab .pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--plum);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
.buddy-panel{position:fixed;bottom:104px;right:28px;width:372px;max-width:calc(100vw - 36px);height:520px;max-height:calc(100vh - 140px);background:#fff;border-radius:22px;box-shadow:var(--shadow-l);z-index:110;display:none;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
.buddy-panel.show{display:flex;animation:pop .3s var(--t)}
.buddy-head{background:linear-gradient(135deg,var(--plum),var(--santander));color:#fff;padding:18px 20px;display:flex;align-items:center;gap:12px}
.buddy-head .av{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:19px}
.buddy-head b{font-size:15px;font-weight:800}.buddy-head span{font-size:11.5px;opacity:.9;display:block}
.buddy-body{flex:1;overflow-y:auto;padding:18px;background:var(--bg);display:flex;flex-direction:column;gap:12px}
.bmsg{max-width:86%;padding:12px 15px;border-radius:16px;font-size:13.5px;line-height:1.5;animation:viewin .3s}
.bmsg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}
.bmsg.user{background:var(--plum);color:#fff;align-self:flex-end;border-bottom-right-radius:5px}
.bmsg.bot b{color:var(--plum)}
.bsugg{display:flex;flex-direction:column;gap:8px;margin-top:2px}
.bsugg button{font:inherit;text-align:left;font-size:12.5px;font-weight:600;color:var(--plum);background:#fff;border:1.5px solid var(--plum-pale);border-radius:12px;padding:10px 13px;cursor:pointer;transition:.18s var(--t)}
.bsugg button:hover{background:var(--plum-pale);transform:translateX(3px)}
.buddy-foot{padding:13px;border-top:1px solid var(--line);display:flex;gap:9px;background:#fff}
.buddy-foot input{flex:1;font:inherit;font-size:13.5px;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;outline:none;transition:.2s}
.buddy-foot input:focus{border-color:var(--plum-light)}
.buddy-foot button{background:var(--plum);color:#fff;border:none;border-radius:12px;width:44px;cursor:pointer;font-size:16px;transition:.2s}
.buddy-foot button:hover{background:var(--plum-ink)}
.typing{display:flex;gap:4px;padding:14px 16px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--faint);animation:tdot 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes tdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* ===== Footer ===== */
footer{background:var(--ink);color:#fff;padding:54px 0 30px;margin-top:20px}
footer .ftop{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
footer .brand .bn,footer .brand .bn small{color:#fff}
footer h5{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--faint);margin-bottom:14px;font-weight:800}
footer a,footer p{color:#c7c7d6;font-size:13.5px;line-height:1.9;display:block;transition:.2s}
footer a:hover{color:#fff}
footer .fbot{padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--faint)}
footer .desc{color:#c7c7d6;font-size:13.5px;line-height:1.7;margin-top:14px;max-width:300px}

/* ===== Mobile ===== */
@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr;padding:44px 24px 56px}
  .heroart{order:-1;max-width:440px;margin:0 auto}
  .dashrow{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
  footer .ftop{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  nav.main{display:none}
  .burger{display:block}
  .topin{height:62px}
  .toolbar{position:static}
  .flow{grid-template-columns:1fr}
  .ctaband{padding:40px 24px}
  footer .ftop{grid-template-columns:1fr}
  .hero-stats{gap:22px}
  .mgrid{gap:20px}
  .ptmap-grid{grid-template-columns:1fr}
  .pt-main{max-height:none}
  .pt-islands{flex-direction:row;justify-content:center;gap:24px;margin-top:4px}
  .pt-inset svg{width:72px;height:50px}
  nav.mobile{display:none;flex-direction:column;gap:4px;padding:10px 24px 18px;background:#fff;border-bottom:1px solid var(--line)}
  nav.mobile.show{display:flex}
  nav.mobile button{background:var(--bg);border:none;font:inherit;font-size:15px;font-weight:600;color:var(--ink);padding:13px 16px;border-radius:11px;text-align:left;cursor:pointer}
  nav.mobile button.active{background:var(--plum-pale);color:var(--plum)}
}
@media(min-width:681px){nav.mobile{display:none}}
