/* ===== Reset & Base ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#ffffff;--text:#1a1a2e;--muted:#555;--line:#e5e7eb;
  --primary:#2563eb;--primary-dark:#1d4ed8;--accent:#f59e0b;
  --green:#16a34a;--red:#dc2626;--light:#f8fafc;--card:#ffffff;
  --radius:10px;--max:960px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.7;color:var(--text);background:var(--bg);font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}

/* ===== Layout ===== */
.container{max-width:var(--max);margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font-weight:800;font-size:1.15rem;color:var(--text);text-decoration:none}
.logo span{color:var(--primary)}
.main-nav{display:flex;gap:24px}
.main-nav a{color:var(--muted);font-size:.95rem;font-weight:500}
.main-nav a:hover{color:var(--primary);text-decoration:none}
.hamburger{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--text)}
@media(max-width:680px){
  .main-nav{display:none}
  .hamburger{display:block}
  .main-nav.open{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:16px 20px;gap:14px}
}

/* ===== Hero ===== */
.hero{padding:48px 0 32px;background:linear-gradient(180deg,#f0f7ff 0%,#ffffff 100%)}
.hero h1{font-size:2.1rem;line-height:1.25;font-weight:800;max-width:800px;margin-bottom:16px}
@media(max-width:680px){.hero h1{font-size:1.7rem}}
.hero .lead{font-size:1.1rem;color:var(--muted);max-width:720px}

/* ===== Quick Answer ===== */
.quick-answer{background:#f0f7ff;border:1px solid #bfdbfe;border-left:4px solid var(--primary);border-radius:var(--radius);padding:24px 28px;margin:28px 0}
.quick-answer h2{font-size:1.15rem;margin-bottom:12px;color:var(--primary-dark)}
.quick-answer ul{list-style:none;padding:0}
.quick-answer li{padding:6px 0 6px 28px;position:relative}
.quick-answer li::before{content:"✓";position:absolute;left:0;top:6px;color:var(--green);font-weight:700}

/* ===== Sections ===== */
section{padding:36px 0}
section h2{font-size:1.5rem;font-weight:700;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--line)}
section h3{font-size:1.2rem;font-weight:700;margin:20px 0 10px}
p{margin-bottom:14px}
ul,ol{margin-bottom:16px;padding-left:24px}
li{margin-bottom:6px}

/* ===== Service Card ===== */
.service-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:24px;background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.service-card.top-pick{border:2px solid var(--green);position:relative}
.badge{display:inline-block;background:var(--green);color:#fff;font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:20px;margin-bottom:10px;letter-spacing:.5px}
.service-card h3{font-size:1.4rem;margin-bottom:6px}
.service-card .subtitle{color:var(--muted);font-size:.95rem;margin-bottom:14px}
.service-card .for-whom{font-style:italic;color:var(--primary-dark);margin-bottom:12px}
.pros{list-style:none;padding:0;margin-bottom:16px}
.pros li{padding:5px 0 5px 26px;position:relative}
.pros li::before{content:"+";position:absolute;left:0;color:var(--green);font-weight:700;font-size:1.1rem}

/* ===== CTA Blocks ===== */
.cta-block{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:var(--radius);padding:28px 32px;text-align:center;margin:28px 0;color:#fff}
.cta-block h3{color:#fff;margin-bottom:8px}
.cta-block p{color:#dbeafe;margin-bottom:16px}
.cta-btn{display:inline-block;background:var(--accent);color:#1a1a2e;font-weight:700;font-size:1.05rem;padding:14px 36px;border-radius:50px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.cta-btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 20px rgba(245,158,11,.4)}
.cta-btn.green{background:#22c55e;color:#fff}
.cta-btn.green:hover{box-shadow:0 8px 20px rgba(34,197,94,.4)}

.cta-banner{border:2px dashed var(--primary);background:#f0f7ff;border-radius:var(--radius);padding:20px 24px;margin:24px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cta-banner p{margin:0;font-weight:500}

/* ===== Tables ===== */
.table-wrap{overflow-x:auto;margin:24px 0}
table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:560px}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--light);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}
tr:hover{background:#fafbfc}
.price{font-weight:700;color:var(--green)}

/* ===== Info Boxes ===== */
.info-box{border-radius:var(--radius);padding:20px 24px;margin:20px 0;border-left:4px solid}
.info-box.tip{background:#f0fdf4;border-color:var(--green)}
.info-box.mistake{background:#fef2f2;border-color:var(--red)}
.info-box.expert{background:#fffbeb;border-color:var(--accent)}
.info-box h4{font-size:1rem;margin-bottom:8px;font-weight:700}
.info-box.tip h4{color:var(--green)}
.info-box.mistake h4{color:var(--red)}
.info-box.expert h4{color:#b45309}

/* ===== Checklist ===== */
.checklist{background:var(--light);border-radius:var(--radius);padding:24px 28px;margin:20px 0}
.checklist h3{margin-top:0}
.checklist ul{list-style:none;padding:0}
.checklist li{padding:6px 0 6px 28px;position:relative}
.checklist li::before{content:"☐";position:absolute;left:0;font-size:1.1rem}

/* ===== FAQ ===== */
.faq-item{border-bottom:1px solid var(--line);padding:18px 0}
.faq-item h3{font-size:1.05rem;cursor:pointer;margin-bottom:8px;color:var(--text)}
.faq-item p{color:var(--muted);margin:0}

/* ===== Footer ===== */
.site-footer{background:#0f172a;color:#cbd5e1;padding:40px 0 24px;margin-top:40px}
.site-footer .container{display:flex;flex-direction:column;gap:20px}
.footer-nav{display:flex;gap:24px;flex-wrap:wrap}
.footer-nav a{color:#cbd5e1;font-size:.9rem}
.footer-nav a:hover{color:#fff}
.disclaimer{font-size:.82rem;color:#94a3b8;line-height:1.6;border-top:1px solid #1e293b;padding-top:20px;margin-top:8px}
.disclaimer strong{color:#cbd5e1}

/* ===== Misc ===== */
.rating{color:var(--accent);font-size:1.1rem;letter-spacing:2px}
.updated{font-size:.85rem;color:var(--muted);font-style:italic}
.lead-para{font-size:1.1rem}
.text-center{text-align:center}
.mt-0{margin-top:0}
