/* Red and navy, the existing Soehne typeface and photographs remain. */
:root{--df-ink:#0a253f;--df-text:#435367;--df-accent:#d51d2b;--df-line:#dce5ee;--df-soft-line:#edf2f7;--df-pale:#f7fafc;--df-shadow:0 3px 8px #16334b05,0 12px 28px #16334b0b;--df-weight:400}
body{font-weight:400}
body .hero__box{background:linear-gradient(125deg,#102f47f5,#17384dea);border:1px solid #ffffff24;border-radius:14px;box-shadow:0 12px 36px #0a253f1a;backdrop-filter:none}
body .hero__tagline{color:#c6e9f0}
body .hero__trust{color:#d0dce6;opacity:1}
body .section--surface{background:linear-gradient(150deg,#f8fafc,#f4f7fa)}
body :is(.btn,.nav__cta){border-radius:8px;min-height:44px;max-width:100%;white-space:normal;text-align:center}
body .btn--primary{background:linear-gradient(135deg,#df2436,#c71428);box-shadow:0 3px 8px #98162a12,0 7px 16px #98162a12}
body .btn--outline{border-color:#c6d3e1}
body .tool-output-wrap__actions{flex-wrap:wrap}
body #battle-cards>*{min-width:0}
body :is(.comparison__card,.tool-form,.tool-output-wrap){border:1px solid var(--df-line);border-radius:14px;box-shadow:var(--df-shadow)}
body .border-grid__item{border-radius:14px;box-shadow:var(--df-shadow);border-color:var(--df-line)}
body :is(.border-grid,.split,.comparison)>*{min-width:0}
body :is(.border-grid__item,.tool-form,.hero__box,.prose,.legal-content) :is(h1,h2,h3,p,li,a){overflow-wrap:anywhere}
body :is(input[type=text],input[type=email],input[type=tel],textarea,select){min-width:0;max-width:100%;border-radius:8px;font-size:1rem;border-color:#bac9d9}
body :is(a,button,input,textarea,select):focus-visible{outline:3px solid #c71d32;outline-offset:3px}
body .section--dark :is(a,button):focus-visible{outline-color:#fff}
@media(max-width:900px){body .border-grid[style*="grid-template-columns"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){body .border-grid[style*="grid-template-columns"],body #battle-cards{grid-template-columns:minmax(0,1fr)!important}body .hero__box{padding:1.6rem 1.35rem}body .hero__box h1{font-size:clamp(1.7rem,7.5vw,2.2rem)}body .btn{justify-content:center}}
@media(prefers-reduced-motion:reduce){body :is(.btn,.border-grid__item,.comparison__card){transition:none}}

body .border-grid > .border-grid__item{border-radius:14px;border:1px solid var(--df-line);background:#fff;box-shadow:var(--df-shadow);padding:1.75rem;}

body :is(.tool-form,.tool-output-wrap){padding:1.5rem;background:#fff}
@media(max-width:1140px){body .nav__toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex:0 0 44px;width:44px;height:44px;padding:10px}body .nav__toggle>span{display:block;flex:0 0 2px;width:22px;height:2px;background:#0a253f;border-radius:2px}body .nav__toggle[aria-expanded=true]>span:nth-child(1){transform:translateY(7px) rotate(45deg)}body .nav__toggle[aria-expanded=true]>span:nth-child(2){opacity:0}body .nav__toggle[aria-expanded=true]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}
@media(max-width:640px){body :is(.tool-form,.tool-output-wrap){padding:1.1rem}body .tool-output-wrap__actions>*{flex:1 1 100%;justify-content:center}}

/* Approved FAQ rhythm, expressed once per site using its existing brand tokens. */
body .df-faq{box-sizing:border-box;width:100%;max-width:60rem;margin:0;border:1px solid var(--df-line);border-radius:14px;background:var(--df-white,#fff);box-shadow:var(--df-shadow);overflow:hidden;color:var(--df-text)}
body .df-faq-host:is(.faq-card,.accordion,.faq__col,.faq__group){background:none;border:0;box-shadow:none;padding:0;border-radius:0}
body .df-row{padding:0;margin:0;border:0;border-bottom:1px solid var(--df-soft-line);background:transparent}
body .df-row:last-child{border-bottom:0}
body .df-q{box-sizing:border-box;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:63px;padding:19.2px 27.2px;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--df-ink);font-family:inherit;font-size:1.02rem;font-weight:500;line-height:1.4;letter-spacing:normal;text-align:left;text-transform:none;cursor:pointer;transition:background .2s}
body .df-q::before,body .df-q::after{content:none}
body .df-q .df-label{font:inherit;color:inherit;min-width:0}
body .df-q:hover,body .df-open{background:var(--df-pale)}
body .df-q:focus-visible{outline:3px solid var(--df-accent);outline-offset:-3px}
body .df-sign{display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;width:25px;height:25px;padding:0;margin:0;border:1px solid var(--df-accent);border-radius:50%;color:var(--df-accent);background:none;font-size:17px;font-weight:400;line-height:1;transition:transform .2s,background .2s,color .2s}
body .df-open .df-sign{transform:rotate(45deg);background:var(--df-accent);color:#fff}
body .df-a{box-sizing:border-box;max-width:74ch;padding:0 27.2px 22.4px;margin:0;color:var(--df-text);font:inherit;font-size:.97rem;font-weight:var(--df-weight,400);line-height:1.72;letter-spacing:normal}
body .df-a[hidden]{display:none}
body .df-a-inner{margin:0;padding:0;font:inherit;color:inherit}
body .df-a-inner :is(p,li){font:inherit;color:inherit;max-width:none;letter-spacing:normal}
body .df-a-inner p{margin:0 0 .8rem;padding:0}
body .df-a-inner p:last-child{margin-bottom:0}
body .df-a-inner a{color:var(--df-ink);text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){body .df-faq :is(.df-q,.df-sign){transition:none}}

body .df-heading{margin:0!important;padding:0!important;border:0!important;font:inherit!important;max-width:none!important;letter-spacing:normal!important}
body .df-faq-host:is(.faq,.faq-clean,.faq-simple){gap:0;background:transparent;border:0;padding:0;box-shadow:none}

body .df-sign::before{content:"+"}

body .df-faq-host:is(.faq,.faq-clean,.faq-simple){display:block}

/* Finetuning 13.09.2026: component relationships and responsive constraints. */

body .border-grid__item{display:flex;flex-direction:column;align-items:flex-start}
body .border-grid__item>.btn{margin-top:auto}
body .border-grid__item>p{line-height:1.65;font-size:.9375rem}
body .border-grid__item>:is(h3,h4){line-height:1.35;margin-bottom:.65rem}
body .border-grid:not(.border-grid--spaced){gap:1px;border:1px solid var(--df-line);border-radius:12px;background:var(--df-line);overflow:hidden}
body .border-grid:not(.border-grid--spaced)>.border-grid__item{margin:0;border:0;border-radius:0;box-shadow:none}
body .comparison{align-items:stretch;gap:1.5rem}
body .comparison__card>.comparison__steps{flex:1}
body .comparison__steps li{line-height:1.6;padding-block:.7rem}
body .comparison__result{margin-top:auto}
body .stats__number,body .price-card__price{font-variant-numeric:tabular-nums}
body .price-card{display:flex;flex-direction:column;min-width:0}
body .price-card__features{flex:1}
body .tool-form :is(input,textarea,select){line-height:1.5}
body .footer__grid a{display:inline-block;line-height:1.65;padding-block:3px}
body .prose{max-width:72ch;line-height:1.7}
@media(max-width:600px){body .border-grid>.border-grid__item{padding:1.4rem}}

body .border-grid__item[style*="text-align:center"]{align-items:center}
body .comparison__card h3{line-height:1.35;margin-bottom:.75rem}
body .comparison__result{min-height:6.5rem;display:flex;flex-direction:column;justify-content:center}

/* Keep all comparison labels on a common text axis, including wrapped lines. */
.comparison__steps li{display:flex;align-items:baseline;gap:12px}
.comparison__steps li>i{width:20px;flex:0 0 20px;text-align:center}
