/* =====================================================================
   KRALTEC — Marketing-Website
   Design-System nach Markenhandbuch 1.0
   ===================================================================== */

:root{
  /* Farbe */
  --ink:#16191C;
  --ink-2:#1E2226;
  --mennige:#C43F26;
  --mennige-hover:#B4362A;
  --mennige-deep:#9E3018;
  --paper:#ECEDEA;
  --paper-2:#F7F8F6;
  --sage:#3D8B5F;
  --gold:#E8A33D;
  --grey-1:#4A5158;
  --grey-2:#5C656C;   /* Fließtext-Grau auf Papier: 5,1:1 (WCAG AA); vorher #6E767C 3,9:1 */
  --grey-3:#9AA2A8;   /* nur auf Ink-Flächen (6,8:1) oder für dekorative Linien/Icons — nicht als Text auf Papier */
  --line:#C9CCC6;
  --line-dark:#2C3238;

  /* Spacing (4/8-Raster) */
  --s-1:4px;  --s-2:8px;  --s-3:12px; --s-4:16px;
  --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px;
  --s-9:96px; --s-10:128px;

  --radius:3px;
  --maxw:1180px;

  /* Typo */
  --font-display:'Archivo','Arial Black',system-ui,sans-serif;
  --font-body:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img,svg{max-width:100%;display:block;}

/* ---------- Typo-Skala ---------- */
h1,h2,h3,h4{
  font-family:var(--font-display);
  margin:0;
  line-height:1.04;
  letter-spacing:-.005em;
  text-transform:uppercase;
}
h1{
  font-variation-settings:'wdth' 116,'wght' 850;
  font-weight:850;
  font-size:clamp(40px,7.2vw,84px);
  letter-spacing:.005em;
  line-height:.98;
}
h2{
  font-variation-settings:'wdth' 114,'wght' 780;
  font-weight:800;
  font-size:clamp(28px,4vw,46px);
  letter-spacing:.01em;
}
h3{
  font-variation-settings:'wdth' 110,'wght' 720;
  font-weight:720;
  font-size:clamp(19px,2.2vw,23px);
  letter-spacing:.02em;
}
h4{
  font-variation-settings:'wdth' 108,'wght' 700;
  font-weight:700;
  font-size:14px;
  letter-spacing:.06em;
}
p{margin:0 0 var(--s-4);max-width:66ch;}
a{color:inherit;}

.mono{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--grey-2);
}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:clamp(56px,9vw,112px) 0;}
.section--tight{padding:clamp(44px,6vw,72px) 0;}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mennige-deep); /* 6,2:1 auf Papier (Mennige selbst nur 4,4:1) */
  margin-bottom:var(--s-4);
}
.eyebrow::before{
  content:"";width:26px;height:2px;background:var(--mennige);display:inline-block;
}
.eyebrow--light{color:var(--gold);}
.eyebrow--light::before{background:var(--gold);}

.lead{font-size:clamp(18px,2.2vw,21px);line-height:1.55;color:var(--grey-1);max-width:60ch;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-display);
  font-variation-settings:'wdth' 110,'wght' 720;
  font-weight:720;
  text-transform:uppercase;letter-spacing:.05em;
  font-size:14.5px;
  padding:15px 26px;min-height:48px;
  border:2px solid transparent;border-radius:var(--radius);
  cursor:pointer;text-decoration:none;
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease;
  will-change:transform;
}
.btn:active{transform:translateY(1px);}
.btn--primary{background:var(--mennige);color:#fff;border-color:var(--mennige);}
.btn--primary:hover{background:var(--mennige-hover);border-color:var(--mennige-hover);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn--ghost:hover{border-color:var(--ink);background:rgba(22,25,28,.04);}
.btn--ghost-light{background:transparent;color:var(--paper);border-color:rgba(236,237,234,.32);}
.btn--ghost-light:hover{border-color:var(--paper);background:rgba(236,237,234,.08);}
.btn--block{width:100%;}
.btn--sm{padding:11px 18px;min-height:42px;font-size:13.5px;}
.btn .arrow{transition:transform .2s ease;}
.btn:hover .arrow{transform:translateX(3px);}

/* =====================================================================
   HEADER
   ===================================================================== */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(236,237,234,.9);
  border-bottom:1px solid var(--line);
  transition:box-shadow .2s ease,background .2s ease;
}
.site-header.is-scrolled{box-shadow:0 1px 0 rgba(22,25,28,.06),0 10px 30px -22px rgba(22,25,28,.5);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;}
.brand{display:flex;align-items:center;text-decoration:none;flex:none;}
.brand svg{height:30px;width:auto;}
.brand .sr-name{position:absolute;left:-9999px;}

.main-nav{display:flex;align-items:center;gap:6px;}
.main-nav a{
  font-family:var(--font-mono);
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--grey-1);text-decoration:none;
  padding:10px 14px;border-radius:var(--radius);
  transition:color .15s ease,background .15s ease;
}
.main-nav a:hover{color:var(--ink);background:rgba(22,25,28,.05);}

.header-actions{display:flex;align-items:center;gap:10px;flex:none;}
.header-actions .btn{white-space:nowrap;}
.nav-toggle{display:none;}
.nav-cta{display:none;}
/* Skip-Link: unsichtbar, bei Tastaturfokus sichtbar */
.skip-link{position:absolute;left:-9999px;top:12px;z-index:200;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--radius);text-decoration:none;font-weight:600;}
.skip-link:focus{left:16px;outline:3px solid var(--mennige);outline-offset:2px;}
/* Honeypot-Feld (Spam-Schutz), fuer Menschen unsichtbar */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
@media (max-width:400px){
  .header-inner{gap:10px;}
  .trust-grid{grid-template-columns:minmax(0,1fr);}
  .trust-item{padding:22px 16px;}
}
/* CTA unter 480 px nur im Mobilmenü (Kopfzeile: Logo + Burger); Re-Audit NEU-01 */
@media (max-width:480px){
  .header-actions .btn--primary{display:none;}
  .header-actions{min-width:0;}
}

/* =====================================================================
   HERO
   ===================================================================== */
.hero{
  position:relative;
  background:var(--ink);
  color:var(--paper);
  overflow:hidden;
  isolation:isolate;
}
.hero::before{ /* Werkstatt-Raster */
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(to right, rgba(236,237,234,.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(236,237,234,.035) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(120% 90% at 20% 0%, #000 40%, transparent 78%);
}
.hero__signet{
  position:absolute;z-index:-1;right:-6%;top:50%;transform:translateY(-50%);
  width:min(52vw,560px);opacity:.06;pointer-events:none;
  color:var(--mennige);
}
.hero__glow{
  position:absolute;z-index:-1;right:8%;top:26%;
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(196,63,38,.34),transparent 68%);
  filter:blur(20px);pointer-events:none;
}
.hero .wrap{position:relative;padding-top:clamp(64px,11vw,120px);padding-bottom:clamp(64px,11vw,120px);}
.hero__inner{max-width:820px;}
.hero h1{color:var(--paper);}
.hero h1 .accent{color:var(--mennige);}
.hero__sub{
  font-size:clamp(18px,2.3vw,22px);
  color:#C7CCCD;line-height:1.5;max-width:56ch;
  margin:var(--s-6) 0 var(--s-7);
}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.hero__trust{
  display:flex;flex-wrap:wrap;gap:22px;
  margin-top:var(--s-8);padding-top:var(--s-5);
  border-top:1px solid var(--line-dark);
}
.hero__trust li{
  list-style:none;
  font-family:var(--font-mono);font-size:12.5px;letter-spacing:.05em;
  color:var(--grey-3);display:flex;align-items:center;gap:9px;
}
.hero__trust li::before{content:"";width:7px;height:7px;background:var(--sage);flex:none;transform:rotate(45deg);}

/* =====================================================================
   PROBLEM → LÖSUNG
   ===================================================================== */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,80px);align-items:center;}
.problem-list{margin:var(--s-5) 0 0;padding:0;list-style:none;display:grid;gap:2px;}
.problem-list li{
  display:flex;gap:16px;align-items:flex-start;
  padding:18px 0;border-top:1px solid var(--line);
}
.problem-list li:last-child{border-bottom:1px solid var(--line);}
.problem-list .idx{
  font-family:var(--font-mono);font-size:12px;color:var(--mennige-deep);
  padding-top:3px;flex:none;letter-spacing:.06em;
}
.problem-list strong{display:block;font-weight:600;font-size:16.5px;margin-bottom:2px;}
.problem-list span.txt{color:var(--grey-1);font-size:15.5px;}

.panel{
  background:var(--ink);color:var(--paper);
  border-radius:var(--radius);
  padding:clamp(24px,4vw,36px);
  position:relative;overflow:hidden;
}
.panel__label{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.panel__label .live{
  width:8px;height:8px;border-radius:50%;background:var(--sage);
  box-shadow:0 0 0 0 rgba(61,139,95,.6);
}
@media (prefers-reduced-motion:no-preference){
  .panel__label .live{animation:pulse 2.4s ease-out infinite;}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,139,95,.55);}70%{box-shadow:0 0 0 12px rgba(61,139,95,0);}100%{box-shadow:0 0 0 0 rgba(61,139,95,0);}}
}
.panel__label .mono{color:var(--grey-3);}
.callrow{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line-dark);}
.callrow:first-of-type{border-top:0;}
.callrow .dot{width:9px;height:9px;background:var(--mennige);margin-top:6px;flex:none;transform:rotate(45deg);}
.callrow .dot.done{background:var(--grey-2);}
.callrow .t{font-family:var(--font-mono);font-size:12px;color:var(--grey-3);flex:none;width:46px;margin-top:2px;}
.callrow strong{font-weight:600;font-size:15px;display:block;color:var(--paper);}
.callrow em{font-style:normal;font-size:13.5px;color:var(--grey-3);}

/* =====================================================================
   4 SÄULEN
   ===================================================================== */
/* minmax(0,1fr): exakt gleiche Spaltenbreiten — sonst drückt ein langes Wort
   („Auftragsabwicklung") seine Säule breiter und quetscht die Nachbarn. */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.pillar h3{overflow-wrap:break-word;hyphens:auto;}
.pillar{
  background:var(--paper-2);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 24px 28px;
  display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  will-change:transform;
}
.pillar:hover{transform:translateY(-4px);box-shadow:0 22px 40px -28px rgba(22,25,28,.55);border-color:var(--grey-3);}
.pillar__icon{
  width:46px;height:46px;border:2px solid var(--ink);border-radius:2px;
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  color:var(--mennige);
}
.pillar__icon svg{width:24px;height:24px;}
.pillar__no{font-family:var(--font-mono);font-size:12px;color:var(--grey-2);letter-spacing:.1em;margin-bottom:6px;}
.pillar h3{margin-bottom:10px;}
.pillar p{font-size:15px;color:var(--grey-1);margin-bottom:16px;}
/* Liste folgt direkt dem Text (margin:auto drückte sie bei ungleich langen
   Säulen ans Kartenende — großer Leerraum in der Mitte, Flo-Befund 31.08.). */
.pillar ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;}
.pillar ul li{
  font-family:var(--font-mono);font-size:12.5px;color:var(--ink);letter-spacing:.02em;
  display:flex;gap:9px;align-items:baseline;
}
.pillar ul li::before{content:"";width:6px;height:6px;background:var(--mennige);flex:none;transform:rotate(45deg);position:relative;top:1px;}

/* =====================================================================
   VERTRAUEN / DIFFERENZIERER
   ===================================================================== */
.trust-section{background:var(--ink);color:var(--paper);}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:var(--radius);overflow:hidden;margin-top:var(--s-7);}
.trust-item{background:var(--ink);padding:28px 26px;min-width:0;}
.trust-item__k{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.trust-item__k .chk{
  width:30px;height:30px;flex:none;border:2px solid var(--sage);border-radius:2px;
  display:flex;align-items:center;justify-content:center;color:var(--sage);
}
.trust-item__k .chk svg{width:16px;height:16px;}
.trust-item h3{font-size:17px;color:var(--paper);letter-spacing:.03em;}
.trust-item p{font-size:14.5px;color:var(--grey-3);margin:0;}

/* =====================================================================
   PREISE
   ===================================================================== */
.price-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:var(--s-7);}
.billing-note{font-family:var(--font-mono);font-size:12.5px;color:var(--grey-2);letter-spacing:.04em;text-align:right;}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.plan{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 28px 32px;display:flex;flex-direction:column;position:relative;
  transition:transform .22s ease,box-shadow .22s ease;
}
.plan--featured{
  border:2px solid var(--mennige);
  background:#fff;
  box-shadow:0 30px 60px -34px rgba(196,63,38,.5);
}
.plan__flag{
  position:absolute;top:-13px;left:28px;
  background:var(--mennige);color:#fff;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 12px;border-radius:2px;
}
.plan__name{font-family:var(--font-display);font-variation-settings:'wdth' 112,'wght' 760;font-weight:760;text-transform:uppercase;letter-spacing:.03em;font-size:22px;}
.plan__desc{font-size:14px;color:var(--grey-1);margin:6px 0 20px;min-height:40px;}
.plan__price{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;}
.plan__price .amount{font-family:var(--font-display);font-variation-settings:'wdth' 112,'wght' 820;font-weight:820;font-size:44px;line-height:1;letter-spacing:-.01em;}
.plan__price .per{font-family:var(--font-mono);font-size:13px;color:var(--grey-2);}
.plan__sub{font-family:var(--font-mono);font-size:11.5px;color:var(--grey-2);letter-spacing:.04em;margin-bottom:22px;}
.plan ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:11px;}
.plan ul li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--ink);line-height:1.4;}
.plan ul li svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--sage);}
.plan .btn{margin-top:auto;}

/* =====================================================================
   FAQ
   ===================================================================== */
.faq-list{margin-top:var(--s-6);border-top:1px solid var(--line);max-width:860px;}
.faq{border-bottom:1px solid var(--line);}
.faq summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 4px;
  font-family:var(--font-display);font-variation-settings:'wdth' 108,'wght' 700;font-weight:700;
  text-transform:uppercase;letter-spacing:.015em;font-size:clamp(16px,2vw,19px);
  transition:color .15s ease;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--mennige);}
.faq summary .plus{flex:none;width:22px;height:22px;position:relative;transition:transform .25s ease;color:var(--mennige);}
.faq summary .plus::before,.faq summary .plus::after{content:"";position:absolute;background:currentColor;}
.faq summary .plus::before{top:10px;left:2px;right:2px;height:2px;}
.faq summary .plus::after{left:10px;top:2px;bottom:2px;width:2px;transition:transform .25s ease;}
.faq[open] summary .plus::after{transform:scaleY(0);}
.faq__body{padding:0 4px 24px;color:var(--grey-1);font-size:15.5px;max-width:70ch;}
.faq__body p{margin-bottom:0;}

/* =====================================================================
   KONTAKT
   ===================================================================== */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,72px);}
.contact-info .lead{margin-bottom:var(--s-6);}
.contact-info__item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line);}
.contact-info__item:last-child{border-bottom:1px solid var(--line);}
.contact-info__item .mono{color:var(--grey-2);flex:none;width:96px;padding-top:2px;}
.contact-info__item a{color:var(--ink);text-decoration:none;font-weight:600;border-bottom:2px solid var(--mennige);}
.contact-info__item a:hover{color:var(--mennige);}

.form{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(24px,4vw,34px);
}
.field{margin-bottom:18px;}
.field.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:0;}
.field label{display:block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--grey-1);margin-bottom:7px;}
.field input,.field textarea{
  width:100%;font-family:var(--font-body);font-size:16px;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:13px 14px;transition:border-color .15s ease,box-shadow .15s ease;
}
.field textarea{resize:vertical;min-height:120px;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--mennige);box-shadow:0 0 0 3px rgba(196,63,38,.14);}
.form__foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px;}
.form__hint{font-family:var(--font-mono);font-size:11.5px;color:var(--grey-2);letter-spacing:.03em;}
.form__msg{margin-top:16px;padding:14px 16px;border-radius:var(--radius);font-size:14.5px;display:none;}
.form__msg.ok{display:block;background:rgba(61,139,95,.12);border:1px solid var(--sage);color:#256b45;}
.form__msg.err{display:block;background:rgba(180,54,42,.1);border:1px solid var(--mennige-hover);color:var(--mennige-deep);}
.form__msg a{color:inherit;font-weight:600;}

/* =====================================================================
   FOOTER
   ===================================================================== */
.site-footer{background:var(--ink);color:var(--grey-3);padding:clamp(48px,7vw,72px) 0 32px;}
.footer-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start;padding-bottom:36px;border-bottom:1px solid var(--line-dark);}
.footer-brand svg{height:34px;width:auto;margin-bottom:14px;}
.footer-brand p{font-size:14px;color:var(--grey-3);max-width:34ch;margin:0;}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap;}
.nav-sub__title,.footer__title{font-family:var(--font-display);margin:0;line-height:1.04;text-transform:uppercase;font-variation-settings:'wdth' 108,'wght' 700;font-weight:700;font-size:14px;letter-spacing:.06em;max-width:none;}
.footer-col .footer__title{color:var(--grey-3);margin-bottom:14px;letter-spacing:.1em;}
.footer-col a{display:block;color:var(--grey-3);text-decoration:none;font-size:14.5px;padding:5px 0;transition:color .15s ease;}
.footer-col a:hover{color:var(--paper);}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;}
.footer-bottom p,.footer-bottom a{font-family:var(--font-mono);font-size:12px;color:var(--grey-3);letter-spacing:.04em;text-decoration:none;margin:0;}
.footer-bottom a:hover{color:var(--paper);}

/* =====================================================================
   REVEAL-ANIMATION
   ===================================================================== */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);}
[data-reveal].is-in{opacity:1;transform:none;}
[data-reveal-group]>*{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);}
[data-reveal-group].is-in>*{opacity:1;transform:none;}
[data-reveal-group].is-in>*:nth-child(1){transition-delay:.02s;}
[data-reveal-group].is-in>*:nth-child(2){transition-delay:.09s;}
[data-reveal-group].is-in>*:nth-child(3){transition-delay:.16s;}
[data-reveal-group].is-in>*:nth-child(4){transition-delay:.23s;}
[data-reveal-group].is-in>*:nth-child(5){transition-delay:.30s;}
[data-reveal-group].is-in>*:nth-child(6){transition-delay:.37s;}

@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal-group]>*{opacity:1 !important;transform:none !important;transition:none !important;}
  .btn,.pillar,.plan{transition:none !important;}
}

/* ---------- Fokus ---------- */
:focus-visible{outline:3px solid var(--mennige);outline-offset:2px;border-radius:1px;}
.hero :focus-visible,.trust-section :focus-visible,.site-footer :focus-visible{outline-color:var(--gold);}

/* ---------- Legal-Seiten ---------- */
.legal{padding:clamp(48px,7vw,88px) 0;}
.legal .wrap{max-width:820px;}
.legal h1{font-size:clamp(28px,5vw,52px);margin-bottom:14px;overflow-wrap:anywhere;hyphens:auto;}
.trust-item h3{overflow-wrap:anywhere;hyphens:auto;}
.legal h2{font-size:clamp(20px,2.6vw,26px);margin:40px 0 12px;}
.legal p,.legal li{font-size:16px;color:var(--grey-1);overflow-wrap:anywhere;}
.legal a{color:var(--mennige-deep);text-decoration-thickness:1px;} /* 6,2:1 auf Papier; Mennige 4,4:1 reicht nicht */
.legal a.btn--primary{color:var(--paper);}
.legal .todo{
  background:rgba(232,163,61,.12);border:1px solid var(--gold);border-radius:var(--radius);
  padding:2px 8px;font-family:var(--font-mono);font-size:13px;color:var(--mennige-deep);letter-spacing:.02em;
}
.legal .backlink{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-2);text-decoration:none;margin-bottom:28px;}
.legal .backlink:hover{color:var(--mennige);}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1000px){
  .pillars{grid-template-columns:repeat(2,1fr);}
  .trust-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:880px){
  .split{grid-template-columns:1fr;}
  .prices{grid-template-columns:1fr;max-width:460px;margin:0 auto;}
  .plan--featured{order:-1;}
  .contact-grid{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr;}
}
@media (max-width:960px){
  .header-actions .btn--ghost{display:none;}
  .main-nav{
    position:fixed;inset:72px 0 auto 0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper-2);border-bottom:1px solid var(--line);
    padding:8px 16px 16px;
    transform:translateY(-8px);opacity:0;pointer-events:none;visibility:hidden;
    max-width:100vw;box-sizing:border-box;
    transition:opacity .2s ease,transform .2s ease;
    box-shadow:0 20px 30px -24px rgba(22,25,28,.6);
  }
  .main-nav.open{transform:none;opacity:1;pointer-events:auto;visibility:visible;}
  .nav-cta{display:block;margin-top:10px;color:var(--mennige)!important;font-weight:600;border-bottom:0!important;}
  .nav-cta--login{color:var(--ink)!important;font-weight:500;margin-top:4px;}
  .main-nav a{padding:14px 8px;font-size:15px;border-bottom:1px solid var(--line);}
  .nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    width:46px;height:46px;background:transparent;border:1px solid var(--line);
    border-radius:var(--radius);cursor:pointer;color:var(--ink);
  }
  .nav-toggle svg{width:22px;height:22px;}
}
@media (max-width:560px){
  .pillars{grid-template-columns:1fr;}
  .field.row2{grid-template-columns:1fr;gap:0;}
  .field.row2 .field{margin-bottom:18px;}
  .hero__cta{flex-direction:column;align-items:stretch;}
  .hero__cta .btn{width:100%;}
  .hero-applink{align-self:flex-start;}
  .price-head{flex-direction:column;align-items:flex-start;}
  .billing-note{text-align:left;}
}

/* "In Kürze"-Badge (Ankündigung, z. B. KI-Empfang) */
.badge-soon{
  display:inline-block;
  background:var(--gold);color:var(--ink);
  font-family:var(--font-mono);font-size:10.5px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  padding:3px 8px;border-radius:2px;
  vertical-align:middle;white-space:nowrap;
}

/* =====================================================================
   NAV — „Für wen"-Dropdown (Desktop: Hover/Fokus, Mobil: aufklappbar per JS)
   ===================================================================== */
.nav-item{position:relative;}
.nav-sub-toggle{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--grey-1);background:transparent;border:0;cursor:pointer;
  padding:10px 14px;border-radius:var(--radius);
  transition:color .15s ease,background .15s ease;
}
.nav-sub-toggle:hover,.nav-item.is-open>.nav-sub-toggle{color:var(--ink);background:rgba(22,25,28,.05);}
.nav-sub-toggle svg{width:12px;height:12px;transition:transform .2s ease;}
.nav-item.is-open>.nav-sub-toggle svg{transform:rotate(180deg);}
.nav-sub{
  display:none;position:absolute;top:calc(100% + 10px);left:0;z-index:70;
  width:min(720px,calc(100vw - 48px));
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:0 30px 50px -28px rgba(22,25,28,.55);
  padding:22px 26px 24px;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;
}
.nav-sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;} /* Hover-Brücke */
.nav-item.is-open>.nav-sub{display:grid;}
@media (hover:hover) and (min-width:961px){
  .nav-item:hover>.nav-sub,.nav-item:focus-within>.nav-sub{display:grid;}
}
.nav-sub__col .nav-sub__title{color:var(--grey-2);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.main-nav .nav-sub a{
  display:block;font-family:var(--font-body);font-size:14.5px;letter-spacing:0;text-transform:none;
  color:var(--ink);padding:6px 8px;margin:0 -8px;border-radius:var(--radius);
}
.main-nav .nav-sub a:hover{color:var(--mennige);background:rgba(196,63,38,.06);}
.main-nav .nav-sub a.more{color:var(--grey-2);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-top:6px;}
.main-nav .nav-sub a.more:hover{color:var(--mennige);}
@media (max-width:960px){
  .main-nav{max-height:calc(100vh - 72px);overflow-y:auto;}
  .nav-item{display:block;}
  .nav-sub-toggle{width:100%;justify-content:space-between;padding:14px 8px;font-size:15px;border-bottom:1px solid var(--line);border-radius:0;}
  .nav-sub{
    position:static;width:auto;box-shadow:none;border:0;border-left:2px solid var(--mennige);border-radius:0;
    padding:6px 0 10px 14px;margin:6px 0 8px 8px;grid-template-columns:1fr;gap:12px;
  }
  .nav-sub::before{display:none;}
  .main-nav .nav-sub a{padding:9px 8px;font-size:15px;border-bottom:0;}
}

/* =====================================================================
   „FÜR WEN" — Link-Kacheln (index) + Unterseiten-Grid
   ===================================================================== */
.aud-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:var(--s-7);}
.aud-col h3,.aud-col h2{font-variation-settings:'wdth' 110,'wght' 720;font-weight:720;line-height:1.04;font-size:15px;letter-spacing:.06em;color:var(--grey-2);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.aud-tiles{display:grid;gap:8px;margin:0;padding:0;list-style:none;}
.aud-tile{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
  color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.aud-tile:hover{transform:translateY(-2px);border-color:var(--mennige);box-shadow:0 14px 26px -20px rgba(22,25,28,.5);}
.aud-tile .ico{width:34px;height:34px;flex:none;border:2px solid var(--ink);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--mennige);}
.aud-tile .ico svg{width:18px;height:18px;}
.aud-tile .arrow{margin-left:auto;color:var(--grey-2);transition:transform .18s ease,color .18s ease;}
.aud-tile:hover .arrow{transform:translateX(3px);color:var(--mennige);}
.aud-note{margin-top:var(--s-7);padding:24px 26px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--paper-2);}
.aud-note h3{font-size:18px;margin-bottom:8px;}
.aud-note p{margin:0;color:var(--grey-1);font-size:15.5px;max-width:80ch;}
.aud-note a{color:var(--mennige-deep);font-weight:600;}

/* =====================================================================
   GEWERKE-SEITEN
   ===================================================================== */
.crumbs{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--grey-3);margin-bottom:22px;display:flex;flex-wrap:wrap;gap:8px;}
.crumbs a{color:var(--grey-3);text-decoration:none;}
.crumbs a:hover{color:var(--paper);}
.crumbs span[aria-current]{color:var(--gold);}
.hero--page .wrap{padding-top:clamp(52px,8vw,92px);padding-bottom:clamp(52px,8vw,92px);}
.hero--page h1{font-size:clamp(36px,6vw,72px);}

.benefits{display:grid;gap:20px;margin-top:var(--s-7);}
.benefits--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.benefits--4{grid-template-columns:repeat(2,minmax(0,1fr));}
.benefits--5{grid-template-columns:repeat(3,minmax(0,1fr));}
.benefits .pillar p{font-size:15.5px;}

.pillars--short .pillar ul{gap:7px;}
.pillars--short .pillar p{margin-bottom:12px;}
.section-link{display:inline-flex;align-items:center;gap:8px;margin-top:var(--s-6);font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mennige-deep);text-decoration:none;font-weight:500;}
.section-link:hover{color:var(--ink);}
.section-link .arrow{transition:transform .2s ease;}
.section-link:hover .arrow{transform:translateX(3px);}

.price-teaser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:var(--s-6);}
.teaser{background:var(--ink-2);border:1px solid var(--line-dark);border-radius:var(--radius);padding:22px 22px 24px;display:flex;flex-direction:column;}
.teaser--featured{border-color:var(--mennige);}
.teaser__name{font-family:var(--font-display);font-variation-settings:'wdth' 112,'wght' 760;font-weight:760;text-transform:uppercase;letter-spacing:.03em;font-size:18px;color:var(--paper);}
.teaser__price{display:flex;align-items:baseline;gap:6px;margin:10px 0 2px;}
.teaser__price .amount{font-family:var(--font-display);font-variation-settings:'wdth' 112,'wght' 820;font-weight:820;font-size:34px;line-height:1;color:var(--paper);}
.teaser__price .per{font-family:var(--font-mono);font-size:12.5px;color:var(--grey-3);}
.teaser__sub{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--grey-3);}
.teaser p{font-size:14px;color:var(--grey-3);margin:12px 0 0;}
.trust-section .section-link{color:var(--gold);}
.trust-section .section-link:hover{color:var(--paper);}
.trust-section .lead{color:var(--grey-3);}

.hero--cta .hero__inner{max-width:760px;margin:0 auto;text-align:center;}
.hero--cta .hero__cta{justify-content:center;}
.hero--cta h2{color:var(--paper);font-size:clamp(30px,5vw,58px);}
.hero--cta .hero__sub{margin-left:auto;margin-right:auto;}
.hero--cta .hero__signet{right:auto;left:-8%;}

@media (max-width:1000px){
  .aud-grid{grid-template-columns:1fr;gap:28px;}
  .benefits--3,.benefits--5{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:960px){
  .price-teaser{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .benefits--3,.benefits--4,.benefits--5{grid-template-columns:1fr;}
}

/* ---- Der Name (Markenherkunft; unter FAQ, vor Kontakt) ---- */
.name-section{background:var(--paper-2);border-top:1px solid var(--line);}
.name-plate{margin:0;display:grid;gap:14px;justify-items:start;}
.name-plate__face{
  width:min(100%,420px);aspect-ratio:1;background:var(--mennige);
  display:grid;place-items:center;border-radius:var(--radius);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 30px 50px -36px rgba(158,48,24,.7);
}
.name-plate__face svg{width:46%;height:auto;display:block;}
.name-plate figcaption{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2);}
.name-say{margin:6px 0 0;font-size:14px;letter-spacing:.06em;color:var(--grey-2);}
.name-list{margin:var(--s-6) 0 0;display:grid;gap:22px;}
.name-list > div{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start;}
.name-list dt{
  font-family:var(--font-display);font-variation-settings:'wdth' 112,'wght' 720;font-weight:720;
  font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--mennige-deep);
  padding-top:3px;border-top:2px solid var(--mennige);
}
.name-list dd{margin:0;font-size:16px;line-height:1.6;color:var(--grey-1);border-top:1px solid var(--line);padding-top:8px;}
.name-tag{
  margin:var(--s-6) 0 0;font-family:var(--font-display);font-variation-settings:'wdth' 112,'wght' 720;font-weight:720;
  font-size:clamp(19px,2.4vw,26px);line-height:1.2;text-transform:uppercase;letter-spacing:.03em;
  border-left:5px solid var(--mennige);padding-left:18px;color:var(--ink);
}
@media (max-width:880px){
  .name-plate{justify-items:center;}
  .name-plate__face{width:min(100%,300px);}
  .name-list > div{grid-template-columns:1fr;gap:6px;}
  .name-list dd{border-top:0;padding-top:0;}
}

/* ---- Zahlweise-Umschalter in der Preis-Sektion (jährlich / monatlich) ---- */
.billing-toggle{display:inline-flex;gap:2px;margin-top:14px;padding:3px;border:1px solid var(--line);border-radius:3px;background:var(--paper-2);}
.billing-toggle .bt{
  font-family:var(--font-display);font-variation-settings:'wdth' 110,'wght' 700;font-weight:700;
  font-size:13px;text-transform:uppercase;letter-spacing:.05em;
  padding:9px 16px;border:0;border-radius:2px;background:transparent;color:var(--grey-1);cursor:pointer;
}
.billing-toggle .bt.is-on{background:var(--mennige);color:#fff;}
.billing-toggle .bt:focus-visible{outline:3px solid var(--mennige);outline-offset:2px;}
.billing-hint{margin-top:10px;font-size:14px;color:var(--grey-2);}

/* Fußnote in einer Säule (z. B. App-Status) — kleiner als der Fließtext, klar abgesetzt */
.pillar__note{font-size:13.5px;line-height:1.5;color:var(--grey-2);margin:-4px 0 14px;}

/* ---------- Erklärvideos ---------- */
.videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:var(--s-7);}
.vcard{
  display:flex;gap:16px;align-items:flex-start;text-align:left;width:100%;
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;cursor:pointer;font:inherit;color:inherit;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.vcard:hover{border-color:var(--mennige);background:#fff;transform:translateY(-2px);}
.vcard:focus-visible{outline:3px solid var(--mennige);outline-offset:2px;}
.vcard__play{
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:42px;height:42px;border-radius:50%;background:var(--mennige);color:#fff;margin-top:2px;
}
.vcard__play svg{width:20px;height:20px;margin-left:2px;}
.vcard__body{min-width:0;}
.vcard__t{display:block;font-weight:700;font-size:17px;letter-spacing:.01em;}
.vcard__s{display:block;margin-top:4px;color:var(--grey-2);font-size:15px;line-height:1.45;}
.vcard__m{display:block;margin-top:8px;color:var(--grey-2);font-size:13px;font-variant-numeric:tabular-nums;}
.videos__note{margin-top:20px;color:var(--grey-2);font-size:15px;}

.vmodal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;
  background:rgba(22,25,28,.82);padding:20px;}
/* Ohne das liegt das geschlossene Fenster unsichtbar über der Seite und
   schluckt jeden Klick: .vmodal{display:flex} schlägt [hidden]{display:none}. */
.vmodal[hidden]{display:none;}
.vmodal__box{width:min(960px,100%);background:var(--ink);border-radius:var(--radius);overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.45);}
.vmodal__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;}
.vmodal__title{color:var(--paper);font-weight:700;font-size:16px;margin:0;min-width:0;}
.vmodal__x{background:none;border:0;color:var(--paper);font-size:30px;line-height:1;cursor:pointer;padding:0 4px;}
.vmodal__x:hover{color:var(--gold);}
.vmodal video{display:block;width:100%;max-height:72vh;background:#000;}

@media (max-width:760px){
  .videos{grid-template-columns:minmax(0,1fr);}
  .vcard{padding:16px 18px;}
}

/* ---------- Ratgeber (16.09.2026) ---------- */
.ratgeber-meta {
  color: var(--grey-2);
  font-size: 0.9rem;
  margin-top: 0.5rem;
}

.ratgeber-liste {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.ratgeber-karte {
  background: var(--paper);
  border: 1px solid rgba(22, 25, 28, 0.12);
  border-radius: 4px;
  padding: 1.5rem;
}

.ratgeber-karte h2 {
  font-size: 1.25rem;
  line-height: 1.3;
  margin: 0 0 0.5rem;
}

.ratgeber-karte h2 a {
  color: inherit;
  text-decoration: none;
}

.ratgeber-karte h2 a:hover {
  text-decoration: underline;
}

/* Lesetext: bewusst schmal — rund 70 Zeichen je Zeile lesen sich am besten. */
.ratgeber-text {
  max-width: 44rem;
}

.ratgeber-text h2 {
  font-size: 1.5rem;
  margin: 2.5rem 0 0.75rem;
}

.ratgeber-text h3 {
  font-size: 1.125rem;
  margin: 1.75rem 0 0.5rem;
}

.ratgeber-text p,
.ratgeber-text li {
  line-height: 1.7;
}

.ratgeber-text ul,
.ratgeber-text ol {
  margin: 0 0 1.25rem 1.25rem;
}

.ratgeber-text li {
  margin-bottom: 0.5rem;
}

.ratgeber-hinweis {
  border-left: 3px solid var(--mennige);
  color: var(--grey-2);
  font-size: 0.925rem;
  margin-top: 2.5rem;
  padding: 0.75rem 0 0.75rem 1rem;
}

/* ---------- App / Stores (17.09.2026) ------------------------------
   Drei gleich gebaute Karten: der Browser-Weg ist heute nutzbar und
   deshalb als einziger anklickbar; die beiden Store-Karten stehen
   ausgegraut daneben, bis die App freigegeben ist. */
.app-section .lead{margin-bottom:var(--s-7);}
.appstores{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:var(--s-5);
  align-items:stretch;
  max-width:760px;
}
.appstore{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--s-3);
  padding:var(--s-5);
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
  text-decoration:none;
  color:var(--ink);
  transition:border-color .18s ease,transform .18s ease;
}
a.appstore:hover{border-color:var(--ink);transform:translateY(-2px);}
a.appstore:focus-visible{outline:2px solid var(--mennige);outline-offset:3px;}
.appstore--soon{background:transparent;border-style:dashed;}
.appstore__qr{
  width:152px;height:152px;
  padding:6px;
  background:#fff;
  border:1px solid var(--line);
}
.appstore--soon .appstore__qr{opacity:.32;filter:grayscale(1);}
.appstore__name{font-family:var(--font-display);font-size:20px;font-weight:700;}
.appstore--soon .appstore__name{color:var(--grey-1);}
.appstore__sub{font-size:15px;line-height:1.5;color:var(--grey-2);}
.appstore__tag{
  margin-top:auto;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:5px 10px;
  border:1px solid var(--line);
  color:var(--grey-2);
  background:var(--paper);
}
.appstore__tag--live{background:var(--mennige);border-color:var(--mennige);color:#fff;}
.app-note{margin-top:var(--s-5);color:var(--grey-2);font-size:14px;}
@media (max-width:760px){
  .appstores{grid-template-columns:1fr;max-width:440px;}
}

/* Verweis auf den App-Abschnitt — sitzt in der Knopfreihe, damit das Hero
   nicht länger wird; bewusst als Textlink, nicht als dritter Knopf. */
.hero-applink{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 4px;
  color:var(--grey-3);
  text-decoration:none;
  font-size:15px;
  white-space:nowrap;
  transition:color .16s ease;
}
.hero-applink svg{width:17px;height:17px;flex:none;opacity:.8;}
.hero-applink:hover{color:var(--paper);}
.hero-applink:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
.hero-applink__soon{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
  border:1px solid rgba(232,163,61,.45);
  padding:2px 7px;
}

/* Store-Codes im Footer unter der Wortmarke — bis zur Freigabe ausgegraut. */
.footer-qr{display:flex;gap:var(--s-4);margin-top:20px;flex-wrap:wrap;}
.footer-qr__item{display:flex;flex-direction:column;align-items:center;gap:6px;}
.footer-qr__item img{
  width:104px;height:104px;
  padding:6px;
  background:#fff;
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  opacity:.3;
  filter:grayscale(1);
}
.footer-qr__item span{font-size:13px;font-weight:600;color:var(--grey-3);}
.footer-qr__item em{
  font-family:var(--font-mono);
  font-style:normal;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--grey-3);
  border:1px solid var(--line-dark);
  padding:2px 8px;
}
