/*
Theme Name: ExpertScout
Description: A child theme of twentytwentyfive, scaffolded by Studio Code.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: expertscout
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* =========================================================
   ExpertScout V1.1 — Cinematic Dark Automotive x Future Tech x Luxury Precision
   Lokaler interner Build. Nicht veröffentlicht.
   ========================================================= */

:root{
  --bg-0: var(--wp--preset--color--base);
  --bg-1: var(--wp--preset--color--base-2);
  --bg-2: var(--wp--preset--color--base-3);
  --ink-0: var(--wp--preset--color--contrast);
  --ink-1: var(--wp--preset--color--contrast-2);
  --accent: var(--wp--preset--color--accent);
  --hairline: rgba(242,243,245,0.12);
  --mono: var(--wp--preset--font-family--mono);
  /* Verbindlicher Farbwert V1.1, vom Owner in den Tally-Customize-Einstellungen
     bestätigt. Nicht ableiten/schätzen — nur diese zwei Werte verwenden. */
  --gold: #D89A4A;
  --gold-ink: #FFFFFF;
}

html{ scroll-behavior:smooth; }
body{ overflow-x:hidden; }
::selection{ background:var(--accent); color:var(--bg-0); }
:focus-visible{ outline:1px solid var(--accent); outline-offset:3px; }

img{ display:block; max-width:100%; height:auto; }

/* ---------- draft badge ---------- */
.es-devnote{
  position:fixed; top:10px; right:10px; z-index:200;
  font-family:var(--mono); font-size:10px; letter-spacing:0.04em;
  color:rgba(242,243,245,0.4); pointer-events:none;
}
@media (max-width:640px){ .es-devnote{ display:none; } }

/* ---------- skip link ---------- */
.skip-link a{
  position:absolute; left:-9999px; top:auto; z-index:999;
  background:var(--bg-1); color:var(--ink-0);
  padding:12px 18px; border:1px solid var(--hairline);
}
.skip-link a:focus{ left:16px; top:16px; }

/* ---------- nav ---------- */
.es-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:16px clamp(20px,5vw,56px);
  background:rgba(5,5,6,0.72);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hairline);
}
.es-nav .wp-block-site-title{ margin:0; }
.es-nav .wp-block-site-title a{
  font-size:0.95rem; font-weight:700; letter-spacing:0.01em;
  text-decoration:none; color:var(--ink-0);
}
.es-nav-links{ display:flex; align-items:center; gap:clamp(16px,2.4vw,36px); }
.es-nav-links a{
  font-size:13px; letter-spacing:0.02em; color:var(--ink-1);
  text-decoration:none; transition:color .3s ease;
  white-space:nowrap;
}
.es-nav-links a:hover{ color:var(--ink-0); }
.es-nav-links a:focus-visible{ color:var(--ink-0); outline:1px solid var(--accent); outline-offset:4px; border-radius:2px; }
.es-nav .wp-block-site-title a:focus-visible{ outline:1px solid var(--accent); outline-offset:4px; }
.es-nav .wp-block-buttons{ margin:0; }
.es-nav .wp-block-button__link{
  padding:10px 20px !important; font-size:11px !important; letter-spacing:0.08em !important;
}
@media (max-width:820px){ .es-nav-links > p{ display:none; } }

/* ---------- section rhythm ---------- */
.es-section{ padding-block:clamp(40px,6vw,84px); position:relative; }
.es-tint{ background:var(--bg-1); }
.es-tint + .es-section{ border-top:1px solid var(--hairline); }
.es-backlink{ margin-bottom:28px; }
.es-backlink a{ font-family:var(--mono); font-size:12px; color:var(--ink-1); text-decoration:none; border-bottom:1px solid var(--hairline); padding-bottom:3px; transition:color .3s ease, border-color .3s ease; }
.es-backlink a:hover{ color:var(--ink-0); border-color:var(--accent); }

.es-eyebrow{
  display:flex; align-items:center; gap:14px;
  font-family:var(--mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ink-1); margin:0 0 24px 0;
}
.es-eyebrow::before{ content:""; width:34px; height:1px; background:var(--accent); flex:0 0 auto; }

.es-section h2{
  font-size:clamp(1.9rem,4vw,3.1rem);
  max-width:20ch; margin:0 0 20px 0; line-height:1.08; font-weight:700;
}
.es-lede{
  color:var(--ink-1); max-width:58ch;
  font-size:clamp(1.02rem,1.3vw,1.2rem); line-height:1.7; font-weight:300; margin:0;
}

/* ---------- scroll reveal ---------- */
.js-anim .es-reveal{
  opacity:0; transform:translateY(18px);
  transition:opacity .85s cubic-bezier(.22,.61,.36,1), transform .85s cubic-bezier(.22,.61,.36,1);
}
.js-anim .es-reveal.is-visible{ opacity:1; transform:translateY(0); }
.es-d1{ transition-delay:.05s; } .es-d2{ transition-delay:.14s; }
.es-d3{ transition-delay:.23s; } .es-d4{ transition-delay:.32s; }
.es-d5{ transition-delay:.41s; } .es-d6{ transition-delay:.5s; }

/* ---------- HERO ----------
   Kein Viewport-zentriertes min-height mehr: Inhalt beginnt direkt nach der
   Nav mit kontrolliertem Abstand, damit Headline + CTA im ersten üblichen
   Laptop-Viewport sichtbar sind (Korrekturauftrag V1.0, Abschnitt 1 + 5). */
.es-hero{
  display:flex; flex-direction:column; justify-content:flex-start;
  padding:clamp(100px,10vw,124px) clamp(20px,6vw,96px) clamp(48px,6vw,72px);
  isolation:isolate;
}
.es-hero::before{
  content:""; position:absolute; inset:0; z-index:-3;
  background:
    radial-gradient(ellipse 55% 45% at 82% 14%, rgba(185,200,209,0.09), transparent 60%),
    radial-gradient(ellipse 70% 55% at 10% 90%, rgba(255,255,255,0.03), transparent 65%),
    linear-gradient(165deg, var(--bg-0) 0%, var(--bg-1) 58%, var(--bg-0) 100%);
}
.es-hero::after{
  content:""; position:absolute; inset:0; z-index:-2;
  opacity:0.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:160px 160px;
}
.es-hero-edge{
  position:absolute; inset:0; z-index:-1; pointer-events:none;
}
.es-hero-edge::before, .es-hero-edge::after{
  content:""; position:absolute; height:1px;
  background:linear-gradient(90deg, transparent, rgba(185,200,209,0.5), transparent);
}
.es-hero-edge::before{ top:0; left:8%; right:8%; opacity:.5; }
.es-hero-edge::after{ bottom:12%; left:0; right:55%; opacity:.3; }

/* Diagonale technische Streifen (Korrekturauftrag: wiederherstellen) */
.es-hero-diagonal{
  position:absolute; right:0; bottom:0; z-index:-1; pointer-events:none;
  width:min(42vw,560px); height:min(42vw,560px); opacity:0.45;
  background:
    linear-gradient(115deg, transparent 49.3%, rgba(185,200,209,0.45) 49.6%, rgba(185,200,209,0.45) 49.8%, transparent 50.1%),
    linear-gradient(112deg, transparent 63.3%, rgba(242,243,245,0.2) 63.6%, rgba(242,243,245,0.2) 63.8%, transparent 64.1%);
}
@media (max-width:640px){
  .es-hero-diagonal{ opacity:0.22; width:75vw; height:75vw; }
  .es-schluss .es-hero-hint{
    font-size:10px;
    letter-spacing:0;
    padding-left:12px;
    white-space:nowrap;
  }
  .es-schluss .es-contact-row{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    column-gap:8px;
    align-items:baseline;
    white-space:nowrap;
  }
  .es-schluss .es-contact-sep{ display:none; }
}

.es-hero .es-eyebrow{ opacity:0; animation:es-fade-up .9s cubic-bezier(.22,.61,.36,1) .15s forwards; }
.es-hero h1{
  max-width:18ch; font-weight:700;
  font-size:clamp(2.1rem,4.8vw,4rem);
  line-height:1.08; letter-spacing:-0.02em; margin:0 0 24px 0;
}
.es-hero p.es-hero-sub{
  max-width:52ch; font-size:clamp(1rem,1.5vw,1.15rem); line-height:1.65;
  color:var(--ink-1); font-weight:300;
  opacity:0; animation:es-fade-up .9s cubic-bezier(.22,.61,.36,1) .5s forwards;
}
.es-hero-actions{
  margin-top:32px; display:flex; flex-wrap:wrap; align-items:center; gap:28px;
  opacity:0; animation:es-fade-up .9s cubic-bezier(.22,.61,.36,1) .75s forwards;
}
.es-hero-hint{
  font-family:var(--mono); font-size:12px; letter-spacing:0.03em; color:var(--ink-1);
  border-left:1px solid var(--hairline); padding-left:16px;
}
@keyframes es-fade-up{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:translateY(0);} }

.es-scrollcue{
  position:absolute; left:clamp(20px,6vw,96px); bottom:32px;
  width:1px; height:56px; background:var(--hairline); overflow:hidden;
}
.es-scrollcue::after{
  content:""; position:absolute; left:0; top:-100%; width:100%; height:100%;
  background:var(--accent); animation:es-cue-drop 2.6s ease-in-out infinite;
}
@keyframes es-cue-drop{ 0%{top:-100%;} 60%{top:100%;} 100%{top:100%;} }

/* ---------- buttons ----------
   V1.1: verbindlicher Goldwert vom Owner bestätigt (#D89A4A / Text #FFFFFF
   auf gefülltem Gold). Primär = gefüllt Gold, Sekundär/Themen-Buttons =
   Goldkontur + Goldtext. Kein abgeleiteter/geschätzter Hover-Farbton —
   Hover wird ausschließlich über Transform/Schatten unterschieden, nicht
   über einen neuen Goldwert. */
.es-btn-primary .wp-block-button__link,
.wp-block-button.es-btn-primary a{
  background:var(--gold) !important; color:var(--gold-ink) !important; border-color:var(--gold) !important;
}
.es-btn-primary .wp-block-button__link:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(216,154,74,0.35);
}
.es-btn-primary .wp-block-button__link:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}

/* Sekundär-/Themen-Buttons: kompakte Goldkontur-Buttons statt Textlinks */
.es-btn-outline .wp-block-button__link,
.wp-block-button.es-btn-outline a{
  background:transparent !important; color:var(--gold) !important;
  border:1px solid var(--gold) !important;
  padding:12px 24px !important; font-size:0.78125rem !important; letter-spacing:0.06em !important;
}
.es-btn-outline .wp-block-button__link:hover{
  background:var(--gold) !important; color:var(--gold-ink) !important;
}
.es-btn-outline .wp-block-button__link:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}
.es-link-cta{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:13px; letter-spacing:0.04em;
  color:var(--ink-0); text-decoration:none;
  padding-bottom:6px; border-bottom:1px solid var(--hairline);
  transition:border-color .4s ease, gap .4s ease, color .4s ease;
}
.es-link-cta:hover{ border-color:var(--accent); gap:18px; color:var(--accent); }
.es-link-cta .es-arrow{ display:inline-block; transition:transform .4s ease; }
.es-link-cta:hover .es-arrow{ transform:translateY(2px); }

/* ---------- Betriebskomplexität / Situationen ---------- */
.es-situations{ margin-top:16px; border-top:1px solid var(--hairline); counter-reset:es-count; }
.es-situation{ position:relative; padding:28px 0 28px 60px; border-bottom:1px solid var(--hairline); counter-increment:es-count; }
.es-situation::before{
  content:counter(es-count, decimal-leading-zero);
  position:absolute; left:0; top:28px;
  font-family:var(--mono); font-size:13px; color:var(--accent); opacity:.7;
}
.es-situation p{ margin:0; font-size:clamp(1rem,1.35vw,1.15rem); line-height:1.6; max-width:64ch; color:var(--ink-0); }
.es-realitaet-closing{
  margin-top:20px; font-size:clamp(1.1rem,1.6vw,1.35rem); font-weight:600; color:var(--ink-0);
  max-width:44ch;
}
/* V1.1: Button im Schadenblock war zu tief/angeschnitten — Abstände gestrafft. */
.es-realitaet h2{ margin-bottom:4px; }
.es-realitaet .es-situations{ margin-top:4px; }
.es-realitaet .wp-block-buttons{ margin-top:20px; }
.es-realitaet .es-situation{ padding:18px 0 18px 60px; }
.es-realitaet .es-situation::before{ top:18px; }

/* ---------- ExpertScout-System (Prozess) ----------
   Explizite Rahmen statt Grid-Gap-Hintergrundfarbe: vermeidet uneinheitliche
   "graue Balken", jede Zelle trägt denselben Rahmen über das ganze Raster. */
.es-process{
  display:grid; grid-template-columns:repeat(4,1fr); margin-top:16px;
  border-top:1px solid var(--hairline); border-left:1px solid var(--hairline);
  counter-reset:es-step;
}
.es-process-step{
  padding:32px 28px; counter-increment:es-step;
  border-right:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
}
@media (min-width:901px){
  .es-system .es-process > .es-process-step{ margin-block-start:0 !important; }
}
.es-process-step:first-child{ padding-top:32px; }
.es-process-step::before{
  content:counter(es-step, decimal-leading-zero);
  font-family:var(--mono); font-size:12px; color:var(--accent); display:block; margin-bottom:16px;
}
.es-process-step h3{ font-size:1.05rem; font-weight:700; margin:0 0 10px 0; }
.es-process-step p{ font-size:0.9rem; color:var(--ink-1); margin:0; line-height:1.55; }
@media (max-width:900px){ .es-process{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .es-process{ grid-template-columns:1fr; } }

/* ---------- Editoriale Themen-Module ---------- */
.es-topic-modules{ display:flex; flex-direction:column; gap:clamp(48px,6vw,80px); margin-top:24px; counter-reset:es-topic; }
.es-topic-module{
  counter-increment:es-topic;
  display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(28px,4vw,56px); align-items:center;
}
.es-topic-module:nth-child(even){ direction:rtl; }
.es-topic-module:nth-child(even) > *{ direction:ltr; }
.es-topic-figure{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bg-1); }
.es-topic-figure img{ width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.22,.61,.36,1); margin:0; }
.es-topic-module:hover .es-topic-figure img{ transform:scale(1.035); }
.es-topic-figure::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(200deg, transparent 55%, rgba(5,5,6,0.35) 100%);
  pointer-events:none;
}
.es-topic-body::before{
  content:counter(es-topic, decimal-leading-zero);
  font-family:var(--mono); font-size:12px; color:var(--accent); display:block; margin-bottom:14px;
}
.es-topic-body h3{ font-size:clamp(1.3rem,2.2vw,1.8rem); font-weight:700; margin:0 0 14px 0; }
.es-topic-body p{ color:var(--ink-1); font-size:1rem; line-height:1.6; margin:0 0 20px 0; max-width:46ch; }
@media (max-width:820px){
  .es-topic-module, .es-topic-module:nth-child(even){ grid-template-columns:1fr; direction:ltr; }
  .es-topic-figure{ aspect-ratio:16/11; }
}

/* ---------- Betriebs-Check panel ---------- */
.es-panel{
  position:relative; text-align:center;
  border:1px solid var(--hairline);
  background:linear-gradient(160deg, var(--bg-1), var(--bg-0));
  padding:clamp(56px,8vw,110px) clamp(20px,6vw,90px);
}
.es-panel .es-eyebrow{ justify-content:center; }
.es-panel h2{ max-width:22ch; margin-left:auto; margin-right:auto; }
.es-panel .es-lede{ max-width:56ch; margin-left:auto; margin-right:auto; margin-bottom:12px; }
.es-panel .es-hero-hint{ border:none; padding:0; display:block; margin:0 0 32px 0; }
.es-panel .wp-block-buttons{ justify-content:center; margin:0; }
.es-panel .es-fineprint{ margin-top:22px; font-size:0.82rem; color:var(--ink-1); opacity:.8; max-width:56ch; margin-left:auto; margin-right:auto; }

/* ---------- Trust / Person ---------- */
.es-trust{
  display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(32px,6vw,80px);
  align-items:center; margin-top:16px;
}
/* V1.1: Rahmen von 4:5 auf 1:1 verbreitert, damit das sichtbare Ausschnittfenster
   des unbeschnittenen Originalbilds breiter wird. Rechnerisch (Quellbild 1536x1024,
   Ganzkörperfigur rechts ca. x=890-1480): bei 1:1 ist das Sichtfenster ca. 1024px
   breit; bei object-position 89% deckt es x=456-1480 ab — die volle Figur bleibt
   erhalten, und ein deutlich größerer Teil des linken Hintergrundgesichts (ab x=456
   statt vorher x=717) wird zusätzlich sichtbar. Kein neues Bild, keine Retusche. */
.es-trust-frame{ position:relative; aspect-ratio:1/1; width:100%; overflow:hidden; background:var(--bg-1); border:1px solid var(--hairline); }
.es-trust-frame img{ width:100%; height:100%; object-fit:cover; object-position:89% center; }
.es-trust-text p{ color:var(--ink-1); font-size:1.02rem; line-height:1.7; max-width:52ch; margin:0 0 18px 0; }
.es-trust-text p:first-child{ color:var(--ink-0); font-size:clamp(1.1rem,1.6vw,1.35rem); font-weight:600; }
.es-trust-text .es-fineprint{ color:var(--ink-1); font-size:0.85rem; opacity:.8; }
@media (max-width:820px){
  .es-trust{ grid-template-columns:1fr; }
  .es-trust-frame{ max-width:320px; margin:0 auto; }
}

/* ---------- Wissen teaser ---------- */
.es-wissen-list{
  display:grid; grid-template-columns:repeat(3,1fr); margin-top:16px;
  border-top:1px solid var(--hairline); border-left:1px solid var(--hairline);
}
.es-wissen-item{
  padding:26px 24px; transition:background-color .3s ease;
  border-right:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
  display:grid !important; grid-template-rows:auto 1fr auto; align-content:stretch;
}
.es-wissen-item .wp-block-buttons{ margin-top:14px !important; align-self:end; }
.es-wissen-item:hover{ background:var(--bg-1); }
.es-wissen-item a{ text-decoration:none; color:inherit; display:block; }
.es-wissen-item h3{ font-size:1rem; font-weight:700; margin:0 0 8px 0; }
.es-wissen-item p{ font-size:0.875rem; color:var(--ink-1); margin:0 0 14px 0; line-height:1.5; }
.es-wissen-item .es-link-cta{ font-size:11px; }
@media (min-width:901px){
  #themen .es-wissen-list > .es-wissen-item{
    display:flex !important;
    flex-direction:column;
    height:100%;
    align-items:stretch;
    margin-block-start:0 !important;
  }
  #themen .es-wissen-list > .es-wissen-item > h3,
  #themen .es-wissen-list > .es-wissen-item > p,
  #themen .es-wissen-list > .es-wissen-item > .wp-block-buttons{
    margin-block-start:0 !important;
    margin-block-end:0 !important;
  }
  #themen .es-wissen-list > .es-wissen-item > h3{
    min-height:2.4em;
  }
  #themen .es-wissen-list > .es-wissen-item > .wp-block-buttons{
    margin-top:auto !important;
    padding-top:24px;
    width:100%;
  }
  #themen .es-wissen-list .es-btn-outline{
    width:100%;
  }
  #themen .es-wissen-list .es-btn-outline .wp-block-button__link{
    padding:9px 24px !important;
    width:100%;
    min-height:72px;
    box-sizing:border-box;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
  }
}
@media (max-width:900px){ .es-wissen-list{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .es-wissen-list{ grid-template-columns:1fr; } }

/* ---------- Legal / Langtext ----------
   Kompaktes Layout laut Korrekturauftrag: kleinere Überschriften, engere
   Abstände, kein großflächiger Hero. */
.es-legal-hero{ padding-top:clamp(80px,7vw,96px) !important; padding-bottom:clamp(8px,2vw,16px) !important; }
.es-legal{ max-width:70ch; margin:0 auto; }
.es-legal h1{ font-size:clamp(1.6rem,2.8vw,2.1rem); margin:0 0 24px 0; }
.es-legal h2{ font-size:1.15rem; margin:32px 0 12px 0; font-weight:700; }
.es-legal h3{ font-size:1.1rem; margin:28px 0 12px 0; font-weight:700; }
.es-legal p, .es-legal li{ color:var(--ink-1); font-size:0.975rem; line-height:1.62; }
.es-legal p{ margin:0 0 14px 0; }
.es-legal a{ color:var(--ink-0); text-decoration:underline; text-underline-offset:3px; }
.es-legal a:hover{ color:var(--accent); }
.es-legal table{ width:100%; border-collapse:collapse; margin:20px 0; font-size:0.92rem; }
.es-legal table th, .es-legal table td{ border:1px solid var(--hairline); padding:10px 12px; text-align:left; color:var(--ink-1); vertical-align:top; }
.es-legal .es-fineprint{ font-size:0.875rem; opacity:.9; color:var(--ink-0); }
.es-pdf-note{
  display:inline-flex; align-items:center; gap:10px; margin-top:8px;
  font-family:var(--mono); font-size:12px; color:var(--ink-1);
  border:1px solid var(--hairline); padding:10px 18px;
}

/* ---------- Themenseiten-Kopf ---------- */
.es-topic-hero{ padding-top:clamp(96px,9vw,116px); padding-bottom:clamp(20px,3vw,32px); }
.es-topic-hero + .es-section{ padding-top:clamp(20px,3vw,32px); }
.es-topic-hero-media{ aspect-ratio:16/9; overflow:hidden; margin-top:28px; background:var(--bg-1); }
.es-topic-hero-media img{ width:100%; height:100%; object-fit:cover; }
.es-topic-checklist{ margin:24px 0; padding-left:0; list-style:none; border-top:1px solid var(--hairline); }
.es-topic-checklist li{ padding:14px 0 14px 28px; border-bottom:1px solid var(--hairline); position:relative; }
.es-topic-checklist li::before{ content:"—"; position:absolute; left:0; color:var(--accent); }
.es-topic-closing{ margin-top:32px; padding-top:24px; border-top:1px solid var(--hairline); }
.es-topic-related{ display:flex; gap:24px; flex-wrap:wrap; margin:20px 0 32px; }
.es-topic-related a{ font-family:var(--mono); font-size:12px; color:var(--ink-1); text-decoration:none; border-bottom:1px solid var(--hairline); padding-bottom:4px; }
.es-topic-related a:hover{ color:var(--ink-0); border-color:var(--accent); }

/* Einheitliche vorheriges/alle/nächstes-Navigation unter den Themenseiten */
.es-topic-pagenav{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  margin-top:16px; padding-top:20px;
}
.es-topic-pagenav a{ font-family:var(--mono); font-size:12px; color:var(--ink-1); text-decoration:none; transition:color .3s ease; }
.es-topic-pagenav a:hover{ color:var(--ink-0); }
.es-topic-pagenav .es-pagenav-all{ color:var(--ink-0); font-weight:600; }
.es-topic-pagenav .es-pagenav-spacer{ flex:1; }
@media (max-width:560px){ .es-topic-pagenav{ flex-wrap:wrap; justify-content:center; text-align:center; } }

/* ---------- Tally Betriebs-Check, Full Page ----------
   Reines Iframe auf die bestehende, gelockte Tally-Formular-URL. Kein Popup,
   keine eigene Formularlogik, keine Einbindung auf der Startseite. */
.es-tally-wrap{ padding-block:0 0; }
.es-tally-embed{ width:100%; background:var(--bg-1); border-top:1px solid var(--hairline); }
.es-tally-embed iframe{
  width:100%; min-height:1400px; height:100%; border:0; display:block;
}

/* ---------- footer ----------
   Korrekturauftrag: nur Markenzeile links, Rechtslinks rechts, deutlich
   reduzierter Abstand zum letzten Inhalt (kein separater Personen-/Kontaktblock mehr). */
.es-footer{
  padding:clamp(24px,3vw,32px) clamp(20px,5vw,56px);
  display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; align-items:center;
  border-top:1px solid var(--hairline);
}
.es-footer-brand{ margin:0; color:var(--ink-1); font-size:0.8125rem; }
.es-footer-legal{ margin:0; color:var(--ink-1); font-size:0.8125rem; }
.es-footer-legal a{ color:var(--ink-1); text-decoration:none; transition:color .3s ease; }
.es-footer-legal a:hover{ color:var(--ink-0); }
.es-footer-legal .es-sep{ color:var(--hairline); padding:0 8px; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .es-hero .es-eyebrow, .es-hero p.es-hero-sub, .es-hero-actions{
    animation:none !important; opacity:1 !important; transform:none !important;
  }
  .es-scrollcue::after{ animation:none; top:0; height:40%; }
  .js-anim .es-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .es-topic-figure img{ transition:none; }
}

/* ---------- mobile ---------- */
@media (max-width:640px){
  .es-hero h1{ max-width:15ch; }
  .es-scrollcue{ display:none; }
  .es-nav{ padding:14px 20px; }
  .es-section{ padding-block:clamp(56px,14vw,88px); }
  .es-situation{ padding-left:44px; }
}
