/*
Theme Name:  aivonyx Web v2
Description: Child theme of Astra (Pro) for the aivonyx.de relaunch. No Elementor. Mobile first.
Template:    astra
Version:     0.3.14
Text Domain: ax-web-theme
*/

/* Fonts lokal statt Google (QW 23). */
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/Inter-400.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/Inter-600.woff2) format("woff2")}
@font-face{font-family:"Roboto Mono";font-weight:100 700;font-style:normal;font-display:swap;src:url(assets/fonts/RobotoMono-100-700.woff2) format("woff2")}

/* CD-Tokens: CD-Manual v1.0 §3 + Landingpage-Styleguide */
:root{
  --ax-ink:#1A1A1A; --ax-muted:#5A5A5A; --ax-white:#FFFFFF; --ax-paper:#F5F5F5;
  --ax-deep:#0A3A52; --ax-deep-900:#07283A; --ax-cyan:#00D9FF; --ax-cyan-text:#007A99;
  --ax-soft:#E8F1F5; --ax-rule:#E5E5E5;
  --ax-open:#8a5300; --ax-open-bg:#fbefdc;
  --ax-mono:"Roboto Mono",ui-monospace,"SF Mono",Consolas,monospace;
  --ax-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ax-w:1120px; --ax-r:4px; --ax-head:64px;
  /* Seitenrand, der mit dem Viewport mitwächst: ersetzt Wrapper-Gruppen im Inhalt. */
  --ax-gutter:max(16px,calc((100% - var(--ax-w)) / 2));
}

/* ── Basis (mobil) ── */
body.ax-v2{background:var(--ax-white);color:var(--ax-ink);font:17px/1.65 var(--ax-sans);-webkit-text-size-adjust:100%;padding-bottom:76px}
.ax-v2 img{max-width:100%;height:auto;display:block}
.ax-v2 a{color:var(--ax-cyan-text)}
.ax-v2 :is(h1,h2,h3){font-family:var(--ax-mono);color:var(--ax-deep);font-weight:700;line-height:1.2;letter-spacing:-.01em;margin:0 0 .5em}
.ax-v2 h1{font-size:clamp(1.9rem,7vw,3.1rem)}
.ax-v2 h2{font-size:clamp(1.4rem,5vw,2rem)}
.ax-v2 h3{font-size:1.1rem}
.ax-v2 p{margin:0 0 1em}
.ax-v2 :focus-visible{outline:2px solid var(--ax-cyan-text);outline-offset:2px}
.ax-eyebrow{font-family:var(--ax-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ax-cyan-text);margin-bottom:.6em!important}
.ax-lead{font-size:1.1rem;color:var(--ax-muted);max-width:40em}
.ax-center{text-align:center}
.ax-center .ax-lead{margin-inline:auto}
mark.ax-open{display:inline-block;background:var(--ax-open-bg);color:var(--ax-open);font:600 12px/1.4 var(--ax-mono);padding:2px 6px;border-radius:var(--ax-r);vertical-align:middle}

/* Astra-Container für Inhaltsseiten neutralisieren: Abschnitte bringen ihren Rand selbst mit. */
.ax-v2.page .site-content>.ast-container{max-width:none;padding:0;display:block}
.ax-v2.page #primary{margin:0;padding:0}
.ax-v2.page .entry-content{margin:0}
.ax-v2.page .entry-content>*{margin-block:0}
.ax-v2.page article.page{padding:0;margin:0}
/* Astra polstert Gruppen mit 1.5em; Abschnitte bringen ihren Rand selbst mit. */
.ax-v2 .entry-content .ax-sec{padding:56px var(--ax-gutter)}
.ax-v2 .entry-content .ax-sec.ax-story{padding-block:0}
.ax-v2 .entry-content .ax-sec.ax-cine{padding-top:120px;padding-bottom:48px}
.ax-v2 .entry-content :is(.ax-sec,.ax-marquee-wrap) .wp-block-group:not(.ax-card,.ax-letter,.ax-portrait,.ax-year,.ax-node,.ax-step,.ax-story-pin){padding:0}
/* Astra-Scroll-nach-oben liegt mobil auf dem Sticky-Button. */
#ast-scroll-top{display:none!important}

/* Lesetext (Rechtstexte, Ambassador, Karriere): Editor-Inhalt in einer Abschnittsgruppe .ax-prose. */
.ax-v2 .ax-prose>*{max-width:46rem}
.ax-v2 .ax-prose :is(h2,h3){margin-top:1.6em}
.ax-v2 .ax-prose h2{font-size:clamp(1.2rem,4vw,1.5rem)}
.ax-v2 .ax-prose :is(ul,ol){padding-left:1.2em;margin:0 0 1em}
.ax-v2 .ax-prose li{margin:.3em 0}
.ax-v2 .ax-prose{overflow-wrap:anywhere}

/* Abschnitte */
.ax-sec{padding:56px var(--ax-gutter);margin:0}
.ax-sec.ax-alt{background:var(--ax-paper)}
.ax-sec.ax-deep{background:var(--ax-deep);color:var(--ax-white)}
.ax-deep :is(h1,h2,h3){color:var(--ax-white)!important}
.ax-deep .ax-lead{color:#cfe0e8}
.ax-deep .ax-eyebrow{color:var(--ax-cyan)}

/* Buttons: Core-Button-Block im CD-Look */
.ax-v2 .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.ax-v2 .wp-block-button__link,.ax-btn,.ax-v2 .wpcf7-submit,.ax-v2 .post-password-form [type=submit]{display:inline-block;background:var(--ax-deep);color:var(--ax-white)!important;text-decoration:none;font:600 .95rem/1.3 var(--ax-sans);padding:14px 22px;border-radius:var(--ax-r);border:2px solid var(--ax-deep);transition:transform .2s ease,background .2s ease;cursor:pointer}
.ax-v2 .wp-block-button__link:hover,.ax-btn:hover,.ax-v2 .wpcf7-submit:hover,.ax-v2 .post-password-form [type=submit]:hover{background:var(--ax-deep-900);transform:translateY(-2px)}
.ax-v2 .is-style-outline .wp-block-button__link{background:transparent;color:var(--ax-deep)!important}
.ax-deep .wp-block-button__link{background:var(--ax-white);color:var(--ax-deep)!important;border-color:var(--ax-white)}
/* Mobil: Buttons volle Breite, Daumenziel ≥ 48 px */
.ax-v2 .wp-block-buttons>.wp-block-button{flex:1 1 100%}
.ax-v2 .wp-block-buttons .wp-block-button__link{display:block;width:100%;text-align:center}
.ax-more{font-weight:600;text-decoration:none}

/* ── Kopf ── */
.ax-in{max-width:var(--ax-w);margin:0 auto;padding:0 16px}
.ax-topbar{background:var(--ax-paper);font-size:.82rem}
.ax-topbar .ax-in{display:flex;justify-content:flex-end;align-items:center;gap:18px;min-height:32px}
.ax-topbar:not(:has(.ax-lang)){display:none}
.ax-topbar .ax-meta{display:none}
.ax-v2 .ax-topbar a{color:var(--ax-muted);text-decoration:none}
.ax-lang{display:flex;gap:4px;font:600 .78rem var(--ax-mono)}
.ax-lang a[aria-current]{color:var(--ax-deep)!important;text-decoration:underline!important}
.ax-head{position:sticky;top:0;z-index:50;background:var(--ax-white);border-bottom:1px solid var(--ax-rule)}
.admin-bar .ax-head{top:46px}
.ax-head>.ax-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--ax-head)}
.ax-logo img{height:30px;width:auto}
.ax-head .ax-nav,.ax-head .ax-head-cta{display:none}
.ax-v2 :is(.ax-nav,.ax-menu,.ax-foot) ul{list-style:none;margin:0;padding:0}
.ax-menu summary{list-style:none;cursor:pointer;font:600 .9rem var(--ax-mono);color:var(--ax-deep);border:1px solid var(--ax-rule);padding:10px 14px;border-radius:var(--ax-r)}
.ax-menu summary::-webkit-details-marker{display:none}
.ax-menu nav{position:absolute;left:0;right:0;top:100%;background:var(--ax-white);border-bottom:1px solid var(--ax-rule);padding:8px 16px 16px;max-height:calc(100svh - var(--ax-head));overflow:auto;box-shadow:0 12px 24px rgba(10,58,82,.08)}
.ax-v2 .ax-menu a{display:block;padding:14px 0;border-bottom:1px solid var(--ax-rule);color:var(--ax-ink);text-decoration:none;font-weight:600}
.ax-v2 .ax-menu .ax-meta a{font-weight:400;color:var(--ax-muted);font-size:.9rem}
.ax-v2 .ax-menu a[aria-current]{color:var(--ax-cyan-text)}
.ax-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--ax-white);border-top:1px solid var(--ax-rule);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
.ax-sticky-cta .ax-btn{display:block;text-align:center}
.ax-no-sticky-cta .ax-sticky-cta{display:none}
body.ax-no-sticky-cta{padding-bottom:0}

/* ── Fuß ── */
.ax-foot{background:var(--ax-deep-900);color:#cfe0e8;padding:48px 0 32px;font-size:.9rem}
.ax-foot .ax-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.ax-foot .ax-cols>:first-child{grid-column:1/-1}
.ax-foot-h{font:700 .85rem var(--ax-mono);color:var(--ax-white);margin:0 0 .6em}
.ax-v2 .ax-foot a{color:#cfe0e8;text-decoration:none;display:block;padding:6px 0}
.ax-foot .ax-logo img{filter:brightness(0) invert(1);margin-bottom:12px}
.ax-foot-legal{border-top:1px solid #23485b;margin-top:32px;padding-top:16px;font-size:.8rem}

/* ── Hero im Kinoformat ── */
.ax-cine{position:relative;min-height:88svh;display:flex;flex-direction:column;justify-content:flex-end;color:var(--ax-white);overflow:hidden;padding-top:120px;padding-bottom:48px}
.ax-cine>.ax-cine-bg{position:absolute;inset:0;margin:0!important;z-index:0}
.ax-cine>.ax-cine-bg img{width:100%;height:100%;object-fit:cover;object-position:70% 40%;opacity:0;transition:opacity 1.2s ease;animation:ax-kenburns 24s ease-in-out infinite alternate}
.ax-cine:not(.is-js)>.ax-cine-bg:first-child img,.ax-cine>.ax-cine-bg.is-on img{opacity:1}
.ax-cine::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(7,40,58,.1) 0%,rgba(7,40,58,.35) 40%,rgba(7,40,58,.9) 100%)}
.ax-cine>:not(.ax-cine-bg){position:relative;z-index:1}
.ax-cine h1{color:var(--ax-white)!important;max-width:14em;font-size:clamp(2rem,9vw,4rem)}
.ax-cine .ax-lead{color:#e3eef3}
.ax-cine .ax-eyebrow{color:var(--ax-cyan)}
.ax-cine .ax-meta-line{font-size:.85rem;color:#cfe0e8;margin-top:12px}
.ax-cine .wp-block-button__link{background:var(--ax-white);color:var(--ax-deep)!important;border-color:var(--ax-white)}
.ax-cine .is-style-outline .wp-block-button__link{background:transparent;color:var(--ax-white)!important}
@keyframes ax-kenburns{from{transform:scale(1)}to{transform:scale(1.12) translate(-2%,-1%)}}
/* Anlass-Umschalter: ohne JS ausgeblendet, beide Texte stehen dann untereinander. */
.ax-cine .ax-switch{display:none}
.ax-cine.is-js .ax-switch{display:inline-flex;align-self:flex-start;width:auto;flex-wrap:nowrap;gap:0;margin:0 0 20px;padding:4px;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:100%}
.ax-cine .ax-switch button{flex:1 1 auto;font:600 .82rem/1.25 var(--ax-sans);border:0;background:transparent;color:#e3eef3;padding:10px 14px;border-radius:999px;cursor:pointer;transition:background .25s,color .25s}
.ax-cine .ax-switch button[aria-pressed="true"]{background:var(--ax-white);color:var(--ax-deep)}
.ax-cine.is-js .ax-panel[hidden]{display:none}
.ax-cine.is-js .ax-panel{animation:ax-fadeup .45s ease both}
.ax-words span{display:inline-block;opacity:0;transform:translateY(.4em);animation:ax-word .8s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes ax-word{to{opacity:1;transform:none}}
@keyframes ax-fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ── Laufband ── */
.ax-v2 .ax-marquee{display:flex;gap:40px;width:max-content;margin:0;padding:14px 0;list-style:none;font:500 .85rem var(--ax-mono);color:var(--ax-deep);text-transform:uppercase;letter-spacing:.06em;animation:ax-marquee 32s linear infinite}
.ax-marquee li{white-space:nowrap}
.ax-marquee li::before{content:"✳";color:var(--ax-cyan);margin-right:12px}
.ax-marquee-wrap{overflow:hidden;border-block:1px solid var(--ax-rule);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.ax-marquee-wrap:hover .ax-marquee{animation-play-state:paused}
@keyframes ax-marquee{to{transform:translateX(-50%)}}

/* ── Scroll-Erzählung „Wofür?“ (mobil: Bild klebt oben, Text läuft darunter) ── */
.ax-story{padding-top:0;padding-bottom:0}
.ax-story-pin{position:sticky;top:var(--ax-head);z-index:1;height:44svh;padding:12px 0;background:var(--ax-white)}
.ax-story-pin .wp-block-image{position:absolute;inset:12px 0;margin:0;border-radius:var(--ax-r);overflow:hidden}
.ax-story-pin img{width:100%;height:100%;object-fit:cover;object-position:88% 50%;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 1.6s ease}
.ax-story:not(.is-js) .ax-story-pin .wp-block-image:first-child img,.ax-story-pin .is-on img{opacity:1;transform:scale(1)}
.ax-step{min-height:60svh;display:flex;flex-direction:column;justify-content:center;padding:24px 0}
.ax-story.is-js .ax-step{opacity:.25;transition:opacity .6s ease}
.ax-story.is-js .ax-step.is-on{opacity:1}
.ax-step h2{font-size:clamp(1.6rem,7vw,3rem)}
.ax-step p{font-size:1.1rem;color:var(--ax-muted);max-width:28em}

/* ── Spalten, Karten, Porträt ── */
.ax-v2 .wp-block-columns{gap:24px;margin:0}
.ax-v2 .ax-split{align-items:center;gap:32px}
.ax-card{background:var(--ax-white);border:1px solid var(--ax-rule);border-radius:var(--ax-r);padding:24px;height:100%;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.ax-card.ax-entry{border-top:4px solid var(--ax-cyan)}
.ax-card .ax-more{margin-top:auto}
.ax-card p:last-child{margin-bottom:0}
.ax-cards{margin-top:32px!important}
/* Porträtfotos (Podcast-CI, freigestellt): Ausschnitt per object-fit statt zugeschnittener Dateien */
.ax-v2 .ax-photo{margin:0}
.ax-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:var(--ax-r);background:var(--ax-white)}
.ax-split .ax-photo{max-width:280px}
.ax-team .ax-photo{margin-bottom:12px}
.ax-team .ax-photo img{aspect-ratio:1/1;object-position:50% 10%}
.ax-portrait{aspect-ratio:4/5;background:repeating-linear-gradient(135deg,var(--ax-soft) 0 12px,#dbe8ee 12px 24px);border-radius:var(--ax-r);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--ax-deep);font:13px/1.4 var(--ax-mono)}

/* ── Jahresleiste (mobil senkrecht) ── */
.ax-year{position:relative;margin-top:32px;padding-left:36px}
.ax-year::before,.ax-year::after{content:"";position:absolute;left:11px;top:4px;bottom:4px;width:2px;background:var(--ax-rule)}
.ax-year::after{background:var(--ax-cyan);transform-origin:top}
.ax-node{position:relative;padding-bottom:28px}
.ax-v2 .ax-year>.ax-node{margin-block:0} /* WP-Blockabstand würde Knoten 2–4 im Raster unter die Linie schieben */
.ax-node::before{content:"";position:absolute;left:-36px;top:2px;width:24px;height:24px;border-radius:50%;background:var(--ax-white);border:3px solid var(--ax-deep);z-index:1}
.ax-when{font:600 .75rem var(--ax-mono)!important;color:var(--ax-cyan-text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3em!important}

/* ── Arztbrief, der sich schreibt ── */
.ax-letter{background:#fbfaf7;border:1px solid var(--ax-rule);box-shadow:0 30px 60px rgba(10,58,82,.12);border-radius:2px;padding:28px 22px;max-width:640px;margin:32px auto 0!important;font:1rem/1.8 var(--ax-sans);text-align:left}
.ax-letter-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ax-rule);padding-bottom:16px;margin-bottom:24px!important}
.ax-letter-head .wp-block-image{margin:0}
.ax-letter-head img{height:24px;width:auto}
.ax-letter-head p{margin:0;font:12px var(--ax-mono);color:var(--ax-muted)}
.ax-letter-text{min-height:12em}
.ax-letter.is-typing .ax-letter-text::after{content:"▍";color:var(--ax-cyan-text);animation:ax-blink 1s steps(1) infinite}
.ax-sign{font:italic 1.5rem/1 Georgia,serif!important;color:var(--ax-deep);margin:16px 0 4px!important;transition:opacity 1s ease}
.ax-letter.is-typing .ax-sign{opacity:0}
.ax-sign-role{font-size:.85rem;color:var(--ax-muted)}
@keyframes ax-blink{50%{opacity:0}}

/* ── Vergleichstabelle (mobil eng gesetzt) ── */
.ax-compare{margin:24px 0 0}
.ax-compare table{width:100%;border-collapse:collapse;font-size:.88rem;table-layout:auto}
.ax-compare :is(th,td){border:0;border-bottom:1px solid var(--ax-rule);padding:10px 6px;text-align:left;vertical-align:top}
.ax-compare th{font:700 .8rem var(--ax-mono);color:var(--ax-deep)}
.ax-compare td:first-child{font-weight:600;color:var(--ax-deep)}

/* ── Vertrauensband ── */
.ax-trust .wp-block-column{border-left:2px solid var(--ax-cyan);padding-left:16px}
.ax-trust strong{display:block;font:700 1.3rem var(--ax-mono);color:var(--ax-white)}

/* ── Unterseiten: Ablauf, Listen, Preise, Bilder, Team, FAQ, Kennzahlen ── */
.ax-v2 .ax-split.ax-top{align-items:flex-start}
.ax-phases{counter-reset:ax-p}
.ax-phase{counter-increment:ax-p;border-top:2px solid var(--ax-deep);padding-top:16px}
.ax-phase::before{content:"0" counter(ax-p);display:block;margin-bottom:8px;font:700 .9rem var(--ax-mono);color:var(--ax-cyan-text)}
.ax-v2 .ax-list{list-style:none;padding:0;margin:0 0 1.2em}
.ax-list li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid var(--ax-rule)}
.ax-list li::before{content:"";position:absolute;left:2px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--ax-cyan)}
.ax-deep .ax-list li{border-color:rgba(255,255,255,.15);color:#e3eef3}
.ax-v2 .ax-numbered{list-style:none;counter-reset:ax-n;padding:0;margin:24px 0 1em}
.ax-numbered li{counter-increment:ax-n;position:relative;padding:12px 0 12px 44px;border-top:1px solid var(--ax-rule);font-weight:600;color:var(--ax-deep)}
.ax-numbered li::before{content:"0" counter(ax-n);position:absolute;left:0;top:12px;font:700 .9rem/1.65 var(--ax-mono);color:var(--ax-cyan-text)}
.ax-v2 .ax-price{font:700 1.5rem var(--ax-mono);color:var(--ax-deep);margin:.2em 0 .6em}
.ax-small{font-size:.9rem;color:var(--ax-muted)}
.ax-deep .ax-small{color:#cfe0e8}
.ax-card.ax-feature{border:2px solid var(--ax-deep)}
.ax-card .wp-block-buttons{margin-top:auto;padding-top:8px}
.ax-v2 .ax-fig{position:relative;margin:0}
.ax-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--ax-r)}
.ax-v2 .ax-fig.ax-wide{margin-top:24px}
.ax-fig.ax-wide img{aspect-ratio:16/9}
.ax-v2 :is(.ax-fig,.ax-photo){position:relative}
.ax-v2 :is(.ax-fig,.ax-photo) figcaption{position:absolute;left:8px;bottom:8px;margin:0;padding:3px 6px;border-radius:var(--ax-r);background:rgba(7,40,58,.85);color:var(--ax-white);font:11px/1.3 var(--ax-mono)}
.ax-v2 .ax-team{max-width:760px;margin-top:24px}
.ax-team .ax-portrait{aspect-ratio:1/1;margin-bottom:12px;padding:8px;font-size:11px}
.ax-team h3{font-size:1rem}
.ax-team p{font-size:.9rem}
/* Drei Personen sind mobil zu eng für eine Zeile: zwei je Zeile. !important, weil WP is-not-stacked-on-mobile nowrap erzwingt */
.ax-v2 .ax-team{flex-wrap:wrap!important}
.ax-v2 .ax-team>.wp-block-column{flex:0 0 calc(50% - 1em)!important}
.ax-v2 .ax-faq{border-bottom:1px solid var(--ax-rule);padding:16px 0;margin:0}
.ax-faq summary{cursor:pointer;font-weight:600;color:var(--ax-deep)}
.ax-faq p{margin:12px 0 0;color:var(--ax-muted)}
.ax-v2 .ax-kpis{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0 24px}
.ax-v2 .ax-kpis p{margin:0;border-top:2px solid var(--ax-cyan);padding-top:12px;color:#cfe0e8}
.ax-kpis strong{display:block;font:700 1.5rem var(--ax-mono);color:var(--ax-white)}

/* ── Formulare: CF7 und WP-Seitenpasswort (Schrift ≥ 16 px, sonst zoomt iOS) ── */
.ax-v2 .ax-form label,.post-password-form label{display:block;margin:0 0 16px;font-weight:600;font-size:.9rem;color:var(--ax-deep)}
/* Live-Formular 6640 bringt ax-row/ax-slot mit; ohne ax-web-forms-CSS gestaltet das Theme sie selbst. */
.ax-v2 .ax-form fieldset{margin:8px 0 16px;padding:8px 16px 0;border:1px solid var(--ax-rule);border-radius:var(--ax-r)}
.ax-form legend{padding:0 6px;font:700 .8rem var(--ax-mono);color:var(--ax-cyan-text);text-transform:uppercase;letter-spacing:.06em}
.ax-v2 .ax-form .wpcf7-list-item{margin:0}
/* ax-web-forms (Ambassador, Bewerbung) bringt Mono-Versalien und Cyan-Knöpfe mit; auf v2 gilt die Theme-Optik wie beim Erstgespräch. */
.ax-v2 .ax-form :is(label,.ax-progress,.ax-step h3){font-family:var(--ax-sans);letter-spacing:0;text-transform:none}
.ax-v2 .ax-form label{font-size:.9rem;color:var(--ax-deep)}
.ax-v2 .ax-form .ax-step h3{font:700 1.1rem var(--ax-mono);color:var(--ax-deep)}
.ax-v2 .ax-form .ax-progress{font:600 .8rem var(--ax-mono);color:var(--ax-cyan-text)}
.ax-v2 .ax-form .ax-nav :is(button,.wpcf7-submit){font:600 .95rem/1.3 var(--ax-sans);letter-spacing:0;text-transform:none;padding:14px 22px;border-radius:var(--ax-r);background:var(--ax-deep);border:2px solid var(--ax-deep);color:var(--ax-white)}
.ax-v2 .ax-form .ax-nav .ax-prev{background:transparent;color:var(--ax-deep)}
.ax-form .wpcf7-acceptance label{display:flex;gap:10px;font-weight:400}
.ax-form :is(input:not([type=checkbox],[type=radio],[type=submit]),select,textarea),.post-password-form [type=password]{display:block;width:100%;margin-top:6px;padding:12px;font:inherit;font-weight:400;color:var(--ax-ink);background:var(--ax-white);border:1px solid #d0d0d0;border-radius:var(--ax-r)}
.ax-v2 .ax-form .wpcf7-submit,.ax-v2 .post-password-form [type=submit]{width:100%;margin-top:8px}
.ax-gate{max-width:460px;margin:0 auto;text-align:center}
.ax-gate .ax-lead{margin-inline:auto}
.post-password-form p:not(:has(label)){display:none} /* WP-Standardsatz; der Hinweis steht schon darüber */
/* Porträt-Platzhalter mobil nicht bildschirmhoch */
.ax-split .ax-portrait{max-width:280px}

/* ── Scroll-Effekte: nur wo der Browser sie kann, sonst statisch ── */
@supports (animation-timeline: view()){
  .ax-sec:not(.ax-cine,.ax-story) :is(h2,.ax-card,.ax-node,.ax-trust .wp-block-column){animation:ax-fadeup linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  .ax-year::after{animation:ax-grow-y linear both;animation-timeline:view();animation-range:entry 20% cover 60%}
  .ax-head{animation:ax-shadow linear both;animation-timeline:scroll();animation-range:0 120px}
}
@keyframes ax-grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes ax-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ax-shadow{to{box-shadow:0 4px 20px rgba(10,58,82,.1)}}

/* ── Ab Tablet quer / Desktop ── */
@media (min-width:600px){
  .ax-v2 .ax-team{flex-wrap:nowrap!important}
  .ax-v2 .ax-team>.wp-block-column{flex:1 1 0!important}
  .ax-form .ax-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .ax-v2 .wp-block-buttons>.wp-block-button{flex:0 0 auto}
  .ax-v2 .wp-block-buttons .wp-block-button__link{display:inline-block;width:auto}
  .ax-foot .ax-cols{grid-template-columns:2fr 1fr 1fr 1fr}
  .ax-foot .ax-cols>:first-child{grid-column:auto}
  .ax-letter{padding:48px 56px;transform:rotate(-.6deg)}
}
@media (min-width:783px){.admin-bar .ax-head{top:32px}}
@media (min-width:900px){
  :root{--ax-head:72px}
  body.ax-v2{padding-bottom:0}
  .ax-sticky-cta,.ax-menu{display:none}
  .ax-topbar{display:block!important}
  .ax-topbar .ax-meta{display:block}
  .ax-topbar .ax-meta ul{display:flex;gap:18px}
  .ax-head .ax-nav{display:block}
  .ax-head .ax-nav ul{display:flex;gap:28px}
  .ax-v2 .ax-head .ax-nav a{white-space:nowrap;color:var(--ax-ink);text-decoration:none;font-weight:600;font-size:.95rem}
  .ax-v2 .ax-head .ax-nav a[aria-current]{color:var(--ax-cyan-text)}
  .ax-head .ax-head-cta{display:inline-block}
  .ax-logo img{height:34px}
  .ax-v2 .entry-content .ax-sec{padding-block:72px}
  .ax-v2 .entry-content .ax-sec.ax-story{padding-block:0}
  .ax-v2 .entry-content .ax-sec.ax-cine{padding-bottom:72px}
  #ast-scroll-top{display:block!important}
  .ax-lead{font-size:1.15rem}
  .ax-cine{min-height:min(92vh,820px);padding-bottom:72px}
  .ax-cine .ax-switch button{font-size:.85rem;padding:8px 16px}
  .ax-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(10,58,82,.12)}
  /* Erzählung: Bild links klebt, Text rechts scrollt */
  .ax-story{display:grid;grid-template-columns:1fr 1fr;gap:48px}
  .ax-story-pin{height:calc(100vh - var(--ax-head));display:flex;align-items:center;padding:0}
  .ax-story-pin .wp-block-image{inset:auto;position:absolute;width:100%;aspect-ratio:4/5;max-height:80vh;top:50%;transform:translateY(-50%)}
  .ax-story-steps{padding:20vh 0}
  .ax-step{min-height:70vh}
  /* Jahresleiste waagerecht */
  .ax-year{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-left:0;margin-top:48px}
  .ax-year::before,.ax-year::after{left:0;right:0;top:11px;bottom:auto;width:auto;height:2px}
  .ax-year::after{transform-origin:left}
  .ax-node{padding:40px 0 0}
  .ax-node::before{left:0;top:0}
  .ax-compare table{font-size:.95rem}
  .ax-compare :is(th,td){padding:12px 8px}
  .ax-fig img{aspect-ratio:1/1}
  .ax-split .ax-portrait,.ax-split .ax-photo{max-width:none}
  .ax-v2 .ax-kpis{grid-template-columns:repeat(4,1fr)}
  .ax-v2 .ax-form .wpcf7-submit{width:auto}
}
@supports (animation-timeline: view()){
  @media (min-width:900px){.ax-year::after{animation-name:ax-grow-x}}
}
@media (prefers-reduced-motion:reduce){
  .ax-v2 *,.ax-v2 *::before,.ax-v2 *::after{animation:none!important;transition:none!important}
  .ax-words span{opacity:1;transform:none}
}
