:root{
  --primary:#4338ca; --primary-dark:#312e81; --primary-light:#eef2ff;
  --accent:#0d9488; --accent-dark:#0f766e;
  --bg:#f5f6fa; --card:#ffffff; --text:#1d2433; --muted:#5b6474;
  --border:#e3e6ef; --radius:16px;
  --shadow:0 2px 6px rgba(30,35,60,.06),0 14px 34px -18px rgba(30,35,60,.22);
  --shadow-hover:0 4px 10px rgba(30,35,60,.08),0 22px 44px -18px rgba(67,56,202,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:17px}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1080px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{font-size:1.45rem;font-weight:800;color:var(--primary-dark);letter-spacing:-.02em}
.logo span{color:var(--accent)}
.logo:hover{text-decoration:none}
.main-nav{display:flex;gap:26px}
.main-nav a{color:var(--text);font-weight:600;font-size:.98rem}
.main-nav a:hover{color:var(--primary);text-decoration:none}
@media(max-width:560px){.main-nav{gap:16px}.logo{font-size:1.2rem}}

/* Hero */
.hero{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 55%,var(--accent-dark) 130%);color:#fff;padding:64px 0 58px;text-align:center}
.hero h1{font-size:2.5rem;line-height:1.15;letter-spacing:-.02em;margin-bottom:14px}
.hero p{font-size:1.15rem;opacity:.92;max-width:640px;margin:0 auto}
.hero .badge{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);padding:5px 14px;border-radius:999px;font-size:.85rem;font-weight:600;margin-bottom:20px}
@media(max-width:560px){.hero h1{font-size:1.8rem}.hero{padding:44px 0 40px}}

/* Sections & cards */
.section{padding:44px 0 8px}
.section h2{font-size:1.55rem;letter-spacing:-.01em;margin-bottom:6px}
.section .section-sub{color:var(--muted);margin-bottom:22px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:flex;gap:15px;align-items:flex-start;transition:transform .15s ease,box-shadow .15s ease;color:var(--text)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);text-decoration:none}
.card .icon{font-size:1.7rem;background:var(--primary-light);border-radius:12px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.card h3{font-size:1.06rem;margin-bottom:3px;color:var(--primary-dark)}
.card p{font-size:.92rem;color:var(--muted);line-height:1.45}

/* Page layout */
.page{padding:34px 0 10px}
.breadcrumb{font-size:.88rem;color:var(--muted);margin-bottom:14px}
.breadcrumb a{color:var(--muted)}
.page h1{font-size:2.05rem;letter-spacing:-.02em;line-height:1.2;margin-bottom:12px}
.lead{font-size:1.08rem;color:var(--muted);max-width:760px;margin-bottom:26px}
@media(max-width:560px){.page h1{font-size:1.6rem}}

/* Calculator */
.calc{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;margin-bottom:30px}
.calc h2{font-size:1.25rem;margin-bottom:18px;color:var(--primary-dark)}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.field label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px}
.field .hint{font-weight:400;color:var(--muted);font-size:.82rem}
.field input,.field select{width:100%;padding:12px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:1rem;font-family:inherit;background:#fbfcfe;color:var(--text)}
.field input:focus,.field select:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px var(--primary-light)}
.btn{display:inline-block;background:var(--primary);color:#fff;font-weight:700;font-size:1.02rem;border:none;border-radius:11px;padding:13px 30px;cursor:pointer;margin-top:20px;transition:background .15s ease}
.btn:hover{background:var(--primary-dark)}
.btn-secondary{background:#fff;color:var(--primary);border:1.5px solid var(--primary)}
.btn-secondary:hover{background:var(--primary-light)}
.result{display:none;margin-top:24px;background:linear-gradient(135deg,var(--primary-light),#f0fdfa);border:1.5px solid #c7d2fe;border-radius:13px;padding:20px 22px}
.result.show{display:block}
.result .big{font-size:2rem;font-weight:800;color:var(--primary-dark);letter-spacing:-.02em;line-height:1.2}
.result .big-label{font-weight:600;color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.result table{width:100%;border-collapse:collapse;margin-top:14px;font-size:.97rem}
.result table td{padding:7px 4px;border-top:1px solid #dbe1f5}
.result table td:last-child{text-align:right;font-weight:700;white-space:nowrap}
.result table tr.total td{font-size:1.08rem;color:var(--primary-dark);border-top:2px solid var(--primary)}
.error{display:none;margin-top:16px;background:#fef2f2;border:1.5px solid #fecaca;color:#991b1b;border-radius:11px;padding:12px 16px;font-size:.95rem}
.error.show{display:block}
.note{background:#fffbeb;border:1.5px solid #fde68a;color:#92400e;border-radius:11px;padding:13px 17px;font-size:.94rem;margin:18px 0}
.note strong{color:#78350f}

/* Content blocks */
.content{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;margin-bottom:26px}
.content h2{font-size:1.35rem;color:var(--primary-dark);margin-bottom:12px}
.content h3{font-size:1.1rem;margin:18px 0 8px}
.content p{margin-bottom:13px}
.content ul,.content ol{margin:0 0 14px 22px}
.content li{margin-bottom:7px}
.formula{background:#0f172a;color:#e2e8f0;border-radius:12px;padding:16px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.98rem;margin:14px 0;overflow-x:auto;text-align:center}
.content table.data{width:100%;border-collapse:collapse;margin:14px 0;font-size:.95rem}
.content table.data th,.content table.data td{border:1px solid var(--border);padding:8px 11px;text-align:left}
.content table.data th{background:var(--primary-light);color:var(--primary-dark)}

/* Guide link card */
.guide-card{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#fff,#f0fdfa);border:1.5px solid #99f6e4;border-radius:var(--radius);padding:20px 24px;margin-bottom:26px;color:var(--text);box-shadow:var(--shadow)}
.guide-card:hover{text-decoration:none;box-shadow:var(--shadow-hover)}
.guide-card .icon{font-size:1.8rem}
.guide-card h3{color:var(--accent-dark);font-size:1.08rem;margin-bottom:2px}
.guide-card p{color:var(--muted);font-size:.93rem}
.guide-card .arrow{margin-left:auto;font-size:1.4rem;color:var(--accent)}

/* FAQ */
.faq{margin-bottom:30px}
.faq h2{font-size:1.35rem;color:var(--primary-dark);margin-bottom:14px}
.faq details{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:15px 19px;margin-bottom:10px;box-shadow:var(--shadow)}
.faq summary{font-weight:700;cursor:pointer;font-size:1rem}
.faq details p{margin-top:9px;color:var(--muted);font-size:.96rem}

/* Dynamic rows (notas) */
.row-line{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-bottom:12px;align-items:end}
.row-line .field label{font-size:.85rem}
.btn-remove{background:#fef2f2;color:#b91c1c;border:1.5px solid #fecaca;border-radius:10px;padding:11px 14px;cursor:pointer;font-weight:700}
@media(max-width:560px){.row-line{grid-template-columns:1fr 1fr}.btn-remove{grid-column:1/-1}}

/* Footer */
.site-footer{background:#11162a;color:#c3c9da;margin-top:56px;padding:44px 0 30px}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;margin-bottom:28px}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:12px}
.site-footer a{color:#c3c9da;font-size:.93rem;display:block;margin-bottom:7px}
.site-footer a:hover{color:#fff}
.site-footer .brand{font-size:1.3rem;font-weight:800;color:#fff}
.site-footer .brand span{color:#2dd4bf}
.site-footer .legal{border-top:1px solid #2a3050;padding-top:18px;font-size:.85rem;color:#8b93ab}
