/* ============================================================
   dental start – Theme
   Farben und Schrift aus dem Flyer Dental_Start_Flyer_Dez_2026_rz,
   Entwurf abgestimmt am 24.09.2026 (entwurf/index.html im Projektordner).
   ============================================================ */

@font-face{font-family:Inter;font-style:normal;font-weight:300 900;font-display:swap;
  src:url(fonts/inter-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:300 900;font-display:swap;
  src:url(fonts/inter-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --creme:#F9F8F4;
  --papier:#FFFFFF;
  --tinte:#1D1C1A;
  --grau:#5E5B55;
  --linie:#DAD6CC;
  --rahmen:#8A857B;
  --orange:#EBA430;        /* Flächen, Knöpfe, Wortmarke */
  --orange-hover:#F2B550;
  --orange-text:#9A5E0A;   /* Orange als Schrift auf Hell (4,9 : 1) */
  --nacht:#161513;
  --nacht-2:#211F1C;
  --nacht-text:#F4F1EA;
  --nacht-grau:#B8B2A6;
  --fehler:#B3261E;

  --breite:1200px;
  --rand:clamp(16px,4vw,40px);
  --abschnitt:clamp(72px,9vw,128px);
  --kopf:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{
  margin:0;background:var(--creme);color:var(--tinte);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:300;font-size:clamp(17px,1.15vw,19px);line-height:1.6;
  overflow-wrap:break-word;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
strong,b{font-weight:700}
.wrap{max-width:var(--breite);margin-inline:auto;padding-inline:var(--rand)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sprung{position:absolute;left:16px;top:-60px;z-index:100;background:var(--tinte);color:#fff;padding:12px 18px;text-decoration:none}
.sprung:focus{top:12px}
:focus-visible{outline:3px solid var(--tinte);outline-offset:3px}
section[id],[id="anmeldung"]{scroll-margin-top:calc(var(--kopf) + 16px)}

/* ---------- Schrift-Bausteine ---------- */
.dachzeile{
  font-size:14px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--orange-text);margin:0 0 14px;
}
.h2{
  font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05;
  font-size:clamp(30px,4.2vw,52px);margin:0 0 clamp(32px,4vw,56px);
}
.wortmarke{font-weight:300;letter-spacing:-.02em}
.wortmarke b{font-weight:900;color:var(--orange)}
.strich{width:120px;height:2px;background:var(--orange);border:0;margin:28px 0}

/* ---------- Schaltflächen ---------- */
.knopf{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  min-height:52px;padding:14px 26px;border:2px solid var(--orange);
  background:var(--orange);color:var(--tinte);
  font:900 16px/1.2 Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;
}
.knopf:hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--tinte)}
.knopf:active{transform:translateY(1px)}
.knopf__text > span{font-weight:300}
.knopf--klein{min-height:44px;padding:10px 18px;font-size:14px}
.textlink{
  display:inline-flex;align-items:center;min-height:44px;gap:.4em;
  font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;
}
.textlink:hover{text-decoration-thickness:2px}

/* ---------- Kopfleiste ---------- */
.kopf{
  position:sticky;top:0;z-index:50;background:rgba(249,248,244,.94);
  backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid transparent;transition:border-color .2s;
}
.kopf.ist-gescrollt{border-bottom-color:var(--linie)}
.kopf .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--kopf)}
.kopf__marke{display:inline-block;padding-block:10px;font-size:24px;text-decoration:none;line-height:24px}
.kopf__nav{display:none}
.kopf__nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.kopf__nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:15px;font-weight:400;text-decoration:none}
.kopf__nav a:hover{text-decoration:underline;text-underline-offset:6px}
@media (min-width:980px){.kopf__nav{display:block;margin-left:auto}}

/* ---------- Einstieg ---------- */
.einstieg{padding-top:clamp(28px,4vw,56px)}
.einstieg__oben{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;
  padding-bottom:clamp(28px,4vw,48px);border-bottom:1px solid var(--linie);
}
.datum .dachzeile{margin-bottom:4px}
.datum__tag{font-weight:900;font-size:clamp(40px,6vw,76px);line-height:1;letter-spacing:-.02em;margin:0}
.ort{margin:0}
.ort{font-size:17px;line-height:1.5;text-align:left}
.ort strong{display:block}
.ort em{font-style:normal;color:var(--orange-text)}
@media (min-width:700px){.ort{text-align:right}}

.einstieg__mitte{
  display:grid;gap:28px 64px;padding-block:clamp(36px,5vw,64px);
}
@media (min-width:900px){.einstieg__mitte{grid-template-columns:1.15fr 1fr;align-items:end}}
.titel{margin:0;line-height:1}
.titel .wortmarke{display:block;font-size:clamp(46px,7.4vw,96px);line-height:1;margin-bottom:10px}
.titel__zeile{display:block;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(32px,5.1vw,66px);line-height:1.02}
.einstieg__text p{margin:0 0 28px;max-width:34em}
.einstieg__aktionen{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}

.einstieg__bild{position:relative;margin:0}
.einstieg__bild img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:700px){.einstieg__bild img{aspect-ratio:21/9}}
.plakette{
  position:absolute;left:var(--rand);bottom:calc(-1 * clamp(24px,3vw,36px));
  background:var(--papier);padding:18px 24px;display:flex;flex-wrap:wrap;gap:6px 28px;
  box-shadow:0 12px 32px rgba(29,28,26,.10);font-size:16px;max-width:calc(100% - 2 * var(--rand));
}
.plakette b{font-weight:900}

/* ---------- Warum ---------- */
.warum{padding-top:calc(var(--abschnitt) + 24px);padding-bottom:var(--abschnitt)}
.gruende{list-style:none;margin:0;padding:0;display:grid;gap:0}
@media (min-width:640px){.gruende{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.gruende{grid-template-columns:repeat(3,1fr)}}
.grund{padding:28px 28px 36px 0;border-top:1px solid var(--linie)}
@media (min-width:640px){
  .grund{padding:32px 32px 40px}
  .grund:nth-child(2n+1){padding-left:0}
  .grund:nth-child(2n){border-left:1px solid var(--linie)}
}
@media (min-width:980px){
  .grund,.grund:nth-child(2n+1){padding-left:32px}
  .grund:nth-child(2n){border-left:0}
  .grund:nth-child(3n+1){padding-left:0}
  .grund:nth-child(3n+2),.grund:nth-child(3n){border-left:1px solid var(--linie)}
}
.grund__nr{
  display:inline-grid;place-items:center;width:52px;height:52px;margin-bottom:22px;
  background:var(--orange);color:var(--tinte);font-weight:900;font-size:26px;line-height:1;
}
.grund h3{font-weight:900;text-transform:uppercase;font-size:19px;letter-spacing:.01em;margin:0 0 8px}
.grund p{margin:0;color:var(--grau)}

/* ---------- Video ---------- */
.video{padding-bottom:var(--abschnitt)}
.video__film{display:block;width:100%;aspect-ratio:16/9;background:var(--nacht);object-fit:cover}

/* ---------- Programm ---------- */
.programm{background:var(--papier);padding-block:var(--abschnitt)}
.ablauf{display:grid;gap:0;margin:0 0 48px;padding:0;list-style:none}
@media (min-width:800px){.ablauf{grid-template-columns:1fr 1fr}}
.ablauf li{padding:32px 0;border-top:2px solid var(--tinte)}
@media (min-width:800px){.ablauf li{padding:32px 40px 32px 0}.ablauf li+li{padding-left:40px;border-left:1px solid var(--linie)}}
.ablauf__zeit{font-weight:900;font-size:clamp(28px,3.4vw,40px);line-height:1;margin:0 0 10px}
.ablauf h3{font-weight:700;font-size:20px;margin:0 0 8px}
.ablauf p{margin:0;color:var(--grau)}
.ablauf .ablauf__zeit{color:var(--tinte);margin:0 0 10px}
.themen{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.themen li{border:1px solid var(--rahmen);padding:8px 16px;font-size:16px;font-weight:400}
.themen__titel{font-weight:700;font-size:18px;margin:0 0 16px}

/* ---------- Referenten ---------- */
.referenten{padding-block:var(--abschnitt)}
.personen{list-style:none;margin:0;padding:0;display:grid;gap:32px 24px;grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.personen{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1080px){.personen{grid-template-columns:repeat(5,1fr)}}
.person__bild{
  aspect-ratio:4/5;background:#ECE9E1;display:grid;place-items:end center;margin-bottom:16px;
  color:#D3CEC3;overflow:hidden;
}
.person__bild img{width:100%;height:100%;object-fit:cover}
.person__bild svg{width:62%;height:auto}
.person__thema{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-text);margin:0 0 4px}
.person h3{font-size:19px;font-weight:700;margin:0 0 4px;line-height:1.3}
.person p{margin:0;font-size:15px;color:var(--grau)}

/* ---------- Highlight ---------- */
.highlight{background:var(--nacht);color:var(--nacht-text)}
.highlight__raster{display:grid}
@media (min-width:900px){.highlight__raster{grid-template-columns:1fr 1fr;min-height:620px}}
.highlight__bild{margin:0;min-height:300px}
.highlight__bild img{width:100%;height:100%;object-fit:cover}
.highlight__text{padding:clamp(48px,6vw,96px) var(--rand);align-self:center}
@media (min-width:900px){.highlight__text{padding-inline:clamp(40px,6vw,96px)}}
.highlight .dachzeile{color:var(--orange)}
.highlight .h2{font-size:clamp(40px,6vw,76px);margin-bottom:20px}
.highlight__text>p{color:var(--nacht-grau);max-width:28em;margin:0 0 40px}
.zahlen{display:flex;flex-wrap:wrap;gap:20px 36px;margin:0;padding:0;list-style:none}
.zahlen li{display:flex;align-items:baseline;gap:8px}
.zahlen b{font-weight:900;font-size:clamp(40px,4.6vw,60px);line-height:1;color:var(--orange)}
.zahlen span{font-size:17px;color:var(--nacht-grau)}
.highlight__zeit{margin-top:40px;padding-top:24px;border-top:1px solid #3A3733;font-size:16px;color:var(--nacht-grau)}
.highlight__zeit b{color:var(--nacht-text)}

/* ---------- Anmeldung ---------- */
.anmeldung{padding-block:var(--abschnitt)}
.anmeldung__raster{display:grid;gap:48px}
@media (min-width:980px){.anmeldung__raster{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}}
.fakten{list-style:none;margin:0 0 40px;padding:0;display:flex;flex-direction:column;gap:10px}
.fakten li{border:1px solid var(--rahmen);padding:14px 18px;font-size:17px;background:transparent}
.fakten li b{font-weight:900}
.fakten small{font-size:14px;color:var(--grau)}
.fakten__fuss{font-size:14px;color:var(--grau);margin:0 0 40px}
.anfahrt h3{font-weight:900;text-transform:uppercase;font-size:18px;margin:0 0 8px}
.anfahrt p{margin:0 0 8px}
@media (min-width:980px){.anmeldung__seite{position:sticky;top:calc(var(--kopf) + 24px)}}

.formular{background:var(--papier);padding:clamp(24px,4vw,48px);box-shadow:0 1px 0 var(--linie)}
.formular h3{font-weight:900;text-transform:uppercase;font-size:clamp(24px,2.6vw,32px);line-height:1.1;margin:0 0 8px}
.formular__einleitung{margin:0 0 32px;color:var(--grau)}
.felder{display:grid;gap:22px 20px}
@media (min-width:620px){.felder{grid-template-columns:repeat(6,1fr)}}
.feld{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}
@media (min-width:620px){.feld--2{grid-column:span 2}.feld--3{grid-column:span 3}.feld--4{grid-column:span 4}}
.feld label,.feld legend{font-size:15px;font-weight:600}
.feld .pflicht{color:var(--orange-text);font-weight:700}
.feld input,.feld select{
  width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--rahmen);border-radius:0;
  background:var(--papier);color:var(--tinte);font:400 17px/1.3 Inter,sans-serif;appearance:none;-webkit-appearance:none;
}
.feld select{
  padding-right:44px;cursor:pointer;
  background:var(--papier) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231D1C1A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;
}
.feld input:hover,.feld select:hover{border-color:var(--tinte)}
.feld input:focus-visible,.feld select:focus-visible{outline:2px solid var(--tinte);outline-offset:0;border-color:var(--tinte)}
.feld [aria-invalid="true"]{border-color:var(--fehler);border-width:2px}
.feld__fehler{color:var(--fehler);font-size:14px;font-weight:600;margin:0}
.feld__fehler:empty{display:none}
.feld__hilfe{font-size:14px;color:var(--grau);margin:0}
.hinweis-preis{
  grid-column:1/-1;border-left:4px solid var(--orange);background:#FBF3E4;padding:14px 18px;font-size:16px;margin:0;
}
.hinweis-preis[hidden]{display:none}
.haken{grid-column:1/-1;display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;font-size:16px;line-height:1.5}
.haken input{
  width:24px;height:24px;margin:2px 0 0;accent-color:var(--tinte);cursor:pointer;
}
.haken label{cursor:pointer}
.haken .feld__fehler{grid-column:2}
.linkknopf{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:600}
.honig{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formular__absenden{grid-column:1/-1;display:flex;flex-direction:column;gap:14px;margin-top:8px}
.formular__absenden .knopf{width:100%}
.formular__klein{font-size:14px;color:var(--grau);margin:0}
.formular__erfolg{padding:8px 0}
.formular__erfolg[hidden]{display:none}
.formular__erfolg .haekchen{display:grid;place-items:center;width:64px;height:64px;background:var(--orange);margin-bottom:24px}

/* ---------- FAQ ---------- */
.faq{background:var(--papier);padding-block:var(--abschnitt)}
.faq__liste{max-width:860px;border-top:1px solid var(--linie)}
.faq details{border-bottom:1px solid var(--linie)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:22px 0;font-weight:700;font-size:clamp(18px,1.4vw,20px);min-height:44px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";flex:0 0 18px;height:18px;
  background:linear-gradient(var(--tinte),var(--tinte)) center/18px 2px no-repeat,linear-gradient(var(--tinte),var(--tinte)) center/2px 18px no-repeat;
  transition:transform .2s;
}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 24px;max-width:44em;color:var(--grau)}

/* ---------- Veranstalter ---------- */
.veranstalter{padding-block:clamp(56px,7vw,96px)}
.veranstalter .dachzeile{text-align:center;color:var(--grau);margin-bottom:32px}
.logos{list-style:none;margin:0;padding:0;display:grid;gap:32px;justify-items:center;align-items:center}
@media (min-width:760px){.logos{grid-template-columns:repeat(3,1fr);gap:0}.logos li{width:100%;display:grid;place-items:center;min-height:110px}.logos li+li{border-left:1px solid var(--linie)}}
.logos img{height:auto}
.logo-brueckmann{width:220px}
.logo-finke{width:220px}
.logo-plandent{width:170px}

/* ---------- Fuß ---------- */
.fuss{background:var(--nacht);color:var(--nacht-grau);padding-block:40px;font-size:15px}
.fuss .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;align-items:center}
.fuss .wortmarke{color:var(--nacht-text);font-size:22px}
.fuss ul{display:flex;flex-wrap:wrap;gap:0 8px;list-style:none;margin:0;padding:0}
.fuss a,.fuss button{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:var(--nacht-text);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}
.fuss a:hover,.fuss button:hover{text-decoration:underline;text-underline-offset:5px}

/* ---------- Mobile Anmeldeleiste ---------- */
.leiste{
  position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--creme);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(29,28,26,.12);
  transform:translateY(0);transition:transform .25s;
}
.leiste .knopf{width:100%}
.leiste.ist-weg{transform:translateY(110%)}
@media (min-width:980px){.leiste{display:none}}
@media (max-width:979px){body{padding-bottom:76px}}

/* ---------- Dialog Teilnahmebedingungen ---------- */
dialog{border:0;padding:0;max-width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);background:var(--papier);color:var(--tinte)}
dialog::backdrop{background:rgba(22,21,19,.6)}
.dialog__kopf{position:sticky;top:0;background:var(--papier);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--linie)}
.dialog__kopf h2{font-size:20px;font-weight:900;text-transform:uppercase;margin:0}
.dialog__zu{width:44px;height:44px;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.dialog__inhalt{padding:8px 24px 32px;font-size:16px}
.dialog__inhalt h3{font-size:17px;font-weight:700;margin:24px 0 6px}
.dialog__inhalt p,.dialog__inhalt li{margin:0 0 8px}

/* ---------- Ergänzungen fürs Theme ---------- */
[hidden]{display:none!important}
.knopf__text{display:inline}
.knopf--hell{background:transparent;border-color:var(--tinte);color:var(--tinte)}
.knopf--hell:hover{background:var(--tinte);border-color:var(--tinte);color:var(--papier)}
.knopf[disabled]{opacity:.6;cursor:progress}
.haken a{font-weight:600;text-underline-offset:3px}
.formular__meldung{border-left:4px solid var(--fehler);background:#FBEAE8;padding:12px 16px;margin:0 0 24px;font-size:16px}
.formular__zu h3{font-weight:900;text-transform:uppercase;font-size:clamp(22px,2.4vw,28px);margin:0 0 8px}
.formular__erfolg .haekchen{color:var(--tinte)}
.logos a{display:inline-flex;padding:8px}
.fuss :focus-visible,.highlight :focus-visible{outline-color:var(--orange)}

/* Inhaltsseiten und Hinweisseiten */
.inhaltsseite{padding-block:clamp(48px,7vw,96px)}
.prosa{max-width:760px}
.prosa h2{font-weight:900;text-transform:uppercase;font-size:clamp(20px,2vw,24px);line-height:1.2;margin:48px 0 12px}
.prosa h3{font-weight:700;font-size:19px;margin:32px 0 8px}
.prosa p,.prosa ul,.prosa ol{margin:0 0 16px}
.prosa ul,.prosa ol{padding-left:1.3em}
.prosa li{margin-bottom:6px}
.prosa a{font-weight:600;text-underline-offset:3px}
.prosa strong{font-weight:700}
.prosa .spalten{display:grid;gap:24px}
@media (min-width:760px){.prosa .spalten{grid-template-columns:repeat(3,1fr)}}
.hinweisseite{padding-block:clamp(56px,9vw,120px)}
.hinweisseite__karte{max-width:720px;background:var(--papier);padding:clamp(28px,5vw,56px)}
.hinweisseite__karte form{margin:24px 0}
.hinweisseite__zurueck{margin-top:32px}
.dialog .prosa{max-width:none}
.dialog .prosa h2{font-size:17px;margin:24px 0 6px;text-transform:none;font-weight:700}
