/* ---------- Markenschriften (Dateien in assets/fonts/, siehe HINWEIS.txt) ---------- */
@font-face{
  font-family:"MarkenTitel";
  src:url("fonts/ueberschrift.woff") format("woff");
  font-weight:300 800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"MarkenText";
  src:url("fonts/text.woff") format("woff");
  font-weight:400; font-style:normal; font-display:swap;
}

/* zitiert · öffentliche Landingpage */
:root{
  --paper:#faf8f3; --ink:#1c1a16; --ink-soft:#6b6459; --ink-faint:#928b7d;
  --gold:#b8965a; --gold-deep:#9c7c44; --line:#e7e1d4; --line-soft:#efe9dd;
  --mesh:
    radial-gradient(760px 500px at 10% 14%, rgba(189,168,255,.38), transparent 60%),
    radial-gradient(680px 440px at 90% 10%, rgba(255,193,143,.42), transparent 62%),
    radial-gradient(760px 560px at 80% 96%, rgba(207,100,64,.10), transparent 65%),
    linear-gradient(180deg, #ffffff 0%, #fefdfb 55%, #faf8f3 100%);

  --green:#d8f2cf; --green-edge:#6fb45c; --orange:#ffe3c4; --card:#fffdf8;
  --shadow:0 1px 2px rgba(28,26,22,.04), 0 18px 50px rgba(28,26,22,.08);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  font-family:"MarkenText","Hanken Grotesk",system-ui,-apple-system,sans-serif;
  background:var(--paper); color:var(--ink); line-height:1.6; font-size:17px;
  -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 1px 1px, rgba(28,26,22,.02) 1px, transparent 0);
  background-size:28px 28px;
}
.serif{ font-family:"MarkenTitel","Fraunces",Georgia,serif; }
.wrap{ width:100%; max-width:1080px; margin:0 auto; padding:0 24px; }
.eyebrow{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; }
a{ color:var(--gold-deep); }
mark{ background:none; color:inherit; }

/* Kopfzeile */
.head{ position:sticky; top:0; z-index:40; background:#fff; border-bottom:1px solid var(--line-soft); }
.head__in{ display:flex; align-items:center; justify-content:space-between; padding:14px clamp(1.25rem, 5vw, 4rem); }
.brand{ display:flex; align-items:center; gap:.45rem; text-decoration:none; color:var(--ink); }
.brand__q{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.7rem; color:var(--gold); line-height:1; }
.brand__n{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.25rem; letter-spacing:.01em; }
.head__nav{ display:flex; align-items:center; gap:1.4rem; }
.head__nav a.navlink{ color:var(--ink-soft); text-decoration:none; font-size:.95rem; }
.head__nav a.navlink:hover{ color:var(--ink); }
.btn-login{ font:inherit; font-size:.92rem; border:1px solid var(--ink); background:transparent; color:var(--ink);
  padding:.5rem 1.1rem; border-radius:999px; cursor:pointer; text-decoration:none; transition:background .2s,color .2s; }
.btn-login:hover{ background:var(--ink); color:var(--paper); }

/* Held */
.hero{ padding:76px 0 56px; border-bottom:1px solid var(--line);
  background:
    radial-gradient(820px 420px at 76% 12%, rgba(184,150,90,.16), transparent 62%),
    linear-gradient(180deg, #f4eee0 0%, #f8f4ea 55%, var(--paper) 100%); }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.hero h1{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; font-size:3.3rem; line-height:1.06; letter-spacing:-.01em; margin:.9rem 0 1.1rem; }
.hero p.sub{ font-size:1.18rem; color:var(--ink-soft); max-width:33ch; }
.hero__cta{ margin-top:1.8rem; display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.cta{ display:inline-block; font:inherit; font-size:1rem; background:var(--gold); color:#fff; border:none; padding:.8rem 1.5rem;
  border-radius:999px; text-decoration:none; font-weight:600; transition:background .2s; }
.cta:hover{ background:var(--gold-deep); }
.cta-text{ color:var(--ink-soft); text-decoration:none; font-size:1rem; border-bottom:1px solid var(--line); padding-bottom:2px; }
.cta-text:hover{ color:var(--ink); }

/* Signature: KI-Antwortkarte */
.answer{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:26px 26px 22px; box-shadow:var(--shadow); position:relative; }
.answer__tag{ display:inline-flex; align-items:center; gap:.4rem; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:.9rem; }
.answer__tag::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--green-edge); }
.answer__q{ font-family:"MarkenTitel","Fraunces",serif; font-style:italic; font-size:1.12rem; color:var(--ink); margin-bottom:1rem; }
.answer__body{ font-size:1.02rem; line-height:1.62; color:#2b2823; }
.answer__body mark{ position:relative; font-weight:600; color:var(--ink);
  background:linear-gradient(transparent 62%, var(--green) 62%); padding:0 .1em; }
.answer__src{ margin-top:1.2rem; padding-top:1rem; border-top:1px dashed var(--line); display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.srclabel{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); margin-right:.2rem; }
.chip{ font-size:.82rem; padding:.28rem .7rem; border-radius:999px; border:1px solid var(--line); color:var(--ink-soft); background:#fff; }
.chip--cited{ background:var(--green); border-color:var(--green-edge); color:#1f3a1d; font-weight:600; }

/* Abschnitte */
.section{ padding:64px 0; border-top:1px solid var(--line-soft); }
.section__intro{ max-width:62ch; }
.section h2{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; font-size:2.1rem; line-height:1.12; margin:.6rem 0 1rem; }
.section p.body{ font-size:1.08rem; color:var(--ink-soft); }
.section p.body + p.body{ margin-top:1rem; }

/* Ablauf */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:40px; }
.step{ border-top:2px solid var(--gold); padding-top:1rem; }
.step__no{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.1rem; color:var(--gold-deep); letter-spacing:.05em; }
.step h3{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; font-size:1.3rem; margin:.5rem 0 .5rem; }
.step p{ font-size:.98rem; color:var(--ink-soft); }

/* Schweiz-Band */
.band{ background:#ffffff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.band .section{ border-top:none; }
.band__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.band__mark{ font-family:"MarkenTitel","Fraunces",serif; font-size:5rem; color:var(--gold); line-height:.8; }
.band__pts{ list-style:none; margin-top:1rem; display:flex; flex-direction:column; gap:.7rem; }
.band__pts li{ padding-left:1.5rem; position:relative; color:var(--ink-soft); font-size:1.02rem; }
.band__pts li::before{ content:"›"; position:absolute; left:0; color:var(--gold-deep); font-weight:700; }

/* FAQ */
.faq{ display:grid; grid-template-columns:1fr 1fr; gap:34px 56px; margin-top:36px; }
.qa h3{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; font-size:1.18rem; margin-bottom:.5rem; }
.qa p{ font-size:.98rem; color:var(--ink-soft); }

/* Fuss */
.foot{ background:#fff; border-top:1px solid var(--line); padding:52px 0 56px; color:var(--ink-soft); font-size:.92rem; }
.foot__grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:36px; }
.foot__h{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-bottom:.8rem; }
.foot__col p{ margin-top:.6rem; line-height:1.55; }
.foot ul{ list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.foot a{ color:var(--ink-soft); text-decoration:none; border-bottom:1px solid transparent; transition:color .2s,border-color .2s; }
.foot a:hover{ color:var(--ink); border-bottom-color:var(--gold); }
.foot__base{ margin-top:40px; padding-top:18px; border-top:1px solid var(--line-soft); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.84rem; color:var(--ink-faint); }

/* Login-Fenster */
.modal{ position:fixed; inset:0; z-index:60; display:none; place-items:center; background:rgba(28,26,22,.46); padding:24px; }
.modal.is-open{ display:grid; }
.modal__card{ width:100%; max-width:380px; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:30px 28px; box-shadow:var(--shadow); position:relative; }
.modal__close{ position:absolute; top:12px; right:14px; border:none; background:none; font-size:1.5rem; line-height:1; color:var(--ink-faint); cursor:pointer; }
.modal__title{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.5rem; margin-bottom:.3rem; }
.modal__hint{ color:var(--ink-soft); font-size:.9rem; margin-bottom:1.2rem; }
.field{ display:block; margin-bottom:1rem; }
.field label{ display:block; font-size:.8rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.4rem; }
.field input, .field textarea{ width:100%; font:inherit; font-size:1rem; padding:.7rem .9rem; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); box-sizing:border-box; }
.field input:focus, .field textarea:focus{ outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold); }
.modal__btn{ width:100%; font:inherit; font-size:1rem; font-weight:600; background:var(--ink); color:var(--paper); border:none; padding:.8rem; border-radius:999px; cursor:pointer; }
.modal__btn:hover{ background:#000; }
.modal__error{ background:var(--orange); color:#000; border-radius:8px; padding:.6rem .8rem; font-size:.9rem; margin-bottom:1rem; }

a:focus-visible, button:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* Bewegung beim Laden */
@keyframes rise{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none; } }
.rise{ animation:rise .7s cubic-bezier(.2,.7,.2,1) both; }
.rise-2{ animation-delay:.1s; } .rise-3{ animation-delay:.2s; }

/* Mobil */
@media (max-width:860px){
  .hero__grid{ grid-template-columns:1fr; gap:36px; }
  .hero{ padding:48px 0 24px; }
  .hero h1{ font-size:2.5rem; }
  .hero p.sub{ max-width:none; }
  .steps{ grid-template-columns:1fr; gap:22px; }
  .band__grid{ grid-template-columns:1fr; gap:24px; }
  .band__mark{ font-size:3.4rem; }
  .faq{ grid-template-columns:1fr; gap:26px; }
  .head__nav{ gap:1rem; }
  .head__nav a.navlink{ font-size:.9rem; }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .rise{ animation:none; }
}

/* ---------- Eigene Login-Seite ---------- */
.auth{ min-height:100vh; display:grid; place-items:center; padding:24px; }
.auth__card{ width:100%; max-width:380px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:32px 30px; box-shadow:var(--shadow); }
.auth__brand{ display:flex; align-items:center; gap:.45rem; margin-bottom:1.4rem; }
.auth__back{ display:inline-block; margin-top:1.3rem; color:var(--ink-soft); text-decoration:none; font-size:.9rem; border-bottom:1px solid var(--line); padding-bottom:2px; }
.auth__back:hover{ color:var(--ink); }

/* ---------- KI-Suche Simulation (Heldenkarte) ---------- */
.sim__line{ display:flex; align-items:flex-start; gap:.6rem; background:#fff; border:1px solid var(--line);
  border-radius:10px; padding:.65rem .8rem; margin-bottom:.4rem; }
.sim__icon{ width:15px; height:15px; border-radius:50%; border:2px solid var(--gold); position:relative; flex:none; margin-top:.2rem; }
.sim__icon::after{ content:""; position:absolute; right:-3px; bottom:-3px; width:7px; height:2px; background:var(--gold); transform:rotate(45deg); border-radius:2px; }
.sim__q{ position:relative; display:block; white-space:normal; max-width:100%; font-size:.95rem; line-height:1.4; color:var(--ink); }
.sim__ghost{ display:none; }
.sim__typed{ position:static; display:inline; overflow:visible; white-space:normal; width:auto; border:none; }

@media (min-width:861px){
  .sim__line{ align-items:center; }
  .sim__icon{ margin-top:0; }
  .sim__q{ display:inline-block; white-space:nowrap; font-size:1rem; }
  .sim__ghost{ display:inline; visibility:hidden; }
  .sim__typed{ position:absolute; left:0; top:0; overflow:hidden; white-space:nowrap; width:100%; border-right:2px solid transparent; }
}
.sim__think{ display:flex; gap:.36rem; padding:.45rem .2rem .2rem; opacity:0; }
.sim__think span{ width:7px; height:7px; border-radius:50%; background:var(--ink-faint); }
.sim__answer{ opacity:1; }
.chip__tick{ font-style:normal; font-weight:700; margin-left:.5rem; font-size:.72rem; color:#1f3a1d; white-space:nowrap; }

@media (prefers-reduced-motion: no-preference){
  .sim__q{ animation:simQin 9s infinite; }
  .sim__think{ animation:simThink 9s infinite; }
  .sim__think span{ animation:simDot 1s infinite ease-in-out; }
  .sim__think span:nth-child(2){ animation-delay:.15s; }
  .sim__think span:nth-child(3){ animation-delay:.3s; }
  .sim__answer{ animation:simAns 9s infinite; }
  .answer .chip--cited{ animation:simCite 9s infinite; }
  .answer .chip__tick{ animation:simTick 9s infinite; }
}
@media (prefers-reduced-motion: no-preference) and (min-width:861px){
  .sim__q{ animation:none; }
  .sim__typed{ width:0; animation:simType 9s infinite; }
}
@keyframes simQin{
  0%,2%{ opacity:0; transform:translateY(5px); }
  12%,86%{ opacity:1; transform:none; }
  90%,100%{ opacity:0; transform:translateY(5px); }
}
@keyframes simType{
  0%,3%{ width:0; border-right-color:var(--gold); }
  24%{ width:100%; border-right-color:var(--gold); }
  27%{ border-right-color:transparent; }
  86%{ width:100%; border-right-color:transparent; }
  90%,100%{ width:0; border-right-color:transparent; }
}
@keyframes simThink{ 0%,26%{ opacity:0; } 30%,38%{ opacity:1; } 42%,100%{ opacity:0; } }
@keyframes simDot{ 0%,100%{ transform:translateY(0); opacity:.5; } 50%{ transform:translateY(-3px); opacity:1; } }
@keyframes simAns{
  0%,42%{ opacity:0; transform:translateY(10px); }
  48%,86%{ opacity:1; transform:translateY(0); }
  91%,100%{ opacity:0; transform:translateY(10px); }
}
@keyframes simCite{
  0%,54%{ background:#fff; border-color:var(--line); color:var(--ink-soft); }
  60%,86%{ background:var(--green); border-color:var(--green-edge); color:#1f3a1d; }
  91%,100%{ background:#fff; border-color:var(--line); color:var(--ink-soft); }
}
@keyframes simTick{
  0%,57%{ opacity:0; transform:scale(.6); }
  62%,86%{ opacity:1; transform:scale(1); }
  91%,100%{ opacity:0; transform:scale(.6); }
}

/* ---------- Trend-Diagramm ---------- */
.chart{ margin-top:38px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px 24px 16px; box-shadow:var(--shadow); }
.chart__head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:.4rem; }
.chart__title{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.05rem; color:var(--ink); }
.chart__unit{ font-size:.76rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.chart__svg{ width:100%; height:auto; display:block; }
.chart__grid line{ stroke:var(--line); stroke-width:1; }
.chart__axis text{ fill:var(--ink-faint); font-size:13px; font-family:"MarkenText","Hanken Grotesk",sans-serif; }
.chart__area{ fill:var(--gold); opacity:.10; }
.chart__line{ fill:none; stroke:var(--gold); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.chart__dot{ fill:var(--gold-deep); }
.chart__pt{ fill:var(--ink); font-size:14px; font-weight:600; font-family:"MarkenTitel","Fraunces",serif; }
.chart__src{ margin-top:.6rem; font-size:.78rem; color:var(--ink-faint); }
.trend__note{ display:flex; gap:1rem; align-items:flex-start; margin-top:24px; background:linear-gradient(180deg,#f3efe5,#efe9db); border:1px solid var(--line); border-radius:12px; padding:18px 20px; }
.trend__note-k{ flex:none; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); background:rgba(184,150,90,.16); padding:.3rem .6rem; border-radius:999px; margin-top:.15rem; }
.trend__note p{ font-size:.96rem; color:var(--ink-soft); }

/* Aufbau-Animation, nur wenn per JS scharfgeschaltet (sonst direkt sichtbar) */
.chart--armed .chart__line{ stroke-dasharray:560; stroke-dashoffset:560; }
.chart--armed .chart__area,
.chart--armed .chart__dot,
.chart--armed .chart__pt{ opacity:0; }
.chart--armed.is-visible .chart__line{ transition:stroke-dashoffset 1.9s cubic-bezier(.4,.1,.2,1); stroke-dashoffset:0; }
.chart--armed.is-visible .chart__area{ transition:opacity .9s ease .7s; opacity:.10; }
.chart--armed.is-visible .chart__dot{ transition:opacity .5s ease 1.5s; opacity:1; }
.chart--armed.is-visible .chart__pt{ transition:opacity .6s ease 1.7s; opacity:1; }
@media (prefers-reduced-motion:reduce){
  .chart--armed .chart__line{ stroke-dashoffset:0; }
  .chart--armed .chart__area{ opacity:.10; }
  .chart--armed .chart__dot, .chart--armed .chart__pt{ opacity:1; }
}
@media (max-width:860px){
  .chart{ padding:18px 16px 14px; }
  .trend__note{ flex-direction:column; gap:.6rem; }
}

@media (max-width:860px){
  .foot__grid{ grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width:520px){
  .foot__grid{ grid-template-columns:1fr; }
}

/* ---------- KI-Anbieter-Leiste ---------- */
.duo{ display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.llms{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.llms__label{ grid-column:1 / -1; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:.2rem; }
.llm{ background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1rem 1.1rem;
  display:flex; flex-direction:column; gap:.25rem; min-height:74px; justify-content:center;
  transition:border-color .2s, transform .2s; }
.llm:hover{ border-color:var(--gold); transform:translateY(-2px); }
.llm__name{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.15rem; color:var(--ink); line-height:1.1; }
.llm__logo{ max-height:26px; max-width:130px; width:auto; object-fit:contain; align-self:flex-start; }
.llm__org{ font-size:.78rem; color:var(--ink-faint); }
@media (max-width:860px){
  .duo{ grid-template-columns:1fr; gap:32px; }
}

/* ---------- Preisseite ---------- */
.hero--slim{ padding:64px 0 48px; }
.pagetitle{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; font-size:2.7rem; line-height:1.1; margin:.8rem 0 1rem; }
.hero--slim .sub{ font-size:1.12rem; color:var(--ink-soft); max-width:54ch; }
.plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
.plan{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:26px 24px; display:flex; flex-direction:column; }
.plan--featured{ border-color:var(--gold); box-shadow:var(--shadow); }
.plan__badge{ position:absolute; top:-11px; left:24px; background:var(--gold); color:#fff; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.25rem .6rem; border-radius:999px; }
.plan__name{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; font-size:1.35rem; margin:0 0 .2rem; }
.plan__tagline{ color:var(--ink-faint); font-size:.88rem; margin-bottom:1.1rem; }
.plan__price{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.9rem; margin-bottom:1.3rem; }
.plan__period{ font-family:"MarkenText","Hanken Grotesk",sans-serif; font-size:.85rem; color:var(--ink-faint); }
.plan__list{ list-style:none; display:flex; flex-direction:column; gap:.55rem; margin-bottom:1.4rem; }
.plan__list li{ position:relative; padding-left:1.4rem; font-size:.93rem; color:var(--ink-soft); }
.plan__list li::before{ content:"✓"; position:absolute; left:0; color:var(--gold-deep); font-weight:700; }
.plan__cta{ margin-top:auto; text-align:center; font-size:.95rem; font-weight:600; text-decoration:none; color:var(--ink); border:1px solid var(--ink); border-radius:999px; padding:.65rem 1rem; transition:background .2s,color .2s; }
.plan__cta:hover{ background:var(--ink); color:var(--paper); }
.plan__cta--gold{ background:var(--gold); border-color:var(--gold); color:#fff; }
.plan__cta--gold:hover{ background:var(--gold-deep); border-color:var(--gold-deep); color:#fff; }
.plans__note{ margin-top:22px; font-size:.86rem; color:var(--ink-faint); max-width:70ch; }
/* Vertrauenszeile unter den Preiskacheln: kein Abo, einmalig, Schweiz */
.planstrust{ display:flex; flex-wrap:wrap; gap:.7rem 2.4rem; margin-top:30px; padding-top:22px; border-top:1px solid var(--line-soft); }
.planstrust__item{ position:relative; padding-left:1.55rem; font-size:1.02rem; font-weight:600; color:var(--ink); }
.planstrust__item::before{ content:"✓"; position:absolute; left:0; color:var(--gold-deep); font-weight:700; }
@media (max-width:760px){ .planstrust{ flex-direction:column; gap:.7rem; } }
@media (max-width:1020px){ .plans{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .plans{ grid-template-columns:1fr; } }

/* ---------- GEO-Check Formular ---------- */
.checkgrid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start; }
.checkform{ background:var(--card); border:1px solid var(--line); border-radius:14px; padding:28px 26px; box-shadow:var(--shadow); }
.checkform .field input{ background:#fff; }
.consent{ display:flex; gap:.7rem; align-items:flex-start; font-size:.85rem; color:var(--ink-soft); margin:.4rem 0 1.2rem; cursor:pointer; }
.consent input{ margin-top:.25rem; accent-color:var(--gold-deep); }
.consent a{ color:var(--gold-deep); }
.checkform__btn{ width:100%; border:none; cursor:pointer; }
.formerror{ background:var(--orange); color:#000; border-radius:8px; padding:.7rem .9rem; font-size:.9rem; margin-bottom:1rem; }
.muted-note{ font-size:.8rem; color:var(--ink-faint); margin-top:.9rem; }
.hp{ position:absolute; left:-9999px; top:-9999px; height:1px; overflow:hidden; }
.checkdone{ background:var(--green); border:1px solid #6fb45c; border-radius:14px; padding:28px 26px; color:#15301a; }
.checkdone h2{ font-size:1.6rem; margin-bottom:.6rem; }
.checkdone .muted-note{ color:#3c5b41; }
.checkside{ background:#f3efe5; border:1px solid var(--line); border-radius:14px; padding:24px 24px; }
.checklist{ list-style:none; display:flex; flex-direction:column; gap:.55rem; margin-top:.4rem; }
.checklist li{ position:relative; padding-left:1.4rem; font-size:.93rem; color:var(--ink-soft); }
.checklist li::before{ content:"✓"; position:absolute; left:0; color:var(--gold-deep); font-weight:700; }
.checkside__note{ margin-top:1.2rem; font-size:.85rem; color:var(--ink-soft); border-top:1px dashed var(--line); padding-top:1rem; }
@media (max-width:860px){ .checkgrid{ grid-template-columns:1fr; gap:28px; } }

/* ---------- GEO-Bericht ---------- */
.scorebox{ display:flex; align-items:center; gap:1.6rem; margin-top:1.4rem; flex-wrap:wrap; }
.scorebox__num{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; font-size:3.4rem; line-height:1; color:var(--ink); background:var(--card); border:1px solid var(--gold); border-radius:14px; padding:1rem 1.3rem; }
.scorebox__num span{ font-size:1.2rem; color:var(--ink-faint); }
.scorebox__verdict{ font-size:1.1rem; color:var(--ink-soft); max-width:36ch; }
.findings{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:8px; }
.finding{ border-radius:10px; padding:1rem 1.2rem; border:none; color:#000; background:#fff; }
.finding--ok{ background:var(--green); }
.finding--teil{ background:#fdf0d4; }
.finding--fehlt{ background:var(--orange); }
.finding__head{ display:flex; justify-content:space-between; align-items:center; gap:.6rem; margin-bottom:.3rem; }
.finding__label{ font-weight:600; }
.finding__status{ font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background:rgba(255,255,255,.7); padding:.18rem .55rem; border-radius:999px; }
.finding__detail{ font-size:.9rem; color:#2c2c2c; }
.finding__advice{ font-size:.86rem; color:#1f1f1f; margin-top:.45rem; padding-top:.45rem; border-top:1px dashed rgba(0,0,0,.15); }
.nextbox{ background:linear-gradient(180deg,#f3efe5,#efe9db); border:1px solid var(--line); border-radius:14px; padding:34px 32px; text-align:center; }
.nextbox h2{ font-size:1.7rem; font-weight:600; max-width:30ch; margin:0 auto .8rem; }
.nextbox p{ color:var(--ink-soft); max-width:62ch; margin:0 auto 1.4rem; }
@media (max-width:860px){ .findings{ grid-template-columns:1fr; } }

/* Druck des Berichts */
@media print{
  /* ---------- PDF-Bericht: kompakt, tintensparend, mit Markenschrift ---------- */
  /* Seitenraender auf null: damit entfallen die Kopf-/Fusszeilen des
     Browsers (Datum, URL, Seitenzahl) automatisch, und der Mesh kann
     randlos bis zur Papierkante laufen. Die Innenabstaende der Seiten
     kommen stattdessen aus .wrap und den Sektionen selbst. */
  @page{
    size:A4;
    margin:0;
  }

  /* Bildschirm-Elemente ausblenden, die aufs Papier nicht gehören */
  .report__bar, .report__next, .foot, .head, .cnote, .nextbox,
  .konkwahl, .report__print, .qsum__toggle{ display:none !important; }

  /* Grundflächen weiss, keine Tinte für Hintergründe verschwenden */
  html, body, body.report{ background:#fff !important; }
  .section, .hero, .hero--slim{
    background:none !important; border:none !important; padding:10px 0 !important;
  }
  .section--plain{ background:none !important; }
  /* Andere mesh-Sektionen (nicht die Hero) bleiben nüchtern weiss */
  .section.section--mesh:not(.hero){ background:none !important; }
  /* Inhalt auf gleiche Flucht wie Kopf-/Fusszeile bringen (kein wrap-Padding) */
  /* Kleines Randpolster: Inhalt exakt auf der Druckkante fuehrt dazu,
     dass Buchstaben-Tinte am Zeilenanfang/-ende angeschnitten wird.
     Seit @page margin:0 uebernimmt .wrap zudem die frueheren
     Seitenraender komplett. */
  .wrap{ max-width:none !important; padding:0 16mm !important; margin:0 !important; }

  /* SCHÖNE STARTSEITE: Der Marken-Mesh (echtes <img> als PNG, weil Safari
     CSS-Hintergrundbilder nicht druckt und SVG-Transparenz ignoriert) ist
     in ZWEI Slices geteilt: eines im Hero, eines in der Engine-Sektion.
     Beide Bilder sind 297mm hoch und exakt gegeneinander verschoben, der
     Verlauf laeuft also nahtlos durch. Bewusst die bewaehrte Konstruktion:
     Bild IM Container, overflow:hidden, positive z-index – alles andere
     (overflow ueber den Container hinaus, negativer z-index) laesst
     Safari beim Drucken weg. */
  .printmesh{
    display:block !important; position:absolute !important;
    left:0 !important; top:0 !important;
    width:100% !important; height:297mm !important;
    z-index:0 !important;
  }
  .hero.section--mesh{
    position:relative !important;
    background:#fff !important;
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
    min-height:183mm !important;
    margin:0 !important;               /* Seite hat keine Raender mehr */
    padding:26mm 20mm 0 !important;    /* Innenabstand: Text rueckt vom Mesh-Rand ein */
    overflow:hidden !important;
    display:block !important;
    break-after:avoid !important; page-break-after:avoid !important;
  }
  .hero.section--mesh .wrap{ position:relative !important; z-index:1 !important; }
  /* Engine-Sektion: bleibt mit auf dem Deckblatt, traegt das untere
     Mesh-Slice (um die Hero-Hoehe nach oben verschoben = nahtlos) und
     schliesst die Seite ab. */
  .hero.section--mesh + .pdf-seite{
    position:relative !important;
    background:#fff !important;
    min-height:113mm !important;
    margin:0 !important;
    padding:8mm 20mm 0 !important;
    overflow:hidden !important;
    break-before:auto !important; page-break-before:auto !important;
    break-after:page !important; page-break-after:always !important;
  }
  .hero.section--mesh + .pdf-seite .printmesh--unten{ top:-183mm !important; }
  .hero.section--mesh + .pdf-seite .wrap{ position:relative !important; z-index:1 !important; padding:0 !important; }
  .hero.section--mesh .wrap{ padding:0 !important; }

  /* GEO-Check/GEO-Audit-Bericht: EINE Seite. Kopf und Befund teilen sich
     den ganzseitigen Mesh (gleiche Slice-Technik wie beim Sichtbarkeits-
     Audit). Der Kopf hat eine feste Mindesthoehe von 80mm; das untere
     Slice setzt exakt dort an. Waechst der Kopf (lange Domain), ueber-
     lappen sich die Slices minimal – im weichen Verlauf unsichtbar. */
  .report__head{
    position:relative !important;
    background:#fff !important;
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
    min-height:80mm !important;
    margin:0 !important;
    padding:20mm 20mm 6mm !important;
    overflow:hidden !important;
    display:block !important;
    break-after:avoid !important; page-break-after:avoid !important;
  }
  .report__head .wrap{ position:relative !important; z-index:1 !important; padding:0 !important; }
  .report__head .printmesh{ top:0 !important; }
  .report__head .printbrand{ display:flex !important; }
  .report__body{
    position:relative !important;
    background:#fff !important;
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
    min-height:217mm !important;
    margin:0 !important;
    padding:4mm 4mm 10mm !important;
    overflow:hidden !important;
  }
  .report__body .printmesh--befund{ top:-80mm !important; }
  .report__body .wrap{ position:relative !important; z-index:1 !important; }
  /* Befund-Kacheln: Farben drucken, Kauf-Knoepfe und Konto-Werbung nicht */
  .finding{ -webkit-print-color-adjust:exact; print-color-adjust:exact; break-inside:avoid !important; page-break-inside:avoid !important; }
  .finding__unlock{ display:none !important; }
  .kontohinweis, .report__body + .section--plain{ display:none !important; }
  /* Wortmarke oben auf dem Deckblatt (am Bildschirm unsichtbar, siehe unten) */
  .printbrand{ display:flex !important; align-items:center; gap:.3rem; margin:0 0 12mm !important; }
  .printbrand__q{ font-family:"MarkenTitel","Fraunces",serif !important; font-size:20pt !important; color:var(--gold) !important; line-height:1 !important; }
  .printbrand__n{ font-family:"MarkenTitel","Fraunces",serif !important; font-size:14pt !important; color:#1c1a17 !important; letter-spacing:.01em !important; }
  .hero.section--mesh h1{ font-size:26pt !important; margin:0 0 6pt !important; }
  .hero.section--mesh .eyebrow{ font-size:8pt !important; margin-bottom:6pt !important; }
  /* Kacheln auf der Startseite: dezent hinterlegt, damit sie nicht leer wirken */
  .hero .zitatbox{ margin:8mm 0 !important; }
  .hero .zitatbox__zahlen{ gap:2.5rem !important; }
  .hero .zitatzahl{ background:rgba(255,255,255,.55) !important; border:none !important;
    border-radius:12px !important; padding:5mm 8mm !important; }
  .hero .zitatzahl__num{ font-size:30pt !important; }
  .hero .zitatbox__verdict{ font-size:11pt !important; margin-top:6mm !important; }

  /* Einheitliches Schriftsystem: wenige, klar abgestufte Grössen.
     Fliesstext überall 8pt, Prompts/Listen 8pt, nur Überschriften grösser. */
  body{ font-size:8pt; line-height:1.4; color:#1c1a17; }
  h1{ font-family:"MarkenTitel","Fraunces",serif !important; font-weight:500 !important; font-size:15pt; margin:0 0 3pt; }
  h2, .serif{ font-family:"MarkenTitel","Fraunces",serif !important; font-weight:500 !important; font-size:11pt; margin:0 0 4pt; line-height:1.2 !important; }
  h3{ font-family:"MarkenTitel","Fraunces",serif !important; font-weight:500 !important; font-size:9pt !important; }
  .eyebrow{ font-size:6.5pt; color:var(--gold-deep) !important; margin:0 0 3pt; font-weight:400 !important; letter-spacing:.08em; }
  .body, .leadtext, p, li, span, td{ font-size:8pt !important; line-height:1.4 !important; }
  .leadtext{ margin:0 0 10pt !important; }

  /* Echtes Fett überall über die Titelschrift, kein synthetisches Bolding */
  strong, b, .chip, mark, .foot__h, .band__pts li::before{
    font-family:"MarkenTitel","Fraunces",serif !important; font-weight:500 !important; }

  /* Zitat-Kennzahlen: keine Kästen, nur farbige Zahlen */
  .zitatbox__zahlen{ gap:1.5rem !important; }
  .zitatzahl, .zitatzahl--ja, .zitatzahl--teils, .zitatzahl--nein{
    background:none !important; border:none !important; padding:0 !important; }
  .zitatzahl__num{ font-size:18pt; font-family:"MarkenTitel","Fraunces",serif !important; }

  /* Prompt-Zeilen: keine Kästen/Linien/Hintergründe, gut lesbar */
  .qrow, .qrow--zitiert, .qrow--manchmal, .qrow--nicht,
  .qrow--schwach, .qrow--mittel, .qrow--gut{
    background:none !important; border:none !important; border-left:none !important;
    overflow:visible !important; border-radius:0 !important;
    padding:0 !important; margin:0 0 7pt !important; break-inside:avoid !important; page-break-inside:avoid !important; }
  .qsum{ padding:0 !important; align-items:flex-start !important; gap:14pt !important; }
  .qsum__right{ gap:9pt !important; flex-shrink:0 !important; }
  .qrow__q{ font-family:"MarkenText",-apple-system,sans-serif !important; font-weight:400 !important; font-size:8pt !important; line-height:1.35 !important; }
  /* Engine-Etiketten: keine Kaestchen und keine Durchstreichung (wird bei
     7pt unleserlich). Genannt = gruen mit Haekchen in der Titelschrift,
     fehlend = dezent hellgrau. */
  .qsum__engines{ gap:.55rem !important; }
  .qeng{ background:none !important; border:none !important; padding:0 !important;
    border-radius:0 !important; font-size:7pt !important; text-decoration:none !important; }
  .qeng--an{ color:#2f5723 !important; font-family:"MarkenTitel","Fraunces",serif !important; font-weight:500 !important; }
  .qeng--an::before{ content:"✓ "; }
  .qeng--aus{ color:#c1b9ab !important; }
  /* Stufen-Wort ohne Kachel, nur farbiger Text mit echter Schrift */
  .qrow__stufe, .qrow__stufe--zitiert, .qrow__stufe--manchmal, .qrow__stufe--nicht{
    background:none !important; border:none !important; padding:0 !important;
    font-family:"MarkenTitel","Fraunces",serif !important; font-weight:500 !important; }
  .qrow__stufe--zitiert{ color:#2f5723 !important; }
  .qrow__stufe--manchmal{ color:#8a2a1c !important; }
  .qrow__stufe--nicht{ color:#7a4415 !important; }
  .qanswer, .lauffact, .konkwahl{ background:none !important; border:none !important; }
  .qanswer__text{ line-height:1.4 !important; }

  /* Engine-Kacheln: kein Hintergrund, kein Schatten */
  .enginecard{ background:none !important; box-shadow:none !important; border:none !important; padding:4pt 0 !important; }
  .enginecard__name{ font-family:"MarkenTitel","Fraunces",serif !important; font-weight:500 !important; font-size:9.5pt !important; }
  .enginecard__pct{ font-family:"MarkenTitel","Fraunces",serif !important; position:relative !important; z-index:1 !important; }
  /* Ring im Druck als SVG: conic-gradient stellt Safari im PDF nicht dar */
  .enginecard__ring{ background:none !important; }
  .enginecard__ring::before{ display:none !important; }
  .printring{ display:block !important; position:absolute !important;
    top:0 !important; left:0 !important; width:100% !important; height:100% !important; }

  /* Konkurrenten-/Quellen-Zeilen: schlicht, ohne Fläche */
  .comprow, .massrow, .complist li{ background:none !important; border:none !important;
    padding:0 !important; margin:0 0 5pt !important; break-inside:avoid !important; }

  /* Vergleichstabelle: dezenter Kopf ohne farbige Linie */
  .vergleich{ border:none !important; overflow:visible !important; border-radius:0 !important; }
  .vergleich__head{ background:none !important; color:var(--gold-deep) !important;
    border-bottom:none !important;
    font-family:"MarkenTitel","Fraunces",serif !important; }
  .vergleich__row{ border-top:none !important; break-inside:avoid !important; }
  /* Konkurrenz-Spalte im Druck in normaler Textfarbe statt gruen */
  .vergleich__konk{ color:#1c1a17 !important; }
  .vergleich__row:nth-child(even){ background:#f6f4f0 !important; }
  .vergleich__einordnung{ background:none !important; border:none !important; padding:6pt 0 0 !important; line-height:1.4 !important; font-size:8.5pt !important; }

  /* Jedes Hauptthema beginnt auf einer neuen Seite */
  /* Folgeseiten: eigener Kopf- und Fussabstand, da die Seite keine Raender mehr hat */
  .pdf-seite{ break-before:page !important; page-break-before:always !important; padding:14mm 0 10mm !important; }

  /* Markenakzent sparsam */
  .zitatzahl__num{ color:var(--gold-deep) !important; }
  .zitatzahl--ja .zitatzahl__num{ color:#2f5723 !important; }

  /* Prompt-Details im PDF immer aufgeklappt zeigen (statisch) */
  .qdetail[open] .qbody, .qbody{ display:block !important; }
  details.qdetail{ display:block; }

  /* Umbrüche: nur kleine Elemente zusammenhalten, keine grossen Container
     (sonst entstehen grosse Lücken oder Inhalt wird abgeschnitten) */
  .qrow, .vergleich__row, .masskachel, .zitatzahl{ break-inside:avoid !important; page-break-inside:avoid !important; }
  section, .massplan, .engines, .qlist, .wrap{ break-inside:auto !important; page-break-inside:auto !important; }
  h1, h2, h3, .eyebrow{ break-after:avoid !important; page-break-after:avoid !important; }

  /* Eigene Fusszeile NICHT fixed (das kollidierte mit dem Seiteninhalt).
     Metadaten und Seitenzahl liefert die Browser-Fusszeile. */
  .printmeta{ display:none !important; }

  /* Zahlungsbeleg: flaches, sauberes Blatt mit Wortmarke */
  .belegblatt{ background:none !important; box-shadow:none !important;
    border-radius:0 !important; padding:16mm 0 0 !important; }
  .belegblatt .printbrand{ display:flex !important; margin:0 0 14mm !important; }
  .belegblatt .eyebrow{ font-size:8pt !important; }
  .belegblatt__firma{ font-size:9pt !important; line-height:1.6 !important; }
  .belegblatt__firma strong{ font-family:"MarkenTitel","Fraunces",serif !important;
    font-weight:500 !important; font-size:11pt !important; }
  .belegblatt__meta{ font-size:9pt !important; }
  .belegblatt__summe td{ font-size:9pt !important; }
  .belegblatt__total td{ font-family:"MarkenTitel","Fraunces",serif !important;
    font-weight:500 !important; font-size:10pt !important; }
  .belegblatt__note{ font-size:8pt !important; }

  /* Massnahmen im PDF: schlicht, linksbündig, nur feine Trennlinie dazwischen */
  .massplan, .massnahmen-sektion, .massnahmen-sektion .wrap{
    background:none !important; box-shadow:none !important;
    padding:0 !important; margin:0 !important; border-radius:0 !important; }
  .massplan{ display:block !important; gap:0 !important; }
  .masskachel{ background:none !important; box-shadow:none !important;
    border:none !important; border-bottom:none !important; border-radius:0 !important;
    padding:0 !important; margin:0 0 20pt !important;
    break-inside:avoid !important; page-break-inside:avoid !important; }
  .masskachel:last-child{ margin-bottom:0 !important; }
  /* Kopf des Eintrags ohne Extra-Abstand oben, damit die Linie mittig sitzt */
  .masskachel__kopf{ margin-top:0 !important; }
  /* Mehr Luft nach dem Intro, damit die erste Massnahme nicht angeklebt wirkt */
  .massnahmen-sektion .leadtext{ margin-bottom:16pt !important; }
  .masskachel:nth-child(odd){ background:none !important; }
  .masskachel__num{ background:var(--gold) !important; color:#fff !important;
    width:13pt !important; height:13pt !important; font-size:8pt !important; }
  .masskachel__prio{ border:none !important; padding:0 !important; background:none !important;
    font-size:8pt !important; font-weight:400 !important; }
  .masskachel__prio--hoch{ color:#8a2a1c !important; }
  .masskachel__prio--mittel{ color:#7a4415 !important; }
  .masskachel__prio--niedrig, .masskachel__prio--gering{ color:#2f5723 !important; }
  .masskachel__aufwand{ font-size:8pt !important; }
  /* Echtes Fett über die Titelschrift, kein synthetisches Bolding */
  .masskachel__was{ font-family:"MarkenTitel","Fraunces",serif !important;
    font-weight:500 !important; font-size:9.5pt !important; margin-bottom:2pt !important; }
  .masskachel__grund{ font-size:8pt !important; margin:0 !important; }
  .masskachel__label{ font-family:"MarkenTitel","Fraunces",serif !important; font-weight:500 !important; }
  .masskachel__tun{ display:none !important; }
  .massplan{ gap:0 !important; }
  /* Schluss-Satz ohne Trennlinie, in normaler Textfarbe (nicht hellgrau) */
  .masstable__hint{ border:none !important; border-top:none !important;
    margin-top:14pt !important; font-size:8pt !important; color:#1c1a17 !important; }
  .massnahmen-sektion, .massnahmen-sektion .wrap{ border:none !important; }

  *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* Nur-Massnahmen-PDF: alles ausser dem Massnahmenkatalog ausblenden */
@media print{
  body.print-mass-only main > section:not(.massnahmen-sektion){ display:none !important; }
  body.print-mass-only .hero--slim{ display:none !important; }
  /* Keine Einrückung: Inhalt bündig am linken Rand */
  body.print-mass-only .wrap{ max-width:none !important; margin:0 !important; padding:0 16mm !important; }
  body.print-mass-only .section{ padding:0 !important; }
  /* Der Massnahmen-Titel kommt jetzt als echter Eyebrow+h2 aus dem HTML,
     einheitlich mit dem Gesamtbericht. Kein CSS-Kopf mehr nötig. */
}

/* printmeta, printbrand, printmesh und printring am Bildschirm unsichtbar */
.printmeta{ display:none; }
.printbrand{ display:none; }
.printmesh{ display:none; }
.printring{ display:none; }

/* ---------- Wissensseiten ---------- */
.article{ max-width:720px; }
.article h2{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; font-size:1.7rem; margin:2.4rem 0 .8rem; }
.article p{ color:var(--ink-soft); line-height:1.7; margin-bottom:1rem; }
.article ul{ margin:0 0 1rem 1.2rem; color:var(--ink-soft); line-height:1.7; display:flex; flex-direction:column; gap:.4rem; }
.article strong{ color:var(--ink); }
.article a{ color:var(--gold-deep); text-decoration:none; border-bottom:1px solid var(--gold); }
.article a:hover{ color:var(--ink); }
.lead{ font-size:1.12rem; color:var(--ink-soft); line-height:1.65; }

/* ---------- Dezenter Cookie-/Datenschutz-Hinweis ---------- */
.cnote{ position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:60;
  display:flex; align-items:center; gap:14px; max-width:min(92vw, 560px);
  background:#fff; border:1px solid var(--line); border-radius:999px; box-shadow:0 8px 28px rgba(28,26,22,.12);
  padding:.55rem .6rem .55rem 1.1rem; font-size:.84rem; color:var(--ink-soft); }
.cnote p{ margin:0; line-height:1.4; }
.cnote a{ color:var(--gold-deep); text-decoration:none; border-bottom:1px solid var(--gold); }
.cnote__btn{ flex:none; font:inherit; font-weight:600; color:var(--ink); background:var(--green); border:1px solid #6fb45c; border-radius:999px; padding:.4rem .9rem; cursor:pointer; }
.cnote__btn:hover{ background:#cdeec2; }
@media print{ .cnote{ display:none !important; } }

/* ---------- Zweite Section immer reinweiss, ohne Trennlinien ---------- */
.hero, .hero--slim{ border-bottom:none; }
.hero + .section, .hero--slim + .section{ background:#fff; border-top:none; }
.hero + .section + .section, .hero--slim + .section + .section{ border-top:none; }

.cnote[hidden]{ display:none !important; }

.field select, .field textarea{ width:100%; font:inherit; font-size:.96rem; padding:.65rem .8rem; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); }
.field select:focus, .field textarea:focus{ outline:2px solid var(--gold); outline-offset:1px; }
.field textarea{ resize:vertical; }


/* ---------- Kopf: CTA-Link, Burger und mobiles Menü ---------- */
.head{ position:sticky; top:0; z-index:75; }
main section[id]{ scroll-margin-top:84px; }
.navlink--cta{ color:var(--gold-deep); font-weight:600; }
.burger{ display:none; }

@media (max-width:760px){
  .head__nav{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:flex-start; gap:0;
    background:#fff; border-bottom:1px solid var(--line);
    box-shadow:0 16px 28px rgba(28,26,22,.08);
    padding:.4rem 0 .8rem;
    opacity:0; transform:translateY(-8px); pointer-events:none;
    transition:opacity .22s ease, transform .22s ease;
  }
  body.nav-open .head__nav{ opacity:1; transform:none; pointer-events:auto; }
  .head__nav .navlink{ width:100%; padding:.85rem clamp(1.25rem, 5vw, 4rem); font-size:1.05rem; border-bottom:1px solid var(--line-soft); }
  .head__nav .navlink:last-child{ border-bottom:none; }

  /* Menuepunkte fallen gestaffelt ein */
  .head__nav .navlink{ opacity:0; transform:translateY(-10px); }
  body.nav-open .head__nav .navlink{ animation:navItemIn .28s ease forwards; }
  body.nav-open .head__nav .navlink:nth-child(1){ animation-delay:.05s; }
  body.nav-open .head__nav .navlink:nth-child(2){ animation-delay:.10s; }
  body.nav-open .head__nav .navlink:nth-child(3){ animation-delay:.15s; }
  body.nav-open .head__nav .navlink:nth-child(4){ animation-delay:.20s; }
  body.nav-open .head__nav .navlink:nth-child(5){ animation-delay:.25s; }
  body.nav-open .head__nav .navlink:nth-child(6){ animation-delay:.30s; }
  @keyframes navItemIn{ to{ opacity:1; transform:none; } }
  @media (prefers-reduced-motion:reduce){
    .head__nav .navlink{ opacity:1; transform:none; }
    body.nav-open .head__nav .navlink{ animation:none; }
  }

  .burger{
    display:flex; flex-direction:column; justify-content:center; gap:5px;
    background:none; border:0; padding:10px 6px; cursor:pointer;
  }
  .burger span{ display:block; width:24px; height:2px; background:var(--ink); border-radius:2px;
    transition:transform .28s ease, opacity .2s ease; }
  body.nav-open .burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  body.nav-open .burger span:nth-child(2){ opacity:0; }
  body.nav-open .burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* ---------- Cookie-Hinweis mobil ---------- */
@media (max-width:560px){
  .cnote{
    left:12px; right:12px; bottom:12px; transform:none; max-width:none;
    border-radius:14px; flex-direction:column; align-items:stretch; gap:.7rem;
    padding:.9rem 1rem;
  }
  .cnote__btn{ align-self:flex-end; }
}

/* ==================================================
   TEST: Dunkler Auftritt (Hero der Startseite + Footer)
   Zum Rueckbau diesen Block entfernen.
   ================================================== */

/* --- Heller Mehrfarb-Verlauf (Lavendel, Weiss, Apricot-Gold) --- */
.hero:not(.hero--slim), #trend.section{
  border-top:none;
  border-bottom:none;
  background:var(--mesh);
}
#trend.section + .section{ border-top:none; }

/* --- Footer: warmes Anthrazit, Schrift weiss, keine Trennlinie --- */
.foot{
  border-top:none;
  background:linear-gradient(180deg, #24221d 0%, #161510 100%);
  color:#fff;
}
.foot__h{ color:var(--gold); }
.foot__col p{ color:rgba(255,255,255,.82); }
.foot a{ color:rgba(255,255,255,.92); border-bottom-color:transparent; }
.foot a:hover{ color:#fff; border-bottom-color:var(--gold); }
.foot .brand__n{ color:#fff; }
.foot__base{ border-top:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.75); }

/* --- Test-Feinschliff: neue Akzentfarbe (Terracotta) + Karten in Reinweiss --- */
:root{
  --gold:#cf6440;
  --gold-deep:#a8492a;
}
#trend .chart{ border:none; background:#fff; box-shadow:0 12px 30px rgba(120,70,40,.10); }
#trend .trend__note{ border:none; background:#fff; box-shadow:0 12px 30px rgba(120,70,40,.10); }
#trend .trend__note-k{ background:rgba(207,100,64,.12); }

/* --- Test-Feinschliff 2: Linien weg, Block-Rhythmus, dunkler Fliesstext --- */

/* Keine Linie unter der Navigation */
.head{ border-bottom:none; }

/* Antwortkarte im Hero: reinweiss, ohne Aussenlinie */
.answer{ background:#fff; border:none; box-shadow:0 14px 36px rgba(120,70,40,.10); }

/* Fliesstext in Ueberschriften-Tinte */
:root{ --ink-soft:#1c1a16; }

/* Generell keine feinen Trennlinien zwischen Sections */
.section{ border-top:none; border-bottom:none; }

/* Messen, Auditieren, Optimieren: reinweiss */
#ablauf{ background:#fff; }

/* Schweiz-Band: weiss, keine Linien */
.band{
  border-top:none; border-bottom:none;
  background:#ffffff;
}


/* ==================================================
   DESIGNSYSTEM: Mesh und Reinweiss im Wechsel, keine feinen Linien
   ================================================== */

/* Erste Section (Hero) immer Mesh, auch auf Unterseiten */
.hero, .hero--slim{ background:var(--mesh); border:none; }

/* Wechselrhythmus: ungerade Sections Mesh, gerade Reinweiss
   (der Hero zaehlt als erste Section) */
/* Hintergrund explizit je Section (statt fragiler nth-of-type-Automatik) */
main > section{ background:#fff; }
.hero{ background:var(--mesh); }
.section--plain{ background:#fff; }

/* Karten: weicher Schatten statt Aussenlinie */
.plan, .checkform, .checkdone, .nextbox, .chart, .trend__note,
.scorebox__num, .cnote{
  border:none;
  box-shadow:0 12px 30px rgba(120,70,40,.10);
}

/* Schritte (01/02/03) und FAQ-Eintraege: luftig, ohne Karte und Schatten */
.step, .qa{ background:none; border:none; box-shadow:none; }
.step{ border-top:2px solid var(--gold); }

/* Login-Seite: Mesh-Grund */
.auth{ background:var(--mesh); }
.auth__card{ border:none; box-shadow:0 16px 40px rgba(120,70,40,.12); background:#fff; }
.plan--featured{ box-shadow:0 16px 40px rgba(207,100,64,.18); }
.finding{ border:none; box-shadow:0 1px 3px rgba(28,26,22,.06); }
.answer__src{ border-top:1px dashed var(--line); } /* funktionale Innenlinie bleibt */

/* Letzter Feinschliff: CTA-Box reinweiss */
.nextbox{ background:#fff; }

/* Info-Spalte des Checks: keine Kachel, nur Terracotta-Anker oben */
.checkside{
  background:none; border:none; box-shadow:none; border-radius:0;
  border-top:2px solid var(--gold);
  padding:1.3rem 0 0;
}

/* Einmal-Audit: hervorgehobene Karte */
.plan--audit{ background:linear-gradient(180deg,#fff 0%,#fff7f2 100%); box-shadow:0 12px 30px rgba(207,100,64,.16); outline:2px solid var(--gold); }
.plan__badge--audit{ background:var(--gold); }
@media (min-width:981px){ .plans{ grid-template-columns:repeat(3, 1fr); gap:24px; } }

.plan__period{ display:block; margin-top:-1.1rem; margin-bottom:1.3rem; color:var(--ink-soft); font-size:.84rem; }

/* Karten-Kopf auf gemeinsame Linie ausrichten */
.plan__name{ min-height:2.6rem; display:flex; align-items:flex-start; }
.plan__tagline{ min-height:3.1rem; }
.plan__price{ min-height:2.2rem; display:flex; align-items:baseline; }
.plan__period{ min-height:1.2rem; }

/* ---------- Animierte Beispielmessung ---------- */
.demo{ margin:0; background:#fff; border-radius:16px; box-shadow:0 14px 36px rgba(120,70,40,.10); padding:1.6rem 1.6rem 1.4rem; }
.demo__bar{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-bottom:1.1rem; margin-bottom:1.1rem; border-bottom:1px solid var(--line-soft); }
.demo__count{ text-align:center; }
.demo__countnum{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.5rem; color:var(--ink); display:block; }
.demo__countsub{ font-size:.74rem; color:var(--ink-faint); }
.demo__phlabel{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); display:block; }
.demo__month{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.6rem; color:var(--ink); }
.demo__score{ text-align:right; }
.demo__scorenum{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.9rem; color:var(--gold-deep); transition:color .4s; }
.demo__scoresub{ font-size:.78rem; color:var(--ink-faint); display:block; }
.demo__list{ list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.demo__row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; background:var(--paper); border-radius:10px; border-left:3px solid var(--line); transition:border-color .5s, background .5s, opacity .5s, transform .5s; opacity:.45; }
.demo__row.is-dim{ opacity:.45; }
.demo__row.is-active{ opacity:1; }
.demo__row.is-cited{ border-left-color:#6fb45c; background:#f4faf0; }
.demo__q{ font-size:.92rem; color:var(--ink-soft); }
.demo__state{ flex:none; font-size:.74rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:.28rem .7rem; border-radius:999px; background:#efe9dd; color:var(--ink-faint); transition:all .4s; }
.demo__row.is-cited .demo__state{ background:#d8f2cf; color:#2f6d2a; }
.demo__row.is-cited .demo__state::before{ content:"✓ "; }
/* Wachsendes Protokoll der Demo */
.demo__log{ list-style:none; margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--line-soft); display:flex; flex-direction:column; gap:.6rem; min-height:5.4em; }
.demo__logitem{ display:flex; gap:.6rem; align-items:flex-start; font-size:.88rem; color:var(--ink-soft); line-height:1.5; opacity:0; transform:translateY(6px); animation:demoLogIn .5s ease forwards; }
.demo__logitem::before{ content:"✓"; flex:none; color:#6fb45c; font-weight:700; margin-top:.05rem; }
.demo__logitem strong{ color:var(--ink); font-weight:600; }
@keyframes demoLogIn{ to{ opacity:1; transform:none; } }
@media (max-width:560px){ .demo__q{ font-size:.84rem; } .demo__row{ flex-direction:column; align-items:flex-start; gap:.4rem; } }


/* Demo als Zweispalter: links Intro (1/3), rechts Demo (2/3) */
.demogrid{ display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:center; }
.demogrid__intro h2{ margin:.3rem 0 .6rem; }
@media (max-width:820px){
  .demogrid{ grid-template-columns:1fr; gap:24px; }
  .demo{ margin-top:.4rem; }
}
@media (max-width:560px){
  .demo__row[data-step="4"], .demo__row[data-step="5"]{ display:none; }
}

.section--mesh{ background:var(--mesh); }

/* Scroll-to-Top */
.totop{ position:fixed; right:1.4rem; bottom:1.4rem; z-index:60; width:46px; height:46px; border:none; border-radius:50%; background:var(--gold); color:#fff; cursor:pointer; box-shadow:0 8px 22px rgba(120,70,40,.28); display:flex; align-items:center; justify-content:center; opacity:0; transform:translateY(10px); transition:opacity .3s, transform .3s, background .2s; }
.totop.is-on{ opacity:1; transform:none; }
.totop:hover{ background:var(--gold-deep); transform:translateY(-2px); }
.totop[hidden]{ display:none; }
@media (max-width:560px){ .totop{ right:1rem; bottom:1rem; width:42px; height:42px; } }

/* ---------- Blog ---------- */
.blog__meta{ color:var(--ink-faint); font-size:.92rem; margin-top:.4rem; }
.bloglist{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:24px; }
.blogcard{ display:block; background:#fff; border-radius:16px; padding:1.6rem; box-shadow:0 12px 30px rgba(120,70,40,.10); text-decoration:none; color:inherit; transition:transform .2s, box-shadow .2s; }
.blogcard:hover{ transform:translateY(-3px); box-shadow:0 16px 38px rgba(120,70,40,.16); }
.blogcard__date{ color:var(--gold-deep); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; margin:0 0 .5rem; }
.blogcard__title{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.3rem; line-height:1.25; margin:0 0 .6rem; }
.blogcard__excerpt{ color:var(--ink-soft); font-size:.94rem; line-height:1.55; margin:0 0 1rem; }
.blogcard__more{ color:var(--gold-deep); font-weight:600; font-size:.9rem; }

/* Artikel-Inhalt */
.blog__body{ max-width:680px; margin:0 auto; font-size:1.05rem; line-height:1.7; color:var(--ink-soft); }
.blog__body .lead{ font-size:1.2rem; line-height:1.6; color:var(--ink); margin-bottom:1.6rem; }
.blog__body h2{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.5rem; color:var(--ink); margin:2.2rem 0 .8rem; }
.blog__body p{ margin:0 0 1.1rem; }
.blog__body ul{ margin:0 0 1.1rem; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:.7rem; }
.blog__body ul li{ padding-left:1.5rem; position:relative; }
.blog__body ul li::before{ content:"›"; position:absolute; left:0; color:var(--gold); font-weight:700; }
.blog__body strong{ color:var(--ink); }
.blog__figure{ margin:1.8rem 0; }
.blog__imgph{ background:var(--mesh); border:1px dashed var(--gold); border-radius:12px; padding:2.5rem 1.5rem; text-align:center; color:var(--ink-faint); font-size:.9rem; }
.blog__caption{ font-size:.82rem; color:var(--ink-faint); margin-top:.5rem; text-align:center; }
.blog__cta{ display:inline-block; background:var(--gold); color:#fff; text-decoration:none; padding:.85rem 1.6rem; border-radius:999px; font-weight:600; margin-top:.5rem; }
.blog__cta:hover{ background:var(--gold-deep); }
.blog__back{ max-width:680px; margin:2.4rem auto 0; }
.blog__back a{ color:var(--gold-deep); text-decoration:none; font-weight:600; }

.blog__figure img{ width:100%; height:auto; display:block; border-radius:12px; box-shadow:0 10px 30px rgba(120,70,40,.10); }
.blog__figure figcaption{ font-size:.82rem; color:var(--ink-faint); margin-top:.5rem; text-align:center; }

/* ---------- PageSpeed-Ring-Animation (Blog) ---------- */
.psring{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem 2rem; margin:2rem auto; max-width:680px; }
.psring__item{ display:flex; flex-direction:column; align-items:center; gap:.7rem; }
.psring__circle{ position:relative; width:96px; height:96px; }
.psring__circle svg{ width:100%; height:100%; transform:rotate(-90deg); }
.psring__track{ fill:#fff; stroke:var(--line-soft); stroke-width:8; }
.psring__arc{ fill:none; stroke:var(--green-edge); stroke-width:8; stroke-linecap:round; }
.psring__circle--ratio .psring__arc{ stroke:var(--green-edge); }
.psring__num{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:"MarkenTitel","Fraunces",serif; font-size:1.5rem; color:var(--green-edge); font-weight:600; }
.psring__label{ font-size:.82rem; color:var(--ink-soft); text-align:center; line-height:1.2; max-width:90px; }
.psring__hint{ text-align:center; font-size:.82rem; color:var(--ink-faint); margin:-.5rem 0 0; }
@media (max-width:560px){
    .psring{ gap:1.2rem 1.4rem; }
    .psring__circle{ width:76px; height:76px; }
    .psring__num{ font-size:1.2rem; }
}

/* ---------- Bezahlschranke im Befund ---------- */
.finding--locked .finding__detail{ opacity:.95; }
.finding__lock{ display:flex; align-items:center; gap:.6rem; margin-top:.7rem; padding:.7rem .9rem;
    background:var(--mesh); border:1px dashed var(--gold); border-radius:10px;
    font-size:.9rem; color:var(--ink-soft); }
.finding__lockmark{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
    width:24px; height:24px; border-radius:50%; background:var(--gold); color:#fff;
    font-weight:700; font-size:.9rem; line-height:1; }
/* Freischalten direkt in der gesperrten Kachel: dezenter als der Haupt-CTA */
.finding__unlock{ display:inline-block; margin-top:.8rem; font-size:.9rem; font-weight:600;
    color:var(--gold-deep); text-decoration:none; background:#fff;
    border:1px solid var(--gold); border-radius:999px; padding:.5rem 1.1rem;
    transition:background .2s, color .2s; }
.finding__unlock:hover{ background:var(--gold); color:#fff; }

/* Angebots-Kasten */
.nextbox--offer{ border:1px solid var(--line); }
.offer__price{ font-family:"MarkenTitel","Fraunces",serif; font-size:2.4rem; color:var(--ink);
    line-height:1.1; margin:1.6rem 0 1.2rem; }
.offer__price span{ display:block; margin-top:.35rem;
    font-family:"MarkenText","Hanken Grotesk",system-ui,sans-serif;
    font-size:.9rem; color:var(--ink-faint); font-weight:400; letter-spacing:.01em; }
.offer__note{ margin-top:1.2rem; font-size:.85rem; color:var(--ink-faint); }
.findings__summary{ margin:0 0 1.4rem; padding:.9rem 1.1rem; background:var(--mesh); border-radius:10px;
    font-size:.95rem; color:var(--ink-soft); }

/* ---------- Kundenkonto ---------- */
.wrap--narrow{ max-width:520px; }
.leadtext{ max-width:760px; }  /* lange Fliesstexte lesbar halten, linksbuendig */

.authbox{ background:#fff; border-radius:18px; padding:2.2rem 2rem; box-shadow:0 16px 40px rgba(120,70,40,.12); }
.authbox__title{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.9rem; margin:.3rem 0 1rem; }
.authbox__intro{ color:var(--ink-soft); font-size:.95rem; line-height:1.6; margin-bottom:1.4rem; }
.authbox__err{ background:#fdece7; border-left:3px solid var(--gold); border-radius:8px; padding:.7rem .9rem;
    margin-bottom:1rem; font-size:.9rem; color:#8a3d22; }
.authbox__ok{ background:var(--green); border-left:3px solid var(--green-edge); border-radius:8px; padding:.7rem .9rem;
    margin-bottom:1rem; font-size:.9rem; color:#1f3a1d; }
.authbox__alt{ margin-top:1.4rem; font-size:.9rem; color:var(--ink-soft); line-height:1.8; }
.authbox__alt a{ color:var(--gold-deep); font-weight:600; text-decoration:none; }

.authform{ display:flex; flex-direction:column; }
.authform__label{ font-size:.85rem; font-weight:600; color:var(--ink); margin:.9rem 0 .35rem; }
.authform__input{ font:inherit; font-size:1rem; padding:.75rem .9rem; border:1px solid var(--line);
    border-radius:10px; background:#fff; color:var(--ink); }
.authform__input:focus{ outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold); }
.authform__hint{ font-size:.8rem; color:var(--ink-faint); margin-top:.35rem; }
.authform__btn{ margin-top:1.4rem; border:none; cursor:pointer; }

/* Verlauf */
.konto__domain{ background:#fff; border-radius:16px; padding:1.8rem; margin-bottom:1.6rem;
    box-shadow:0 12px 30px rgba(120,70,40,.10); }
.konto__domainhead{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between;
    gap:.6rem; margin-bottom:1.3rem; }
.konto__domaintitle{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.45rem; margin:0; }
.konto__delta{ font-size:.85rem; font-weight:600; color:var(--ink-faint); }
.konto__delta--up{ color:#3f7a32; }
.konto__delta--down{ color:#a8492a; }
.konto__again{ margin-top:1.2rem; font-size:.9rem; color:var(--ink-soft); }
.konto__mehr{ margin-top:2.4rem; padding-top:1.4rem; border-top:1px solid var(--line-soft); font-size:.95rem; }

.verlauf{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }
.verlauf__item{ display:flex; gap:1.1rem; padding:1rem 0; border-top:1px solid var(--line-soft); align-items:flex-start; }
.verlauf__item:first-child{ border-top:none; padding-top:0; }
.verlauf__score{ flex:0 0 auto; font-family:"MarkenTitel","Fraunces",serif; font-size:1.7rem; font-weight:600;
    color:var(--ink); min-width:5rem; }
.verlauf__score span{ font-size:.8rem; color:var(--ink-faint); font-weight:400; }
.verlauf__body{ flex:1; }
.verlauf__zeit{ font-size:.92rem; color:var(--ink); margin:0 0 .25rem; font-weight:600; }
.verlauf__diff{ font-size:.85rem; color:var(--ink-faint); margin:0 0 .4rem; }
.verlauf__diff--up{ color:#3f7a32; font-weight:600; }
.verlauf__diff--down{ color:#a8492a; font-weight:600; }
.verlauf__links{ margin:0; font-size:.88rem; display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; }
.verlauf__links a{ color:var(--gold-deep); font-weight:600; text-decoration:none; }
.verlauf__frei{ font-size:.75rem; color:var(--ink-faint); background:var(--line-soft); padding:.15rem .5rem; border-radius:999px; }
.verlauf__voll{ font-size:.75rem; color:#1f3a1d; background:var(--green); padding:.15rem .5rem; border-radius:999px; font-weight:600; }

/* Konto-Hinweis im Befund */
.kontohinweis{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.2rem;
    background:var(--mesh); border-radius:16px; padding:1.6rem 1.8rem; }
.kontohinweis__text{ flex:1 1 320px; }
.kontohinweis__title{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.25rem; margin:0 0 .4rem; }
.kontohinweis__text p{ margin:0; font-size:.92rem; color:var(--ink-soft); line-height:1.55; }

/* Belegblatt */
.belegblatt{ background:#fff; border-radius:16px; padding:2.2rem; box-shadow:0 14px 36px rgba(120,70,40,.10); }
.belegblatt__firma{ margin:.6rem 0 1.6rem; line-height:1.6; color:var(--ink-soft); }
.belegblatt__firma strong{ color:var(--ink); font-size:1.05rem; }
.belegblatt__meta{ margin:0 0 1.6rem; padding:1.2rem 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.belegblatt__meta dt{ font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-faint); font-weight:700; margin-top:.7rem; }
.belegblatt__meta dt:first-child{ margin-top:0; }
.belegblatt__meta dd{ margin:.15rem 0 0; color:var(--ink); }
.belegblatt__summe{ width:100%; border-collapse:collapse; }
.belegblatt__summe td{ padding:.4rem 0; color:var(--ink-soft); }
.belegblatt__summe td:last-child{ text-align:right; color:var(--ink); }
.belegblatt__total td{ padding-top:.8rem; border-top:1px solid var(--line); font-weight:700; color:var(--ink); }
.belegblatt__note{ margin-top:1.4rem; font-size:.82rem; color:var(--ink-faint); line-height:1.5; }

/* Menü: Trenner und abgesetzter Konto-Link */
.navsep{ width:1px; height:20px; background:var(--line); margin:0 .2rem; }
.head__nav a.navlink--konto{ color:var(--ink-faint); font-size:.9rem; }
.head__nav a.navlink--konto:hover{ color:var(--ink); }
/* Aktueller Standort in der Navigation: klar hervorgehoben statt grau */
.head__nav a.navlink--aktiv{ color:var(--ink); border-bottom:2px solid var(--gold); padding-bottom:2px; }
.head__nav a.navlink--aktiv:hover{ color:var(--ink); }
@media (max-width:900px){
    .navsep{ width:100%; height:1px; margin:.6rem 0; }
}

/* ---------- Sichtbarkeits-Audit ---------- */
.req{ color:var(--gold); }

/* Prompt-Bearbeitung */
.promptform{ margin-top:1.5rem; }
.promptlist{ display:flex; flex-direction:column; gap:.7rem; margin-bottom:1rem; }
.promptrow{ display:flex; gap:.6rem; align-items:center; }
.promptrow__input{ flex:1; font:inherit; font-size:.98rem; padding:.7rem .9rem; border:1px solid var(--line);
    border-radius:10px; background:#fff; color:var(--ink); }
.promptrow__input:focus{ outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold); }
.promptrow__del{ flex:0 0 auto; width:38px; height:38px; border:1px solid var(--line); background:#fff;
    border-radius:10px; font-size:1.3rem; line-height:1; color:var(--ink-faint); cursor:pointer; }
.promptrow__del:hover{ border-color:var(--gold); color:var(--gold); }
.promptform__foot{ margin-top:1.6rem; padding-top:1.4rem; border-top:1px solid var(--line-soft); }
/* Eigenen Prompt hinzufügen: klarer Sekundär-Knopf statt nackter Textlink */
.promptadd{ font:inherit; font-size:.95rem; font-weight:600; color:var(--ink);
    background:#fff; border:1px solid var(--line); border-radius:999px;
    padding:.6rem 1.2rem; cursor:pointer; transition:border-color .2s, color .2s; }
.promptadd::before{ content:"+"; margin-right:.45rem; color:var(--gold-deep); font-weight:700; }
.promptadd:hover{ border-color:var(--gold); color:var(--gold-deep); }
.promptform__note{ font-size:.88rem; color:var(--ink-faint); margin-bottom:1rem; }

/* Fortschritt */
.laufbox{ background:#fff; border-radius:18px; padding:2.4rem 2rem; box-shadow:0 16px 40px rgba(120,70,40,.12); text-align:center; }
.laufbox__title{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.7rem; margin:.4rem 0 1rem; }
.laufbox__intro{ color:var(--ink-soft); font-size:.98rem; line-height:1.6; margin-bottom:2rem; }
.fortschritt{ margin:1.5rem 0; }
.fortschritt__bar{ height:12px; background:var(--line-soft); border-radius:999px; overflow:hidden; }
.fortschritt__fill{ height:100%; background:linear-gradient(90deg, var(--gold), var(--gold-deep));
    border-radius:999px; transition:width .5s ease; }
.fortschritt__text{ margin-top:.8rem; font-size:.92rem; color:var(--ink-soft); }
.laufbox__hint{ font-size:.85rem; color:var(--ink-faint); margin-top:1.5rem; }

/* Engine-Vergleich */
.engines{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:1.5rem; }
.enginecard{ background:#fff; border-radius:16px; padding:1.8rem 1.4rem; text-align:center;
    box-shadow:0 12px 30px rgba(120,70,40,.10); }
.enginecard__name{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.2rem; margin:0 0 1.2rem; }
.enginecard__ring{ width:110px; height:110px; border-radius:50%; margin:0 auto 1rem;
    background:conic-gradient(var(--gold) calc(var(--pct)*1%), var(--line-soft) 0);
    display:flex; align-items:center; justify-content:center; position:relative; }
.enginecard__ring::before{ content:""; position:absolute; width:82px; height:82px; background:#fff; border-radius:50%; }
.enginecard__pct{ position:relative; font-family:"MarkenTitel","Fraunces",serif; font-size:1.6rem; font-weight:600; color:var(--ink); }
.enginecard__label{ font-size:.9rem; color:var(--ink); margin:.3rem 0 0; }
.enginecard__sub{ font-size:.82rem; color:var(--ink-faint); margin:.35rem 0 0; }
@media (max-width:700px){ .engines{ grid-template-columns:1fr; } }

/* Mitbewerber */
.complist{ list-style:none; margin:1.5rem 0 0; padding:0; counter-reset:c; }
.comprow{ display:flex; align-items:center; gap:1rem; padding:.7rem 0; border-top:1px solid var(--line-soft); }
.comprow:first-child{ border-top:none; }
.comprow__name{ flex:0 0 40%; font-family:"MarkenTitel","Fraunces",serif; font-weight:600; color:var(--ink); }
.comprow__bar{ flex:1; height:8px; background:var(--line-soft); border-radius:999px; overflow:hidden; }
.comprow__bar span{ display:block; height:100%; background:var(--gold); border-radius:999px; }
.comprow__count{ flex:0 0 auto; font-size:.85rem; color:var(--ink-faint); }

/* Fragen */
.qlist{ list-style:none; margin:1.5rem 0 0; padding:0; }
.qrow{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1.1rem;
    border-radius:10px; margin-bottom:.6rem; }
.qrow--schwach{ background:#fdece7; }
.qrow--mittel{ background:#fdf4e3; }
.qrow--gut{ background:var(--green); }
.qrow__q{ color:var(--ink); font-size:.95rem; }
.qrow__val{ flex:0 0 auto; font-size:.82rem; font-weight:600; color:var(--ink-soft); }

/* Audit-Bereich im Konto */
.auditbox{ background:linear-gradient(135deg,#fff,#fdf7f0); border:1px solid var(--line);
    border-radius:16px; padding:1.8rem; margin-bottom:1.6rem; box-shadow:0 12px 30px rgba(120,70,40,.10); }
.auditbox__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; }
.auditbox__title{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.4rem; margin:0 0 .3rem; }
.auditbox__sub{ font-size:.92rem; color:var(--ink-soft); margin:0; max-width:32rem; }
.auditbox__price{ flex:0 0 auto; font-family:"MarkenTitel","Fraunces",serif; font-size:1.3rem; color:var(--gold-deep); }
.auditlist{ list-style:none; margin:0 0 1.3rem; padding:0; }
.auditrow{ display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding:.7rem 0; border-top:1px solid var(--line-soft); }
.auditrow:first-child{ border-top:none; }
.auditrow__domain{ font-weight:600; color:var(--ink); }
.auditstart{ display:flex; gap:.7rem; flex-wrap:wrap; }
.auditstart__input{ flex:1; min-width:200px; font:inherit; font-size:1rem; padding:.75rem .9rem;
    border:1px solid var(--line); border-radius:10px; background:#fff; }
.auditstart__input:focus{ outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold); }
.auditbox__note{ font-size:.82rem; color:var(--ink-faint); margin-top:.9rem; }

/* ---------- Landingpage Sichtbarkeits-Audit ---------- */
.hero__mini{ font-size:.85rem; color:var(--ink-faint); margin-top:.8rem; }

.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:1.8rem; }
.step{ background:#fff; border-radius:16px; padding:1.8rem; border:1px solid var(--line-soft); }
.step__num{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
    border-radius:50%; background:var(--gold); color:#fff; font-family:"MarkenTitel","Fraunces",serif;
    font-size:1.3rem; font-weight:600; margin-bottom:1rem; }
.step__title{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.2rem; margin:0 0 .5rem; }
.step__text{ font-size:.93rem; color:var(--ink-soft); line-height:1.6; margin:0; }
@media (max-width:760px){ .steps{ grid-template-columns:1fr; } }

.valuelist{ list-style:none; margin:1.5rem 0 0; padding:0; max-width:760px; }
.valuelist li{ padding:1rem 0 1rem 2rem; border-top:1px solid var(--line-soft); position:relative;
    color:var(--ink-soft); line-height:1.6; }
.valuelist li:first-child{ border-top:none; }
.valuelist li::before{ content:""; position:absolute; left:0; top:1.35rem; width:10px; height:10px;
    border-radius:50%; background:var(--gold); }
.valuelist strong{ color:var(--ink); }

.buybox{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem;
    background:#fff; border-radius:18px; padding:2.4rem; box-shadow:0 16px 40px rgba(120,70,40,.12); }
.buybox__left{ flex:1 1 320px; }
.buybox__left h2{ margin:.3rem 0 .8rem; }
.buybox__right{ flex:0 0 auto; text-align:center; }
.buybox__price{ font-family:"MarkenTitel","Fraunces",serif; font-size:2.2rem; color:var(--ink); margin-bottom:1rem; }
.buybox__price span{ display:block; font-size:.85rem; color:var(--ink-faint); font-weight:400; margin-top:.2rem; }
.buybox__note{ font-size:.8rem; color:var(--ink-faint); margin-top:.8rem; max-width:16rem; }


/* Hervorgehobene Preiskachel */
.plan--featured{ border:2px solid var(--gold); position:relative; }

/* Audit: Schritt-Seitenleiste im Fragebogen */
.stepside{ list-style:none; margin:.6rem 0 1.2rem; padding:0; counter-reset:st; }
.stepside li{ position:relative; padding:.5rem 0 .5rem 2rem; color:var(--ink-soft); font-size:.92rem; line-height:1.5;
    border-top:1px solid var(--line-soft); }
.stepside li:first-child{ border-top:none; }
.stepside li::before{ counter-increment:st; content:counter(st); position:absolute; left:0; top:.55rem;
    width:1.3rem; height:1.3rem; border-radius:50%; background:var(--line-soft); color:var(--ink);
    font-size:.75rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.stepside li:first-child::before{ background:var(--gold); color:#fff; }
.field__hint{ font-size:.8rem; color:var(--ink-faint); margin-top:.35rem; }

/* Audit: Dankeseite mit Schritt-Karten */
.startsteps{ display:flex; flex-direction:column; gap:0; margin-bottom:1.8rem; }
.startstep{ display:flex; gap:1rem; padding:1.2rem 0; border-top:1px solid var(--line-soft); align-items:flex-start; }
.startstep:first-child{ border-top:none; }
.startstep__num{ flex:0 0 auto; width:2.2rem; height:2.2rem; border-radius:50%; background:var(--line-soft);
    color:var(--ink-faint); font-family:"MarkenTitel","Fraunces",serif; font-size:1.1rem; font-weight:600;
    display:flex; align-items:center; justify-content:center; }
.startstep--now .startstep__num{ background:var(--gold); color:#fff; }
.startstep h3{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.15rem; margin:.15rem 0 .3rem; }
.startstep--now h3{ color:var(--ink); }
.startstep:not(.startstep--now) h3{ color:var(--ink-faint); }
.startstep p{ font-size:.92rem; color:var(--ink-soft); margin:0; line-height:1.55; }
.startsteps__cta{ display:inline-block; }

/* Fragen-Zähler */
.promptcount{ font-size:.9rem; color:var(--ink-soft); margin:0 0 1rem; font-weight:600; }
.promptcount--min{ color:var(--gold-deep); }

/* Massnahmentabelle */
.masstable{ margin-top:1.5rem; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.masstable__head{ display:grid; grid-template-columns:2fr 3fr .8fr .8fr 1.2fr; gap:1rem; padding:.9rem 1.2rem;
    background:var(--ink); color:#fff; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; font-weight:400; }
.massrow{ display:grid; grid-template-columns:2fr 3fr .8fr .8fr 1.2fr; gap:1rem; padding:1.1rem 1.2rem;
    border-top:1px solid var(--line-soft); align-items:start; }
.massrow:nth-child(even){ background:#faf7f2; }
.massrow__was{ font-family:"MarkenTitel","Fraunces",serif; font-weight:600; color:var(--ink); font-size:1.02rem; }
.massrow__grund{ font-size:.9rem; color:var(--ink-soft); line-height:1.5; }
.massrow__prio{ font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.massrow__prio--hoch{ color:#c0392b; }
.massrow__prio--mittel{ color:var(--gold-deep); }
.massrow__prio--niedrig{ color:var(--ink-faint); }
.massrow__aufwand{ font-size:.85rem; color:var(--ink-soft); text-transform:capitalize; }
.masstable__hint{ font-size:.82rem; color:var(--ink-faint); margin-top:1rem; line-height:1.5; }
@media (max-width:760px){
    .masstable__head{ display:none; }
    .massrow{ grid-template-columns:1fr; gap:.4rem; }
    .massrow__was{ font-size:1rem; }
    .massrow__prio::before{ content:"Priorität: "; font-weight:400; color:var(--ink-faint); }
    .massrow__aufwand::before{ content:"Aufwand: "; color:var(--ink-faint); }
}

/* Reise-Zeitleiste im Konto */
.reise{ list-style:none; margin:1.2rem 0 0; padding:0; position:relative; }
.reise::before{ content:""; position:absolute; left:9px; top:8px; bottom:8px; width:2px; background:var(--line); }
.reise__item{ position:relative; padding:0 0 1.6rem 2.4rem; }
.reise__item:last-child{ padding-bottom:0; }
.reise__marker{ position:absolute; left:2px; top:4px; width:18px; height:18px; border-radius:50%;
    background:#fff; border:3px solid var(--gold); z-index:1; }
.reise__item--geo-check .reise__marker{ border-color:var(--line); }
.reise__item--geo-audit .reise__marker{ border-color:var(--gold); }
.reise__item--sichtbarkeits-audit .reise__marker{ border-color:var(--gold-deep); background:var(--gold-deep); }
.reise__kopf{ display:flex; align-items:baseline; gap:.8rem; }
.reise__label{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.1rem; color:var(--ink); }
.reise__score{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.3rem; color:var(--gold-deep); }
.reise__score small{ font-size:.7rem; color:var(--ink-faint); }
.reise__zeit{ font-size:.85rem; color:var(--ink-faint); margin:.2rem 0 .4rem; }
.reise__links{ margin:0; font-size:.9rem; }

/* Zwei Spuren: technische Basis / KI-Sichtbarkeit */
.spuren{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:1rem; }
.spur{ background:#fff; border:1px solid var(--line-soft); border-radius:14px; padding:1.4rem; }
.spur__kopf{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem;
    padding-bottom:1rem; border-bottom:1px solid var(--line-soft); }
.spur__label{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.15rem; color:var(--ink); margin:0; }
.spur__erklaer{ font-size:.82rem; color:var(--ink-faint); margin:.25rem 0 0; }
.spur__leer{ font-size:.9rem; color:var(--ink-soft); }
.reise__score--tech{ color:var(--green-edge); }
.reise__score--sicht{ color:var(--gold-deep); }
@media (max-width:800px){ .spuren{ grid-template-columns:1fr; } }

/* Massnahme übernehmen */
.massnahme-form{ margin:0; }
.massrow__btn{ font:inherit; font-size:.82rem; padding:.4rem .8rem; border-radius:8px; border:1px solid var(--gold);
    background:#fff; color:var(--gold-deep); cursor:pointer; white-space:nowrap; }
.massrow__btn:hover{ background:var(--gold); color:#fff; }
.massrow__hat{ font-size:.82rem; color:var(--green-edge); font-weight:600; white-space:nowrap; }
@media (max-width:760px){
    .massrow__tun{ margin-top:.5rem; }
}

/* Massnahmen-Ereignis in der Zeitleiste */
.reise__item--massnahme .reise__marker{ border-color:var(--green-edge); background:var(--green-edge); width:14px; height:14px; left:4px; top:6px; }
.reise__label--tat{ font-family:"MarkenText",sans-serif; font-size:.95rem; color:var(--green-edge); font-weight:600; }

/* Persönlicher Massnahmenplan im Konto */
.massplan{ margin-top:1.4rem; background:#faf7f2; border-radius:12px; padding:1.4rem; }
.massplan__titel{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.1rem; margin:0 0 .3rem; }
.massplan__hint{ font-size:.84rem; color:var(--ink-faint); margin:0 0 1rem; }
.massplan__list{ list-style:none; margin:0; padding:0; }
.massplan__item{ display:flex; align-items:center; gap:.9rem; padding:.7rem 0; border-top:1px solid var(--line-soft); }
.massplan__item:first-child{ border-top:none; }
.massplan__toggle, .massplan__del{ margin:0; flex:0 0 auto; }
.massplan__check{ width:26px; height:26px; border-radius:7px; border:2px solid var(--gold); background:#fff;
    cursor:pointer; font-size:.9rem; color:#fff; display:flex; align-items:center; justify-content:center; }
.massplan__item--done .massplan__check{ background:var(--green-edge); border-color:var(--green-edge); }
.massplan__text{ flex:1; display:flex; flex-direction:column; }
.massplan__was{ color:var(--ink); font-size:.95rem; }
.massplan__item--done .massplan__was{ text-decoration:line-through; color:var(--ink-faint); }
.massplan__meta{ font-size:.78rem; color:var(--ink-faint); text-transform:capitalize; margin-top:.15rem; }
.massplan__delbtn{ width:26px; height:26px; border:none; background:none; color:var(--ink-faint); cursor:pointer; font-size:1.2rem; }
.massplan__delbtn:hover{ color:var(--gold-deep); }

/* Nachmessung */
.nachmess{ margin:1rem 0 0; padding-top:1rem; border-top:1px solid var(--line-soft); }
.nachmess__btn{ font-size:.9rem; }

/* Zitat-Kennzahlen statt Score */
.zitatbox{ margin:1.5rem 0; }
.zitatbox__zahlen{ display:flex; gap:1rem; flex-wrap:wrap; }
.zitatzahl{ flex:1; min-width:120px; padding:1.2rem; border-radius:14px; text-align:center; border:2px solid; }
.zitatzahl--ja{ border-color:var(--green-edge); background:rgba(111,180,92,.08); }
.zitatzahl--teils{ border-color:var(--gold); background:rgba(207,100,64,.07); }
.zitatzahl--nein{ border-color:var(--line); background:#faf8f5; }
.zitatzahl__num{ display:block; font-family:"MarkenTitel","Fraunces",serif; font-size:2.6rem; line-height:1; color:var(--ink); }
.zitatzahl__label{ display:block; margin-top:.4rem; font-size:.9rem; color:var(--ink-soft); }
.zitatzahl--ja .zitatzahl__num{ color:var(--green-edge); }
.zitatzahl--teils .zitatzahl__num{ color:var(--gold-deep); }
.zitatbox__verdict{ margin-top:1rem; font-size:1.05rem; color:var(--ink); }

/* Prompt-Accordion */
.qlist{ list-style:none; margin:1.5rem 0 0; padding:0; }
.qrow{ margin-bottom:.6rem; border-radius:12px; overflow:hidden; }
/* Flächig eingefärbt nach Zustand, ohne Linie, ohne Schatten. */
.qrow--zitiert{ background:var(--green); }
.qrow--manchmal{ background:#f6d5d0; }
.qrow--nicht{ background:var(--orange); }
.qdetail{ width:100%; }
.qsum{ display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer;
    list-style:none; padding:1.1rem 1.3rem; }
.qsum::-webkit-details-marker{ display:none; }
.qsum:hover{ filter:brightness(.98); }
.qrow__q{ font-size:1rem; color:var(--ink); flex:1; }
.qsum__right{ display:flex; align-items:center; gap:.9rem; flex-shrink:0; }

/* Zustandslabel mit den definierten Farben */
.qrow__stufe{ font-size:.8rem; font-weight:700; padding:.3rem .7rem; border-radius:20px; white-space:nowrap; }
.qrow__stufe--zitiert{ background:#fff; color:#2f5723; }
.qrow__stufe--manchmal{ background:#fff; color:#8a2a1c; }
.qrow__stufe--nicht{ background:#fff; color:#7a4415; }

/* Engine-Kürzel */
.qsum__engines{ display:flex; gap:.3rem; }
.qeng{ font-size:.7rem; padding:.2rem .45rem; border-radius:5px; }
.qeng--an{ background:var(--green-edge); color:#fff; }
.qeng--aus{ background:var(--line-soft); color:var(--ink-faint); text-decoration:line-through; }

/* Klar erkennbarer Aufklapp-Hinweis rechts */
.qsum__toggle{ font-size:.78rem; color:var(--gold-deep); font-weight:600; display:flex; align-items:center; gap:.3rem; }
.qsum__toggle::after{ content:"▾"; font-size:.9rem; transition:transform .2s; }
.qdetail[open] .qsum__toggle::after{ transform:rotate(180deg); }
.qdetail[open] .qsum__toggle{ color:var(--ink-faint); }

.qbody{ padding:0 1.3rem 1.3rem; }
.qbody__hint{ font-size:.85rem; color:var(--ink-soft); margin:0 0 1rem; }
.qanswer{ background:#fff; border-radius:8px; padding:.9rem 1.1rem; margin-bottom:.7rem; }
.qanswer__kopf{ display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.qanswer__engine{ font-family:"MarkenTitel","Fraunces",serif; font-size:.95rem; color:var(--ink); }
.qanswer__status{ font-size:.78rem; font-weight:700; }
.qanswer__status--ja{ color:var(--green-edge); }
.qanswer__status--nein{ color:#c0392b; }
.qanswer__text{ font-size:.88rem; line-height:1.55; color:var(--ink-soft); margin:0; }
.qanswer__konk{ font-size:.82rem; color:var(--gold-deep); margin:.5rem 0 0; font-weight:600; }
.qbody__leer{ font-size:.85rem; color:var(--ink-faint); }
@media (max-width:680px){
    .qsum{ flex-wrap:wrap; }
    .qsum__right{ width:100%; justify-content:space-between; }
}

/* Fussnote unter den Prompt-Antworten */
.qbody__fussnote{ font-size:.78rem; color:var(--ink-faint); margin:.6rem 0 0; font-style:italic; }

/* Konkurrenz-Vergleichstabelle (wiederhergestellt) */
.vergleich{ margin-top:1.5rem; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.vergleich__head{ display:grid; grid-template-columns:1.5fr 1.5fr 1.5fr; gap:1rem; padding:.9rem 1.2rem;
    background:var(--ink); color:#fff; font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.vergleich__row{ display:grid; grid-template-columns:1.5fr 1.5fr 1.5fr; gap:1rem; padding:1rem 1.2rem;
    border-top:1px solid var(--line-soft); align-items:start; font-size:.92rem; }
.vergleich__row:nth-child(even){ background:#faf7f2; }
.vergleich__merkmal{ font-family:"MarkenTitel","Fraunces",serif; color:var(--ink); }
.vergleich__konk{ color:var(--ink); }
.vergleich__eigen{ color:var(--ink-soft); }
.vergleich__einordnung{ margin-top:1.2rem; padding:1.2rem; background:rgba(207,100,64,.06);
    border-radius:10px; font-size:1rem; line-height:1.6; color:var(--ink); }
.hinweisbox{ padding:.9rem 1.1rem; background:#faf7f2; border-left:3px solid var(--gold); border-radius:6px;
    font-size:.9rem; color:var(--ink-soft); margin:1rem 0; }
@media (max-width:680px){
    .vergleich__head{ display:none; }
    .vergleich__row{ grid-template-columns:1fr; gap:.4rem; }
    .vergleich__merkmal{ font-size:1rem; }
    .vergleich__konk::before{ content:"Konkurrenz: "; color:var(--ink-faint); }
    .vergleich__eigen::before{ content:"Ihre Seite: "; color:var(--ink-faint); }
}

/* Verkaufsübersicht */
.verkauf__domain{ display:block; font-size:.8rem; color:var(--ink-faint); font-weight:400; }
.verkauf__ref{ background:var(--green); color:#2f5723; font-size:.8rem; padding:.2rem .6rem; border-radius:20px; font-weight:600; }
.verkauf__direkt{ color:var(--ink-faint); font-size:.85rem; }

/* Wartezeit-Fakten und Restzeit im Audit-Lauf */
.fortschritt__zeit{ color:var(--ink-soft); font-weight:400; }
.lauffact{ margin:1.5rem 0; padding:1.2rem 1.4rem; background:rgba(207,100,64,.06);
    /* Feste Mindesthöhe: die eingeblendeten Fakten sind unterschiedlich lang.
       Ohne Reserve wächst und schrumpft die Box, und der Footer springt. */
    min-height:9.5rem; display:flex; flex-direction:column; justify-content:flex-start;
    border-radius:12px; text-align:center; }
.lauffact__label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em;
    color:var(--gold-deep); margin:0 0 .4rem; font-weight:700; }
.lauffact__text{ margin:0; font-size:.98rem; line-height:1.55; color:var(--ink);
    transition:opacity .3s ease; min-height:2.6em; display:flex; align-items:center; justify-content:center; }
/* Mess-Seite: grosszuegiger Abstand oben und unten, damit der Footer auf
   dem Desktop unterhalb der Sichtkante liegt und nichts sichtbar springt. */
.section--lauf{ padding:96px 0 42vh; }
@media (max-width:760px){ .section--lauf{ padding:56px 0 18vh; } }

/* Auswahl der zu vergleichenden Konkurrenzseite */
.konkwahl{ margin-top:1.5rem; padding:1.2rem 1.4rem; background:#faf7f2; border-radius:12px; }
.konkwahl__label{ font-size:.92rem; color:var(--ink); margin:0 0 .8rem; font-weight:600; }
.konkwahl__liste{ display:flex; flex-wrap:wrap; gap:.5rem; }
.konkwahl__form{ margin:0; }
.konkwahl__btn{ font-size:.85rem; padding:.4rem .9rem; border:1px solid var(--line);
    background:#fff; border-radius:20px; cursor:pointer; color:var(--ink); transition:all .15s; }
.konkwahl__btn:hover:not(:disabled){ border-color:var(--gold); color:var(--gold-deep); }
.konkwahl__btn--aktiv{ background:var(--green); border-color:var(--green-edge); color:#2f5723; cursor:default; }
.konkwahl__hint{ font-size:.78rem; color:var(--ink-faint); margin:.7rem 0 0; }

/* Massnahmen als Kacheln (statt Tabelle) */
.massplan{ margin-top:1.5rem; display:flex; flex-direction:column; gap:1rem; }
.masskachel{ padding:1.3rem 1.5rem; background:#fff; border-radius:14px;
    box-shadow:0 1px 3px rgba(28,26,22,.06); }
.masskachel__kopf{ display:flex; align-items:center; gap:.8rem; margin-bottom:.7rem; flex-wrap:wrap; }
.masskachel__num{ width:1.7rem; height:1.7rem; border-radius:50%; background:var(--gold);
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-family:"MarkenTitel","Fraunces",serif; font-size:.95rem; flex:none; }
.masskachel__prio{ font-size:.75rem; font-weight:700; padding:.2rem .6rem; border-radius:20px; }
.masskachel__prio--hoch{ background:#f6d5d0; color:#8a2a1c; }
.masskachel__prio--mittel{ background:var(--orange); color:#7a4415; }
.masskachel__prio--niedrig, .masskachel__prio--gering{ background:var(--green); color:#2f5723; }
.masskachel__aufwand{ font-size:.8rem; color:var(--ink-soft); margin-left:auto; }
.masskachel__was{ font-family:"MarkenTitel","Fraunces",serif; font-size:1.08rem;
    color:var(--ink); margin:0 0 .6rem; line-height:1.35; }
.masskachel__grund{ font-size:.92rem; color:var(--ink-soft); line-height:1.55; margin:0 0 .8rem; }
.masskachel__label{ font-weight:700; color:var(--ink); }
.masskachel__tun{ margin-top:.3rem; }

/* Zweiter PDF-Knopf: gleiche Form, hellere Variante */
.cta--zweit{ background:#fff; color:var(--gold-deep); border:1.5px solid var(--gold); }
.cta--zweit:hover{ background:var(--gold); color:#fff; }
