/* TOHO.das.Schulungszentrum – Startseite (Landingpage). Hell, warm, Bordeaux-CI.
   Schrift: Source Sans 3 (lokal, siehe fonts.css). */

:root{
  font-size:100%!important; /* 16px – unabhängig vom Theme (überschreibt z. B. font-size:62.5%) */
  --bordeaux:#760504; --bordeaux-deep:#4A0403; --red:#B12B24;
  --gold:#FBDC6A; --gold-deep:#8a6400; --green:#3f7a52; --rose:#BEAAAD;
  --paper:#FBF7F5; --white:#ffffff; --tint:#F4EAE7;
  --ink:#241010; --ink-soft:#57433f; --muted:#6b5551;
  --card:#ffffff; --line:#ecdfdb;
  --maxw:1180px;
  --sans:"Source Sans 3","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype","Georgia",serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.toho-lp{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
.toho-lp img{max-width:100%;display:block;}
.toho-lp a{color:inherit;text-decoration:none;}
.toho-lp h1,.toho-lp h2,.toho-lp h3{text-wrap:balance;line-height:1.08;margin:0;letter-spacing:-.02em;font-weight:800;}
.toho-lp .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

.toho-lp .skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--bordeaux);color:#fff;
  padding:.7em 1.2em;border-radius:0 0 10px 10px;font-weight:700;transition:top .2s;}
.toho-lp .skip:focus{top:0;}

.toho-lp section{padding:96px 0;}
.toho-lp section.tint{background:var(--tint);}
.toho-lp section.white{background:var(--white);}

/* pill label */
.toho-lp .pill{display:inline-flex;align-items:center;gap:.5em;background:var(--bordeaux);color:#fff;
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.5em 1em;border-radius:999px;}
.toho-lp .pill.ghost{background:transparent;border:1.5px solid currentColor;color:var(--gold);}

/* ---------- nav ---------- */
.toho-lp .nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s;border-bottom:1px solid transparent;}
/* dezenter Verlauf oben, damit weiße Links über hellen Fotos immer lesbar sind */
.toho-lp .nav::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(20,4,3,.5),rgba(20,4,3,0));transition:opacity .3s;}
.toho-lp .nav.scrolled::before{opacity:0;}
/* nicht unter die WordPress-Adminleiste rutschen (nur eingeloggt sichtbar) */
body.admin-bar .toho-lp .nav{top:32px;}
.toho-lp .nav-in{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;height:88px;transition:height .3s;}
.toho-lp .brand img{height:60px;width:auto;transition:height .3s;}
.toho-lp nav.links{display:flex;gap:30px;align-items:center;font-weight:600;font-size:1rem;}
.toho-lp nav.links a{position:relative;color:#fff;transition:color .15s;}
.toho-lp nav.links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--gold);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .22s ease;}
.toho-lp nav.links a:hover,.toho-lp nav.links a.active{color:var(--gold);}
.toho-lp nav.links a:not(.nav-cta):hover::after,.toho-lp nav.links a.active:not(.nav-cta)::after{transform:scaleX(1);}
.toho-lp .nav-cta{background:var(--bordeaux);color:#fff!important;padding:.6em 1.3em;border-radius:8px;font-weight:700;font-size:.92rem;}
.toho-lp .nav-cta:hover{background:var(--red);}
.toho-lp .burger{display:none;background:none;border:0;color:#fff;font-size:1.6rem;}
.toho-lp .nav.scrolled{background:color-mix(in srgb,var(--bordeaux-deep) 90%,transparent);backdrop-filter:blur(12px);box-shadow:0 8px 26px -14px rgba(0,0,0,.6);}
.toho-lp .nav.scrolled .nav-in{height:74px;}
.toho-lp .nav.scrolled .brand img{height:48px;}
.toho-lp .nav.scrolled .nav-cta{background:var(--gold);color:#3a0302!important;}
@media(max-width:900px){
  .toho-lp .burger{display:block;}
  .toho-lp nav.links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    align-items:stretch;background:var(--bordeaux-deep);padding:8px 0 14px;box-shadow:0 24px 44px -12px rgba(0,0,0,.55);
    border-top:1px solid rgba(255,255,255,.12);}
  .toho-lp nav.links a{padding:15px 26px;color:#fff;font-size:1.05rem;}
  .toho-lp nav.links a:not(.nav-cta)::after{display:none;}
  .toho-lp nav.links a.active{color:var(--gold);}
  .toho-lp nav.links a:not(.nav-cta):hover{background:rgba(255,255,255,.06);color:var(--gold);}
  .toho-lp .nav-cta{margin:12px 26px 4px;text-align:center;justify-content:center;}
}
@media screen and (max-width:782px){ body.admin-bar .toho-lp .nav{top:46px;} }

/* ---------- hero ---------- */
.toho-lp .hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden;}
.toho-lp .hero .bg{position:absolute;inset:0;background-image:url('../img/hero.jpg');background-size:cover;background-position:center 38%;}
.toho-lp .hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,3,2,.62) 0%,rgba(58,3,2,.12) 24%,rgba(0,0,0,.12) 68%,rgba(58,3,2,.34) 100%);}
.toho-lp .hero .warm{position:absolute;inset:0;mix-blend-mode:soft-light;background:linear-gradient(120deg,rgba(251,220,106,.35),rgba(177,43,36,.30) 60%,rgba(89,151,109,.18));}
.toho-lp .hero-in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:120px 24px 70px;display:grid;grid-template-columns:1fr minmax(auto,560px);gap:40px;}
.toho-lp .glass{grid-column:2;background:rgba(24,7,6,.68);backdrop-filter:blur(14px) saturate(120%);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:46px 44px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);text-align:center;animation:riseIn .7s cubic-bezier(.2,.7,.2,1) both;}
.toho-lp .glass .pill{margin-bottom:18px;}
.toho-lp .glass h1{font-size:clamp(1.75rem,3.1vw,2.8rem);text-transform:uppercase;letter-spacing:.005em;color:#fff;line-height:1.14;overflow-wrap:normal;word-break:normal;word-wrap:normal;hyphens:manual;}
.toho-lp .glass .underline{display:block;margin:14px auto 22px;width:min(280px,70%);height:16px;}
.toho-lp .glass .underline path{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;}
.toho-lp .glass .sub{font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:700;color:#fff;line-height:1.35;}
.toho-lp .glass .body{font-size:1.02rem;color:#f0dedb;margin-top:16px;line-height:1.6;}
.toho-lp .glass .body b{color:#fff;}
.toho-lp .glass .btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;}
.toho-lp .btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.6em;border-radius:10px;font-weight:700;font-size:1rem;transition:transform .15s,background .15s,border-color .15s;cursor:pointer;}
.toho-lp .btn:hover{transform:translateY(-2px);}
.toho-lp .btn-primary{background:var(--bordeaux);color:#fff;}
.toho-lp .btn-primary:hover{background:var(--red);}
.toho-lp .btn-gold{background:var(--gold);color:#3a0302;}
.toho-lp .btn-ghost{border:1.6px solid rgba(255,255,255,.55);color:#fff;}
.toho-lp .btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.toho-lp .scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);color:rgba(255,255,255,.8);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px;animation:bob 2.6s ease-in-out infinite;}
.toho-lp .scroll-cue::after{content:"";width:1px;height:34px;background:linear-gradient(rgba(255,255,255,.8),transparent);}
@media(max-width:820px){ .toho-lp .hero-in{grid-template-columns:1fr;padding:120px 20px 80px;} .toho-lp .glass{grid-column:1;padding:34px 26px;} }

/* ---------- section framing ---------- */
.toho-lp .eyebrow-row{display:flex;align-items:center;gap:16px;margin-bottom:22px;}
.toho-lp .eyebrow-row .rule{height:1px;flex:1;background:var(--line);}
.toho-lp .sec-title{font-size:clamp(1.9rem,3.4vw,2.9rem);max-width:20ch;position:relative;padding-bottom:20px;}
.toho-lp .sec-title::after,.toho-lp .contact h2::after{content:"";position:absolute;left:0;bottom:2px;width:118px;height:12px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M3 8 C 32 2, 88 2, 117 7' fill='none' stroke='%23FBDC6A' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat;background-size:contain;}
.toho-lp .sec-title.center{margin-left:auto;margin-right:auto;text-align:center;}
.toho-lp .sec-title.center::after{left:50%;transform:translateX(-50%);}
.toho-lp .lead{font-size:1.18rem;color:var(--ink-soft);max-width:60ch;margin-top:22px;}

/* intro split */
.toho-lp .split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.toho-lp .split .media{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(74,4,3,.5);}
.toho-lp .split .media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
.toho-lp .split .media .tag{position:absolute;left:18px;bottom:18px;}
@media(max-width:820px){ .toho-lp .split{grid-template-columns:1fr;gap:32px;} }

/* offer grid */
.toho-lp .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;}
@media(max-width:900px){ .toho-lp .grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .toho-lp .grid{grid-template-columns:1fr;} }
.toho-lp .card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px;transition:transform .18s,box-shadow .18s,border-color .18s;}
.toho-lp .card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -28px rgba(74,4,3,.4);border-color:var(--rose);}
.toho-lp .card .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--bordeaux) 12%,transparent);color:var(--bordeaux);margin-bottom:18px;}
.toho-lp .card .ic svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;}
.toho-lp .card h3{font-size:1.22rem;margin-bottom:10px;}
.toho-lp .card p{color:var(--ink-soft);font-size:.98rem;margin:0;}

/* video */
.toho-lp .video-wrap{max-width:920px;margin:38px auto 0;}
.toho-lp .video-embed{position:relative;display:block;border-radius:20px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 34px 70px -30px rgba(74,4,3,.55);background:#000;cursor:pointer;}
.toho-lp .video-embed iframe,.toho-lp .mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.toho-lp .video-embed img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s;}
.toho-lp .video-embed:hover img,.toho-lp .video-embed:focus-visible img{transform:scale(1.04);filter:brightness(.82);}
.toho-lp .video-embed .play{position:absolute;inset:0;display:grid;place-items:center;}
.toho-lp .video-embed .play span{width:82px;height:82px;border-radius:50%;background:rgba(118,5,4,.92);display:grid;place-items:center;box-shadow:0 12px 32px rgba(0,0,0,.45);transition:transform .25s,background .25s;}
.toho-lp .video-embed .play span::before{content:"";border-style:solid;border-width:15px 0 15px 25px;border-color:transparent transparent transparent #fff;margin-left:6px;}
.toho-lp .video-embed:hover .play span{transform:scale(1.12);background:var(--red);}
.toho-lp .video-cap{margin-top:15px;text-align:center;color:var(--muted);font-size:.9rem;}
.toho-lp .video-cap b{color:var(--bordeaux);}

/* kurse (Plugin-Karten via Shortcode) */
.toho-lp .kurse .feed-note{margin-top:22px;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:8px;}
.toho-lp .kurse .feed-note .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 22%,transparent);}
.toho-lp .kurse .toho-events-list{margin-top:40px;}

/* human split (light) */
.toho-lp .human .row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.toho-lp .human .photo{border-radius:22px;overflow:hidden;box-shadow:0 34px 64px -34px rgba(74,4,3,.45);}
.toho-lp .human .photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/4;}
.toho-lp .human blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.24;max-width:22ch;margin:22px 0 0;font-weight:500;letter-spacing:-.01em;color:var(--bordeaux);}
.toho-lp .human .who{margin-top:22px;color:var(--muted);font-weight:700;}
@media(max-width:820px){ .toho-lp .human .row{grid-template-columns:1fr;gap:34px;} }

/* slogans */
.toho-lp .slogans .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px;}
@media(max-width:720px){ .toho-lp .slogans .grid2{grid-template-columns:1fr;} }
.toho-lp .slo{border-left:3px solid var(--bordeaux);padding:6px 0 6px 24px;}
.toho-lp .slo .grp{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--bordeaux);}
.toho-lp .slo p{font-family:var(--serif);font-style:italic;font-size:1.32rem;color:var(--ink);margin:8px 0 0;line-height:1.35;}

/* faq */
.toho-lp .faq-list{display:flex;flex-direction:column;gap:12px;margin-top:40px;max-width:840px;}
.toho-lp .faq{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .15s,box-shadow .15s;}
.toho-lp .faq[open]{border-color:var(--rose);box-shadow:0 18px 40px -30px rgba(74,4,3,.4);}
.toho-lp .faq summary{cursor:pointer;padding:22px 26px;font-weight:700;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--ink);}
.toho-lp .faq summary::-webkit-details-marker{display:none;}
.toho-lp .faq summary::after{content:"+";font-size:1.7rem;color:var(--bordeaux);font-weight:400;line-height:1;transition:transform .2s;flex:none;}
.toho-lp .faq[open] summary::after{transform:rotate(45deg);}
.toho-lp .faq summary:hover{color:var(--bordeaux);}
.toho-lp .faq .a{padding:0 26px 24px;color:var(--ink-soft);max-width:70ch;}
.toho-lp .faq .a a{color:var(--bordeaux);text-decoration:underline;text-underline-offset:3px;}

/* contact + map */
.toho-lp .contact{background:var(--tint);color:var(--ink);}
.toho-lp .contact h2{position:relative;padding-bottom:20px;font-size:clamp(2rem,4vw,3rem);}
.toho-lp .contact-in{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
@media(max-width:820px){ .toho-lp .contact-in{grid-template-columns:1fr;gap:36px;} }
.toho-lp .contact .sub{color:var(--ink-soft);font-size:1.12rem;margin-top:16px;max-width:44ch;}
.toho-lp .contact .info{display:flex;flex-direction:column;gap:18px;margin-top:26px;}
.toho-lp .contact .info .row{display:flex;gap:14px;align-items:flex-start;}
.toho-lp .contact .info .k{color:var(--bordeaux);font-weight:700;min-width:38px;}
.toho-lp .contact .info a{color:var(--bordeaux);text-decoration:underline;text-underline-offset:3px;}
.toho-lp .cbox{background:#fff;border:1px solid var(--line);border-top:4px solid var(--bordeaux);border-radius:18px;padding:32px;box-shadow:0 30px 60px -34px rgba(74,4,3,.35);}
.toho-lp .cbox h3{color:var(--bordeaux);font-size:1.3rem;margin-bottom:6px;}
.toho-lp .cbox .hours{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:1rem;}
.toho-lp .cbox .hours:last-child{border-bottom:0;}
.toho-lp .cbox .hours span{color:var(--ink-soft);}
.toho-lp .cbox .hours b{color:var(--bordeaux);font-variant-numeric:tabular-nums;}
.toho-lp .cbox .btn-primary{margin-top:24px;width:100%;justify-content:center;}
.toho-lp .mapbox{margin-top:36px;position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);min-height:320px;display:grid;place-items:center;padding:30px;background-color:#efe6e2;background-image:repeating-linear-gradient(0deg,transparent 0 38px,rgba(118,5,4,.06) 38px 40px),repeating-linear-gradient(90deg,transparent 0 54px,rgba(118,5,4,.06) 54px 56px);}
.toho-lp .mapbox .pin{position:absolute;top:36%;left:50%;width:26px;height:26px;transform:translate(-50%,-100%) rotate(-45deg);background:var(--bordeaux);border-radius:50% 50% 50% 0;box-shadow:0 6px 14px rgba(0,0,0,.3);}
.toho-lp .mapbox .pin::after{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%;}
.toho-lp .map-card{position:relative;background:#fff;border-radius:14px;padding:22px 24px;text-align:center;box-shadow:0 24px 50px -26px rgba(74,4,3,.5);max-width:430px;display:flex;flex-direction:column;gap:6px;align-items:center;}
.toho-lp .map-card strong{color:var(--bordeaux);font-size:1.05rem;}
.toho-lp .map-card span{color:var(--ink-soft);font-size:.95rem;}
.toho-lp .map-card .btn{margin-top:10px;}
.toho-lp .map-note{margin:8px 0 0;font-size:.8rem;color:var(--muted);}
.toho-lp .map-card .map-load{margin-top:12px;}

/* Kontaktformular */
.toho-lp .contact-form{margin-top:44px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 30px 60px -34px rgba(74,4,3,.35);}
.toho-lp .contact-form h3{color:var(--bordeaux);font-size:1.4rem;margin-bottom:6px;}
.toho-lp .contact-form .fhint{color:var(--muted);margin:0 0 20px;font-size:.95rem;}
.toho-lp .cform-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;}
.toho-lp .cfield{display:flex;flex-direction:column;gap:6px;}
.toho-lp .cfield.wide{grid-column:1 / -1;}
.toho-lp .cfield label{font-weight:600;font-size:.9rem;color:var(--ink);}
.toho-lp .cfield input,.toho-lp .cfield textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink);transition:border-color .1s,box-shadow .1s;}
.toho-lp .cfield input:focus,.toho-lp .cfield textarea:focus{outline:none;border-color:var(--bordeaux);box-shadow:0 0 0 3px color-mix(in srgb,var(--bordeaux) 18%,transparent);}
.toho-lp .cconsent{display:flex;gap:10px;align-items:flex-start;margin:16px 0 4px;font-size:.9rem;color:var(--ink-soft);}
.toho-lp .cconsent a{color:var(--bordeaux);text-decoration:underline;text-underline-offset:2px;}
.toho-lp .chp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.toho-lp .contact-form .btn-primary{margin-top:16px;}
.toho-lp .cnote{padding:14px 18px;border-radius:12px;margin:0 0 18px;font-weight:600;}
.toho-lp .cnote--ok{background:#e8f6ee;color:#027a48;}
.toho-lp .cnote--err{background:#fdeceb;color:#b42318;}
@media(max-width:560px){ .toho-lp .cform-grid{grid-template-columns:1fr;} }

/* footer */
.toho-lp .ft{background:var(--bordeaux-deep);color:#e8cfcc;padding:54px 0 40px;}
.toho-lp .ft-in{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:center;}
.toho-lp .ft img{height:46px;opacity:.95;}
.toho-lp .ft nav{display:flex;gap:22px;flex-wrap:wrap;font-size:.9rem;}
.toho-lp .ft nav a:hover{color:var(--gold);}
.toho-lp .ft .legal{width:100%;border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;font-size:.82rem;color:#c9a9a6;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.toho-lp .ft .legal a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.toho-lp .ft .legal a:hover{color:var(--gold);}

/* animations + a11y */
@keyframes riseIn{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,6px);}}
.toho-lp :focus-visible{outline:3px solid var(--red);outline-offset:3px;box-shadow:0 0 0 6px rgba(251,220,106,.55);border-radius:6px;}
@media(prefers-contrast:more){ :root{--ink:#160808;--ink-soft:#3a2a28;--muted:#4a3835;--line:#c9b8b4;} .toho-lp .card,.toho-lp .faq{border-width:2px;} }
@media(prefers-reduced-motion:reduce){ .toho-lp *{scroll-behavior:auto!important;transition:none!important;animation:none!important;} }
