* { box-sizing: border-box; }
:root {
    --turquoise: #20b8b0;
    --turquoise-dark: #0f8f8a;
    --turquoise-soft: #e9fbfa;
    --turquoise-pale: #f5fdfc;
    --ink: #142229;
    --muted: #67777d;
    --line: #dde7e9;
    --surface: #fff;
    --soft: #f5f8f8;
    --success: #168a59;
    --success-soft: #eaf8f1;
    --warning: #b57913;
    --warning-soft: #fff7e7;
    --danger: #c84141;
    --danger-soft: #fff0f0;
    --shadow: 0 18px 60px rgba(28,54,61,.09);
    --radius: 22px;
}
html { scroll-behavior: smooth; }
body { margin:0; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--surface); line-height:1.55; }
a { color:inherit; }
button,input,select { font:inherit; }
button { cursor:pointer; }
.container { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.91); backdrop-filter:blur(16px); border-bottom:1px solid rgba(221,231,233,.9); }
.nav { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-size:21px; font-weight:800; letter-spacing:-.04em; }
.brand > span:last-child > span { color:var(--turquoise-dark); }
.brand-mark { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--turquoise); color:#fff; font-weight:900; box-shadow:0 8px 24px rgba(32,184,176,.25); }
.nav-links { display:flex; gap:28px; }
.nav-links a { text-decoration:none; color:var(--muted); font-weight:650; font-size:14px; }
.nav-links a:hover { color:var(--turquoise-dark); }
.hero { position:relative; overflow:hidden; padding:88px 0 72px; background:linear-gradient(135deg,#f7ffff 0%,#fff 52%,#f8fbfb 100%); }
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); gap:64px; align-items:center; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(10px); pointer-events:none; }
.hero-glow-one { width:440px; height:440px; right:-160px; top:-120px; background:rgba(32,184,176,.12); }
.hero-glow-two { width:300px; height:300px; left:-120px; bottom:-170px; background:rgba(32,184,176,.08); }
.eyebrow,.mini-label { display:inline-block; text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:850; color:var(--turquoise-dark); }
.hero h1 { margin:16px 0 20px; max-width:820px; font-size:clamp(44px,6vw,72px); line-height:.98; letter-spacing:-.06em; }
.hero h1 span { color:var(--turquoise-dark); }
.hero-lead { max-width:720px; font-size:19px; color:var(--muted); margin:0 0 28px; }
.trust-row { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.trust-pill { padding:12px 14px; border:1px solid #d8efed; border-radius:14px; background:rgba(255,255,255,.76); }
.trust-pill strong,.trust-pill span { display:block; }
.trust-pill strong { font-size:13px; }
.trust-pill span { margin-top:2px; color:var(--muted); font-size:12px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
.hero-fineprint { margin:12px 0 0; color:var(--muted); font-size:12px; }
.hero-card { padding:32px; border:1px solid rgba(208,235,233,.9); border-radius:26px; background:rgba(255,255,255,.88); box-shadow:var(--shadow); }
.privacy-icon { width:52px; height:52px; margin-bottom:22px; border-radius:16px; display:grid; place-items:center; background:var(--turquoise); color:#fff; font-weight:900; font-size:24px; }
.small-icon { width:36px; height:36px; border-radius:11px; font-size:16px; margin:0; }
.hero-card h2 { margin:8px 0 12px; font-size:27px; line-height:1.15; letter-spacing:-.035em; }
.hero-card p { color:var(--muted); }
.hero-card-line { height:1px; background:var(--line); margin:22px 0; }
.small { font-size:12px; }
.hero-checks { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.hero-checks li { position:relative; padding-left:24px; font-size:14px; color:#43565d; }
.hero-checks li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--turquoise-dark); font-weight:900; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:14px; padding:13px 18px; font-weight:800; text-decoration:none; transition:.2s ease; }
.button:hover { transform:translateY(-1px); }
.button-primary { background:var(--turquoise); color:#fff; box-shadow:0 12px 32px rgba(32,184,176,.24); }
.button-primary:hover { background:var(--turquoise-dark); }
.button-secondary { background:var(--turquoise-soft); color:var(--turquoise-dark); }
.button-ghost { background:#fff; color:var(--ink); border:1px solid var(--line); }
.button-large { min-height:54px; padding:15px 24px; }
.button-small { min-height:40px; padding:9px 14px; font-size:13px; }
.full-button { width:100%; }
.promise-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.promise-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.promise-grid > div { padding:20px 18px; border-right:1px solid var(--line); }
.promise-grid > div:last-child { border-right:0; }
.promise-grid strong,.promise-grid span { display:block; }
.promise-grid strong { font-size:13px; }
.promise-grid span { color:var(--muted); font-size:11px; margin-top:2px; }
.form-section { padding:86px 0 100px; background:var(--soft); }
.section-heading { max-width:800px; margin-bottom:36px; }
.section-heading.centered { text-align:center; margin-left:auto; margin-right:auto; }
.section-heading h2 { margin:10px 0 8px; font-size:clamp(31px,4vw,46px); line-height:1.08; letter-spacing:-.045em; }
.section-heading p { color:var(--muted); margin:0; }
.mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:690px; margin-bottom:22px; }
.mode-button { border:1px solid var(--line); background:#fff; border-radius:16px; padding:16px 18px; display:flex; align-items:center; text-align:left; gap:12px; color:var(--ink); }
.mode-button.active { border-color:var(--turquoise); box-shadow:0 0 0 3px rgba(32,184,176,.10); background:var(--turquoise-pale); }
.mode-icon { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:var(--soft); color:var(--turquoise-dark); font-weight:900; }
.mode-button.active .mode-icon { background:var(--turquoise); color:#fff; }
.mode-button strong,.mode-button small { display:block; }
.mode-button small { color:var(--muted); font-size:11px; margin-top:2px; }
.assistant-progress { max-width:820px; margin-bottom:20px; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.progress-top { display:flex; align-items:center; justify-content:space-between; font-size:12px; margin-bottom:9px; }
.progress-top span { color:var(--turquoise-dark); font-weight:800; }
.progress-bar { height:7px; background:#eaf0f1; border-radius:999px; overflow:hidden; }
.progress-bar span { display:block; height:100%; width:20%; background:var(--turquoise); border-radius:999px; transition:.25s ease; }
.progress-labels { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin-top:8px; color:#87979c; font-size:10px; text-align:center; }
.form-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:28px; align-items:start; }
.form-main { display:grid; gap:20px; }
.form-card,.summary-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 10px 32px rgba(27,49,55,.045); }
.form-card { padding:30px; }
.wizard-step { display:none; }
.wizard-step.active { display:block; }
.direct-mode .wizard-step { display:block; }
.direct-mode .assistant-progress,.direct-mode .wizard-navigation { display:none; }
.card-heading { display:flex; align-items:flex-start; gap:15px; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--line); }
.number { flex:0 0 auto; width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:var(--turquoise); color:#fff; font-weight:900; }
.card-heading h3 { margin:2px 0 4px; font-size:22px; letter-spacing:-.025em; }
.card-heading p { margin:0; color:var(--muted); font-size:14px; }
.source-panel { display:grid; grid-template-columns:100px 1fr; gap:24px; align-items:center; padding:24px; border-radius:18px; background:linear-gradient(135deg,#f0fcfb,#fff); border:1px solid #d4efed; }
.source-illustration { width:88px; height:110px; border-radius:12px; background:#fff; border:1px solid #d9e8e9; box-shadow:0 12px 28px rgba(30,69,72,.08); display:grid; place-items:center; position:relative; overflow:hidden; }
.source-illustration::before,.source-illustration::after { content:""; position:absolute; left:17px; right:17px; height:5px; background:#e6eeee; border-radius:4px; }
.source-illustration::before { top:24px; box-shadow:0 14px 0 #e6eeee,0 28px 0 #e6eeee; }
.source-illustration::after { top:78px; background:#ccefeb; }
.source-illustration span { position:relative; z-index:2; margin-top:62px; color:var(--turquoise-dark); font-weight:900; }
.source-panel h4 { margin:0 0 8px; font-size:20px; }
.source-panel p { margin:0; color:var(--muted); }
.clean-list { list-style:none; padding:0; margin:15px 0 0; display:grid; gap:6px; font-size:13px; }
.clean-list li { color:#41565c; }
.notice-box { display:grid; grid-template-columns:auto 1fr; gap:8px 12px; margin-top:18px; padding:16px 18px; border-radius:14px; background:var(--warning-soft); border:1px solid #f0dfbd; font-size:13px; }
.notice-box strong { color:var(--warning); }
.notice-box span { color:#6c5b3e; }
.confirm-row { display:flex; align-items:flex-start; gap:12px; margin-top:18px; padding:16px; border:1px solid var(--line); border-radius:14px; cursor:pointer; }
.confirm-row input { position:absolute; opacity:0; pointer-events:none; }
.fake-check { flex:0 0 auto; width:28px; height:28px; border-radius:8px; display:grid; place-items:center; color:transparent; background:#fff; border:1px solid #cddbdd; transition:.2s; }
.confirm-row input:checked + .fake-check { background:var(--turquoise); border-color:var(--turquoise); color:#fff; }
.confirm-row strong,.confirm-row small { display:block; }
.confirm-row small { color:var(--muted); margin-top:2px; }
.form-subsection + .form-subsection { margin-top:28px; padding-top:26px; border-top:1px dashed var(--line); }
.form-subsection h4 { margin:0 0 16px; font-size:17px; }
.form-grid { display:grid; gap:17px; margin-bottom:17px; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid.three { grid-template-columns:.8fr 1fr 1fr; }
.field { display:block; }
.field > span { display:block; margin-bottom:7px; font-size:13px; font-weight:750; }
.field span b,.primary-amount-card h4 b,.income-box strong b { color:var(--danger); }
.field em { font-style:normal; font-weight:500; color:#91a0a5; }
input,select { width:100%; min-height:48px; border:1px solid #cfdddf; border-radius:12px; background:#fff; color:var(--ink); padding:10px 12px; outline:none; transition:.18s ease; }
input:focus,select:focus { border-color:var(--turquoise); box-shadow:0 0 0 4px rgba(32,184,176,.12); }
input.is-invalid,select.is-invalid { border-color:var(--danger); box-shadow:0 0 0 3px rgba(200,65,65,.08); }
.field-error { min-height:16px; display:block; color:var(--danger); font-size:11px; margin-top:4px; }
.field > small { display:block; margin-top:6px; color:var(--muted); }
.text-button { border:0; background:transparent; padding:0; color:var(--turquoise-dark); font-weight:800; font-size:13px; }
.switch-row { display:flex; align-items:flex-start; gap:13px; margin-top:24px; padding:16px; border:1px solid var(--line); border-radius:14px; cursor:pointer; }
.switch-row > input { position:absolute; opacity:0; pointer-events:none; }
.switch { position:relative; flex:0 0 auto; width:43px; height:24px; border-radius:999px; background:#cbd7d9; transition:.2s; }
.switch::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:.2s; box-shadow:0 2px 5px rgba(0,0,0,.12); }
.switch-row > input:checked + .switch { background:var(--turquoise); }
.switch-row > input:checked + .switch::after { transform:translateX(19px); }
.switch-row strong,.switch-row small { display:block; }
.switch-row small { margin-top:2px; color:var(--muted); }
.conditional-panel { margin-top:16px; padding:18px 18px 1px; background:var(--turquoise-soft); border-radius:14px; }
.help-box { margin-top:18px; border:1px solid #d8e8e8; background:#fbfefe; border-radius:14px; padding:14px 16px; }
.help-box summary,.primary-copy details summary { cursor:pointer; color:var(--turquoise-dark); font-weight:800; font-size:13px; }
.help-box p,.primary-copy details p { margin:8px 0 0; color:var(--muted); font-size:13px; }
.primary-amount-card { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:24px; align-items:center; padding:24px; border-radius:18px; background:var(--turquoise-pale); border:2px solid #bce7e3; }
.primary-copy h4 { margin:7px 0 7px; font-size:19px; }
.primary-copy > p { margin:0; color:var(--muted); font-size:13px; }
.primary-copy details { margin-top:10px; }
.big-money-field { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; }
.big-money-field input { min-height:64px; font-size:25px; font-weight:800; text-align:right; }
.big-money-field > span { font-weight:800; color:var(--muted); }
.big-money-field .field-error { grid-column:1/-1; }
.optional-heading { margin:28px 0 12px; }
.optional-heading span { font-weight:850; }
.optional-heading p { margin:2px 0 0; color:var(--muted); font-size:12px; }
.cost-list { border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.cost-row { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:18px; align-items:center; padding:20px; border-bottom:1px solid var(--line); }
.cost-row:last-child { border-bottom:0; }
.cost-row.deduction { background:#fbfefe; }
.cost-copy strong,.cost-copy > span { display:block; }
.cost-copy > span { color:var(--muted); font-size:13px; margin-top:3px; }
.inline-actions { margin-top:7px; }
.tiny-link,.source-link { color:var(--turquoise-dark); font-weight:800; text-decoration:none; font-size:12px; }
.money-field { position:relative; display:grid; grid-template-columns:1fr auto; align-items:center; gap:7px; }
.money-field .sign { position:absolute; left:-17px; color:var(--turquoise-dark); font-weight:900; }
.money-field > span:not(.sign) { color:var(--muted); font-size:13px; font-weight:750; }
.money-field .field-error { grid-column:1/-1; }
.subheading-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:28px 0 14px; }
.subheading-row h4 { margin:0; font-size:17px; }
.subheading-row p { margin:3px 0 0; color:var(--muted); font-size:13px; }
.extra-costs { display:grid; gap:10px; }
.extra-cost-row { display:grid; grid-template-columns:1fr 180px 40px; gap:10px; align-items:center; }
.extra-cost-row .remove-cost { width:40px; min-height:40px; border:0; border-radius:10px; background:#fff2f2; color:var(--danger); font-size:20px; }
.income-box { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:18px; align-items:center; margin-top:28px; padding:20px; border-radius:16px; background:var(--turquoise-soft); border:1px solid #ccece9; }
.income-box strong { display:block; margin-top:4px; }
.income-box p { margin:3px 0 0; color:var(--muted); font-size:13px; }
.review-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:24px; }
.review-grid > div { padding:16px; border:1px solid var(--line); border-radius:14px; background:#fafcfc; }
.review-grid span,.review-grid strong { display:block; }
.review-grid span { color:var(--muted); font-size:11px; }
.review-grid strong { margin-top:4px; font-size:14px; }
.final-options { padding-top:6px; }
.suffix-input { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; }
.suffix-input span { margin:0; color:var(--muted); font-weight:650; }
.final-privacy { display:flex; gap:13px; align-items:flex-start; margin:20px 0; padding:17px; border-radius:15px; background:var(--turquoise-soft); }
.final-privacy strong { display:block; font-size:13px; }
.final-privacy p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.wizard-navigation { display:flex; justify-content:space-between; gap:12px; padding:4px 2px; }
.summary-column { position:sticky; top:96px; }
.summary-card { padding:26px; }
.summary-card h3 { margin:5px 0 24px; font-size:22px; }
.summary-line { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid var(--line); font-size:13px; }
.summary-line span { color:var(--muted); }
.deduction-line strong { color:var(--turquoise-dark); }
.summary-result { margin-top:20px; padding:18px; border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.summary-result.neutral { background:#f2f5f5; }
.summary-result.credit { background:var(--success-soft); color:var(--success); }
.summary-result.payment { background:var(--danger-soft); color:var(--danger); }
.summary-result span { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.summary-result strong { font-size:20px; }
.privacy-mini { display:flex; gap:11px; margin-top:22px; padding:14px; border-radius:13px; background:var(--turquoise-soft); }
.privacy-mini > span { width:26px; height:26px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:var(--turquoise); color:#fff; font-size:12px; font-weight:900; }
.privacy-mini p,.summary-note { margin:0; color:var(--muted); font-size:11px; }
.summary-note { margin-top:15px; }
.honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; left:-10000px !important; }
.tools-section { padding:90px 0; }
.tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.tool-card { padding:30px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 12px 36px rgba(27,49,55,.05); }
.tool-head { display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; }
.tool-icon { width:52px; height:52px; flex:0 0 auto; display:grid; place-items:center; border-radius:15px; background:var(--turquoise-soft); color:var(--turquoise-dark); font-weight:900; font-size:15px; }
.tool-head h3 { margin:5px 0 0; font-size:22px; line-height:1.15; letter-spacing:-.025em; }
.tool-card > p { color:var(--muted); font-size:13px; }
.tool-result { margin-top:18px; padding:20px; border-radius:16px; background:#f4f7f7; }
.tool-result span,.tool-result strong,.tool-result small { display:block; }
.tool-result span { font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; color:var(--muted); }
.tool-result strong { font-size:25px; margin-top:4px; }
.tool-result small { margin-top:3px; color:var(--muted); }
.tool-result.success { background:var(--success-soft); color:var(--success); }
.tool-result.warning { background:var(--warning-soft); color:var(--warning); }
.tool-result.danger { background:var(--danger-soft); color:var(--danger); }
.tool-actions { margin-top:12px; }
.legal-mini { margin-top:18px !important; font-size:11px !important; color:#788b91 !important; }
.source-link { display:inline-block; margin-top:4px; }
.co2-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0; }
.co2-result-grid > div { padding:17px; border-radius:14px; background:var(--turquoise-pale); border:1px solid #d6efed; }
.co2-result-grid span,.co2-result-grid strong,.co2-result-grid small { display:block; }
.co2-result-grid span { font-size:11px; color:var(--muted); }
.co2-result-grid strong { font-size:24px; color:var(--turquoise-dark); margin-top:3px; }
.co2-result-grid small { margin-top:2px; font-weight:750; }
.knowledge-section { padding:90px 0; background:var(--soft); }
.knowledge-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.knowledge-cards article { padding:26px; border-radius:18px; background:#fff; border:1px solid var(--line); }
.knowledge-cards article > span { color:var(--turquoise-dark); font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:850; }
.knowledge-cards h3 { margin:9px 0 8px; font-size:19px; line-height:1.2; }
.knowledge-cards p { margin:0; color:var(--muted); font-size:13px; }
.future-news { margin-top:24px; padding:38px; border-radius:24px; background:var(--ink); color:#fff; display:grid; grid-template-columns:1.25fr .75fr; gap:36px; align-items:center; }
.future-news .eyebrow { color:#7ee1dc; }
.future-news h2 { margin:8px 0; font-size:34px; letter-spacing:-.04em; }
.future-news p { margin:0; color:#b9c9cd; }
.future-tags { display:flex; flex-wrap:wrap; gap:8px; }
.future-tags span { padding:9px 11px; border-radius:999px; background:rgba(255,255,255,.09); font-size:12px; color:#d3dfe1; }
.site-footer { padding:42px 0; border-top:1px solid var(--line); }
.footer-grid { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-brand { font-size:18px; }
.footer-grid p { color:var(--muted); font-size:12px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; }
.footer-links a { color:var(--muted); font-size:13px; text-decoration:none; }
.footer-links a:hover { color:var(--turquoise-dark); }
.error-page { min-height:100vh; display:grid; place-items:center; padding:30px; background:var(--soft); }
.error-box { max-width:700px; padding:34px; border-radius:22px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); }
.error-box h1 { margin-top:0; }
.error-box li { margin:7px 0; color:var(--danger); }
@media (max-width:980px) {
    .hero-grid,.form-layout,.future-news { grid-template-columns:1fr; }
    .summary-column { position:static; }
    .tools-grid,.knowledge-cards { grid-template-columns:1fr; }
    .promise-grid { grid-template-columns:repeat(2,1fr); }
    .promise-grid > div:nth-child(2) { border-right:0; }
    .promise-grid > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}
@media (max-width:760px) {
    .container { width:min(100% - 26px,1180px); }
    .site-header { position:relative; }
    .nav { min-height:66px; }
    .nav-links { display:none; }
    .hero { padding:54px 0 44px; }
    .hero-grid { gap:30px; }
    .hero h1 { font-size:45px; }
    .hero-card { padding:24px; }
    .mode-switch { grid-template-columns:1fr; }
    .progress-labels { display:none; }
    .form-section { padding:60px 0 70px; }
    .form-card { padding:20px; }
    .source-panel { grid-template-columns:1fr; }
    .source-illustration { display:none; }
    .form-grid.two,.form-grid.three { grid-template-columns:1fr; }
    .primary-amount-card,.cost-row,.income-box { grid-template-columns:1fr; }
    .big-money-field { max-width:260px; }
    .money-field .sign { left:-13px; }
    .subheading-row { align-items:flex-start; flex-direction:column; }
    .extra-cost-row { grid-template-columns:1fr 1fr 40px; }
    .review-grid { grid-template-columns:1fr; }
    .tools-section,.knowledge-section { padding:65px 0; }
    .tool-card { padding:22px; }
    .footer-grid { align-items:flex-start; flex-direction:column; }
}
@media (max-width:520px) {
    .hero h1 { font-size:38px; }
    .trust-row { display:grid; grid-template-columns:1fr; }
    .hero-actions { display:grid; }
    .promise-grid { grid-template-columns:1fr; }
    .promise-grid > div { border-right:0; border-bottom:1px solid var(--line); }
    .promise-grid > div:last-child { border-bottom:0; }
    .extra-cost-row { grid-template-columns:1fr 40px; }
    .extra-cost-row .extra-amount { grid-column:1/2; }
    .extra-cost-row .remove-cost { grid-column:2; grid-row:1/3; height:100%; }
    .wizard-navigation { flex-direction:column-reverse; }
    .wizard-navigation .button { width:100%; }
    .co2-result-grid { grid-template-columns:1fr; }
}


/* ===== V3: News ===== */
.news-section { padding: 90px 0; background:#fff; }
.news-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.news-heading-row .section-heading { margin-bottom:0; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.news-card { display:flex; flex-direction:column; min-height:245px; padding:24px; border:1px solid var(--line); border-radius:19px; background:#fff; transition:.2s ease; }
.news-card:hover { transform:translateY(-2px); box-shadow:0 15px 38px rgba(27,49,55,.07); border-color:#cce5e3; }
.news-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#8a999e; font-size:11px; }
.news-topic { display:inline-flex; padding:5px 8px; border-radius:999px; background:var(--turquoise-soft); color:var(--turquoise-dark); font-weight:850; }
.news-card h3 { margin:17px 0 10px; font-size:19px; line-height:1.25; letter-spacing:-.02em; }
.news-card p { margin:0 0 18px; color:var(--muted); font-size:12px; }
.news-link { margin-top:auto; color:var(--turquoise-dark); font-size:13px; font-weight:850; text-decoration:none; }
.news-disclaimer { margin:20px 0 0; color:#8a999e; font-size:11px; }
.news-archive-hero { padding:72px 0 48px; background:linear-gradient(135deg,#f4ffff,#fff); border-bottom:1px solid var(--line); }
.news-archive-hero h1 { margin:12px 0; max-width:800px; font-size:clamp(38px,5vw,58px); line-height:1; letter-spacing:-.055em; }
.news-archive-hero p { max-width:740px; color:var(--muted); font-size:17px; }
.news-grid-archive { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:980px){.news-grid,.news-grid-archive{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.news-section{padding:65px 0}.news-heading-row{align-items:flex-start;flex-direction:column}.news-grid,.news-grid-archive{grid-template-columns:1fr}.news-card{min-height:0}}


/* V4: zusätzliche Rechner */
.quick-tool { position:relative; }
.quick-tool .tool-icon { font-size:13px; }
.calculation-line {
    margin:10px 0 14px; padding:9px 12px; border-radius:10px;
    background:#f7fafa; color:var(--muted); font-size:12px; text-align:center;
}
.mini-comparison { display:flex; flex-wrap:wrap; gap:8px 18px; margin:12px 0 0; color:var(--muted); font-size:12px; }
.custom-percent-field { margin-top:-2px; }
.increase-result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0; }
.increase-result-grid > div { padding:16px; border-radius:14px; background:var(--turquoise-pale); border:1px solid #d6efed; }
.increase-result-grid span,.increase-result-grid strong { display:block; }
.increase-result-grid span { color:var(--muted); font-size:11px; }
.increase-result-grid strong { margin-top:3px; font-size:20px; color:var(--turquoise-dark); }

/* V4: horizontaler News-Slider */
.news-slider-shell { position:relative; }
.news-slider {
    display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
    scroll-behavior:smooth; scrollbar-width:none; padding:3px 2px 10px;
    overscroll-behavior-inline:contain;
}
.news-slider::-webkit-scrollbar { display:none; }
.news-slider .news-card {
    flex:0 0 calc((100% - 36px) / 3); min-width:0; scroll-snap-align:start;
}
.news-slider-arrow {
    position:absolute; top:50%; z-index:3; width:46px; height:46px; margin-top:-23px;
    display:grid; place-items:center; border:1px solid var(--line); border-radius:50%;
    background:#fff; color:var(--ink); font-size:30px; line-height:1;
    box-shadow:0 8px 26px rgba(27,49,55,.12); transition:.2s ease;
}
.news-slider-arrow:hover { background:var(--turquoise); border-color:var(--turquoise); color:#fff; transform:scale(1.04); }
.news-slider-arrow:disabled { opacity:.3; cursor:default; transform:none; }
.news-prev { left:-23px; }
.news-next { right:-23px; }
.news-slider-dots { display:flex; justify-content:center; gap:7px; margin-top:10px; }
.news-slider-dots i { width:7px; height:7px; border-radius:999px; background:#d1dddd; transition:.2s ease; }
.news-slider-dots i.active { width:22px; background:var(--turquoise); }

@media(max-width:980px){
    .news-slider .news-card { flex-basis:calc((100% - 18px) / 2); }
    .news-prev { left:-12px; }.news-next { right:-12px; }
}
@media(max-width:760px){
    .news-slider .news-card { flex-basis:88%; }
    .news-slider-arrow { width:40px; height:40px; margin-top:-20px; font-size:26px; }
    .news-prev { left:-7px; }.news-next { right:-7px; }
    .increase-result-grid { grid-template-columns:1fr; }
}

/* ===== V5: kompakter Toolbereich, Lightbox, SEO-Hilfe ===== */
.primary-tools-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.more-tools-heading {
    margin: 34px 0 16px;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
}
.more-tools-heading h3 { margin:5px 0 0; font-size:24px; letter-spacing:-.03em; }
.more-tools-heading p { margin:0; color:var(--muted); font-size:13px; }
.tool-teaser-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.tool-teaser {
    position:relative;
    width:100%;
    min-height:160px;
    padding:24px 22px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    color:var(--ink);
    text-align:center;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    justify-items:center;
    align-content:center;
    box-shadow:0 10px 30px rgba(27,49,55,.04);
    transition:.2s ease;
}
.tool-teaser:hover {
    border-color:#bfe6e3;
    box-shadow:0 16px 38px rgba(27,49,55,.08);
    transform:translateY(-2px);
}
.tool-teaser-icon {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:var(--turquoise-soft);
    color:var(--turquoise-dark);
    font-weight:900;
}
.tool-teaser-copy {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.tool-teaser-copy strong,
.tool-teaser-copy small { display:block; }
.tool-teaser-copy strong { font-size:15px; line-height:1.2; }
.tool-teaser-copy small { color:var(--muted); font-size:11px; margin-top:6px; line-height:1.45; }
.tool-teaser-arrow {
    position:absolute;
    top:16px;
    right:18px;
    color:var(--turquoise-dark);
    font-weight:900;
    font-size:19px;
}

.calculator-modal {
    position:fixed;
    inset:0;
    z-index:200;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.calculator-modal.is-open { display:flex; }
.calculator-modal-backdrop {
    position:absolute;
    inset:0;
    background:rgba(10,26,31,.62);
    backdrop-filter:blur(5px);
}
.calculator-modal-dialog {
    position:relative;
    z-index:2;
    width:min(760px,100%);
    max-height:min(86vh,860px);
    overflow:auto;
    padding:30px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 90px rgba(0,0,0,.24);
}
.calculator-modal-close {
    position:absolute;
    right:16px;
    top:16px;
    width:42px;
    height:42px;
    border:0;
    border-radius:12px;
    background:var(--soft);
    color:var(--ink);
    font-size:25px;
    line-height:1;
}
.modal-tool-panel > p { color:var(--muted); font-size:13px; }
body.modal-open { overflow:hidden; }

.seo-help-section {
    padding:88px 0;
    background:#fff;
}
.faq-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.faq-grid details {
    border:1px solid var(--line);
    border-radius:16px;
    padding:17px 18px;
    background:#fbfdfd;
}
.faq-grid summary {
    cursor:pointer;
    font-weight:800;
    color:var(--ink);
}
.faq-grid p {
    margin:10px 0 0;
    color:var(--muted);
    font-size:13px;
}

.brand-mark { font-size:22px; line-height:1; }

@media (max-width: 1050px) {
    .tool-teaser-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .primary-tools-grid,
    .faq-grid { grid-template-columns:1fr; }
    .more-tools-heading { align-items:flex-start; flex-direction:column; gap:6px; }
    .calculator-modal { padding:12px; }
    .calculator-modal-dialog { padding:24px 18px 20px; border-radius:18px; }
    .calculator-modal-close { right:10px; top:10px; }
}
@media (max-width: 520px) {
    .tool-teaser-grid { grid-template-columns:1fr; }
    .tool-teaser { min-height:0; padding:22px 18px; }
    .tool-teaser-icon { width:44px; height:44px; }
    .tool-teaser-arrow { top:14px; right:14px; }
}
