/* Diseño de neuropsicologia.co — hoja compartida.
   Sale del <style> en línea del home para que las páginas de tema usen el
   mismo sistema visual en vez de una plantilla propia. */

/* ===== BASE RESET & TYPOGRAPHY ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Nunito',system-ui,sans-serif;color:#334155;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.65}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-.5px}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* ===== ANIMATIONS ===== */
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .5s,transform .5s}
.fade-up.visible{opacity:1;transform:none}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s;background:rgba(248,250,252,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.06)}
.nav-inner{max-width:1152px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 16px}
@media(min-width:640px){.nav-inner{padding:16px 24px}}
.nav-logo{font-size:1.125rem;font-weight:700;color:#0d9488;transition:color .2s}
.nav-links{display:none;align-items:center;gap:24px;font-size:.875rem;font-weight:500;list-style:none}
@media(min-width:768px){.nav-links{display:flex}}
.nav-links a{color:#64748b;transition:color .2s}
.nav-links a:hover{color:#0d9488}
.nav-links .nav-cta{border-radius:9999px;background:#0d9488;padding:6px 16px;color:#fff;transition:background .2s}
.nav-links .nav-cta:hover{background:#0f766e}
.menu-btn{display:flex;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:4px}
@media(min-width:768px){.menu-btn{display:none}}
.menu-btn span{display:block;height:2px;width:24px;background:#475569;transition:all .2s}
.mobile-menu{display:none;border-top:1px solid #f1f5f9;background:#fff;padding:16px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
@media(min-width:768px){.mobile-menu{display:none!important}}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:8px 0;font-size:.875rem;color:#475569}
.mobile-menu a:hover{color:#0d9488}
.mobile-menu .mob-cta{margin-top:8px;display:block;border-radius:8px;background:#0d9488;padding:8px 0;text-align:center;font-size:.875rem;font-weight:600;color:#fff}

/* ===== REVIEWS CAROUSEL ===== */
.reviews-widget{position:relative;max-width:900px;margin:0 auto}
.reviews-summary{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}
.reviews-score{font-size:2.5rem;font-weight:800;color:#1e293b}
.reviews-stars-summary svg{display:block}
.reviews-count{font-size:.8rem;color:#64748b}
.reviews-carousel{position:relative;overflow:hidden}
.reviews-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.review-card{min-width:100%;padding:0 8px;box-sizing:border-box}
@media(min-width:768px){.review-card{min-width:50%}}
@media(min-width:1024px){.review-card{min-width:33.333%}}
.review-inner{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:24px;height:100%;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.review-header{display:flex;align-items:center;gap:12px}
.review-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#0891b2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}
.review-author{font-weight:700;font-size:.9rem;color:#1e293b}
.review-date{font-size:.75rem;color:#94a3b8}
.review-stars{color:#fbbc04;font-size:1rem;letter-spacing:2px}
.review-text{font-size:.85rem;line-height:1.6;color:#475569;flex:1}
.review-source{display:flex;align-items:center;gap:6px;font-size:.7rem;color:#94a3b8;margin-top:auto}
.review-source svg{width:16px;height:16px}
.reviews-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}
.reviews-nav button{background:none;border:2px solid #e2e8f0;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#64748b}
.reviews-nav button:hover{border-color:#0d9488;color:#0d9488;background:#f0fdfa}
.reviews-dots{display:flex;gap:6px;align-items:center}
.reviews-dots span{width:8px;height:8px;border-radius:50%;background:#cbd5e1;cursor:pointer;transition:all .3s}
.reviews-dots span.active{background:#0d9488;transform:scale(1.3)}
.reviews-cta{text-align:center;margin-top:20px}
.reviews-cta a{color:#0d9488;font-size:.85rem;font-weight:600;text-decoration:none}
.reviews-cta a:hover{text-decoration:underline}

/* ===== HERO ===== */
.hero-np{display:flex;align-items:center;position:relative;overflow:hidden;padding:104px 40px 48px;background:#f8fafc}
.hero-np .orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.10;pointer-events:none}
.hero-np .orb-1{width:600px;height:600px;top:-200px;right:-100px;background:#c8dfd0}
.hero-np .orb-2{width:500px;height:500px;bottom:-200px;left:-100px;background:#b8e8d8}
.hero-np .orb-3{width:350px;height:350px;top:40%;left:45%;background:#0d9488;opacity:.06}
.hero-np .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(13,148,136,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(13,148,136,.04) 1px,transparent 1px);background-size:60px 60px;opacity:.5}
.hero-np-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;z-index:1}
@keyframes glow{0%,100%{opacity:.4}50%{opacity:1}}
.hero-np h1{font-size:clamp(32px,4vw,52px);font-weight:800;line-height:1.14;margin-bottom:16px;color:#1e293b}
.hero-np h1 .hl{background:linear-gradient(135deg,#0d9488,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-np-desc{font-size:clamp(15px,1.4vw,18px);color:#64748b;line-height:1.75;margin-bottom:32px;max-width:500px}
.hero-np-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-np-btns a{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:14px;font-size:15px;font-weight:600;text-decoration:none;transition:all .3s}
.hero-np-btns .btn-p{background:#0d9488;color:#fff;box-shadow:0 4px 15px rgba(13,148,136,.25)}
.hero-np-btns .btn-p:hover{box-shadow:0 6px 25px rgba(13,148,136,.4);transform:translateY(-3px)}
.hero-np-btns .btn-o{background:transparent;color:#64748b;border:1.5px solid #e2e8f0}
.hero-np-btns .btn-o:hover{border-color:#0d9488;color:#0d9488}
.hero-np-metrics{display:flex;gap:40px;margin-top:40px}
.hero-np-metric .num{font-size:32px;font-weight:800;color:#1e293b;line-height:1}
.hero-np-metric .num span{color:#0d9488}
.hero-np-metric .lbl{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:1.5px;margin-top:4px}
.hero-np-metric+.hero-np-metric{position:relative}
.hero-np-metric+.hero-np-metric::before{content:'';position:absolute;left:-20px;top:50%;transform:translateY(-50%);width:1px;height:28px;background:#e2e8f0}
.hero-np-photo{display:flex;justify-content:center;align-items:center}
.hero-np-card{width:340px;height:440px;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(15,23,42,.08);position:relative;box-shadow:0 8px 40px rgba(13,148,136,.08)}
.hero-np-card img{width:100%;height:100%;object-fit:cover;object-position:center top;background:#fff}
.hero-np-card .glow{position:absolute;bottom:-2px;left:-2px;right:-2px;height:40%;background:linear-gradient(to top,#fff,transparent);pointer-events:none;z-index:1}
.hero-np-card .info{position:absolute;bottom:20px;left:16px;right:16px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:14px 16px;box-shadow:0 4px 16px rgba(13,148,136,.08)}
.hero-np-card .info-name{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:2px}
.hero-np-card .info-title{font-size:12px;color:#0d9488;font-weight:500}
.hero-np-card .card-orb{position:absolute;width:160px;height:160px;border-radius:50%;background:#0d9488;filter:blur(70px);opacity:.10;top:-50px;right:-50px;pointer-events:none}
@media(max-width:900px){
.hero-np-inner{grid-template-columns:1fr;text-align:center;gap:40px}
.hero-np-desc{margin:0 auto 32px}
.hero-np-btns{justify-content:center}
.hero-np-metrics{justify-content:center}
.hero-np-card{width:280px;height:360px}
.hero-np{padding:92px 20px 32px}
}

/* ===== LAYOUT UTILITIES ===== */
.container-xl{max-width:1152px;margin:0 auto;padding:0 16px}
@media(min-width:640px){.container-xl{padding:0 24px}}
.container-lg{max-width:896px;margin:0 auto;padding:0 16px}
@media(min-width:640px){.container-lg{padding:0 24px}}
.container-md{max-width:768px;margin:0 auto;padding:0 16px}
@media(min-width:640px){.container-md{padding:0 24px}}
.text-center{text-align:center}

/* ===== SECTIONS ===== */
.section{padding:48px 0}
@media(min-width:640px){.section{padding:60px 0}}
.section-alt{background:#f8fafc;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}
.section-tag{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#0d9488;margin-bottom:4px}
.section-title{font-size:1.5rem;font-weight:800;color:#1e293b}
@media(min-width:640px){.section-title{font-size:1.875rem}}
.section-desc{margin-top:12px;font-size:.875rem;color:#64748b;max-width:576px;margin-left:auto;margin-right:auto}
.section-header{margin-bottom:40px}

/* ===== SERVICE CARDS ===== */
.services-grid{display:grid;gap:16px}
@media(min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}
.service-card{display:block;border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:20px;transition:all .3s}
.service-card:hover{transform:translateY(-4px);border-color:#99f6e4;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.service-card-icon{margin-bottom:12px;display:flex;height:40px;width:40px;align-items:center;justify-content:center;border-radius:8px;font-size:1.25rem}
.icon-red{background:#fef2f2}
.icon-blue{background:#eff6ff}
.icon-emerald{background:#ecfdf5}
.icon-amber{background:#fffbeb}
.icon-violet{background:#f5f3ff}
.icon-pink{background:#fdf2f8}
.service-card-title{font-size:.875rem;font-weight:700;color:#1e293b;margin-bottom:4px;transition:color .2s}
.service-card:hover .service-card-title{color:#0d9488}
.service-card-desc{font-size:.75rem;line-height:1.625;color:#64748b}

/* ===== SPECTRUM CTA BANNER ===== */
@media(min-width:640px){}
@keyframes bannerShimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media(max-width:640px){}

/* ===== PROCESS STEPS ===== */
.steps-grid{display:grid;gap:24px}
@media(min-width:640px){.steps-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.steps-grid{grid-template-columns:repeat(4,1fr)}}
.step-card{position:relative;border-radius:12px;background:#fff;padding:20px;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.step-number{margin:0 auto 12px;display:flex;height:48px;width:48px;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#0d9488,#0891b2);font-size:1.125rem;font-weight:700;color:#fff;box-shadow:0 4px 6px -1px rgba(13,148,136,.3)}
.step-title{font-size:.875rem;font-weight:700;color:#1e293b;margin-bottom:4px}
.step-desc{font-size:.75rem;color:#64748b}

/* ===== DOCTOR SECTION ===== */
.doctor-card{overflow:hidden;border-radius:16px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.doctor-inner{display:flex;flex-direction:column}
@media(min-width:640px){.doctor-inner{flex-direction:row}}
.doctor-photo-wrap{position:relative;flex-shrink:0;background:linear-gradient(135deg,#f0fdfa,rgba(204,251,241,.5));padding:32px;display:flex;align-items:center;justify-content:center}
@media(min-width:640px){.doctor-photo-wrap{width:224px}}
.doctor-photo-glow{position:absolute;inset:-12px;border-radius:50%;background:linear-gradient(135deg,#2dd4bf,#0891b2);opacity:.2;filter:blur(16px)}
.doctor-photo{position:relative;width:160px;height:160px;border-radius:16px;border:4px solid #fff;object-fit:cover;object-position:center top;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);content-visibility:auto}
@media(min-width:640px){.doctor-photo{width:176px;height:176px}}
.doctor-info{padding:24px}
@media(min-width:640px){.doctor-info{padding:32px}}
.doctor-name{font-size:1.25rem;font-weight:800;color:#1e293b}
.doctor-title{font-size:.875rem;font-weight:600;color:#0d9488;margin-bottom:12px}
.doctor-desc{font-size:.875rem;line-height:1.625;color:#64748b;margin-bottom:16px}
.doctor-tags{display:flex;flex-wrap:wrap;gap:6px}
.doctor-tag{border-radius:9999px;background:#f0fdfa;padding:2px 12px;font-size:.75rem;font-weight:600;color:#0f766e}

/* ===== COUNTRIES ===== */
.countries-grid{display:grid;gap:16px}
@media(min-width:640px){.countries-grid{grid-template-columns:repeat(3,1fr)}}
.country-card{display:block;border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:20px;text-align:center;transition:all .3s}
.country-card:hover{transform:translateY(-4px);border-color:#99f6e4;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.country-flag{font-size:1.875rem;margin-bottom:8px}
.country-name{font-size:.875rem;font-weight:700;color:#1e293b;transition:color .2s}
.country-card:hover .country-name{color:#0d9488}
.country-desc{margin-top:4px;font-size:.75rem;color:#64748b}

/* ===== FAQ ===== */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{border-radius:12px;border:1px solid #e2e8f0;background:#fff}
.faq-item summary{display:flex;cursor:pointer;align-items:center;justify-content:space-between;padding:16px;font-size:.875rem;font-weight:600;color:#1e293b;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary svg{width:16px;height:16px;flex-shrink:0;color:#94a3b8;transition:transform .2s}
.faq-item[open] summary svg{transform:rotate(180deg)}
.faq-item p{padding:0 16px 16px;font-size:.75rem;line-height:1.625;color:#64748b}

/* ===== CTA SECTION ===== */
.cta-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d9488,#0f766e,#0891b2);padding:64px 0}
@media(min-width:640px){.cta-section{padding:80px 0}}
.cta-overlay{position:absolute;inset:0;background:radial-gradient(circle at 70% 80%,rgba(255,255,255,.06),transparent 50%)}
.cta-inner{position:relative;max-width:672px;margin:0 auto;padding:0 16px;text-align:center}
@media(min-width:640px){.cta-inner{padding:0 24px}}
.cta-title{font-size:1.5rem;font-weight:800;color:#fff;margin-bottom:8px}
@media(min-width:640px){.cta-title{font-size:1.875rem}}
.cta-subtitle{font-size:.875rem;color:rgba(255,255,255,.9);margin-bottom:4px}
.cta-meta{font-size:.875rem;color:rgba(255,255,255,.7);margin-bottom:32px}
.cta-btn{display:inline-flex;align-items:center;gap:8px;border-radius:9999px;background:#fff;padding:14px 28px;font-size:.875rem;font-weight:700;color:#0d9488;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);transition:all .3s}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.cta-btn svg{width:20px;height:20px;fill:currentColor}
.cta-note{margin-top:16px;font-size:.75rem;color:rgba(255,255,255,.5)}

/* ===== CONTENT SEO SECTION ===== */
.content-section{padding:64px 16px;background:#f1f5f9}
.content-grid{display:grid;gap:24px}
@media(min-width:640px){.content-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.content-grid{grid-template-columns:repeat(3,1fr)}}
.content-card{display:block;border-radius:16px;background:#fff;padding:24px;border:1px solid #f1f5f9;transition:all .3s}
.content-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1);border-color:#99f6e4}
.content-card-title{font-size:1rem;font-weight:700;color:#0f172a;margin-bottom:8px}
.content-card-desc{font-size:.875rem;color:#64748b}
.content-tag{display:inline-block;border-radius:9999px;background:#ccfbf1;padding:6px 16px;font-size:.75rem;font-weight:700;color:#0f766e;margin-bottom:12px}
.content-footer{margin-top:32px;text-align:center;font-size:.75rem;color:#94a3b8}

/* ===== FOOTER ===== */
.footer{background:#0f172a;padding:48px 0;color:#94a3b8}
.footer-grid{display:grid;gap:32px}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-brand{font-size:1rem;font-weight:700;color:#fff;margin-bottom:12px}
.footer-brand-desc{font-size:.75rem;line-height:1.625}
.footer-heading{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;margin-bottom:12px}
.footer a{display:block;padding:4px 0;font-size:.75rem;transition:color .2s}
.footer a:hover{color:#fff}
.footer-bottom{margin-top:40px;border-top:1px solid #1e293b;padding-top:24px;text-align:center;font-size:.75rem}

/* ===== WHATSAPP FLOAT ===== */
.wa-float{position:fixed;bottom:20px;right:20px;z-index:50;display:flex;height:56px;align-items:center;justify-content:center;border-radius:100px;background:#25d366;box-shadow:0 10px 15px -3px rgba(37,211,102,.3);transition:transform .2s;padding:0 20px;gap:10px;color:#fff;font-weight:700;font-size:15px;white-space:nowrap;}
.wa-float:hover{transform:scale(1.1)}
.wa-float svg{width:28px;height:28px;fill:#fff}

/* ===== REVIEWS SECTION ===== */
.reviews-section{border-bottom:1px solid #f1f5f9;background:#f8fafc;padding:48px 0}
@media(min-width:640px){.reviews-section{padding:64px 0}}

/* ===== SPECTRUM WIDGET ===== */
@media(min-width:640px){}
.sp-gauge{position:relative;height:48px;border-radius:24px;background:linear-gradient(90deg,#22c55e 0%,#a3e635 25%,#facc15 50%,#f97316 75%,#ef4444 100%);overflow:hidden;margin:20px 0;box-shadow:inset 0 2px 8px rgba(0,0,0,.1)}
.sp-gauge-label{position:absolute;top:50%;transform:translateY(-50%);font-size:11px;font-weight:700;color:rgba(255,255,255,.9);text-shadow:0 1px 2px rgba(0,0,0,.2);z-index:1}
.sp-gauge-label.left{left:16px}
.sp-gauge-label.right{right:16px}
.sp-needle{position:absolute;top:-6px;width:4px;height:60px;background:#1e293b;border-radius:2px;transition:left .8s cubic-bezier(.34,1.56,.64,1),opacity .4s;box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:2}
.sp-needle::after{content:'';position:absolute;top:-8px;left:-8px;width:20px;height:20px;border-radius:50%;background:#1e293b;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.sp-step-label{font-size:.8rem;color:#64748b;margin-bottom:6px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:500}
.sp-cat-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;background:#f0fdfa;color:#0d9488;border:1px solid #99f6e4}
.sp-question{font-size:1.1rem;font-weight:600;color:#0f172a;line-height:1.5;margin-bottom:24px;font-family:'Plus Jakarta Sans',sans-serif;min-height:3.3em}
@media(min-width:640px){.sp-question{font-size:1.2rem}}
.sp-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(min-width:480px){.sp-options{gap:12px}}
.sp-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 12px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;font-size:.88rem;font-weight:500;color:#334155;cursor:pointer;transition:all .2s ease;font-family:'Nunito',sans-serif;user-select:none;-webkit-user-select:none}
.sp-option .sp-opt-sub{font-size:.7rem;color:#94a3b8;font-weight:400;margin-top:2px}
.sp-option:hover{border-color:#0d9488;background:#f0fdfa;color:#0d9488}
.sp-option:hover .sp-opt-sub{color:#0d9488}
.sp-option.selected{border-color:#0d9488;background:#f0fdfa;color:#0d9488;box-shadow:0 0 0 1px #0d9488}
.sp-option.selected .sp-opt-sub{color:#0d9488}
.sp-option:active{transform:scale(.97)}
.sp-result{animation:spFadeIn .5s ease}
@keyframes spFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.sp-result-title{font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:8px;font-family:'Plus Jakarta Sans',sans-serif}
.sp-result-text{font-size:.92rem;color:#475569;line-height:1.6;margin-bottom:24px}
.sp-score-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:.85rem;font-weight:600;font-family:'Nunito',sans-serif;margin-bottom:20px}
.sp-score-low{background:#dcfce7;color:#166534}
.sp-score-mid{background:#fef9c3;color:#854d0e}
.sp-score-high{background:#ffedd5;color:#9a3412}
.sp-score-very-high{background:#fee2e2;color:#991b1b}
.sp-cat-breakdown{margin-bottom:24px}
.sp-cat-breakdown-title{font-size:.92rem;font-weight:600;color:#0f172a;margin-bottom:12px;font-family:'Plus Jakarta Sans',sans-serif}
.sp-cat-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.sp-cat-name{font-size:.8rem;font-weight:500;color:#475569;min-width:100px;font-family:'Nunito',sans-serif}
.sp-cat-bar-bg{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}
.sp-cat-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}
.sp-cat-val{font-size:.75rem;font-weight:600;color:#64748b;min-width:32px;text-align:right;font-family:'Nunito',sans-serif}
.sp-areas{margin-bottom:28px}
.sp-areas-title{font-size:.92rem;font-weight:600;color:#0f172a;margin-bottom:12px;font-family:'Plus Jakarta Sans',sans-serif}
.sp-areas-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.sp-areas-list li{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;font-size:.82rem;font-weight:500;color:#9a3412;font-family:'Nunito',sans-serif}
.sp-areas-list li svg{width:14px;height:14px;flex-shrink:0}
.sp-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;border:none;border-radius:14px;background:linear-gradient(135deg,#0d9488,#0891b2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;font-family:'Plus Jakarta Sans',sans-serif;text-decoration:none;box-shadow:0 4px 14px rgba(13,148,136,.3)}
.sp-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(13,148,136,.35)}
.sp-cta:active{transform:translateY(0)}
.sp-cta svg{width:22px;height:22px;flex-shrink:0}
.sp-reset{display:block;margin:14px auto 0;padding:8px 16px;background:none;border:none;color:#64748b;font-size:.82rem;cursor:pointer;font-family:'Nunito',sans-serif;text-decoration:underline;text-underline-offset:2px}
.sp-reset:hover{color:#0d9488}
.sp-disclaimer{font-size:.72rem;color:#94a3b8;text-align:center;margin-top:16px;line-height:1.5}
