
:root{
  --navy:#14283d;
  --navy-2:#203a53;
  --teal:#169ca7;
  --teal-dark:#0e7f89;
  --aqua:#edf8f8;
  --yellow:#fff4bd;
  --cream:#fbfcfa;
  --white:#fff;
  --text:#17283a;
  --muted:#627080;
  --line:#dfe8e8;
  --shadow:0 12px 35px rgba(20,40,61,.08);
  --radius:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:var(--cream); color:var(--text); line-height:1.65; overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
/* Gesetzeslinks im Impressum deutlich erkennbar machen */
.legal-link{text-decoration:underline;text-underline-offset:3px}

.container{width:min(1180px,92%);margin-inline:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:9999}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:1.55rem;letter-spacing:-.06em;font-weight:800;white-space:nowrap;color:var(--navy)}
.brand span{color:var(--teal)}
.nav-links{display:flex;align-items:center;gap:27px;font-size:.95rem;font-weight:650}
.nav-links a{padding:26px 0;position:relative}
.nav-links a[aria-current="page"]{color:var(--teal)}
.nav-links a[aria-current="page"]::after{content:"";position:absolute;height:3px;background:var(--teal);left:0;right:0;bottom:17px;border-radius:3px}
.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 20px;font-weight:750;transition:.2s ease;border:2px solid transparent}
.header-cta,.button.primary{background:var(--teal);color:#fff}
.header-cta:hover,.button.primary:hover{background:var(--teal-dark);transform:translateY(-1px)}
.button.secondary{background:#fff;color:var(--teal);border-color:var(--teal)}
.button.secondary:hover{background:var(--aqua)}
.button.dark{background:var(--navy);color:#fff}
.button.light{background:#fff;color:var(--navy)}
.menu-toggle{display:none;background:none;border:0;font:inherit;font-size:1.8rem;color:var(--navy);cursor:pointer}

.hero-wrap{padding:14px 0 0}
.hero{
  position:relative; min-height:520px; border-radius:24px; overflow:hidden; background:var(--aqua);
  display:grid; grid-template-columns:46% 54%; align-items:stretch; box-shadow:var(--shadow)
}
.hero-copy{position:relative;z-index:2;padding:68px 34px 58px 52px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(237,248,248,.99) 0%,rgba(237,248,248,.96) 70%,rgba(237,248,248,.25) 100%)}
.eyebrow{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--teal-dark);font-weight:800;margin-bottom:16px}
h1{font-size:clamp(2.9rem,5.2vw,4.8rem);line-height:1.02;letter-spacing:-.045em;font-weight:700;max-width:610px}
h1 span{display:block}
.hero-lead{font-size:1.16rem;line-height:1.5;max-width:520px;color:var(--text);margin:20px 0 26px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-media{min-height:520px;position:relative;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:65% center}
.quick-values{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:26px 0 8px}
.quick-value{display:flex;align-items:center;justify-content:center;gap:13px;padding:8px 24px;border-right:1px solid var(--line);font-weight:700}
.quick-value:last-child{border-right:0}
.value-icon{width:52px;height:52px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;color:var(--teal);font-size:1.35rem;flex:0 0 auto}

.section{padding:78px 0}
.section.aqua{background:var(--aqua)}
.section.white{background:#fff}
.section-head{text-align:center;max-width:760px;margin:0 auto 38px}
.section-head h2,.section h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em;font-weight:700}
.section-head p,.section-intro{font-size:1.08rem;color:var(--muted);margin-top:10px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 5px 20px rgba(20,40,61,.04)}
.card-image{aspect-ratio:4/2.25;overflow:hidden}
.card-image img{width:100%;height:100%;object-fit:cover}
.card-body{padding:20px 22px 22px}
.card-kicker{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--teal-dark);font-weight:800}
.card h3{font-size:1.65rem;line-height:1.15;margin:6px 0 3px}
.card-meta{color:var(--muted);font-size:1rem}
.card-link{display:inline-flex;gap:8px;margin-top:14px;color:var(--teal-dark);font-weight:750}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);transition:.2s ease}

.thomas{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center;background:var(--aqua);border-radius:22px;padding:30px}
.thomas-photo{height:290px;border-radius:15px;overflow:hidden}
.thomas-photo img{width:100%;height:100%;object-fit:cover;object-position:70% 22%}
.thomas-copy h2{margin-bottom:7px}
.thomas-copy p{color:var(--muted);font-size:1.08rem;margin-bottom:18px}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{padding:24px;border:1px solid var(--line);background:#fff;border-radius:18px}
.feature h3{font-size:1.2rem;margin-bottom:8px}.feature p{color:var(--muted)}

.language-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.language{padding:25px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.language h3{font-size:1.2rem;margin-bottom:7px}.language p{color:var(--muted)}

.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hours{padding:28px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.hours.teal{background:var(--aqua)}
.hours h3{margin-bottom:15px;font-size:1.2rem}
.time-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line)}
.time-row:last-child{border-bottom:0}

.cta{background:var(--navy);color:#fff;padding:78px 0}
.cta-inner{text-align:center;max-width:760px;margin:auto}.cta h2{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.03;letter-spacing:-.04em}.cta p{color:#d5dfe8;margin:14px auto 24px;max-width:650px}.cta .actions{justify-content:center}

.page-hero{padding:70px 0 48px;background:var(--aqua)}
.page-hero .container{max-width:980px}.page-hero h1{max-width:900px;margin-bottom:12px}
.page-hero h1{max-width:900px}.page-hero .intro{max-width:780px;color:var(--muted);font-size:1.08rem}
.license-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}
.license-card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px}
.license-card .num{font-size:.75rem;letter-spacing:.12em;color:var(--teal-dark);font-weight:800}
.license-card .license{font-size:3.2rem;font-weight:800;letter-spacing:-.06em;line-height:1;margin:12px 0}
.license-card h2{font-size:1.3rem}.license-card p{color:var(--muted);margin-top:8px}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.info{padding:24px;border-top:4px solid var(--teal);background:#fff;border-radius:12px}.info h3{font-size:1.15rem;margin-bottom:8px}.info p{color:var(--muted)}
.page-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.page-link{padding:25px;background:#fff;border:1px solid var(--line);border-radius:18px}.page-link h3{font-size:1.2rem}.page-link p{color:var(--muted);margin-top:6px}
.image-split{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
.image-split img{width:100%;height:420px;object-fit:cover;border-radius:18px}
.content-box{padding:10px}.content-box h2{margin-bottom:12px}.content-box p{color:var(--muted);margin-bottom:14px}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.contact-card{padding:28px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.contact-card.teal{background:var(--aqua)}
.contact-card h2{font-size:1.5rem;margin-bottom:15px}.contact-card .big{font-size:2rem;font-weight:750;margin:3px 0 12px}.contact-card p{color:var(--muted)}.contact-card .button{margin-top:15px}
.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.address-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.arrival-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.arrival{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.arrival p{color:var(--muted);margin-top:6px}

footer{background:#0e1d2d;color:#d8e2ea;padding:38px 0}
.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}
.footer-brand{font-size:1.4rem;font-weight:800}.footer-brand span{color:#59cbd2}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:.9rem}.footer-links a:hover{color:#fff}
.footer-note{font-size:.82rem;color:#9fb0bd;margin-top:20px}

@media(max-width:900px){
  .nav-links{gap:16px}.header-cta{display:none}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:46px 34px 30px;background:var(--aqua)}
  .hero-media{height:440px;min-height:0}
  .hero-media img{object-position:68% center}
  .quick-values{grid-template-columns:1fr;gap:0;padding:12px 0}.quick-value{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line);padding:12px 0}.quick-value:last-child{border-bottom:0}
  .cards,.license-grid,.feature-grid,.language-grid,.info-grid,.arrival-grid{grid-template-columns:1fr 1fr}
  .thomas{grid-template-columns:1fr}
  .image-split,.contact-grid,.address-grid,.hours-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .site-header{position:sticky}
  .nav{min-height:68px}.brand{font-size:1.35rem}
  .menu-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 4%;flex-direction:column;align-items:stretch;gap:0;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}.nav-links a{padding:13px 0;border-bottom:1px solid var(--line)}.nav-links a:last-child{border-bottom:0}.nav-links a[aria-current="page"]::after{display:none}
  .hero-wrap{padding-top:8px}.hero{border-radius:16px}.hero-copy{padding:36px 23px 25px}.hero-media{height:420px}.hero-media img{object-position:69% center}
  h1{font-size:clamp(2.15rem,10vw,2.9rem);letter-spacing:-.035em}
  .hero-lead{font-size:1.02rem}.actions{flex-direction:column;align-items:stretch}.button{width:100%}
  .section{padding:58px 0}.section-head{margin-bottom:28px}.section-head h2,.section h2{font-size:2rem}
  .cards,.license-grid,.feature-grid,.language-grid,.info-grid{grid-template-columns:1fr}
  .thomas{padding:16px}.thomas-photo{height:260px}
  .page-hero{padding:48px 0 35px}.page-hero h1{font-size:2.35rem}
  .image-split img{height:300px}
  .footer-inner{flex-direction:column}
}

/* Rechtliche Links im Footer */
.footer-legal{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.footer-legal a{color:inherit;text-decoration:none;opacity:.85}
.footer-legal a:hover{text-decoration:underline;opacity:1}
@media (max-width:700px){.footer-legal{width:100%}}

/* Bildausschnitte: wichtige Personen/Fahrzeugdetails sichtbar halten */
.image-split img[alt*="Motorrad"]{object-position:center top}
.image-split img[alt*="Golf 8"]{object-position:center bottom}
.card-image img[alt*="Golf 8"]{object-position:center bottom}
@media(max-width:700px){
  .page-hero{padding:42px 0 34px}
  .page-hero h1{font-size:clamp(2rem,9vw,2.7rem);line-height:1.08;max-width:100%;overflow-wrap:anywhere}
  .page-hero .intro{font-size:1rem}
  .image-split img[alt*="Motorrad"]{height:360px;object-position:center top}
  .image-split img[alt*="Golf 8"]{height:360px;object-position:center bottom}
  .card-image{aspect-ratio:4/3}
  .card-image img[alt*="Golf 8"]{object-position:center bottom}
}

/* Motorrad: frontalere Ansicht mit Fahrer und möglichst vollständigem Motorrad */
.image-split img[alt*="Motorrad"],
.card-image img[alt*="Motorrad"] { object-fit: cover; object-position: center center; }
@media(max-width:700px){
  .image-split img[alt*="Motorrad"],
  .card-image img[alt*="Motorrad"] { object-position:center center; }
}

/* Neues Motorradfoto: Portraitaufnahme mit Fahrer und Motorrad */
img[src*="motorrad-fahrer-front.jpg"] { object-fit: cover; object-position: center center; }
@media (max-width:700px) {
  img[src*="motorrad-fahrer-front.jpg"] { object-position: center center; }
}

/* Motorradfoto: Portrait vollständig zeigen – Kopf und Motorrad nicht beschneiden */
img[src*="motorrad-fahrer-front.jpg"] {
  width: 100%;
  height: auto !important;
  max-height: 620px;
  object-fit: contain !important;
  object-position: center center !important;
}
@media(max-width:700px){
  img[src*="motorrad-fahrer-front.jpg"] {
    height: auto !important;
    max-height: none;
  }
}

/* Direkte Navigationslinks auf kleinen Bildschirmen kompakt umbrechen. */
html[lang="es"] .nav-links{
  font-weight:400;
}
@media(max-width:900px){
  .nav[aria-label="Hauptnavigation"]{
    min-height:0;
    flex-wrap:wrap;
    justify-content:center;
    gap:0 14px;
    padding-block:8px;
  }
  .nav[aria-label="Hauptnavigation"] > a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:8px 4px;
    white-space:nowrap;
    line-height:1.25;
  }
}
@media(max-width:700px){
  .nav[aria-label="Hauptnavigation"]{
    gap:0 10px;
    font-size:.9rem;
  }
}

/* V22: Lesbarkeit, konsistente Navigation und spanisches Angebot */
:root { --teal:#0c7e87; --teal-dark:#086770; }
body { font-size:17px; }
h1,.page-hero h1 { font-size:clamp(2.15rem,4.1vw,3.5rem);line-height:1.1;font-weight:650; }
.section-head h2,.section h2,.cta h2 { font-size:clamp(1.8rem,3vw,2.25rem);line-height:1.2; }
.contact-card h2 { font-size:1.5rem; }
.hero-copy { padding:48px 30px 42px 42px; }
.hero-language { margin:0 0 22px;font-size:1.05rem; }
.hero-language a { color:var(--teal-dark);font-weight:650;text-decoration:underline;text-underline-offset:4px; }
.nav { position:relative;gap:22px; }
.brand {font-size:1.35rem;letter-spacing:-.035em;}
.nav-links {gap:20px;font-size:.9rem;font-weight:500;}
html[lang="es"] .nav-links {font-weight:400;}
.content-box {max-width:850px;margin-inline:auto;}
.content-box ul {padding-left:1.4rem;}
.faq {max-width:850px;margin-inline:auto;}
.faq details {border-bottom:1px solid var(--line);padding:16px 0;}
.faq summary {cursor:pointer;font-weight:650;}
.faq p {margin-top:12px;color:var(--muted);}
.faq a {color:var(--teal-dark);text-decoration:underline;}
a:focus-visible,button:focus-visible,summary:focus-visible {outline:3px solid var(--navy);outline-offset:4px;}
@media(max-width:1020px){
 .nav {min-height:68px;justify-content:space-between;}
 .menu-toggle {display:block;min-width:44px;min-height:44px;}
 .nav-links {display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--line);padding:10px 18px;flex-direction:column;align-items:stretch;gap:0;box-shadow:var(--shadow);}
 .nav-links.open {display:flex;}
 .nav-links a {padding:12px 4px;min-height:44px;border-bottom:1px solid var(--line);}
 .nav-links a:last-child {border-bottom:0;}
 .nav-links a[aria-current="page"]::after {display:none;}
}
@media(max-width:700px){
 h1,.page-hero h1 {font-size:clamp(2rem,8.5vw,2.5rem);line-height:1.12;overflow-wrap:normal;}
 .hero-copy {padding:30px 23px;}
 .section {padding:46px 0;}
 .section-head h2,.section h2,.cta h2 {font-size:1.8rem;}
 .contact-card h2 {font-size:1.4rem;}
 .hero-media {height:340px;}
 .time-row {gap:12px;flex-wrap:wrap;}
 .page-links,.arrival-grid {grid-template-columns:1fr;}
}

/* V23: original photos, varied subjects and visible disclosure */
h1,.page-hero h1{font-size:clamp(2.15rem,3.8vw,3.25rem)}
figure.photo-frame,figure.hero-photo{margin:0;min-width:0}
.photo-caption{font-size:.84rem;line-height:1.5;color:#425466;padding:10px 12px;background:#f6f8f8;border-radius:0 0 12px 12px}
.hero-media{display:flex;flex-direction:column}
.hero-photo{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}
.hero-photo img{flex:1;min-height:0;width:100%;height:0;object-fit:cover}
.hero-photo .photo-caption{flex:none;border-radius:0;background:#fff}
.thomas-photo .portrait-original{object-position:center 30%;object-fit:cover}
.image-split>figure{width:100%}
.image-split img.vehicle-photo{object-fit:contain;height:420px;background:#edf3f3;object-position:center!important}
.card-image{aspect-ratio:4/3;background:#edf3f3}
.card-image img.vehicle-photo{object-fit:contain;object-position:center!important}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.photo-grid img{width:100%;height:440px;object-fit:cover;object-position:center 65%;border-radius:16px 16px 0 0}
.entrance-photo img{height:auto!important;object-fit:contain}
.portrait-frame img{object-fit:contain;background:#edf3f3}
.traffic-photo img{object-position:center bottom!important}
.language-note{font-size:.85rem;color:#425466;padding-top:10px;padding-bottom:10px}
@media(max-width:700px){
 .photo-grid{grid-template-columns:1fr}
 .photo-grid img{height:400px}
 .image-split img.vehicle-photo{height:320px}
 .image-split .lesson-photo{height:auto;object-fit:contain}
 .hero-media{height:380px}
 .hero-photo .photo-caption{font-size:.8rem}
 h1,.page-hero h1{font-size:clamp(2rem,8vw,2.5rem)}
}
.hero-photo{position:absolute;inset:0;height:auto}

/* V24: clear, quiet photo notices and uncropped vehicle views */
.photo-caption{font-size:13px;line-height:1.5;color:#425466;font-weight:400;padding:8px 10px}
.card-disclosure{padding:0;margin-top:12px;background:transparent;border-radius:0}
.classroom-photo img{height:auto!important;object-fit:contain}
.image-split img.vehicle-photo,.card-image img.vehicle-photo{object-fit:contain!important;object-position:center!important}
@media(max-width:700px){.photo-caption,.hero-photo .photo-caption{font-size:13px}}

/* V25: genuine original photos; classroom screenshot framed in CSS */
.hero-photo img.entrance-original{object-fit:contain;object-position:center;background:#edf8f8}
.classroom-original{position:relative;aspect-ratio:738/555;overflow:hidden;border-radius:16px;background:#edf8f8}
.classroom-original img.classroom-source{position:absolute;left:0;top:-94.234234%;width:100%;height:auto!important;max-width:none;border-radius:0;object-fit:initial}

/* V26: matching vehicle frames and complete portraits */
.card-image{aspect-ratio:3/2}
.card-image img.vehicle-photo{object-fit:cover!important}
.image-split img.vehicle-photo{width:100%;height:auto!important;aspect-ratio:3/2;object-fit:cover!important}
.portrait-preview{width:100%;margin:0}
.portrait-preview .thomas-photo{height:auto;aspect-ratio:3/2}
.portrait-preview .thomas-photo img.portrait-balanced{object-fit:contain;object-position:center}
.thomas-cars-photo{width:100%;border-radius:15px 15px 0 0;overflow:hidden}
.thomas-cars-photo img.thomas-cars{width:100%;height:auto;object-fit:contain}
.hero-photo img.hero-composite{object-fit:contain;object-position:center;background:#edf8f8;transform:scale(1.06);transform-origin:center center}
.portrait-frame img{height:auto;object-fit:contain}

/* Verbesserte Lesbarkeit von Mobilnummer und E-Mail auf der Kontaktseite */
.contact-card .contact-secondary { color: var(--ink); font-size: 1.12rem; font-weight: 650; margin: 10px 0; overflow-wrap: anywhere; }
.contact-card .contact-secondary a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.contact-card .contact-mobile { font-size: 1.3rem; font-weight: 750; }
.contact-card .contact-email { font-size: 1.08rem; font-weight: 650; }
