:root {
    --navy-950: #0C1629;
    --navy-900: #192B4F;
    --navy-800: #1E3A5F;
    --navy-700: #244C69;
    --navy-600: #2D6080;
    --navy-100: #E0EAF0;
    --navy-50: #F0F5F8;

    --cyan-500: #4ED7DC;
    --cyan-400: #6EE3E7;
    --cyan-300: #9AEDEF;
    --cyan-600: #35A8B6;
    --cyan-700: #1B758B;
    --cyan-100: #D5F5F6;
    --cyan-50: #EEFBFB;

    --white: #FFFFFF;
    --gray-50: #F8FAFB;
    --gray-100: #F1F4F6;
    --gray-200: #E2E7EB;
    --gray-300: #CED5DB;
    --gray-400: #9BA5AE;
    --gray-500: #6B7780;
    --gray-600: #4A5660;
    --gray-700: #364049;
    --gray-800: #232B33;

    --green-500: #25D366;
    --green-600: #1EBE5A;

    --font-display: 'DM Serif Display', Georgia, serif;
    --font-body: 'DM Sans', -apple-system, sans-serif;

    --shadow-xs: 0 1px 2px rgba(12,22,41,0.05);
    --shadow-sm: 0 2px 8px rgba(12,22,41,0.06);
    --shadow-md: 0 4px 20px rgba(12,22,41,0.08);
    --shadow-lg: 0 8px 36px rgba(12,22,41,0.10);
    --shadow-xl: 0 16px 48px rgba(12,22,41,0.14);

    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --radius-xl: 28px;

    --max-w: 1140px;
}

.verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: rgba(37, 211, 102, 0.1);
    color: var(--green-600);
    padding: 2px 6px;
    border-radius: 50px;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-top: 2px;
}
.verified-badge svg {
    width: 10px;
    height: 10px;
}

html[data-theme="dark"] .verified-badge {
    background: rgba(37, 211, 102, 0.15);
    color: var(--green-500);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }

body {
    font-family: var(--font-body);
    color: var(--gray-700);
    background: var(--white);
    line-height: 1.7;
    font-size: 18px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; display: block; -webkit-user-drag: none; user-select: none; pointer-events: none; }
a { text-decoration: none; color: inherit; transition: color 0.3s; }

/* Copy & download protection */
body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
a, button, .btn, .nav-cta, .wa-float, .nav-toggle { pointer-events: auto; -webkit-user-select: none; }

.wrap { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }

/* ---- Animations ---- */
@keyframes fadeUp { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes float { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }

.reveal { opacity:0; transform:translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce) { .reveal { opacity:1!important; transform:none!important; } }

/* ---- Header ---- */
.header {
    position: fixed; top:0; left:0; right:0; z-index:100;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid transparent;
    transition: border-color .3s, box-shadow .3s;
}
.header.scrolled { border-color: var(--gray-200); box-shadow: var(--shadow-sm); }

.header-inner { display:flex; align-items:center; justify-content:space-between; height:80px; }

/* Logo da marca — wordmark completo (mesmo padrão de avaliar.html / depoimentos.html / secretaria.html).
   Convenção de nomes: a classe descreve a COR do logo.
     .logo-dark  = letras navy → usado em fundo CLARO
     .logo-light = letras brancas → usado em fundo ESCURO (dark mode / footer navy) */
.header-logo { display:inline-flex; align-items:center; transition:opacity .3s; }
.header-logo img { display:block; height:56px; width:auto; -webkit-user-drag:none; user-select:none; }
.header-logo:hover { opacity:.82; }
.header-logo .logo-light { display:none; }
.header-logo .logo-dark  { display:block; }

.nav { display:flex; align-items:center; gap:28px; }
.nav a { font-size:16px; font-weight:500; color:var(--gray-500); letter-spacing:.2px; }
.nav a:hover { color:var(--navy-800); }

.nav-cta {
    display:inline-flex; align-items:center; gap:8px;
    background:var(--green-500); color:var(--white)!important;
    padding:10px 22px; border-radius:50px;
    font-weight:600; font-size:16px; transition:all .3s;
}
.nav-cta:hover { background:var(--green-600); transform:translateY(-1px); box-shadow: 0 4px 14px rgba(37,211,102,.3); }

.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--gray-700); margin:5px 0; transition:all .3s; border-radius:2px; }

/* ---- Hero ---- */
.hero {
    padding: 148px 0 88px;
    background: linear-gradient(170deg, var(--white) 0%, var(--cyan-50) 40%, var(--navy-50) 100%);
    position: relative; overflow: hidden;
}
.hero::before {
    content:''; position:absolute; top:-180px; right:-120px;
    width:500px; height:500px;
    background: radial-gradient(circle, rgba(78,215,220,0.08) 0%, transparent 70%);
    border-radius:50%;
}
.hero::after {
    content:''; position:absolute; bottom:-80px; left:-80px;
    width:360px; height:360px;
    background: radial-gradient(circle, rgba(25,43,79,0.04) 0%, transparent 70%);
    border-radius:50%;
}

.hero-content { position:relative; z-index:1; max-width:660px; animation: fadeUp .8s ease forwards; }

.hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    background: rgba(78,215,220,0.10); border:1px solid rgba(78,215,220,0.25);
    padding:7px 18px; border-radius:50px;
    font-size:14px; font-weight:600; color:var(--cyan-700);
    margin-bottom:24px; letter-spacing:.4px;
}
.hero-badge::before { content:''; width:7px; height:7px; background:var(--cyan-500); border-radius:50%; }

.hero h1 {
    font-family:var(--font-display); font-size:clamp(36px,5.2vw,54px);
    font-weight:400; line-height:1.22; color:var(--navy-900); margin-bottom:20px;
}
.hero h1 em { font-style:normal; color:var(--cyan-600); }

.hero-sub { font-size:19px; color:var(--gray-500); margin-bottom:10px; line-height:1.75; max-width:560px; }
.hero-crm { font-size:14px; font-weight:700; color:var(--navy-800); letter-spacing:1.2px; margin-bottom:32px; }

.hero-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }

.btn {
    display:inline-flex; align-items:center; gap:10px;
    padding:15px 30px; border-radius:50px;
    font-size:16px; font-weight:700; font-family:var(--font-body);
    border:none; cursor:pointer; transition:all .3s ease;
}
.btn-wa {
    background:var(--green-500); color:var(--white);
    box-shadow: 0 4px 18px rgba(37,211,102,.25);
}
.btn-wa:hover { background:var(--green-600); transform:translateY(-2px); box-shadow: 0 6px 26px rgba(37,211,102,.35); }

.btn-outline {
    background:transparent; color:var(--navy-800);
    border:2px solid var(--navy-800); padding:13px 26px;
}
.btn-outline:hover { background:var(--navy-800); color:var(--white); }

.btn-wa-sm {
    background:var(--green-500); color:var(--white);
    padding:12px 24px; font-size:15px;
    box-shadow: 0 3px 12px rgba(37,211,102,.2);
}
.btn-wa-sm:hover { background:var(--green-600); transform:translateY(-1px); }

/* ---- Sections ---- */
.section { padding: 96px 0; }
.section-alt { background: var(--gray-50); }
.section-dark { background: linear-gradient(160deg, var(--navy-900) 0%, var(--navy-950) 100%); color:var(--white); }

.sec-label {
    display:inline-flex; align-items:center; gap:8px;
    font-size:13px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
    color:var(--cyan-600); margin-bottom:14px;
}
.sec-label::before { content:''; width:20px; height:2px; background:var(--cyan-500); }

.sec-title {
    font-family:var(--font-display); font-size:clamp(30px,4.2vw,42px);
    font-weight:400; line-height:1.3; margin-bottom:16px; color:var(--navy-900);
}
.section-dark .sec-title { color:var(--white); }

.sec-desc { font-size:18px; color:var(--gray-500); max-width:540px; line-height:1.75; }
.section-dark .sec-desc { color:rgba(255,255,255,.6); }

.sec-center { text-align:center; }
.sec-center .sec-label { justify-content:center; }
.sec-center .sec-desc { margin:0 auto; }

/* ---- About ---- */
.about-grid { display:grid; grid-template-columns:320px 1fr; gap:56px; align-items:center; margin-top:44px; }

.about-photo-wrap { position:relative; }
.about-photo {
    width:100%; aspect-ratio:3/4; border-radius:var(--radius-lg);
    overflow:hidden; box-shadow:var(--shadow-lg); position:relative;
}
.about-photo img { width:100%; height:100%; object-fit:cover; object-position: center top; }

.about-photo-wrap::after {
    content:''; position:absolute; bottom:-10px; right:-10px;
    width:100px; height:100px; border:3px solid var(--cyan-500);
    border-radius:var(--radius-lg); z-index:-1;
}

.about-name { font-family:var(--font-display); font-size:30px; color:var(--navy-900); margin-bottom:6px; }
.about-crm { font-size:14px; font-weight:700; color:var(--cyan-600); letter-spacing:.6px; margin-bottom:18px; }
.about-text p { font-size:18px; color:var(--gray-500); line-height:1.8; margin-bottom:16px; }

.about-formation { margin-top:20px; display:flex; flex-direction:column; gap:10px; }
.formation-item {
    display:flex; align-items:flex-start; gap:10px;
    font-size:16px; color:var(--gray-500); line-height:1.5;
}
.formation-item svg { flex-shrink:0; color:var(--cyan-600); margin-top:2px; }
.formation-item strong { color:var(--gray-700); font-weight:600; }

.about-stats {
    display:flex; gap:28px; margin-top:24px; padding-top:24px;
    border-top:1px solid var(--gray-200);
}
.about-stat-val { font-family:var(--font-display); font-size:32px; color:var(--navy-800); line-height:1; }
.about-stat-lbl { font-size:13px; color:var(--gray-400); margin-top:4px; font-weight:500; }

/* ---- Exams ---- */
.exams-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin-top:44px; }

.exam-card {
    flex:0 1 280px;
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-md); padding:26px;
    transition:all .3s ease; position:relative; overflow:hidden;
}
.exam-card::before {
    content:''; position:absolute; top:0; left:0; width:3px; height:0;
    background:var(--cyan-500); transition:height .3s ease;
}
.exam-card:hover { border-color:var(--cyan-400); box-shadow:var(--shadow-md); transform:translateY(-3px); }
.exam-card:hover::before { height:100%; }

.exam-icon {
    width:44px; height:44px; border-radius:var(--radius-sm);
    background:var(--cyan-50); display:flex; align-items:center; justify-content:center;
    margin-bottom:14px; color:var(--cyan-600);
}

.exam-card h4 { font-family:var(--font-display); font-size:20px; color:var(--navy-900); margin-bottom:8px; }
.exam-card p { font-size:16px; color:var(--gray-500); line-height:1.6; }

/* ---- Differentials ---- */
.diff-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; margin-top:44px; }
/* 6 cards → 3+3 simétrico em desktop (flex-basis 340 p/ caber 3 no container de 1140 c/ gap 20) */
.diff-card { flex:0 1 340px; }

.diff-card {
    text-align:center; padding:36px 24px; border-radius:var(--radius-md);
    background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
    transition:all .3s ease;
}
.diff-card:hover { background:rgba(255,255,255,.09); transform:translateY(-4px); }

.diff-icon {
    width:60px; height:60px; border-radius:50%;
    background:rgba(78,215,220,.12); display:flex; align-items:center; justify-content:center;
    margin:0 auto 18px; color:var(--cyan-400);
}

.diff-card h4 { font-family:var(--font-display); font-size:20px; margin-bottom:8px; }
.diff-card p { font-size:16px; color:rgba(255,255,255,.55); line-height:1.6; }

/* ---- Testimonials ---- */
.testimonials-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; margin-top:44px; }
.testi-card { flex:0 1 320px; }

.testi-card {
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-md); padding:28px; position:relative;
}
.testi-card::before {
    content:'\201C'; position:absolute; top:16px; right:20px;
    font-size:48px; font-family:var(--font-display); color:var(--cyan-100); line-height:1;
}

.testi-stars { display:flex; gap:2px; margin-bottom:14px; color:var(--cyan-500); }
.testi-card blockquote { font-size:17px; color:var(--gray-500); line-height:1.7; font-style:italic; margin-bottom:18px; position:relative; z-index:1; }
.testi-author { font-weight:600; font-size:15px; color:var(--gray-700); }
.testi-role { font-size:13px; color:var(--gray-400); }

.testi-empty {
    text-align:center; padding:48px 24px;
    background:var(--gray-50); border:2px dashed var(--gray-200);
    border-radius:var(--radius-md); margin-top:44px;
}
.testi-empty p { color:var(--gray-400); font-size:17px; margin-bottom:4px; }
.testi-empty small { color:var(--gray-300); font-size:14px; }

/* ---- Payment ---- */
.pay-box {
    max-width:660px; margin:44px auto 0; text-align:center;
    background:var(--white); border:1px solid var(--gray-200);
    border-radius:var(--radius-lg); padding:44px 36px;
    box-shadow:var(--shadow-xs);
}
.pay-box h3 { font-family:var(--font-display); font-size:26px; color:var(--navy-900); margin-bottom:12px; }
.pay-box > p { font-size:17px; color:var(--gray-500); line-height:1.7; margin-bottom:24px; }

.pay-methods { display:flex; justify-content:center; gap:28px; flex-wrap:wrap; margin-bottom:24px; }
.pay-method { display:flex; align-items:center; gap:6px; font-size:15px; font-weight:500; color:var(--gray-500); }
.pay-method svg { width:18px; height:18px; color:var(--cyan-600); }

/* ---- Contact ---- */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:44px; }

.contact-list { display:flex; flex-direction:column; gap:22px; }

.contact-item { display:flex; align-items:flex-start; gap:14px; }
.contact-icon {
    width:44px; height:44px; border-radius:var(--radius-sm);
    background:var(--cyan-50); display:flex; align-items:center; justify-content:center;
    color:var(--cyan-600); flex-shrink:0;
}
.contact-lbl { font-size:12px; font-weight:700; color:var(--gray-400); text-transform:uppercase; letter-spacing:.6px; margin-bottom:2px; }
.contact-val { font-size:18px; color:var(--gray-700); font-weight:500; }
.contact-val a { color:var(--navy-800); }
.contact-val a:hover { color:var(--cyan-600); }

.contact-cta-box {
    background: linear-gradient(135deg, var(--navy-800) 0%, var(--navy-900) 100%);
    border-radius:var(--radius-lg); padding:44px 36px;
    color:var(--white); text-align:center;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.contact-cta-box h3 { font-family:var(--font-display); font-size:26px; margin-bottom:10px; }
.contact-cta-box p { font-size:16px; color:rgba(255,255,255,.65); margin-bottom:24px; max-width:300px; }

/* ---- Footer ---- */
.footer { background:var(--navy-950); color:rgba(255,255,255,.6); padding:44px 0; }

.footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }

/* Footer brand — fundo navy SEMPRE escuro → versão "light" (texto branco) */
.footer-brand { display:flex; align-items:center; }
.footer-brand img { display:block; height:48px; width:auto; opacity:.9; -webkit-user-drag:none; user-select:none; }
.footer-brand .logo-dark  { display:none; }
.footer-brand .logo-light { display:block; }

.footer-center { text-align:center; }
.footer-crm { font-size:14px; font-weight:700; color:var(--cyan-500); letter-spacing:1px; }
.footer-copy { font-size:13px; color:rgba(255,255,255,.3); margin-top:3px; }

.footer-social { display:flex; gap:10px; }
.footer-social a {
    width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center;
    color:rgba(255,255,255,.5); transition:all .3s;
}
.footer-social a:hover { background:rgba(255,255,255,.12); color:var(--white); }

/* ---- WhatsApp Float ---- */
.wa-float {
    position:fixed; bottom:24px; right:24px; z-index:99;
    display:flex; align-items:center; gap:10px;
    background:var(--green-500); color:var(--white);
    padding:14px 24px; border-radius:50px;
    font-weight:700; font-size:15px;
    box-shadow: 0 4px 24px rgba(37,211,102,.35);
    transition:all .3s ease; animation: fadeIn 1s ease .6s both;
}
.wa-float:hover { background:var(--green-600); transform:translateY(-3px) scale(1.02); box-shadow: 0 6px 32px rgba(37,211,102,.45); }
.wa-float svg { animation: float 2.5s ease infinite; }

/* ---- Responsive ---- */
@media (max-width:900px) {
    .nav { display:none; }
    .nav.open {
        display:flex; flex-direction:column;
        position:absolute; top:80px; left:0; right:0;
        background:var(--white); padding:24px; gap:16px;
        border-bottom:1px solid var(--gray-200); box-shadow:var(--shadow-md);
    }
    .nav-toggle { display:block; }
    .about-grid { grid-template-columns:1fr; gap:36px; }
    .about-photo-wrap { max-width:260px; margin:0 auto; }
    .contact-grid { grid-template-columns:1fr; }
}

@media (max-width:600px) {
    .hero { padding:128px 0 56px; }
    .section { padding:64px 0; }
    .hero-actions { flex-direction:column; align-items:stretch; }
    .exams-grid { justify-content:center; }
    .exam-card { flex: 0 1 100%; }
    .diff-grid { justify-content:center; }
    .testi-card { flex: 0 1 100%; }
    .pay-box { padding:28px 18px; }
    .pay-methods { flex-direction:column; align-items:center; gap:12px; }
    .about-stats { flex-direction:column; gap:16px; }
    .footer-inner { flex-direction:column; text-align:center; }
    .wa-float span { display:none; }
    .wa-float { padding:16px; border-radius:50%; }
}

@media (max-width:400px) { .diff-card { flex: 0 1 100%; } }

/* ---- Dark Mode ---- */
#themeToggle:hover { color: var(--navy-800) !important; }

html[data-theme="dark"] body { background:var(--navy-950); color:var(--gray-300); }

html[data-theme="dark"] .header { background:rgba(12,22,41,.95); border-bottom-color:rgba(255,255,255,.06); }
html[data-theme="dark"] .header.scrolled { box-shadow: 0 2px 12px rgba(0,0,0,.3); }
/* Dark mode: header passa a ter fundo navy → mostra versão "light" (texto branco) */
html[data-theme="dark"] .header-logo .logo-light { display:block; }
html[data-theme="dark"] .header-logo .logo-dark  { display:none; }

html[data-theme="dark"] .hero { background: linear-gradient(170deg, var(--navy-950) 0%, #0F1F35 40%, #0C1629 100%); }
html[data-theme="dark"] .hero h1 { color:var(--white); }
html[data-theme="dark"] .hero-sub { color:var(--gray-400); }
html[data-theme="dark"] .hero-crm { color:var(--cyan-500); }
html[data-theme="dark"] .hero-badge { background:rgba(78,215,220,.08); border-color:rgba(78,215,220,.18); }

html[data-theme="dark"] .btn-outline { color:var(--white); border-color:var(--white); }
html[data-theme="dark"] .btn-outline:hover { background:var(--white); color:var(--navy-900); }

html[data-theme="dark"] .section { background:var(--navy-950); }
html[data-theme="dark"] .section-alt { background:#0F1F35; }
html[data-theme="dark"] .section-dark { background: linear-gradient(160deg, #0A1220 0%, #060D17 100%); }

html[data-theme="dark"] .sec-title { color:var(--white); }
html[data-theme="dark"] .sec-desc { color:var(--gray-400); }

html[data-theme="dark"] .about-name { color:var(--white) !important; }
html[data-theme="dark"] .about-crm { color:var(--cyan-400); }
html[data-theme="dark"] .about-text p { color:var(--gray-400); }
html[data-theme="dark"] .about-photo { box-shadow: 0 8px 36px rgba(0,0,0,.4); }
html[data-theme="dark"] .about-stats { border-top-color:rgba(255,255,255,.08); }
html[data-theme="dark"] .about-stat-val { color:var(--cyan-400); }
html[data-theme="dark"] .about-stat-lbl { color:var(--gray-400); }
html[data-theme="dark"] .formation-item { color:var(--gray-400); }
html[data-theme="dark"] .formation-item strong { color:var(--gray-200); }
html[data-theme="dark"] .formation-item svg { color:var(--cyan-400); }

html[data-theme="dark"] .exam-card { background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.06); }
html[data-theme="dark"] .exam-card:hover { border-color:var(--cyan-500); box-shadow: 0 4px 20px rgba(0,0,0,.3); }
html[data-theme="dark"] .exam-card h4 { color:var(--white); }
html[data-theme="dark"] .exam-card p { color:var(--gray-400); }
html[data-theme="dark"] .exam-icon { background:rgba(78,215,220,.08); }

html[data-theme="dark"] .diff-card { background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.05); }

html[data-theme="dark"] .testi-card, html[data-theme="dark"] .testi-card::before { background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.06); }
html[data-theme="dark"] .testi-card::before { color:rgba(78,215,220,.15); }
html[data-theme="dark"] .testi-card blockquote { color:var(--gray-400); }
html[data-theme="dark"] .testi-author { color:var(--gray-200); }
html[data-theme="dark"] .testi-empty { background:rgba(255,255,255,.02); border-color:rgba(255,255,255,.06); }
html[data-theme="dark"] .testi-empty p { color:var(--gray-400); }

html[data-theme="dark"] .pay-box { background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.06); }
html[data-theme="dark"] .pay-box h3 { color:var(--white); }
html[data-theme="dark"] .pay-box > p { color:var(--gray-400); }
html[data-theme="dark"] .pay-method { color:var(--gray-400); }

html[data-theme="dark"] .contact-icon { background:rgba(78,215,220,.08); }
html[data-theme="dark"] .contact-lbl { color:var(--gray-400); }
html[data-theme="dark"] .contact-val { color:var(--gray-200); }
html[data-theme="dark"] .contact-val a { color:var(--cyan-400); }
html[data-theme="dark"] .contact-cta-box { background: linear-gradient(135deg, #0F1F35 0%, var(--navy-950) 100%); border:1px solid rgba(255,255,255,.06); }

html[data-theme="dark"] .footer { background:#060D17; }
/* Footer já é escuro em ambos modos — mantém versão "light" sempre */
html[data-theme="dark"] .footer-brand .logo-light { display:block; }
html[data-theme="dark"] .footer-brand .logo-dark  { display:none; }

html[data-theme="dark"] .nav a { color:var(--gray-400); }
html[data-theme="dark"] .nav a:hover { color:var(--white); }
html[data-theme="dark"] .nav.open { background:var(--navy-950); border-bottom-color:rgba(255,255,255,.06); }
html[data-theme="dark"] .nav-toggle span { background:var(--gray-300); }
html[data-theme="dark"] #themeToggle { color:var(--gray-400) !important; }
html[data-theme="dark"] #themeToggle:hover { color:var(--white) !important; }

/* ---- SVG Icons (inline shorthand) ---- */
.icon { width:22px; height:22px; flex-shrink:0; }
