/* Schriften inline (spart eine blockierende Datei) */
/* Selbst gehostete Web-Fonts (latin) – keine Verbindung zu Google */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/caveat-14ecf1bb.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: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/caveat-14ecf1bb.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: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/fraunces-39ce2001.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: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/fraunces-39ce2001.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: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/fraunces-39ce2001.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: 400;
  font-display: swap;
  src: url(../fonts/inter-56724408.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: 500;
  font-display: swap;
  src: url(../fonts/inter-56724408.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: 600;
  font-display: swap;
  src: url(../fonts/inter-56724408.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: 700;
  font-display: swap;
  src: url(../fonts/inter-56724408.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;
}

/* ============================================================
   Marco's Fahrschulteam — Design-System
   Rot / Asphalt / Fahrbahn-Gelb · Space Grotesk + Inter
   ============================================================ */
:root{
  --red:#E01B22;        --red-deep:#B3141A;   --red-soft:#F7E4DD;
  --ink:#26221E;        --granite:#24262B;    --granite-2:#2C2F35;
  --paper:#F7F1E6;      --white:#ffffff;      --line:#E7DCC8;
  --brass:#C7A24C;      --board:#24262B;      --note:#F4DC7A;
  --yellow:#F2C14E;     --muted:#75695A;      --muted-2:#9a8f7d;
  --asphalt:#24262B;    --asphalt-2:#2C2F35;  --cork:#CBA36A;
  --r:14px; --r-lg:22px; --r-sm:9px;
  --shadow:0 16px 40px -20px rgba(60,45,25,.45);
  --shadow-sm:0 10px 26px -16px rgba(60,45,25,.40);
  --shadow-note:0 12px 26px -14px rgba(60,45,25,.5);
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display{
  font-family:"Fraunces","Inter",serif;
  font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0;
}
h1{font-size:clamp(2.5rem,6.2vw,4.6rem)}
h2{font-size:clamp(1.9rem,3.8vw,2.9rem)}
h3{font-size:1.3rem;letter-spacing:-.01em}
p{margin:0 0 1rem}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.section{padding:clamp(56px,8vw,110px) 0}
.eyebrow{
  display:inline-flex;align-items:center;gap:.55em;font-weight:700;
  font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--red);
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--red)}
.lead{font-size:1.18rem;color:var(--muted);max-width:56ch}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--red);--fg:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;text-align:center;
  background:var(--bg);color:var(--fg);font-weight:700;
  font-family:"Fraunces",serif;letter-spacing:-.01em;
  padding:.92em 1.5em;border-radius:999px;border:2px solid var(--bg);
  cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s;
  box-shadow:0 10px 24px -12px rgba(224,27,34,.7);font-size:1rem;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(224,27,34,.8)}
.btn:active{transform:translateY(0)}
.btn--ghost{--bg:transparent;--fg:var(--ink);border-color:var(--ink);box-shadow:none}
.btn--ghost:hover{background:var(--ink);color:#fff;box-shadow:none}
.btn--light{--bg:#fff;--fg:var(--ink);border-color:#fff;box-shadow:none}
.btn--wa{--bg:#1FA855;border-color:#1FA855;box-shadow:0 10px 24px -12px rgba(31,168,85,.7)}
.btn--lg{padding:1.05em 1.8em;font-size:1.08rem}

/* ---------- Header / Nav ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(244,236,220,.9);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:1.4rem;height:74px}
.brand{display:flex;align-items:center;gap:.6rem}
.brand-logo{display:block;width:auto;height:44px;transition:transform .15s ease}
.brand:hover .brand-logo{transform:scale(1.02)}
.brand-logo--foot{height:40px}
.brand-logo--mark{display:none;height:40px}
.nav-links{display:flex;align-items:center;gap:.35rem;margin-left:auto}
.nav-links a{font-weight:600;font-size:.95rem;color:var(--ink);padding:.5em .7em;
  border-radius:9px;transition:color .15s,background .15s}
.nav-links a:hover{color:var(--red);background:var(--red-soft)}
.nav-links a.active{color:var(--red)}
.nav-cta{display:flex;align-items:center;gap:.5rem;margin-left:.4rem}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px;
  width:46px;height:46px;border-radius:10px}
.burger span{display:block;width:24px;height:2.5px;background:var(--ink);margin:5px auto;border-radius:2px;transition:.25s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero = durchgehende Granit-Pinnwand ---------- */
.hero{position:relative;overflow:hidden;color:#F7F1E6;isolation:isolate;
  min-height:100vh;min-height:100svh;display:flex;align-items:center;
  background:#12100d url("../img/road-hero.jpg") center 42%/cover;
  background-image:image-set(url("../img/road-hero.webp") type("image/webp"),url("../img/road-hero.jpg") type("image/jpeg"))}
.hero .wrap{width:100%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(10,11,14,.86) 0 38%,rgba(10,11,14,.52) 64%,rgba(10,11,14,.34))}
.hero .wrap{padding-top:clamp(54px,7vw,88px);padding-bottom:clamp(54px,7vw,88px)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center}
.hero h1{color:#fff;font-size:clamp(2.5rem,5.6vw,4.3rem)}
.hero h1 .hl{position:relative;white-space:nowrap;color:#fff}
.hero h1 .hl::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.08em;height:.4em;
  background:var(--red);z-index:-1;transform:rotate(-1.2deg);border-radius:3px;opacity:.9}
.hero .lead{color:rgba(247,241,230,.86)}
.hero .accent-hand{color:#fff;opacity:.92}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}

/* Pinnwand-Collage (rechts im Hero) */
.pinwall{position:relative;min-height:520px}
.pinwall .polaroid{position:absolute;width:250px}
.pinwall .p1{top:118px;left:-2%;transform:rotate(-5deg);z-index:2}
.pinwall .p2{top:156px;left:33%;transform:rotate(3deg);z-index:3}
.pinwall .p3{top:258px;left:12%;transform:rotate(-2deg);z-index:2}
.pinwall .p4{top:236px;left:44%;transform:rotate(4.5deg);z-index:1}
.pinwall .polaroid .ph{aspect-ratio:1/1;border-radius:2px;
  background:linear-gradient(135deg,#e9e2d4,#d9cdb8)}
.pinwall .polaroid .cap{font-size:1.15rem;margin-top:.3rem}
.note-pinned{position:absolute;background:var(--note);color:#3a2f05;border-radius:3px;
  padding:18px 20px;width:250px;box-shadow:var(--shadow-note);z-index:50;
  top:-16px;right:2%;transform:rotate(3.5deg)}
.note-pinned p{margin:0;font-family:"Caveat",cursive;font-weight:600;font-size:1.3rem;line-height:1.25}
.note-pinned .lbl{font-family:"Caveat",cursive;font-weight:700;font-size:1.35rem;
  color:var(--red);display:block;margin-bottom:.15rem}
.pin{position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:16px;height:16px;
  border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd98a,var(--brass) 55%,#8a6a1f);
  box-shadow:0 3px 6px rgba(0,0,0,.5);z-index:6}
.pin--red{background:radial-gradient(circle at 35% 30%,#ff6b6b,var(--red) 60%,#8f0f14)}

/* ---------- Marquee / roadline ---------- */
.roadline{background:var(--red);color:#fff;overflow:hidden;border-top:3px solid var(--yellow)}
.roadline .track{display:flex;gap:3rem;white-space:nowrap;padding:.7rem 0;
  animation:scroll 26s linear infinite;font-weight:700;font-family:"Fraunces";letter-spacing:.02em}
.roadline .track span{display:inline-flex;align-items:center;gap:.7rem}
.roadline .track span::after{content:"●";color:var(--yellow);font-size:.6rem}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.roadline .track{animation:none}}

/* ---------- Cards / features ---------- */
.grid{display:grid;gap:22px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;
  transition:transform .18s,box-shadow .18s,border-color .18s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:transparent}
.card .ic{width:48px;height:48px;border-radius:13px;background:var(--red-soft);color:var(--red);
  display:grid;place-items:center;font-size:1.35rem;margin-bottom:1rem}
.card h3{margin-bottom:.4rem}
.card p{color:var(--muted);margin:0;font-size:.98rem}
.feature-list{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.85rem}
.feature-list li{display:flex;gap:.8rem;align-items:flex-start}
.feature-list .chk{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:var(--red);
  color:#fff;display:grid;place-items:center;font-size:.8rem;margin-top:2px}

/* ---------- Route timeline ---------- */
.route{position:relative;display:grid;gap:26px;grid-template-columns:repeat(5,1fr)}
.route::before{content:"";position:absolute;top:30px;left:6%;right:6%;height:3px;z-index:0;
  background:repeating-linear-gradient(90deg,var(--yellow) 0 14px,transparent 14px 26px)}
.stop{position:relative;z-index:1;text-align:center}
.stop .no{width:60px;height:60px;margin:0 auto .9rem;border-radius:50%;background:var(--ink);color:#fff;
  display:grid;place-items:center;font-family:"Fraunces";font-weight:700;font-size:1.5rem;
  box-shadow:0 0 0 6px var(--paper)}
.stop:last-child .no{background:var(--red)}
.stop h3{font-size:1.05rem;margin-bottom:.25rem}
.stop p{font-size:.9rem;color:var(--muted);margin:0}

/* ---------- Split / callout ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.panel{background:var(--asphalt);color:#fff;border-radius:var(--r-lg);padding:clamp(30px,4vw,54px);position:relative;overflow:hidden}
.panel::after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(224,27,34,.55),transparent 70%)}
.panel h2{color:#fff}
.panel .lead{color:rgba(255,255,255,.8)}
.cta-band{background:var(--red);color:#fff;border-radius:var(--r-lg);padding:clamp(32px,5vw,60px);
  text-align:center;position:relative;overflow:hidden}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.9);max-width:52ch;margin-inline:auto}
.cta-band .btn--light{color:var(--red)}

/* ---------- Page hero (subpages) ---------- */
.phero{background:var(--asphalt);color:#fff;padding:clamp(56px,8vw,96px) 0 clamp(44px,6vw,72px)}
.phero .eyebrow{color:var(--yellow)}
.phero .eyebrow::before{background:var(--yellow)}
.phero h1{color:#fff;max-width:16ch}
.phero .lead{color:rgba(255,255,255,.82)}
.crumbs{font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:1.1rem}
.crumbs a:hover{color:#fff}

/* ---------- Prose ---------- */
.prose{max-width:70ch}
.prose h2{margin:2rem 0 .8rem}
.prose h3{margin:1.6rem 0 .5rem}
.prose ul{padding-left:1.1rem;color:var(--muted)}
.prose li{margin:.35rem 0}
.prose a{color:var(--red);font-weight:600;text-decoration:underline}

/* ---------- Forms ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(26px,3.5vw,42px);box-shadow:var(--shadow-sm)}
.form-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.field{display:flex;flex-direction:column;gap:.4rem}
.field.full{grid-column:1/-1}
.field label{font-weight:600;font-size:.9rem}
.fld{width:100%;font:inherit;font-size:1rem;padding:.8em .95em;border:1.5px solid var(--line);
  border-radius:var(--r-sm);background:var(--paper);transition:border-color .15s,box-shadow .15s}
.fld:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px var(--red-soft);background:#fff}
textarea.fld{resize:vertical;min-height:110px}
.errorlist{color:var(--red-deep);font-size:.85rem;margin:.2rem 0 0;padding-left:1rem}
.msg{display:flex;gap:.7rem;align-items:flex-start;background:#EAF7EE;border:1px solid #BfE6CB;
  color:#1c6b39;padding:1rem 1.15rem;border-radius:var(--r);margin-bottom:1.4rem;font-weight:600}
.msg--error{background:var(--red-soft);border-color:#f3c2c4;color:var(--red-deep)}

/* ---------- Contact tiles ---------- */
.loc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.loc h3{font-size:1.1rem;margin-bottom:.3rem}
.loc .adr{color:var(--muted);font-size:.95rem}
.loc .tel{display:inline-flex;align-items:center;gap:.5em;margin-top:.7rem;font-weight:700;color:var(--red)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:rgba(255,255,255,.72);padding:64px 0 30px;margin-top:20px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.site-footer h4{color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.site-footer a:hover{color:#fff}
.foot-links{display:grid;gap:.5rem}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:22px;font-size:.85rem}
.foot-brand .brand{color:#fff}
.foot-brand p{max-width:38ch;font-size:.95rem;margin-top:1rem}

/* ---------- Utilities ---------- */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.tint{background:var(--white)}
.hide-mob{display:initial}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .split{grid-template-columns:1fr;gap:30px}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .g-3{grid-template-columns:1fr 1fr}
  .route{grid-template-columns:1fr 1fr}
  .route::before{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .brand-logo--full{display:none}
  .brand-logo--mark{display:block}
}
@media (max-width:720px){
  .nav-links,.nav-cta .btn--ghost{display:none}
  .burger{display:block}
  .nav-links.show{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;
    background:var(--paper);border-bottom:1px solid var(--line);padding:14px 22px;gap:.2rem;box-shadow:var(--shadow)}
  .nav-links.show a{padding:.75em .5em;border-radius:9px}
  .form-grid{grid-template-columns:1fr}
  .g-2,.g-3,.g-4{grid-template-columns:1fr}
  .route{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .hide-mob{display:none}
}

/* ---------- One-Pager: Anker-Offset unter Sticky-Header ---------- */
section[id],[id].anchor-h{scroll-margin-top:88px}

/* ---------- Anmeldeabend-Zettel ---------- */
.anmeldeabend-band{background:var(--asphalt);padding:26px 0}
.notiz{position:relative;max-width:660px;margin:0 auto;background:var(--yellow);
  color:#3a2f05;border-radius:6px;padding:22px 28px;text-align:center;
  box-shadow:0 14px 34px -14px rgba(0,0,0,.55);transform:rotate(-1deg)}
.notiz p{margin:0;font-size:1.12rem;line-height:1.5}
.notiz b{color:#1c1602}
.notiz-pin{position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  width:16px;height:16px;border-radius:50%;background:var(--red);
  box-shadow:0 3px 6px rgba(0,0,0,.4),inset 0 -3px 4px rgba(0,0,0,.25)}

/* ---------- Instagram „Bestanden" ---------- */
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.ig-grid .instagram-media{margin:0 auto!important;min-width:0!important;width:100%!important}
.ig-empty{text-align:center;background:#fff;border:1px dashed var(--line);border-radius:var(--r);
  padding:40px 24px;max-width:560px;margin:0 auto}
.ig-empty p{color:var(--muted);margin:0 0 1rem}
@media (max-width:900px){.ig-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ig-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}

/* ---------- Kurstabelle ---------- */
.kurstabelle{max-width:840px;margin:0 auto;display:grid;gap:12px}
.kursrow{display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 22px}
.kursrow-main{display:flex;flex-direction:column;gap:.15rem}
.kursrow-datum{font-family:"Inter",system-ui,sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:-.01em;color:var(--ink)}
.kursrow-name{color:var(--muted);font-size:.95rem}
.kursrow-status{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.pill{font-size:.82rem;font-weight:700;padding:.35em .8em;border-radius:999px;white-space:nowrap}
.pill--frei{background:#EAF7EE;color:#1c6b39}
.pill--wenig{background:#FDF3E2;color:#9a6a12}
.pill--voll{background:#FBE9E9;color:var(--red-deep)}
.btn--sm{padding:.55em 1.05em;font-size:.9rem;box-shadow:none}
.hinweis-klein{max-width:840px;margin:1.6rem auto 0;color:var(--muted);font-size:.9rem;text-align:center}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:1.4rem}
.team-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);
  padding:16px 18px;display:flex;flex-direction:column}
.team-card b{font-family:"Fraunces",serif;font-size:1.15rem}
.team-card span{color:var(--muted);font-size:.88rem}

@media (max-width:600px){
  .kursrow{flex-direction:column;align-items:flex-start;gap:12px}
  .kursrow-status{width:100%;justify-content:space-between}
  .notiz{transform:none}
}

/* ============================================================
   „Posted look" — Pinnwand / weicher Schullook
   ============================================================ */
.hand{font-family:"Caveat",cursive;font-weight:700;line-height:1}
.eyebrow-hand{display:inline-block;font-family:"Caveat",cursive;font-weight:700;
  font-size:1.5rem;color:var(--red);transform:rotate(-2deg);margin-bottom:.2rem}

/* Granit/Schiefer-Pinnwand-Panel (z. B. Bestanden) */
.cork{position:relative;border-radius:var(--r-lg);padding:clamp(30px,4.5vw,60px);
  background:linear-gradient(rgba(12,14,13,.28),rgba(12,14,13,.28)),
    url("../img/tex-granite.jpg") center/cover;
  box-shadow:inset 0 0 70px rgba(0,0,0,.6), var(--shadow);
  border:10px solid #26221e;
  outline:1px solid rgba(0,0,0,.5);outline-offset:-11px}

/* Polaroid (Bestanden-Fotos / Instagram-Embeds) */
.polaroid{background:#fffdf8;padding:12px 12px 16px;border-radius:3px;
  box-shadow:var(--shadow-note);position:relative;transition:transform .18s}
.polaroid:nth-child(3n){transform:rotate(-2deg)}
.polaroid:nth-child(3n+1){transform:rotate(1.6deg)}
.polaroid:nth-child(3n+2){transform:rotate(-.8deg)}
.polaroid:hover{transform:rotate(0) scale(1.02)}
.polaroid .cap{font-family:"Caveat",cursive;font-weight:700;font-size:1.25rem;
  text-align:center;color:#3a2f1a;margin-top:.4rem}
.pin{position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:18px;height:18px;
  border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff6b6b,var(--red) 60%,#8f0f14);
  box-shadow:0 3px 6px rgba(0,0,0,.4);z-index:2}

/* „Zettel" für Embeds/Leerzustand */
.ig-grid .instagram-media{border-radius:3px!important;box-shadow:none!important}
.ig-empty{background:#fffdf8;border:0;box-shadow:var(--shadow-note);transform:rotate(-1deg)}
.ig-empty::before{content:"";position:absolute}

/* Papier-Cards (überschreibt die glatten Cards weicher) */
.card{background:#fffdf8;border:1px solid rgba(120,95,55,.14);border-radius:8px}
.card:hover{transform:translateY(-2px) rotate(-.4deg)}

/* Abschnitts-Trenner als „Klebeband" */
.tape-divider{width:120px;height:26px;margin:0 auto;background:rgba(214,190,120,.5);
  border:1px dashed rgba(150,120,60,.4);transform:rotate(-1.5deg);border-radius:2px}

/* ============================================================
   Ganzseitige Granit-Bühne + Papier-Elemente (Rollout)
   ============================================================ */
/* frühere Granit-Sektionen -> jetzt helle, warme Flächen */
.section--granite{position:relative;background:#EFE6D4}
.wall-empty{color:var(--muted)}
.wall-empty a{color:var(--red);text-decoration:underline}

/* Instagram-Pinnwand über die volle Breite (Bestanden) */
.wall{position:relative;display:flex;flex-wrap:wrap;gap:28px;justify-content:center;align-items:flex-start}
.wall .polaroid{width:270px}
.wall .polaroid:nth-child(4n){transform:rotate(-3deg)}
.wall .polaroid:nth-child(4n+1){transform:rotate(2deg)}
.wall .polaroid:nth-child(4n+2){transform:rotate(-1.5deg)}
.wall .polaroid:nth-child(4n+3){transform:rotate(3deg)}
.wall .polaroid .ph{aspect-ratio:1/1;border-radius:2px;background:linear-gradient(135deg,#e9e2d4,#d9cdb8)}
.wall-empty{max-width:520px;margin:0 auto;text-align:center;color:rgba(247,241,230,.9)}

/* Schlichte Notiz-Cards (Vorteile) – keine Emoji-Kacheln */
.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.note-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:5px;
  padding:26px 26px 24px;box-shadow:var(--shadow-note)}
.note-card::before{content:"";position:absolute;top:14px;right:16px;width:26px;height:4px;
  background:var(--red);border-radius:2px}
.note-card h3{margin:0 0 .45rem;padding-right:36px}
.note-card p{color:var(--muted);margin:0;font-size:.98rem}
@media (max-width:900px){.notes-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.notes-grid{grid-template-columns:1fr}}

/* Team als angepinnte Polaroids */
.team-wall{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;margin-top:2rem}
.team-wall .polaroid{position:relative;width:210px}
.team-wall .polaroid:nth-child(2n){transform:rotate(-2.5deg)}
.team-wall .polaroid:nth-child(2n+1){transform:rotate(2deg)}
.team-wall .polaroid .ph{aspect-ratio:4/5;border-radius:2px;background:linear-gradient(135deg,#e9e2d4,#cdbfa6)}
.team-wall .polaroid .cap{font-family:"Fraunces",serif;font-weight:700;font-size:1.2rem;text-align:center;margin-top:.4rem;color:var(--ink)}
.team-wall .polaroid .role{display:block;font-family:"Inter";font-weight:600;font-size:.78rem;
  letter-spacing:.04em;color:var(--muted);text-transform:uppercase;text-align:center}

/* Footer: schlichtes Dunkel */
.site-footer{background:#1c1a17;position:relative;isolation:isolate}

/* Panels: schlichtes Dunkel statt Stein */
.panel{background:#211f1c;isolation:isolate;position:relative}
.panel::after{background:radial-gradient(circle,rgba(224,27,34,.4),transparent 70%)}

/* Verifizierte Vorteile als 2-spaltige Checkliste */
.vorteile-cols{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 2.6rem}
@media (max-width:720px){.vorteile-cols{grid-template-columns:1fr}}

/* Team- & Fahrzeug-Foto (ein Bild statt Polaroids) */
.team-shots{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;align-items:stretch}
.team-shots .shot{margin:0}
.team-shots .shot img{width:100%;height:100%;object-fit:cover;border-radius:8px;
  border:6px solid #fff;box-shadow:var(--shadow);display:block}
.team-shots .shot figcaption{margin-top:.9rem;color:var(--muted);font-size:.98rem;text-align:center}
.team-shots .shot figcaption b{color:var(--ink)}
@media (max-width:760px){.team-shots{grid-template-columns:1fr;gap:22px}}

/* Vorteile als redaktionelle Highlights (statt langweiliger Checkliste) */
.vorteile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vt{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:34px 28px 28px;box-shadow:var(--shadow-sm);
  transition:transform .18s,box-shadow .18s}
.vt:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.vt::before{content:"";position:absolute;left:28px;top:0;width:38px;height:5px;
  background:var(--red);border-radius:0 0 4px 4px}
.vt-no{position:absolute;top:-.18em;right:.12em;font-family:"Fraunces",serif;font-weight:700;
  font-size:5.4rem;line-height:1;color:var(--brass);opacity:.16;pointer-events:none}
.vt h3{position:relative;font-size:1.4rem;margin:0 0 .5rem}
.vt p{position:relative;color:var(--muted);margin:0;font-size:1rem}
@media (max-width:900px){.vorteile-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.vorteile-grid{grid-template-columns:1fr}}

/* Echte Instagram-Fotos in den Polaroids */
a.polaroid{display:block;color:inherit;text-decoration:none}
.pinwall .polaroid .ph,.wall .polaroid .ph{background-size:cover;background-position:center}
.wall a.polaroid{transition:transform .18s}
.wall a.polaroid:hover{transform:rotate(0) scale(1.03)}

/* ============================================================
   Instagram-Karten (Hero + „Unsere Fahrschüler")
   ============================================================ */
.igcard{display:block;background:#fff;color:#262626;border-radius:14px;overflow:hidden;
  border:1px solid rgba(0,0,0,.07);box-shadow:var(--shadow-note);text-decoration:none;
  transition:transform .3s cubic-bezier(.2,.65,.2,1),box-shadow .3s ease;
  will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.igcard .ig-head{display:flex;align-items:center;gap:8px;padding:9px 11px}
.igcard .ig-avatar{width:28px;height:28px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);
  box-shadow:inset 0 0 0 2px #fff}
.igcard .ig-user{font-family:"Inter";font-weight:700;font-size:.82rem;letter-spacing:-.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#262626}
.igcard .ig-glyph{width:22px;height:22px;flex:0 0 auto;color:#262626}
.igcard .ig-logo{margin-left:auto}
.igcard .ig-photo{display:block;width:100%;height:auto;object-fit:cover;background:#eee;aspect-ratio:1/1;background-size:cover;background-position:center;
  transform:translateZ(0)}
.igcard .ig-foot{display:flex;align-items:center;gap:13px;padding:9px 11px}
.igcard .ig-foot .ig-more{margin-left:auto;font-family:"Inter";font-size:.78rem;font-weight:600;color:#8a8a8a}

/* Hero: Insta-Karten verstreut, Hover holt nach vorn */
.pinwall{min-height:600px}
.pinwall .igcard{position:absolute;width:236px}
.pinwall .igcard:hover{transform:rotate(0) scale(1.06);z-index:40;
  box-shadow:0 36px 64px -22px rgba(0,0,0,.6)}
.wall--ig .igcard:hover{transform:scale(1.05);z-index:40;
  box-shadow:0 32px 58px -22px rgba(60,45,25,.5)}

/* Wand: Grid aus Insta-Karten */
.wall--ig{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
.wall--ig .igcard{width:100%;transform:translateZ(0)}
.wall--ig .igcard:nth-child(3n){transform:rotate(-1.1deg) translateZ(0)}
.wall--ig .igcard:nth-child(3n+1){transform:rotate(.9deg) translateZ(0)}
.wall--ig .igcard:nth-child(3n+2){transform:rotate(-.3deg) translateZ(0)}
@media (max-width:900px){.wall--ig{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.wall--ig{grid-template-columns:1fr;max-width:360px;margin:0 auto}}

/* FES als 2-Schritt-Ablauf */
.fes-steps{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px;margin:0 auto}
.fes-step{display:flex;gap:16px;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:16px;padding:28px 26px;box-shadow:var(--shadow-sm)}
.fes-no{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;
  font-family:"Fraunces",serif;font-weight:700;font-size:1.45rem;display:grid;place-items:center}
.fes-step h3{margin:.1rem 0 .35rem}
.fes-step p{margin:0;color:var(--muted);font-size:.98rem}
@media (max-width:700px){.fes-steps{grid-template-columns:1fr}}

/* B196: rotes Badge-Panel + Text (gespiegelt) */
.b196-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:center}
.b196-visual{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);
  aspect-ratio:4/5;background:#e9e2d4}
.b196-visual img{width:100%;height:100%;object-fit:cover;display:block}
.b196-visual .b196-badge{position:absolute;left:18px;bottom:18px;font-family:"Fraunces",serif;
  font-weight:700;font-size:2rem;line-height:1;color:#fff;background:var(--red);border-radius:12px;
  padding:.1em .34em;box-shadow:0 10px 24px -10px rgba(0,0,0,.55)}
@media (max-width:820px){.b196-grid{grid-template-columns:1fr;gap:26px}
  .b196-visual{aspect-ratio:16/10;max-width:520px;margin:0 auto}}

/* Reichere Hover-Effekte für die Instagram-Karten */
.igcard .ig-foot .ig-glyph:first-child{transition:fill .2s ease,stroke .2s ease,transform .2s ease}
.igcard:hover .ig-foot .ig-glyph:first-child{fill:var(--red);stroke:var(--red);transform:scale(1.15)}
.igcard .ig-more{transition:color .2s ease}
.igcard:hover .ig-more{color:var(--red)}
.igcard .ig-user{transition:color .2s ease}
.igcard:hover .ig-user{color:var(--red)}

/* Feinschliff: schlankerer Navbar-Button, kompaktere Hero-Pinnwand (passt in 100svh) */
.nav-cta .btn{padding:.5em 1.2em;font-size:.92rem;box-shadow:0 6px 16px -8px rgba(224,27,34,.6)}
.pinwall{min-height:560px}
.pinwall .igcard{width:206px}
.hero .wrap{padding-top:clamp(26px,3.6vw,48px);padding-bottom:clamp(26px,3.6vw,48px)}

/* ---------- Dezente Scroll-Einblendungen ---------- */
.reveal{opacity:0;transform:translateY(18px);
  transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1);
  will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal.in{opacity:1!important;transform:none!important;transition:none!important}
}

/* ============================================================
   Mobile-/Feinschliff-Fixes
   ============================================================ */
/* Eigene Selects statt Browser-Dropdown */
select.fld{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:44px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23E01B22' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 15px center}

/* Team-/Fahrzeugfotos vollständig zeigen (nicht hart beschneiden) */
.team-shots{align-items:start}
.team-shots .shot img{height:auto;object-fit:contain}

/* Kontakt: „Direkt erreichen" + Standorte zentriert (Desktop & Mobile) */
#kontakt .panel h3{text-align:center}
#kontakt .kontakt-liste .btn{white-space:nowrap}
#kontakt .grid .card{text-align:center}

/* Navbar-Anmelden nur im aufgeklappten Burger-Menü */
.nav-anmelden{display:none}

@media (max-width:720px){
  .nav-cta{display:none}                 /* verlorenen Oben-Button entfernen */
  .brand-logo--mark{display:none!important}
  .brand-logo--full{display:block!important}   /* volles Logo statt nur Auto */
  .brand-logo{height:34px}
  .nav-links.show .nav-anmelden{display:block;margin-top:.6rem;padding:.85em 1em;
    background:var(--red);color:#fff;text-align:center;border-radius:999px;
    font-family:"Fraunces",serif;font-weight:700;
    box-shadow:0 8px 20px -10px rgba(224,27,34,.7)}
  .nav-links.show .nav-anmelden:hover{background:var(--red-deep);color:#fff}
  /* Hero mobil aufgeräumt: alles auf eine Mittelachse */
  .hero-grid{text-align:center}
  .hero .lead{margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .panel .hero-actions{justify-content:center}   /* Schnupperstunde-Button zentriert */
}
@media (max-width:400px){ .brand-logo{height:30px} }

/* ---------- Variante 3: Hero mobil aufgeräumt (Zettel/Insta wandern in „Unsere Fahrschüler") ---------- */
.anmeldeabend-mobile{display:none}
@media (max-width:720px){
  /* Hero mobil: Pinnwand komplett aus, Zettel oben im Fluss (kein Overlap) */
  .hero .pinwall{display:none}
  .hero-note-m{display:block}
  .anmeldeabend-mobile .note-m{position:relative;background:var(--note);color:#3a2f05;
    border-radius:5px;padding:22px 24px 20px;max-width:340px;box-shadow:var(--shadow-note);
    transform:rotate(-1.4deg);text-align:center}
  .anmeldeabend-mobile .note-m .lbl{font-family:"Caveat",cursive;font-weight:700;font-size:1.5rem;
    color:var(--red);display:block;margin-bottom:.25rem}
  .anmeldeabend-mobile .note-m p{margin:0;font-family:"Caveat",cursive;font-weight:600;font-size:1.35rem;line-height:1.25}
  /* Standalone-Buttons in Text-/Info-Blöcken mobil zentrieren */
  .b196-grid > div > .btn,
  .split > div > .btn{display:flex;width:fit-content;margin-left:auto;margin-right:auto}
}

/* Online-Anmelde-Frame (fahrschule.live) */
.reg-frame{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.reg-frame iframe{display:block;width:100%;height:1080px;border:0}

/* Anmeldeabend-Zettel oben im Hero (nur mobil sichtbar, im normalen Fluss) */
.hero-note-m{display:none;position:relative;background:var(--note);color:#3a2f05;
  border-radius:5px;padding:12px 16px 11px;max-width:280px;margin:.2rem auto 1.6rem;
  box-shadow:var(--shadow-note);transform:rotate(-1.6deg);text-align:center}
.hero-note-m .lbl{font-family:"Caveat",cursive;font-weight:700;font-size:1.4rem;
  color:var(--red);display:block;margin-bottom:.08rem;line-height:1.1}
.hero-note-m p{margin:0;font-family:"Caveat",cursive;font-weight:600;font-size:1.28rem;line-height:1.25;color:#3a2f05}

/* Reihenfolge-Fix: Zettel mobil sichtbar (muss nach der Basis-Regel stehen) */
@media (max-width:720px){ .hero-note-m{display:block} }

/* ============ FAQ ============ */
.faq-list{max-width:820px;margin:0 auto;display:grid;gap:10px}
.faq{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s,box-shadow .2s}
.faq[open]{border-color:#dccbb0;box-shadow:var(--shadow-sm)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:18px 22px;font-weight:600;font-size:1.05rem;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 auto;width:26px;height:26px;border-radius:50%;
  background:var(--red-soft) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23E01B22' stroke-width='2.6' stroke-linecap='round'><path d='M12 5v14M5 12h14'/></svg>") center/14px no-repeat;
  transition:transform .25s ease}
.faq[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--red)}
.faq p{margin:0;padding:0 22px 20px;color:var(--muted);line-height:1.6}
@media (max-width:720px){.faq summary{padding:15px 16px;font-size:1rem}.faq p{padding:0 16px 16px}}

/* Mobil: eigenes, leichtes Hero-Bild (LCP) */
@media (max-width:720px){.hero{background-image:url("../img/road-hero-m.webp")}}
