:root {
  --navy:#123965; --navy-deep:#102c4b; --ink:#14263d; --muted:#62748a;
  --blue:#2266bb; --pale:#eaf3ff; --green:#139d8e; --orange:#f4b85a;
  --line:#e4eaf1; --bg:#f5f8fc; --white:#fff;
  --shadow:0 9px 30px rgba(20,48,77,.055);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--blue)}a:hover{color:var(--navy)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #84b7fa;outline-offset:3px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.23;letter-spacing:-.035em}h1{font-size:clamp(2.05rem,4.2vw,3.3rem);font-weight:780}h2{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:745}h3{font-size:1.1rem}.container{width:min(1150px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;top:-80px;left:10px;padding:12px;background:#fff;z-index:100}.skip-link:focus{top:12px}
.site-header{background:var(--white);border-bottom:1px solid var(--line)}.nav-inner{display:flex;justify-content:space-between;align-items:center;min-height:79px;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{display:flex;align-items:center;justify-content:center;position:relative;width:42px;height:42px;background:var(--navy);color:#fff;border-radius:11px;font-size:23px;font-weight:850;letter-spacing:-.08em}.brand-mark span{color:#70dfcb;position:absolute;font-size:20px;right:3px;top:-2px}.brand-copy{display:flex;flex-direction:column;line-height:1.25}.brand-copy strong{font-size:1rem}.brand-copy small{color:var(--muted);font-size:.78rem;margin-top:3px}.site-header nav{display:flex;gap:28px}.site-header nav a{text-decoration:none;font-weight:590;font-size:.91rem;color:#4c6179}.site-header nav a:hover{color:var(--blue)}
.hero{padding-top:58px;padding-bottom:42px}.eyebrow{color:#2662a1;font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.09em;display:flex;gap:8px;align-items:center;margin-bottom:14px}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#2aab9a;box-shadow:0 0 0 4px #d9f4ef}.hero h1{max-width:930px;margin-bottom:17px}.hero h1 span{color:#2266bb}.hero>p{color:#53667b;max-width:840px;font-size:1.075rem;margin-bottom:20px}.hero-features{display:flex;flex-wrap:wrap;gap:10px}.hero-features span{font-size:.81rem;color:#42627e;background:#eaf1fa;padding:6px 11px;border-radius:50px;font-weight:570}
.calculator-layout{display:grid;grid-template-columns:minmax(340px,.90fr) minmax(0,1.1fr);align-items:start;gap:20px;scroll-margin-top:22px}.panel{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.input-panel{padding:26px}.panel-heading{margin-bottom:21px}.panel-heading h2{margin-bottom:6px}.panel-heading p{color:var(--muted);font-size:.88rem;margin-bottom:0}.section-kicker{font-size:.69rem;color:#6b8099;font-weight:800;letter-spacing:.10em;margin-bottom:9px}
.goal-box{border:1px solid #cfe1f8;background:linear-gradient(140deg,#f0f7ff,#f9fbff);border-radius:12px;padding:17px;margin-bottom:19px}.goal-box .field-label-row label{display:block;color:#1b4169;font-weight:750;margin:0;font-size:.92rem}.goal-input-row{display:flex;gap:9px;align-items:stretch}.goal-input{position:relative;min-width:0;flex:1}.goal-input input{width:100%;min-width:0;outline:none;border-radius:8px;background:#fff;border:1px solid #b8d0ed;padding:11px 30px 11px 11px;color:#173959;font-size:1.22rem;font-weight:750;font-variant-numeric:tabular-nums}.goal-input>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-weight:700;color:#42637f}.goal-box p{font-size:.78rem;color:#607d9a;margin:11px 0 0}.field-label-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.help{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;min-width:23px;height:23px;padding:0;border:1px solid #c8d9ec;background:#edf5ff;color:#235a91;border-radius:50%;font-weight:800;font-size:.8rem;line-height:1;transition:background .15s,border-color .15s}
.help:hover,.help[aria-expanded="true"]{background:#dbeeff;border-color:#8dbbea;color:#154779}
.help-text{padding:11px 13px;margin:0 0 11px;border:1px solid #d1e2f5;border-radius:8px;background:#f0f7ff;color:#31516e;font-size:.83rem;line-height:1.5}
.help-text[hidden]{display:none}
.goal-box .help-text{margin:0 0 11px;color:#31516e;font-size:.82rem}

.calc-field{margin-bottom:16px}.calc-field>.field-label-row>label{display:block;font-weight:650;color:#263e56;font-size:.85rem;margin:0}.field-actions{display:flex;gap:9px;align-items:stretch}.field-input{flex:1;min-width:0;position:relative}.field-input input{width:100%;height:43px;border-radius:8px;border:1px solid #d7e0eb;background:#fff;outline:none;padding:8px 69px 8px 12px;color:#19354f;font-weight:630;font-variant-numeric:tabular-nums;transition:border-color .16s,box-shadow .16s}.field-input input:focus,.goal-input input:focus,.frequency:focus,.special-details textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #e5f1ff}.field-input>span{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#8a9aac;font-size:.78rem;white-space:nowrap;pointer-events:none}.frequency{height:43px;width:100%;border:1px solid #d7e0eb;border-radius:8px;background:#fff;color:#264157;padding:0 12px;outline:none}.was-solved input{border-color:#53b7a3!important;box-shadow:0 0 0 2px #daf5ec}.was-solved>.field-label-row>label:after{content:"✓ berechnet";color:#14977d;margin-left:8px;font-size:.74rem;font-weight:650}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;appearance:none;border-radius:8px;border:1px solid transparent;font-size:.82rem;font-weight:690;padding:10px 15px;text-decoration:none;white-space:nowrap;transition:background .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-calc{padding:0 12px;min-width:117px;background:#eef5ff;color:#215fa6;border-color:#dceafa}.btn-calc:hover{background:#e0ecfc}.btn-light{background:#fff;color:var(--blue);border-color:#c6daf5;min-height:46px}.btn-light:hover{background:#f5faff}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:#215181}.btn-secondary{background:#fff;border-color:#d6e2ef;color:#375b80}.btn-secondary:hover{background:#edf5ff}.full-button{width:100%;margin-top:18px;min-height:46px;font-size:.88rem}.form-footnote{color:#8995a2;font-size:.73rem;margin:12px 0 0;line-height:1.5}
.special-details{border-top:1px solid var(--line);padding-top:14px;margin-top:15px}.special-details summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;color:#294963;font-size:.87rem}.special-details summary::-webkit-details-marker{display:none}.special-details summary:after{content:"+";color:#2768ad;font-size:1.35rem;line-height:1}.special-details[open] summary:after{content:"−"}.special-details summary span{margin-left:auto;color:#90a2b4;font-weight:400;font-size:.78rem;margin-right:13px}.special-details label{display:block;margin:13px 0 5px;color:#66788a;font-size:.79rem}.special-details textarea{resize:vertical;min-height:72px;width:100%;padding:10px 12px;border:1px solid #d6e2ee;border-radius:8px;outline:none}.special-details p{font-size:.76rem;color:var(--muted);margin:7px 0 0}.special-details code{font-size:.84em;background:#eef5fc;padding:1px 3px;border-radius:3px}.alert{border-radius:9px;padding:12px;font-size:.82rem;margin-bottom:18px}.alert strong{display:block}.alert-error{background:#fff2f2;border:1px solid #ffd1d1;color:#9c2c36}.alert-success{background:#e9f8f2;border:1px solid #c1eadd;color:#21684e}
.results-column{display:flex;flex-direction:column;gap:20px;min-width:0}.summary-panel{padding:26px}.summary-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-top h2{font-size:1.1rem;letter-spacing:-.01em;margin:0}.live-tag{font-size:.71rem;border:1px solid #d7eae5;padding:4px 8px;border-radius:20px;color:#388373;background:#f4fbf9;white-space:nowrap}.live-tag span{display:inline-block;border-radius:50%;width:6px;height:6px;background:#2ca58e;margin-right:4px}.amount{font-size:clamp(2.0rem,4.5vw,3.25rem);font-weight:790;letter-spacing:-.055em;color:#163d64;font-variant-numeric:tabular-nums;line-height:1.15;margin:16px 0 15px;overflow-wrap:anywhere}.goal-status{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid #e2eaf2;background:#f7faff;border-radius:10px;padding:9px 12px;font-size:.82rem}.goal-reached{background:#f0faf6;border-color:#c8eadd;color:#26866b}.goal-unreached{color:#8b637b;background:#fffbf2;border-color:#f7eacc}.goal-status strong{font-weight:750;font-variant-numeric:tabular-nums}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:19px}.metric{padding:14px;border-radius:10px;border:1px solid #edf0f5;min-height:96px}.metric>span{font-size:.73rem;display:block;color:#718398;line-height:1.3;min-height:30px}.metric strong{display:block;font-weight:740;font-size:1.05rem;margin-top:7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:#203e5b}.metric small{display:block;margin-top:5px;color:#75879a;font-size:.68rem}
.graph-panel{padding:23px 22px 16px}.graph-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.graph-head h2{font-size:1.15rem;margin-bottom:10px}.small-muted{font-size:.75rem;color:#8296a9;white-space:nowrap}.legend{display:flex;gap:17px;flex-wrap:wrap;color:#61758b;font-size:.75rem;margin-bottom:9px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.legend-capital{background:#2967bc}.legend-interest{background:#25a896}.legend-dividend{background:#efb452}.legend-value{background:#2967bc}.chart-shell{width:100%;overflow:hidden}.graph{display:block;width:100%;height:auto;font-family:inherit}.graph .gridline{stroke:#e9eef4;stroke-width:1;stroke-dasharray:3 3}.graph .axis-label{fill:#879aad;font-size:13px}.graph .axis-caption{fill:#96a4b4;font-size:11px}.graph .bar-capital{fill:#2967bc}.graph .bar-interest{fill:#25a896}.graph .bar-dividend{fill:#efb452}.graph .bar-capital:hover,.graph .bar-interest:hover,.graph .bar-dividend:hover{opacity:.8}.graph .value-line{stroke:#2869b3;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.graph .line-dot{fill:#2869b3;stroke:#fff;stroke-width:1.5}.chart-note{font-size:.73rem;color:#8a9aaa;margin:0 0 2px}.empty-chart{padding:40px;text-align:center;color:var(--muted);font-size:.85rem}
.table-section{margin-top:42px}.section-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:17px}.section-intro h2{margin-bottom:6px}.section-intro p{font-size:.87rem;color:var(--muted);margin-bottom:0}.export-actions{display:flex;gap:9px;flex-wrap:wrap}.table-wrap{background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}th,td{padding:13px 16px;border-bottom:1px solid #ebf0f6;text-align:right;font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left}thead{background:#edf4fc;color:#3c5d7a}thead th{font-size:.76rem;font-weight:750}tbody th{font-weight:650;color:#3d5870}tbody tr:nth-child(even){background:#fbfdff}tbody tr:last-child{background:#f1f7fd}tbody tr:last-child td,tbody tr:last-child th{border-bottom:none}tbody td:last-child{color:#154a78}
.content-section{margin-top:64px}.content-heading{max-width:780px}.content-heading p{color:var(--muted);font-size:.95rem}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.info-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px}.info-icon{font-weight:850;font-size:.76rem;color:#2272bc;background:#edf5ff;display:inline-flex;width:37px;height:37px;align-items:center;justify-content:center;border-radius:10px;margin-bottom:16px}.info-card h3{margin-bottom:9px}.info-card p{font-size:.84rem;color:#66798b;line-height:1.7;margin-bottom:0}.formula-box{margin-top:21px;display:grid;grid-template-columns:1.45fr 1fr;gap:18px;background:#ebf2fa;border:1px solid #dce7f4;padding:24px;border-radius:13px}.formula-box h3{margin-bottom:10px}.formula-box p{font-size:.83rem;color:#4e667e;margin-bottom:9px}.formula-mini{background:#fff;border-radius:11px;border:1px solid #dbe7f5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:17px}.formula-mini span{font-size:.73rem;color:#768aa0}.formula-mini strong{font-size:1.31rem;color:#1b548e;margin:14px 0}.formula-mini small{color:#8294a7;font-size:.71rem}
.faq-section{margin-top:53px;margin-bottom:65px;max-width:1150px}.faq-section h2{margin-bottom:21px}.faq-section details{background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:9px;padding:16px 19px}.faq-section summary{cursor:pointer;font-weight:670;font-size:.91rem}.faq-section details p{color:#657c8e;font-size:.85rem;max-width:870px;margin:13px 0 1px}
.site-footer{background:#142f4b;color:#e1ebf3;padding:31px 0 19px}.footer-grid{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer-grid strong{font-size:1rem}.footer-grid p{font-size:.78rem;color:#b6c8d7;margin-top:4px}.footer-grid>div:last-child{display:flex;flex-direction:column;gap:9px}.footer-grid a{font-size:.82rem;color:#c2e1ff}.footer-note{border-top:1px solid #32516b;padding-top:16px;margin-top:18px;color:#9bb0c3;font-size:.72rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:940px){.calculator-layout{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.results-column{display:contents}.graph-panel{grid-column:1}.table-section{margin-top:30px}.section-intro{align-items:flex-start;flex-direction:column}.summary-panel{grid-row:2}.input-panel{grid-row:1}.graph-panel{grid-row:3}}
@media(max-width:700px){.container{width:min(100% - 28px,1150px)}.nav-inner{min-height:69px}.site-header nav{gap:11px}.site-header nav a{font-size:.73rem}.site-header nav a:nth-child(2){display:none}.brand-mark{width:37px;height:37px}.brand-copy strong{font-size:.89rem}.brand-copy small{font-size:.68rem}.hero{padding-top:37px;padding-bottom:27px}.hero h1{font-size:2rem}.hero>p{font-size:.93rem}.hero-features span{font-size:.71rem}.input-panel,.summary-panel{padding:19px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.formula-box{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.goal-input-row{flex-wrap:wrap}.goal-input{flex-basis:100%}.goal-input-row .btn{flex:1}.table-wrap{margin-inline:-1px}.export-actions .btn{white-space:normal}}
@media(max-width:380px){.container{width:calc(100% - 22px)}.btn-calc{min-width:45px;padding:0 10px}.btn-calc span{display:none}.calc-field{margin-bottom:18px}.field-input>span{font-size:.7rem}.goal-box{padding:13px}.summary-top{align-items:flex-start;flex-direction:column}.metric{padding:10px}.metric strong{font-size:.91rem}}
@media print{html{scroll-behavior:auto}body{background:#fff;font-size:11pt;color:#000}.container{width:100%;max-width:none}.site-header,.hero-features,.input-panel,.export-actions,.faq-section,.site-footer,.special-details,.skip-link{display:none!important}.hero{padding:0 0 12px}.hero h1{font-size:18pt}.hero>p{font-size:9pt}.calculator-layout{display:block}.panel,.table-wrap{box-shadow:none;border:1px solid #bbb;page-break-inside:avoid;margin-bottom:12px}.results-column{display:block}.graph-panel{padding:12px}.table-section{margin-top:15px}.section-intro{margin-bottom:8px}.table-wrap{overflow:visible}table{font-size:8pt;white-space:normal}th,td{padding:5px 6px}.content-section{display:none!important}.summary-panel{padding:12px}.metric-grid{grid-template-columns:repeat(4,1fr)}.amount{font-size:22pt}.table-section{page-break-before:auto}}

/* V1.3: Dividendeneingabe als Prozentsatz erklaeren */
.field-tip{font-size:.74rem;line-height:1.5;color:#466a89;margin:5px 1px 0;}


/* V1.4: Dezente AdSense-Einbindung, nur ausserhalb des Rechners. */
.ad-placement{margin-top:30px;margin-bottom:8px;padding:14px 16px 16px;background:#fff;border:1px solid var(--line);border-radius:13px;min-height:110px;overflow:hidden}
.ad-label{text-align:center;text-transform:uppercase;color:#8292a4;letter-spacing:.13em;font-size:.67rem;margin-bottom:12px}
.ad-placement .adsbygoogle{max-width:100%;min-height:90px}
@media(max-width:700px){.ad-placement{margin-top:22px;padding:10px 9px 12px;min-height:90px}.ad-placement .adsbygoogle{min-height:65px}}
@media print{.ad-placement{display:none!important}}

/* V1.5: Sichtbarer Widerrufslink der Google-CMP; Druck ohne Werbeelemente. */
.footer-privacy-btn{background:transparent;border:0;color:#c2e1ff;text-align:left;font:inherit;font-size:.82rem;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.footer-privacy-btn:hover,.footer-privacy-btn:focus-visible{color:#fff}
.footer-privacy-btn[hidden]{display:none!important}
.privacy-page{max-width:860px;padding-top:42px;padding-bottom:70px}
.privacy-page h1{font-size:clamp(1.8rem,3.5vw,2.5rem);letter-spacing:-.025em;margin-bottom:16px}
.privacy-page h2{margin-top:27px;margin-bottom:10px;font-size:1.2rem}
.privacy-page p,.privacy-page li{color:#526b82;line-height:1.75;font-size:.96rem}
.privacy-page a{color:#185b9a;text-decoration:underline;text-underline-offset:2px}
@media print{.footer-privacy-btn{display:none!important}}

/* V1.5.1: Das vorhandene Hoffmann-Software-Icon statt des H-Logos. */
.brand-icon{display:block;width:42px;height:42px;flex:none;object-fit:contain}
@media(max-width:700px){.brand-icon{width:37px;height:37px}}

/* V1.6: Vier Anwendungsfaelle und transparente Vorzeichenregeln. */
.usecases{margin-top:0;margin-bottom:29px;scroll-margin-top:16px}
.usecases-heading h2{margin-bottom:6px}
.usecases-heading p{margin-bottom:17px;color:var(--muted);font-size:.91rem}
.usecase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.usecase-card{border:1px solid #dbe6f2;border-radius:13px;background:#fff;box-shadow:var(--shadow);padding:17px 16px 16px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.usecase-card h3{font-size:.98rem;letter-spacing:-.02em;margin:10px 0 7px}
.usecase-card p{color:#657a8e;font-size:.81rem;line-height:1.5;margin-bottom:14px;flex-grow:1}
.case-icon{display:flex;align-items:center;justify-content:center;min-width:31px;height:31px;border-radius:8px;color:#1c5d9c;background:#eaf3fe;font-weight:800;font-size:.7rem}
.case-preset{border:0;background:transparent;color:#155f9d;display:inline-flex;align-items:center;gap:8px;padding:4px 0;font-size:.8rem;font-weight:750;text-align:left;text-decoration:underline;text-decoration-color:#b1cbe7;text-underline-offset:4px}
.case-preset:hover{color:#083c6d;text-decoration-color:currentColor}
.case-preset span{font-size:1.05rem}
.usecase-footnote{color:#718398;font-size:.76rem;line-height:1.5;margin:10px 2px 0}
.sign-note{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.77rem;line-height:1.5;color:#46617b;background:#f1f6fd;border:1px solid #d9e6f4;padding:10px 12px;border-radius:9px;margin:3px 0 16px}
.sign-note strong{flex-basis:100%;color:#24496d}
.sign-note span{display:inline-block;padding:3px 8px;border-radius:5px;background:white;border:1px solid #e1eaf3}
@media(max-width:1050px){.usecase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.usecase-grid{grid-template-columns:1fr}.usecase-card{padding:14px 16px}.usecase-card h3{margin:7px 0}.usecase-card p{margin-bottom:9px}.usecases{margin-bottom:23px}}
@media(max-width:700px){.site-header nav a:first-child{display:none}.site-header nav a:nth-child(2){display:inline}.site-header nav a:nth-child(3){display:none}}
@media print{.usecases,.sign-note{display:none!important}}


/* V1.7: Geführter Assistent, zusätzlicher leichter Einstieg zum Expertenrechner. */
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 15px}
.hero-cta .btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:43px}
.guided-section{margin:12px auto 33px;scroll-margin-top:18px}
.guided-intro{max-width:850px;margin-bottom:17px}
.guided-intro h2{margin:6px 0;font-size:clamp(1.35rem,2.6vw,1.9rem)}
.guided-intro p{color:#58728b;font-size:.94rem;line-height:1.65}
.guided-wizard{border:1px solid #cddfee;box-shadow:0 7px 35px rgba(30,80,137,.07);border-radius:16px;background:#fff;overflow:hidden}
.guided-wizard[hidden],.wizard-step[hidden],.wizard-field[hidden],.wizard-error[hidden],.wizard-advanced[hidden]{display:none!important}
.wizard-progress{list-style:none;margin:0;padding:15px 25px;display:flex;justify-content:space-between;gap:14px;background:#eff5fc;border-bottom:1px solid #deebf8;color:#6c859a;font-size:.78rem;font-weight:690}
.wizard-progress li{display:flex;align-items:center;gap:8px}
.wizard-progress li span{display:grid;place-items:center;background:#fff;border:1px solid #bdcede;width:26px;height:26px;border-radius:50%;font-weight:780}
.wizard-progress li[aria-current=step]{color:#12548d}
.wizard-progress li[aria-current=step] span{color:#fff;background:#1f6cb0;border-color:#1f6cb0}
.wizard-step{padding:25px 27px 27px}
.wizard-step h3{font-size:1.3rem;margin-bottom:5px;color:#233e5a}
.wizard-step>p,.wizard-step-heading p{font-size:.87rem;color:#6c7f94;line-height:1.5;margin-bottom:18px}
.wizard-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wizard-option{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:95px;text-align:left;border:1px solid #d6e4f2;border-radius:12px;padding:17px 18px;background:#fbfdff;cursor:pointer;color:#234b70;font:inherit;transition:border-color .15s,background .15s}
.wizard-option:hover,.wizard-option:focus-visible{background:#edf5ff;border-color:#4e91c9;outline-offset:3px}
.wizard-option strong{font-size:.94rem;line-height:1.4}
.wizard-option small{font-size:.8rem;color:#6e8296;line-height:1.45}
.wizard-options .wizard-option[aria-pressed=true]{border-color:#276ea8;background:#edf6ff}
.wizard-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px}
.wizard-actions .btn{min-height:42px}
.wizard-step-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}
.wizard-tag{display:inline-block;background:#edf5ff;color:#245c8d;font-weight:720;border-radius:6px;padding:7px 10px;font-size:.76rem}
.wizard-input-grid,.wizard-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 17px}
.wizard-field{display:flex;flex-direction:column;min-width:0}
.wizard-field label{font-size:.85rem;font-weight:710;color:#234c70;margin-bottom:6px}
.wizard-field small{font-size:.72rem;color:#73869a;line-height:1.5;margin-top:6px}
.wizard-input-wrap{display:flex;align-items:center;min-width:0;border:1px solid #ccdbea;border-radius:9px;background:white;overflow:hidden}
.wizard-input-wrap:focus-within{border-color:#2870b4;box-shadow:0 0 0 3px rgba(40,112,180,.12)}
.wizard-input-wrap input{width:100%;min-width:0;border:0;padding:12px;font:inherit;font-size:.96rem;color:#23425e;background:transparent;outline:none}
.wizard-input-wrap span{color:#7990a4;white-space:nowrap;padding:0 12px;font-size:.8rem}
.wizard-field select,.wizard-field textarea{width:100%;border:1px solid #ccdbea;border-radius:9px;font:inherit;background:white;padding:11px 12px;color:#23425e}
.wizard-advanced{margin-top:19px;border:1px solid #d8e6f4;border-radius:10px;padding:0 14px}
.wizard-advanced summary{padding:14px 1px;cursor:pointer;font-weight:720;font-size:.88rem;color:#315f88}
.wizard-advanced-grid{padding:4px 0 17px}
.wizard-special{grid-column:span 2}
.wizard-note{background:#f1f6fc;border-left:3px solid #3279b9;padding:10px 13px;margin:15px 0 0!important;border-radius:4px;color:#47647f!important;font-size:.78rem!important}
.wizard-error{color:#9f2828!important;background:#fff1f1;border:1px solid #f0c1c1;padding:12px;border-radius:8px;margin:12px 0 0!important}
.wizard-legal{font-size:.74rem!important;color:#75889a!important;margin:17px 0 0!important}
.wizard-alternative,.guided-noscript{font-size:.84rem;color:#59768f;margin:11px 3px}
.wizard-alternative a,.guided-noscript a{color:#1b659e;text-decoration:underline;text-underline-offset:3px}
.solved-callout{background:#edf6ff;border:1px solid #bfdaf2;border-radius:10px;padding:13px 15px;margin:13px 0;display:flex;flex-direction:column;gap:4px}
.solved-callout strong{font-size:.87rem;color:#28577d}
.solved-callout .solved-value{color:#144f85;font-weight:820;font-size:clamp(1.24rem,2.2vw,1.66rem);font-variant-numeric:tabular-nums}
.solved-context{font-size:.7rem;color:#61829e}
@media(max-width:700px){.wizard-progress{padding:12px;gap:6px;font-size:.7rem}.wizard-progress li{gap:4px}.wizard-progress li span{width:23px;height:23px}.wizard-step{padding:17px 14px 20px}.wizard-options,.wizard-input-grid,.wizard-advanced-grid{grid-template-columns:1fr}.wizard-option{min-height:70px;padding:13px 14px}.wizard-special{grid-column:auto}.hero-cta .btn{flex:1 1 150px;font-size:.82rem}}
@media print{.guided-section,.hero-cta{display:none!important}}

/* Version 1.8: accessible language selector shared by both frontends. */
.site-header .nav-inner nav {display:flex; flex-wrap:wrap; align-items:center; gap:clamp(.4rem, 1.2vw, 1.2rem)}
.language-dropdown {position:relative; z-index:30; flex:0 0 auto; font-size:.92rem}
.language-dropdown summary {display:flex; align-items:center; gap:.3rem; cursor:pointer; border:1px solid #c6d4e4; border-radius:.65rem; padding:.4rem .7rem; color:#16436b; background:#fff; white-space:nowrap; list-style:none}
.language-dropdown summary::-webkit-details-marker {display:none}
.language-dropdown summary::after {content:'▾';font-size:.75rem;color:#53718c}
.language-dropdown[open] summary::after {content:'▴'}
.language-menu {position:absolute;right:0;top:calc(100% + .4rem);z-index:31; min-width:12rem; max-height:65vh;overflow-y:auto; border:1px solid #c6d4e4;border-radius:.8rem;background:#fff;box-shadow:0 12px 28px rgba(13,39,63,.18);padding:.3rem}
.language-menu a {display:block!important;padding:.55rem .75rem!important;border-radius:.4rem;color:#183e5e!important; white-space:nowrap;text-decoration:none}
.language-menu a:hover,.language-menu a:focus-visible,.language-menu a[aria-current="page"] {background:#e8f3ff;color:#123965!important}
@media(max-width:720px){.site-header .nav-inner {flex-wrap:wrap;gap:.7rem}.site-header .nav-inner nav {width:100%; justify-content:space-between}.language-dropdown{margin-left:auto}.language-menu{right:0}}

/* Localized labels can be longer than German words. */
.intl-page .btn-calc {min-width:122px; max-width:50%; white-space:normal; min-height:43px; padding:6px 9px; line-height:1.25}
.intl-page .field-actions .field-input {min-width:90px}
.intl-page .field-actions .btn-calc span {overflow-wrap:break-word}
@media (max-width:380px) {.intl-page .btn-calc {min-width:43px;max-width:43px}.intl-page .field-actions .btn-calc span{display:none}}


/* V1.9: Marken-Header wie beim Biorhythmus-Rechner.
   Original Hoffmann-Software-Logo, Abakus bleibt als Browser-Favicon. */
.site-header .brand{gap:14px;min-width:0;flex-shrink:0}
.site-header .brand-logo{
  display:block;
  width:184px;
  height:52px;
  max-width:38vw;
  object-fit:contain;
  object-position:left center;
  flex:none;
}
.site-header .brand-copy{
  padding-left:13px;
  border-left:1px solid #dbe6f1;
  min-width:0;
}
.site-header .brand-copy strong{font-size:1rem;line-height:1.25;letter-spacing:-.015em}
.site-header .brand-copy small{font-size:.73rem}
@media(max-width:750px){
  .site-header .brand-logo{width:148px;height:44px;max-width:42vw}
  .site-header .brand-copy{padding-left:10px}
  .site-header .brand-copy strong{font-size:.88rem}
  .site-header .brand-copy small{font-size:.67rem}
}
@media(max-width:420px){
  .site-header .brand{gap:9px}
  .site-header .brand-logo{width:118px;height:39px;max-width:37vw}
  .site-header .brand-copy{padding-left:8px}
  .site-header .brand-copy strong{font-size:.81rem}
}

/* PWA install button: desktop/mobile; hidden property must win over nav button styles. */
.pwa-install-button {border:1px solid rgba(54,125,190,.42);background:#edf5ff;color:#123965;border-radius:999px;padding:8px 13px;font:600 .88rem/1.2 system-ui,sans-serif;white-space:nowrap;cursor:pointer;transition:background .15s ease}
.pwa-install-button:hover,.pwa-install-button:focus-visible {background:#dcecff;outline-offset:2px}
.pwa-install-button[hidden] {display:none !important}
@media(max-width:640px) {.pwa-install-button {padding:8px 12px;font-size:.82rem}}
@media print {.pwa-install-button {display:none !important}}
