/* Brenner Endodontie — Grundgestaltung
   Eine Schrift (Arial), Unterschiede über Schnitt, Groesse und Laufweite.
   Farben aus dem bestehenden System: Navy auf warmem Papier. */

:root{
  --ink:#0B2333;        /* Text und dunkle Flaechen */
  --brand:#123049;      /* Navy, Akzent */
  --brand-hell:#2B5C80; /* Links, Hover */
  --panel:#F6F8F9;      /* ruhige Flaeche */
  --paper:#FFFFFF;      /* Grund */
  --weiss:#FFFFFF;
  --line:#E4E9ED;       /* Linie */
  --line-zart:#EFF2F4;
  --muted:#5B6873;      /* Nebentext */
  --sans:Arial,"Helvetica Neue",Helvetica,sans-serif;
  /* bewusst identisch: die Marke fuehrt nur Arial */
  --serif:Arial,"Helvetica Neue",Helvetica,sans-serif;
  --mono:Arial,"Helvetica Neue",Helvetica,sans-serif;

  --mass:68rem;         /* Seitenbreite */
  --lese:38rem;         /* Lesebreite */
}
*{box-sizing:border-box}
html{color-scheme:light;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-hell);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--brand-hell);outline-offset:3px}

.wrap{max-width:var(--mass);margin:0 auto;padding:0 clamp(18px,4vw,32px)}
.lese{max-width:var(--lese)}

/* ---------- Kopf ---------- */
header.top{border-bottom:1px solid var(--line-zart);background:var(--paper);
  position:sticky;top:0;z-index:50}
.top .wrap{display:flex;align-items:center;gap:24px;
  min-height:68px;padding-top:10px;padding-bottom:10px}
.wortmarke{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.wortmarke img{width:26px;height:auto}
.wortmarke span{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px}
.wortmarke em{font-style:normal;font-weight:400;color:var(--muted)}
nav.haupt{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
nav.haupt a{color:var(--ink);text-decoration:none;font-size:14.5px}
nav.haupt a:hover,nav.haupt a[aria-current="page"]{color:var(--brand-hell)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);
  border-radius:3px;width:40px;height:36px;cursor:pointer;padding:9px 8px}
.burger span{display:block;height:1.5px;background:var(--ink);margin:0 0 5px}
.burger span:last-child{margin:0}
@media(max-width:820px){
  nav.haupt{display:none;width:100%;flex-direction:column;gap:0;order:3;
    border-top:1px solid var(--line-zart);margin:10px -32px -10px;padding:6px 32px 14px}
  nav.haupt.offen{display:flex}
  nav.haupt a{padding:11px 0;border-bottom:1px solid var(--line-zart);font-size:16px}
  nav.haupt a:last-child{border-bottom:none}
  .burger{display:block}
}

/* ---------- Typografie ---------- */
h1,h2,h3{font-weight:700;letter-spacing:-.022em;line-height:1.14;
  text-wrap:balance;margin:0 0 .5em}
h1{font-size:clamp(30px,5.2vw,50px)}
h2{font-size:clamp(23px,3.2vw,32px)}
h3{font-size:clamp(18px,2.1vw,21px);letter-spacing:-.012em}
p{margin:0 0 1.05em;max-width:var(--lese)}
.kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin:0 0 14px}
.lede{font-size:clamp(18px,2.1vw,21px);line-height:1.55;color:var(--ink);max-width:44rem}
.note{font-size:14.5px;color:var(--muted)}
strong{font-weight:700}

/* ---------- Abschnitte ---------- */
section{padding:clamp(52px,8vw,100px) 0}
.hero{padding-top:clamp(34px,5vw,62px);padding-bottom:clamp(20px,3vw,34px)}
.flaeche{background:var(--panel)}
.dunkel{background:var(--ink);color:var(--weiss)}
.dunkel h1,.dunkel h2,.dunkel h3{color:var(--weiss)}
.dunkel p{color:#C6D2DC}
.dunkel .kicker{color:#8AA0B2}
.dunkel a{color:#9FC6E0}

.split{display:grid;grid-template-columns:8.5rem 1fr;gap:clamp(18px,4vw,44px);
  align-items:start}
@media(max-width:720px){.split{grid-template-columns:1fr;gap:6px}}
.marker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin:.45em 0 0}

/* ---------- Karten und Listen ---------- */
.karten{display:grid;gap:clamp(24px,3vw,38px);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  margin:26px 0 0}
.karte{background:transparent;border:none;border-top:2px solid var(--brand);
  padding:18px 0 0}
.karte h3{margin-bottom:.4em;font-size:clamp(17px,1.9vw,19px)}
.karte p{font-size:15.5px;margin-bottom:0;color:var(--muted);max-width:none}
.karte a{text-decoration:none;font-weight:700;font-size:15px}

ul.klar{list-style:none;padding:0;margin:0 0 1.1em;max-width:var(--lese)}
ul.klar li{position:relative;padding-left:20px;margin:0 0 .5em}
ul.klar li::before{content:"";position:absolute;left:0;top:.62em;
  width:7px;height:1.5px;background:var(--brand)}

/* ---------- Zahlen und Belege ---------- */
.zahlen{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));
  margin:24px 0 0}
.zahl{border-top:2px solid var(--brand);padding:14px 0 0}
.zahl b{display:block;font-size:clamp(26px,3.4vw,34px);line-height:1.05;
  font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.zahl span{display:block;font-size:14.5px;color:var(--muted);margin-top:6px}
.zahl cite{display:block;font-style:normal;font-size:12.5px;color:var(--muted);
  margin-top:9px;letter-spacing:.02em}

/* ---------- Knopf ---------- */
.btn{display:inline-block;background:var(--ink);color:var(--weiss);text-decoration:none;
  padding:13px 24px;font-size:15.5px;font-weight:700;border:1px solid var(--ink);
  transition:background .15s,color .15s}
.btn:hover{background:transparent;color:var(--ink)}
.btn.hell{background:transparent;color:var(--ink)}
.btn.hell:hover{background:var(--ink);color:var(--weiss)}

/* ---------- Bildband ---------- */
figure{margin:0}
.band img{width:100%;max-height:min(62vh,540px);object-fit:cover}
figcaption{font-size:14px;color:var(--muted);padding:12px 0 0}

/* ---------- Tabellen ---------- */
.tabelle{overflow-x:auto;margin:22px 0 0}
table{border-collapse:collapse;width:100%;font-size:15.5px}
th,td{text-align:left;padding:11px 14px 11px 0;border-bottom:1px solid var(--line-zart);
  vertical-align:top}
th{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}

/* ---------- Fuss ---------- */
footer{background:var(--ink);color:#B9C7D3;padding:clamp(38px,5vw,58px) 0;
  font-size:15px;margin-top:clamp(40px,6vw,80px)}
footer a{color:#9FC6E0;text-decoration:none}
footer a:hover{color:var(--weiss);text-decoration:underline}
.fuss{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.fuss h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7F93A4;
  margin-bottom:12px}
.fuss p{margin:0 0 .5em;max-width:none}
.fuss-unten{border-top:1px solid #1E3A50;margin-top:30px;padding-top:18px;
  display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:#7F93A4}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Auftakt mit Porträt ---------- */
.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;
  gap:clamp(26px,5vw,60px);align-items:center}
.hero-portraet{position:relative}
.hero-portraet img{width:100%;max-width:23rem;background:var(--panel)}
.hero-portraet{justify-self:end}
.hero-portraet figcaption{font-size:13px;color:var(--muted);padding-top:10px}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .hero-portraet{order:2;max-width:26rem}
}
.karte .weiter{margin:14px 0 0;font-weight:700;font-size:15px}

/* ---------- Aufklappbare Fragen ---------- */
details{border-top:1px solid var(--line-zart);padding:0}
details:last-of-type{border-bottom:1px solid var(--line-zart)}
summary{cursor:pointer;list-style:none;padding:16px 34px 16px 0;position:relative;
  font-weight:700;font-size:16.5px;line-height:1.45}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:6px;top:24px;width:10px;height:10px;
  border-right:1.5px solid var(--brand);border-bottom:1.5px solid var(--brand);
  transform:rotate(45deg);transition:transform .15s}
details[open] summary::after{transform:rotate(-135deg);top:27px}
summary:hover{color:var(--brand-hell)}
.antwort{padding:0 0 20px}
.antwort p:last-child{margin-bottom:0}
.antwort ul.klar{margin-top:.2em}

/* ---------- Bild-Auftakt mit Markensatz ---------- */
.auftakt{position:relative;margin:0;background:var(--panel)}
.auftakt img{width:100%;display:block;aspect-ratio:2500/1066;object-fit:cover;
  object-position:70% 50%}
.auftakt .marke{position:static;padding:26px 0 4px;max-width:none}
.marke{font-size:clamp(24px,3.6vw,40px);line-height:1.16;font-weight:700;
  letter-spacing:-.022em;color:var(--ink);margin:0;text-wrap:balance}
.marke small{display:block;font-size:clamp(14px,1.5vw,17px);font-weight:400;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:14px;white-space:nowrap}
@media(min-width:820px){
  .auftakt img{aspect-ratio:2500/900}
  .auftakt .overlay{position:absolute;inset:0;display:flex;align-items:center;
    pointer-events:none}
  .auftakt .overlay .wrap{width:100%}
  .auftakt .marke{max-width:15ch;padding:0;
    text-shadow:0 1px 26px rgba(255,255,255,.85), 0 1px 3px rgba(255,255,255,.9)}
}
