/* ==========================================================
   Neurvixa AI — shared site stylesheet (inner pages)
   Brand tokens match the homepage.
   ========================================================== */
/* Design tokens live in tokens.css — load that first. */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--text);background:#fff;line-height:1.65;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;display:block;}
button{border:none;cursor:pointer;font-family:inherit;}
ul{list-style:none;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── SKIP LINK ── */
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--blue);padding:10px 18px;z-index:9999;border-radius:0 0 8px 0;font-weight:700;}
.skip:focus{left:0;}

/* ── NAV ── */
.nv{position:sticky;top:0;z-index:600;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.nv-in{max-width:var(--wrap);margin:0 auto;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;}
/* The logo artwork already carries the "Neurvixa AI" wordmark inside it, so no
   separate text sits beside it. Size and circular crop match the live site. */
.nv-logo{display:flex;align-items:center;flex-shrink:0;}
.nv-logo img{width:70px;height:70px;border-radius:50%;object-fit:cover;display:block;}
.nv-menu{display:flex;align-items:center;gap:4px;}
.nv-item{position:relative;}
.nv-item>a{display:flex;align-items:center;gap:5px;font-size:.87rem;font-weight:600;color:#475569;padding:9px 13px;border-radius:9px;transition:all .2s;white-space:nowrap;}
.nv-item>a:hover,.nv-item>a[aria-current="page"]{color:var(--blue);background:rgba(21,101,192,.07);}
.nv-item>a .car{font-size:.6rem;opacity:.6;transition:transform .2s;}
.nv-item:hover>a .car{transform:rotate(180deg);}
.nv-drop{position:absolute;top:calc(100% + 6px);left:0;min-width:290px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 48px rgba(15,23,42,.14);padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s;}
.nv-item:hover .nv-drop,.nv-item:focus-within .nv-drop{opacity:1;visibility:visible;transform:translateY(0);}
.nv-drop a{display:block;padding:9px 12px;border-radius:9px;transition:background .15s;}
.nv-drop a:hover{background:var(--bg);}
.nv-drop b{display:block;font-size:.84rem;font-weight:700;color:var(--text);}
.nv-drop small{display:block;font-size:.73rem;color:var(--muted);line-height:1.45;margin-top:2px;}
.nv-cta{padding:10px 20px;border-radius:50px;background:var(--grad);color:#fff;font-weight:700;font-size:.83rem;box-shadow:0 4px 16px rgba(21,101,192,.3);transition:all .25s;white-space:nowrap;}
.nv-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(21,101,192,.4);}
.nv-burger{display:none;font-size:1.5rem;background:none;color:var(--blue);padding:4px 8px;line-height:1;}

/* ── NAV: hero-overlay variant (homepage) ──
   Same component, same markup — it just floats transparently over the hero
   image and turns solid once the page is scrolled. */
.nv--hero{position:fixed;left:0;right:0;top:0;background:transparent;backdrop-filter:none;border-bottom:none;transition:background .35s,box-shadow .35s,padding .35s;}
.nv--hero .nv-in{padding-top:16px;padding-bottom:16px;transition:padding .35s;}
.nv--hero .nv-item>a{color:rgba(255,255,255,.88);}
.nv--hero .nv-item>a:hover,.nv--hero .nv-item>a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.14);}
.nv--hero .nv-cta{background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.4);box-shadow:none;}
.nv--hero .nv-cta:hover{background:#fff;color:var(--blue);}
.nv--hero .nv-burger{color:#fff;}
/* Dropdown panels stay light — they sit on white, not on the hero */
.nv--hero .nv-drop a b{color:var(--text);}
.nv--hero .nv-drop a small{color:var(--muted);}

/* Scrolled state */
.nv--hero.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(20px);box-shadow:var(--shadow-nav);}
.nv--hero.scrolled .nv-in{padding-top:11px;padding-bottom:11px;}
.nv--hero.scrolled .nv-item>a{color:#475569;}
.nv--hero.scrolled .nv-item>a:hover{color:var(--blue);background:rgba(21,101,192,.07);}
.nv--hero.scrolled .nv-cta{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 4px 16px rgba(21,101,192,.3);}
.nv--hero.scrolled .nv-burger{color:var(--blue);}
/* Once the mobile menu is open the bar must be readable whatever the scroll position */
.nv--hero.menu-open{background:rgba(255,255,255,.98);backdrop-filter:blur(20px);box-shadow:var(--shadow-nav);}
.nv--hero.menu-open .nv-burger{color:var(--blue);}

@media(max-width:1040px){
  .nv-burger{display:block;}
  .nv-logo img{width:58px;height:58px;}
  .nv-menu{position:fixed;inset:82px 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px 24px;border-bottom:1px solid var(--border);box-shadow:0 18px 40px rgba(15,23,42,.12);max-height:calc(100vh - 82px);overflow-y:auto;display:none;}
  .nv-menu.open{display:flex;}
  .nv-item>a{padding:13px 8px;font-size:.95rem;border-bottom:1px solid var(--border);border-radius:0;}
  .nv-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-radius:0;padding:4px 0 10px 12px;display:none;}
  .nv-item.open .nv-drop{display:block;}
  .nv-cta{margin-top:14px;text-align:center;}
  /* On the homepage the bar is fixed, so the panel hangs from the bar itself.
     Match its padding to the standard bar so both are exactly 82px tall and
     the panel lines up with the bottom edge. */
  .nv--hero .nv-in{padding-top:12px;padding-bottom:12px;}
  .nv--hero.scrolled .nv-in{padding-top:12px;padding-bottom:12px;}
  .nv--hero .nv-menu{top:82px;}
  .nv--hero .nv-item>a{color:#475569;}
  .nv--hero .nv-item>a:hover{color:var(--blue);background:rgba(21,101,192,.07);}
  .nv--hero .nv-cta{background:var(--grad);border-color:transparent;color:#fff;}
}

/* ── PAGE HERO ── */
.ph{background:var(--grad-deep);color:#fff;padding:64px 0 76px;position:relative;overflow:hidden;}
.ph::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:60px;background:#fff;clip-path:polygon(0 100%,100% 0,100% 100%);}
.ph-in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:0 28px;}
.crumb{font-size:.76rem;color:rgba(255,255,255,.62);margin-bottom:18px;}
.crumb a:hover{color:#fff;text-decoration:underline;}
.crumb span{opacity:.5;margin:0 6px;}
.ph-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 15px;border-radius:50px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);font-size:.74rem;font-weight:700;letter-spacing:.4px;margin-bottom:18px;}
.ph-tag i{width:7px;height:7px;border-radius:50%;background:#00e676;display:block;}
.ph h1{font-size:clamp(1.95rem,4.1vw,3.05rem);font-weight:900;line-height:1.12;letter-spacing:-1.2px;max-width:900px;}
.ph h1 em{font-style:normal;background:linear-gradient(90deg,#b2ebf2,#80deea,#4dd0e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.ph-sub{font-size:1.02rem;color:rgba(255,255,255,.85);margin-top:18px;max-width:700px;line-height:1.8;}
.ph-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.ph-facts{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;}
.ph-fact{font-size:.79rem;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:7px;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:50px;font-weight:700;font-size:.9rem;transition:all .28s;}
.btn-p{background:linear-gradient(135deg,#00bfa5,#00e5ff);color:#08243a;box-shadow:0 8px 26px rgba(0,191,165,.42);}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,191,165,.6);}
.btn-g{border:2px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08);}
.btn-g:hover{background:#fff;color:var(--blue);transform:translateY(-3px);}
.btn-b{background:var(--grad);color:#fff;box-shadow:0 8px 26px rgba(21,101,192,.32);}
.btn-b:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(21,101,192,.45);}
.btn-o{border:2px solid var(--border);color:var(--text);background:#fff;}
.btn-o:hover{border-color:var(--cyan);color:var(--blue);transform:translateY(-3px);}

/* ── SECTION ── */
.sec{padding:76px 0;}
.sec.alt{background:var(--bg);}
.sec.ink{background:var(--ink);color:rgba(255,255,255,.72);}
.sec.ink h2,.sec.ink h3{color:#fff;}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--cyan);margin-bottom:12px;}
.sec h2{font-size:clamp(1.55rem,3vw,2.3rem);font-weight:900;line-height:1.2;letter-spacing:-.8px;max-width:820px;}
.sec h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.lead{font-size:1rem;color:var(--muted);margin-top:14px;max-width:760px;line-height:1.85;}
.sec.ink .lead{color:rgba(255,255,255,.62);}
.sec h3{font-size:1.12rem;font-weight:800;margin-bottom:8px;letter-spacing:-.2px;}
.sec p+p{margin-top:14px;}
.prose p{color:#3f4a5e;line-height:1.9;max-width:820px;}
.prose p+p{margin-top:16px;}

/* ── GRIDS & CARDS ── */
.grid{display:grid;gap:20px;margin-top:38px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;transition:all .3s;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(0,191,165,.4);}
.card .ic{width:44px;height:44px;border-radius:12px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:14px;}
.card p{font-size:.88rem;color:var(--muted);line-height:1.75;}
.card a.more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.82rem;font-weight:700;color:var(--blue);}
.card a.more:hover{gap:11px;}
.sec.ink .card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);}
.sec.ink .card p{color:rgba(255,255,255,.6);}

/* ── PAIN / SOLUTION ── */
.pain{background:#fff;border:1px solid #fee2e2;border-left:4px solid #ef4444;border-radius:12px;padding:20px 22px;}
.pain b{display:block;font-size:.93rem;color:#b91c1c;margin-bottom:5px;}
.pain p{font-size:.86rem;color:var(--muted);line-height:1.7;}
.fix{background:#fff;border:1px solid #d1fae5;border-left:4px solid var(--cyan);border-radius:12px;padding:20px 22px;}
.fix b{display:block;font-size:.93rem;color:#047857;margin-bottom:5px;}
.fix p{font-size:.86rem;color:var(--muted);line-height:1.7;}

/* ── CHECK LIST ── */
.checks{display:grid;gap:11px;margin-top:22px;}
.checks li{display:flex;gap:11px;font-size:.9rem;color:#3f4a5e;line-height:1.7;align-items:flex-start;}
.checks li::before{content:'✓';flex-shrink:0;width:21px;height:21px;border-radius:50%;background:rgba(0,191,165,.13);color:#047857;font-size:.72rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:3px;}
.sec.ink .checks li{color:rgba(255,255,255,.7);}

/* ── STEPS ── */
.steps{counter-reset:s;display:grid;gap:16px;margin-top:38px;}
.step{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px 24px 78px;transition:all .3s;}
.step:hover{box-shadow:var(--shadow-lg);border-color:rgba(0,191,165,.4);}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:24px;top:24px;width:38px;height:38px;border-radius:11px;background:var(--grad);color:#fff;font-weight:900;font-size:.85rem;display:flex;align-items:center;justify-content:center;}
.step p{font-size:.89rem;color:var(--muted);line-height:1.75;}

/* ── STAT STRIP ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px;}
.stat{text-align:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 14px;}
.stat b{display:block;font-size:1.85rem;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1;}
.stat span{display:block;font-size:.76rem;color:var(--muted);margin-top:6px;font-weight:600;}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse;margin-top:30px;font-size:.88rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.tbl th{background:var(--bg);text-align:left;padding:14px 16px;font-weight:800;font-size:.79rem;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);border-bottom:1px solid var(--border);}
.tbl td{padding:14px 16px;border-bottom:1px solid var(--border);color:#3f4a5e;vertical-align:top;line-height:1.7;}
.tbl tr:last-child td{border-bottom:none;}
.tbl td:first-child{font-weight:700;color:var(--text);}
.tbl-scroll{overflow-x:auto;}

/* ── FAQ ── */
.faq{margin-top:34px;max-width:880px;}
.faq details{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:11px;overflow:hidden;transition:box-shadow .2s;}
.faq details[open]{box-shadow:var(--shadow);border-color:rgba(0,191,165,.35);}
.faq summary{padding:17px 48px 17px 20px;font-weight:700;font-size:.94rem;cursor:pointer;position:relative;list-style:none;line-height:1.55;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.3rem;font-weight:400;color:var(--cyan);transition:transform .25s;}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq .ans{padding:0 20px 19px;font-size:.89rem;color:var(--muted);line-height:1.85;}
.faq .ans p+p{margin-top:12px;}

/* ── CTA BAND ── */
.cta{background:var(--grad-deep);color:#fff;padding:66px 0;text-align:center;position:relative;overflow:hidden;}
.cta h2{font-size:clamp(1.6rem,3.2vw,2.35rem);font-weight:900;letter-spacing:-.8px;margin:0 auto;max-width:760px;}
.cta p{color:rgba(255,255,255,.82);margin:16px auto 0;max-width:620px;font-size:.98rem;line-height:1.8;}
.cta .ph-btns{justify-content:center;}

/* ── RELATED LINKS ── */
.rel{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.rel a{padding:9px 17px;border-radius:50px;border:1px solid var(--border);background:#fff;font-size:.83rem;font-weight:600;color:#475569;transition:all .2s;}
.rel a:hover{border-color:var(--cyan);color:var(--blue);background:rgba(0,191,165,.05);transform:translateY(-2px);}

/* ── FOOTER ── */
.ft{background:var(--ink);color:rgba(255,255,255,.5);padding:56px 0 26px;}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:42px;margin-bottom:38px;}
.ft-logo{display:flex;align-items:center;margin-bottom:16px;}
.ft-logo img{width:62px;height:62px;border-radius:50%;object-fit:cover;display:block;}
.ft-tag{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.75;margin-bottom:16px;max-width:330px;}
.ft-addr{font-size:.78rem;color:rgba(255,255,255,.42);line-height:1.75;}
.ft-ttl{font-size:.7rem;font-weight:800;color:rgba(255,255,255,.34);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:15px;}
.ft-links{display:flex;flex-direction:column;gap:10px;}
.ft-links a{font-size:.81rem;color:rgba(255,255,255,.48);transition:color .2s;}
.ft-links a:hover{color:var(--cyan);}
.ft-soc{display:flex;gap:10px;margin-top:16px;}
.ft-soc a{width:35px;height:35px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.8rem;font-weight:700;transition:all .2s;}
.ft-soc a:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,191,165,.08);}
.ft-bot{border-top:1px solid rgba(255,255,255,.07);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.76rem;color:rgba(255,255,255,.32);}
.ft-bot a:hover{color:var(--cyan);}

/* ── FLOAT WHATSAPP ── */
.wa{position:fixed;right:18px;bottom:18px;z-index:700;width:54px;height:54px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px rgba(37,211,102,.45);transition:transform .25s;}
.wa:hover{transform:scale(1.08);}
.wa svg{width:28px;height:28px;fill:#fff;}

/* ── RESPONSIVE ── */
@media(max-width:980px){
  .g4{grid-template-columns:repeat(2,1fr);}
  .g3{grid-template-columns:repeat(2,1fr);}
  .ft-top{grid-template-columns:1fr 1fr;gap:32px;}
  .stats{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .wrap,.ph-in{padding:0 18px;}
  .sec{padding:54px 0;}
  .ph{padding:40px 0 60px;}
  .g2,.g3,.g4{grid-template-columns:1fr;}
  .ft-top{grid-template-columns:1fr;gap:26px;}
  .card{padding:22px;}
  .step{padding:22px 20px 22px 20px;}
  .step::before{position:static;margin-bottom:12px;}
  .cta{padding:50px 0;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
