
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;background:var(--pale);color:var(--c-text);font:var(--copy)/1.55 var(--body)}img,picture,video,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--violet);outline-offset:4px}.jump{position:fixed;z-index:100;top:1rem;left:1rem;padding:.7rem 1rem;background:var(--lime);color:var(--night);transform:translateY(-200%)}.jump:focus{transform:none}.visually-hidden,.trap{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);overflow:hidden}
header{display:flex;align-items:center;min-height:5rem;padding:1rem clamp(1rem,4vw,4rem);background:var(--night);color:white;border-bottom:1px solid var(--c-header-line)}.wordmark{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;letter-spacing:.14em;font-size:.78rem}.wordmark img{width:1.55rem;border-radius:.25rem}header nav{display:flex;gap:2rem;margin-left:auto;margin-right:2.5rem;font-size:.82rem}header nav a{text-decoration:none;color:var(--c-nav)}header nav a:hover{color:var(--lime)}.launch{display:inline-flex;justify-content:center;align-items:center;gap:.9rem;min-height:2.8rem;padding:.65rem 1rem;background:transparent;border:1px solid var(--c-button-line);color:white;font:700 .79rem var(--mono);text-decoration:none;transition:background 180ms,color 180ms,transform 180ms}.launch:hover{background:var(--lime);border-color:var(--lime);color:var(--night);transform:translateY(-2px)}.hamburger{display:none}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(26rem,.9fr);gap:clamp(2rem,6vw,8rem);min-height:min(47rem,calc(100vh - 5rem));padding:clamp(4rem,9vw,9rem) clamp(1.25rem,7vw,8rem);background:var(--night);color:white}.hero:before{position:absolute;inset:0;content:"";pointer-events:none;opacity:.42;background-image:linear-gradient(var(--c-grid) 1px,transparent 1px),linear-gradient(90deg,var(--c-grid) 1px,transparent 1px);background-size:4rem 4rem}.hero-copy,.terminal{position:relative;z-index:1}.label{margin:0 0 1.1rem;color:var(--lime);font:.68rem var(--mono);letter-spacing:.12em}h1,h2{margin-top:0;letter-spacing:-.06em;line-height:.96;font-family:var(--display);font-weight:400}h1{max-width:12ch;margin-bottom:1.5rem;font-size:var(--title)}mark{background:transparent;color:var(--lime)}.hero-copy>p:not(.label){max-width:32rem;color:var(--c-muted-on-dark)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2rem}.actions>a:last-child{color:var(--c-link-on-dark);font-size:.85rem}.primary{border-color:var(--violet);background:var(--violet)}
.terminal{align-self:center;overflow:hidden;border:1px solid var(--c-terminal-line);background:var(--c-terminal);box-shadow:16px 16px 0 var(--c-terminal-shadow)}.terminal-bar{display:flex;align-items:center;gap:.4rem;min-height:2.5rem;padding:0 .8rem;border-bottom:1px solid var(--c-terminal-divider);font:.63rem var(--mono);color:var(--c-terminal-muted)}.terminal-bar span{width:.52rem;height:.52rem;border-radius:50%;background:var(--c-terminal-dot)}.terminal-bar span:nth-child(2){background:var(--lime)}.terminal-bar b{margin-left:.5rem;font-weight:400}.terminal-code{padding:1.4rem 1.5rem .5rem;font:.79rem/1.2 var(--mono);color:var(--c-terminal-copy)}.terminal-code p{margin:0 0 .72rem}.terminal-code i{display:inline-block;width:1rem;color:var(--lime);font-style:normal}.terminal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;padding:1rem 1.4rem 1.4rem}.terminal-cards article{min-height:8rem;padding:.8rem;border:1px solid var(--c-terminal-card-line);background:var(--c-terminal-card)}.terminal-cards small{display:block;margin-bottom:1.5rem;color:var(--c-terminal-label);font:.6rem var(--mono)}.terminal-cards b{font:1rem/1.05 var(--display)}.terminal-cards .selected{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}.grid-label{position:absolute;bottom:2rem;left:clamp(1.25rem,7vw,8rem);z-index:1;color:#68718c;font:.63rem var(--mono);letter-spacing:.1em}
.proof{display:grid;grid-template-columns:repeat(3,1fr) 1.25fr;gap:1px;background:var(--c-proof-line);border-bottom:1px solid var(--c-proof-line)}.proof>*{min-height:13rem;padding:2rem clamp(1rem,3vw,3rem);background:var(--pale)}.proof div{display:grid;align-content:center;gap:.4rem}.proof b{color:var(--violet);font:clamp(2.5rem,4vw,4rem)/.8 var(--display)}.proof span{font:.78rem/1.3 var(--mono)}.proof p{align-self:center;margin:0;font:1.35rem/1.2 var(--display)}
.price-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,8vw,9rem);padding:var(--section) clamp(1.25rem,7vw,8rem)}.section-title h2,.timeline h2,.agency-stage h2,.finish h2{font-size:clamp(2.1rem,2rem + 1.9vw,3.2rem)}.section-title>p:last-child{max-width:29rem;color:#5f687d}.bento-prices{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.bento-prices article{display:grid;align-content:start;min-height:15rem;padding:1.3rem;border:1px solid var(--c-card-line);background:white}.bento-prices article:last-child{grid-column:span 2;grid-template-columns:1fr 1fr;min-height:11rem;background:var(--c-price-pale)}.bento-prices small{color:var(--c-muted);font:.65rem var(--mono);letter-spacing:.08em}.bento-prices strong{display:block;margin-top:1.8rem;font:3.4rem/.8 var(--display);letter-spacing:-.07em}.bento-prices sup{font:1.1rem var(--mono)}.bento-prices span{color:var(--c-muted);font-size:.76rem}.bento-prices p{align-self:end;margin:1.2rem 0;font-size:.86rem}.bento-prices a{align-self:end;color:var(--violet);font:700 .76rem var(--mono)}.bento-prices .pro{background:var(--night);border-color:var(--night);color:white}.bento-prices .pro small,.bento-prices .pro span{color:var(--c-muted-on-dark)}.bento-prices .pro a{color:var(--lime)}
.timeline{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;padding:var(--section) clamp(1.25rem,7vw,8rem);background:var(--c-section)}.timeline-lines{border-top:1px solid var(--c-timeline-line)}.timeline-lines article{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--c-timeline-line)}.timeline-lines b{color:var(--violet);font:.68rem var(--mono)}.timeline-lines span{max-width:30rem}.agency-stage{display:grid;grid-template-columns:1fr .8fr .65fr;gap:2rem;padding:var(--section) clamp(1.25rem,7vw,8rem);background:var(--night);color:white}.agency-stage>div>p:not(.label){max-width:31rem;color:var(--c-muted-on-dark)}.agency-stage pre{align-self:center;margin:0;padding:1.4rem;overflow:auto;border-left:2px solid var(--lime);background:var(--panel);color:var(--c-code);font:.78rem/1.75 var(--mono)}.agency-stage ul{align-self:end;margin:0;padding:0;list-style:none;color:#dbe1f0;font-size:.84rem}.agency-stage li{padding:.8rem 0;border-bottom:1px solid var(--c-list-line)}.faq{max-width:60rem;padding:var(--section) 1.25rem;margin:auto}.faq details{border-top:1px solid var(--c-faq-line)}.faq details:last-child{border-bottom:1px solid var(--c-faq-line)}.faq summary{padding:1.15rem 0;cursor:pointer;font:1.2rem var(--display)}.faq details p{max-width:45rem;padding-bottom:1.2rem;color:var(--c-muted)}.finish{padding:var(--section) clamp(1.25rem,7vw,8rem);background:var(--violet);color:white}.finish .label{color:var(--c-finish-label)}.finish .primary{background:var(--lime);border-color:var(--lime);color:var(--night)}
footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:2.2rem clamp(1.25rem,5vw,4rem);background:var(--c-footer);color:var(--c-footer-text);font-size:.78rem}footer p{margin:0;color:var(--c-footer-muted)}footer div{display:flex;justify-content:flex-end;gap:1rem}footer a{color:inherit}.contact{background:var(--night);color:white}.contact-grid{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(2rem,8vw,8rem);min-height:calc(100vh - 12rem);padding:var(--section) clamp(1.25rem,12vw,13rem)}.contact h1{font-size:var(--title)}.contact-grid>div>p:not(.label){max-width:31rem;color:var(--c-muted-on-dark)}.contact-grid>div>a{color:var(--lime)}.contact form{display:grid;gap:1rem;padding:1.5rem;background:var(--panel)}.contact label{display:grid;gap:.4rem;font-size:.78rem}.contact input,.contact textarea{border:1px solid var(--c-input-line);padding:.75rem;background:var(--c-input);color:white;font:1rem var(--body)}.contact .consent{display:flex;align-items:flex-start}.consent input{width:auto;margin-top:.25rem}.contact button{cursor:pointer}.veil,#drawer{display:none}.js [data-reveal]{opacity:0;transform:translateY(1rem)}.js [data-reveal].on{opacity:1;transform:none;transition:opacity var(--move),transform var(--move)}
@media(max-width:760px){header{min-height:4.5rem}.launch:not(.primary){display:none}header nav{display:none}.hamburger{display:grid;gap:.28rem;width:2.9rem;height:2.9rem;margin-left:auto;place-content:center;border:1px solid #7180a4;background:none}.hamburger i{display:block;width:1.25rem;height:1px;background:white;transition:transform 180ms,opacity 180ms}.hamburger[aria-expanded="true"] i:first-child{transform:translateY(5px) rotate(45deg)}.hamburger[aria-expanded="true"] i:nth-child(2){opacity:0}.hamburger[aria-expanded="true"] i:nth-of-type(3){transform:translateY(-5px) rotate(-45deg)}.veil{position:fixed;z-index:40;inset:0;background:rgb(0 0 0 / .64)}.locked{overflow:hidden}#drawer{position:fixed;z-index:50;top:0;right:0;display:grid;align-content:start;gap:1.4rem;width:min(86vw,23rem);height:100dvh;padding:5.8rem 2rem 2rem;background:var(--panel);color:white;box-shadow:-16px 0 40px rgb(0 0 0 / .45);transform:translateX(110%);transition:transform var(--move)}#drawer[aria-hidden="false"]{transform:none}#drawer>span{color:var(--lime);font:.65rem var(--mono)}#drawer a{font:1.5rem var(--display)}.drawer-go{margin-top:1rem;color:var(--lime)}.hero{grid-template-columns:1fr;min-height:0;padding:4rem 1.25rem 5rem}.terminal{margin-top:1.5rem;box-shadow:8px 8px 0 var(--c-terminal-shadow)}.terminal-cards{grid-template-columns:1fr}.terminal-cards article{min-height:0}.terminal-cards small{margin-bottom:.5rem}.proof{grid-template-columns:1fr 1fr}.proof>*{min-height:9rem}.proof p{grid-column:span 2;min-height:8rem}.price-section,.timeline,.agency-stage,.contact-grid{grid-template-columns:1fr;gap:2rem}.bento-prices{grid-template-columns:1fr}.bento-prices article:last-child{grid-column:auto;grid-template-columns:1fr}.timeline-lines article{grid-template-columns:5rem 1fr}.agency-stage pre{order:2}.agency-stage ul{order:3}.contact-grid{padding:4rem 1.25rem}.contact form{order:2}footer{grid-template-columns:1fr}footer div{justify-content:flex-start}.hero img{aspect-ratio:4 / 3;object-fit:cover}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js [data-reveal]{opacity:1;transform:none}}

/* Kritiker-Runde: Tablet bekommt eine vollständige Hero-Komposition statt Restspalten. */
@media (min-width: 761px) and (max-width: 1100px) {
    .hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.5rem;
        min-height: 0;
        padding-top: 4.5rem;
        padding-bottom: 5rem;
    }

    .hero-copy { max-width: 42rem; }
    .hero-copy > p:not(.label) { max-width: 39rem; }
    .terminal { width: min(100%, 42rem); }
    .grid-label { position: static; margin-top: -1.5rem; }
    .contact-grid { grid-template-columns: minmax(20rem, .8fr) minmax(24rem, 1fr); gap: 3rem; }
    .contact-grid > div > a { overflow-wrap: anywhere; }
}

/* Sichtbarkeit ist nie von JavaScript abhängig; Motion bleibt rein progressiv. */
.js [data-reveal],
.js [data-reveal].on {
    opacity: 1;
    transform: none;
}

@media (max-width: 900px) {
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 4rem 1.25rem;
    }

    .contact form {
        min-width: 0;
    }
}

@media (min-width: 1101px) {
    .contact-grid {
        min-height: 0;
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }
}

.proof p::before {
    display: block;
    width: 4.25rem;
    height: 3.2rem;
    margin-bottom: 1rem;
    content: "";
    border: 1px solid var(--c-terminal-dot);
    background: linear-gradient(90deg, var(--violet) 0 45%, transparent 45% 52%, var(--lime) 52% 100%) 50% 70% / 72% 32% no-repeat, linear-gradient(var(--c-terminal-dot), var(--c-terminal-dot)) 50% 25% / 72% 1px no-repeat, #fff;
    box-shadow: 4px 4px 0 #c9cfdd;
}

@media (max-width: 760px) {
    .hero { padding-top: 3rem; padding-bottom: 3.5rem; }

    .terminal-code { display: none; }

    .terminal-bar { min-height: 2.1rem; }

    .terminal-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .35rem;
        padding: .75rem;
    }

    .terminal-cards article { min-height: 6.4rem; padding: .55rem; }
    .terminal-cards small { margin-bottom: .55rem; font-size: .5rem; }
    .terminal-cards b { font-size: .8rem; }
}

.contact-grid .modiva-form{display:grid;gap:1rem;padding:1.5rem;background:var(--panel)}
.modiva-form label{display:grid;gap:.4rem;color:var(--c-footer-text);font-size:.78rem}.modiva-form input,.modiva-form textarea{width:100%;border:1px solid var(--c-input-line);padding:.75rem;background:var(--c-input);color:white;font:1rem var(--body)}
.modiva-form button{min-height:2.8rem;border:1px solid var(--lime);background:var(--lime);color:var(--night);cursor:pointer;font:700 .79rem var(--mono)}.modiva-form .form-consent{display:flex;align-items:flex-start;gap:.6rem;color:var(--c-footer-text)}.modiva-form .form-consent input{width:auto;margin-top:.25rem}.contact-grid .form-success{margin-bottom:1rem;padding:1rem;border:1px solid var(--lime);color:var(--lime)}
.legal-page{max-width:55rem;padding:var(--section) 1.25rem;margin:auto}.legal-page>p{max-width:45rem;color:var(--c-muted)}.legal-page article{padding:1.5rem 0;border-top:1px solid var(--c-faq-line)}.legal-page h2{font-size:clamp(1.5rem,1rem + 1vw,2rem);line-height:1.1}.legal-page a{color:var(--c-primary)}

/* Vierte Detailrunde: Tablet-Rhythmus und konkrete Website-Vorschauen. */
.terminal-cards article { position: relative; overflow: hidden; }
.terminal-cards article::after { position: absolute; right: .55rem; bottom: .55rem; left: .55rem; height: 1.4rem; content: ""; border-top: 1px solid #7380a7; background: linear-gradient(90deg, #eceeff 0 44%, transparent 44% 51%, #8794dd 51%); opacity: .9; }
.terminal-cards article:nth-child(2)::after { background: linear-gradient(90deg, #c8f58e 0 44%, transparent 44% 51%, #dce4ff 51%); }
.terminal-cards article:nth-child(3)::after { background: linear-gradient(90deg, #f2d6ab 0 44%, transparent 44% 51%, #c4cbff 51%); }

/* Die Vorschau-Leiste reserviert eigenen Raum und kann keinen Kartentext überdecken. */
.terminal-cards article {
    padding-bottom: 2.35rem;
}

@media (max-width: 760px) {
    .terminal-cards article {
        padding-bottom: 2rem;
    }
}

@media (min-width: 761px) and (max-width: 1100px) {
    .grid-label { margin-top: 0; padding-top: .25rem; }
}

@media (max-width: 900px) {
    .contact-grid { gap: 1rem; padding-top: 2rem; padding-bottom: 2rem; }
    .contact h1 { margin-bottom: .8rem; font-size: clamp(2.35rem, 7vw, 3rem); }
    .contact-grid > div > p:not(.label) { margin-bottom: .8rem; }
    .contact form { gap: .55rem; padding: .9rem; }
    .contact input { min-height: 2.35rem; padding: .55rem .7rem; }
    .contact textarea { min-height: 4rem; padding: .55rem .7rem; }
    .contact .consent { min-height: 2.75rem; align-items: center; font-size: .78rem; }
    .contact .launch { min-height: 2.6rem; padding-top: .5rem; padding-bottom: .5rem; }
    .contact textarea { min-height: 3.35rem; }
    .contact-grid > div > p:not(.label) { display: block; }
}

@media (max-width: 760px) {
    .hamburger { position: relative; z-index: 60; }
    footer #modiva-a11y-btn.a11y-docked.a11y-docked { position: static; grid-column: 1 / -1; justify-self: end; margin-top: .75rem; }
}

/* Dritte Kritiker-Runde: aktive, kontrastreiche Arbeitsoberflächen. */
.terminal { background: #151c31; border-color: #7783a8; box-shadow: 8px 8px 0 #303b60; }
.terminal-bar { color: #e0e6f7; border-bottom-color: #647096; }
.terminal-code { color: #f1f4ff; }
.terminal-cards article { background: #222b47; border-color: #7783a8; }
.terminal-cards small { color: #d4dcf5; }
.terminal-cards b { color: #fff; }
.contact form { background: #1a233d; border: 2px solid #7783a8; }
.contact label { color: #f5f7ff; font-size: .9rem; }
.contact input,
.contact textarea { border: 2px solid #8998c3; background: #0a1020; color: #fff; }
.contact .consent { color: #f5f7ff; }
.contact .primary { border-color: var(--lime); background: var(--lime); color: var(--c-night); }

@media (min-width: 761px) and (max-width: 1100px) {
    .hero { gap: 1.25rem; padding-top: 3.5rem; padding-bottom: 3rem; }
    .terminal { margin-top: 0; }
    .terminal-code { padding-top: .9rem; padding-bottom: 0; }
    .terminal-cards { padding-top: .65rem; padding-bottom: .8rem; }
    .terminal-cards article { min-height: 6.1rem; }
}

@media (max-width: 760px) {
    .contact-grid { padding-top: 2.4rem; }
    .contact form { gap: .75rem; padding: 1rem; }
    .contact input { min-height: 2.65rem; }
    .contact textarea { min-height: 5.5rem; }
    .contact .launch { min-height: 2.7rem; }
}

/* Update Oktober 2026: Kontrast auf hellen Flächen (WCAG AA, mindestens 4,5 : 1). */
.price-section .label,
.timeline .label,
.faq .label,
.legal-page .label {
    color: var(--violet);
}

.grid-label { color: var(--c-footer-muted); }

.footer-heading {
    align-self: center;
    color: var(--c-footer-muted);
}

.finish a:focus-visible { outline-color: #fff; }

/* Tarifkarten: gleicher Aufbau für alle drei, Leistungen als Liste. */
.bento-prices article:last-child { grid-template-columns: 1fr; }

.plan-list {
    margin: 1.2rem 0;
    padding: 0;
    list-style: none;
    font-size: .86rem;
}

.plan-list li {
    padding: .45rem 0;
    border-top: 1px solid var(--c-card-line);
}

.bento-prices .pro .plan-list li { border-top-color: var(--c-list-line); }

/* Sektion "Was Sie bekommen": nutzt das Raster der Preis-Sektion. */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.feature-grid li {
    display: grid;
    gap: .5rem;
    align-content: start;
    padding: 1.2rem;
    border: 1px solid var(--c-card-line);
    background: #fff;
}

.feature-grid strong { font: 1.15rem/1.15 var(--display); }

.feature-grid span {
    color: var(--c-muted);
    font-size: .9rem;
}

@media (max-width: 1100px) {
    .feature-grid { grid-template-columns: 1fr; }
}

/* Agentur-Bereich: Text links, Codeblock und Liste rechts, oben bündig. */
@media (min-width: 761px) {
    .agency-stage {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }
}

.agency-side {
    display: grid;
    gap: 1.5rem;
    align-content: start;
    min-width: 0;
}

.agency-stage pre {
    align-self: start;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.agency-stage ul { align-self: start; }

.code-line { display: block; }

.code-line:not(:first-child) { padding-left: 2ch; }

/* Kontaktformular: Einwilligung als Zeile mit Checkbox. */
.modiva-form .form-field {
    display: grid;
    gap: .4rem;
}

.modiva-form .form-consent-label {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
}

.modiva-form input[type="checkbox"] {
    flex: none;
    width: 1.25rem;
    height: 1.25rem;
    min-height: 0;
    margin-top: .2rem;
}

.modiva-form a,
.modiva-form .required { color: var(--lime); }

/* Rechtstext-Seiten mit Fließtext im Inhaltsfeld. */
.legal-page > div { max-width: 45rem; }

.legal-page > div h2 { margin: 2rem 0 .6rem; }

.legal-page > div ul { padding-left: 1.2rem; }

/* Kritiker-Runde Update Oktober 2026 */
@media (max-width: 760px) {
    #drawer[aria-hidden="true"] {
        display: none;
        box-shadow: none;
    }

    #drawer[aria-hidden="false"] {
        box-shadow: -16px 0 40px rgb(0 0 0 / .45);
        animation: drawer-in var(--move) var(--ease-out, ease-out) both;
    }

    @keyframes drawer-in {
        from { transform: translateX(110%); }
        to { transform: none; }
    }

    .proof div:nth-child(3) { grid-column: span 2; }

    .veil:not([hidden]) { display: block; }
}

.modiva-form .form-field > label { display: block; }

.modiva-form .form-field > label.form-consent-label { display: flex; }

@media (min-width: 761px) {
    footer { padding-left: max(7rem, clamp(1.25rem, 5vw, 4rem)); }
}

@media (min-width: 761px) and (max-width: 1100px) {
    .price-section,
    .timeline {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }

    .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* FAQ: gleiche Kante wie die anderen Sektionen, eigener Marker. */
.faq {
    max-width: none;
    padding-inline: clamp(1.25rem, 7vw, 8rem);
}

.faq h2 {
    margin-bottom: 1.5rem;
    font-size: clamp(2.1rem, 2rem + 1.9vw, 3.2rem);
}

.faq summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    list-style: none;
}

.faq summary::-webkit-details-marker { display: none; }

.faq summary::after {
    flex: none;
    content: "+";
    color: var(--violet);
}

.faq details[open] summary::after { content: "–"; }

/* Mindestgröße 17 px (1 rem) für Fließtext, Kartentext dunkler. */
.feature-grid span,
.plan-list,
.agency-stage li,
.modiva-form label,
.contact label {
    font-size: 1rem;
}

.feature-grid span { color: var(--c-text); }

.bento-prices a {
    display: block;
    padding-block: .9rem;
    font-size: 1rem;
}
