:root{--black:#141411;--deep:#1d211a;--green:#313a2d;--olive:#73745e;--red:#9f241d;--red2:#bd3127;--cream:#e9e1cf;--paper:#f1eadc;--white:#fff;--line:rgba(26,25,20,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:"DM Sans",sans-serif}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{width:100%;height:100%;object-fit:cover;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:-.025em;line-height:.88}h1{font-size:clamp(6rem,12vw,13.5rem);font-weight:800}h2{font-size:clamp(4rem,7vw,7.6rem);font-weight:700}h3{font-size:clamp(2.8rem,4.5vw,5.2rem)}em{font-family:Lora,serif;text-transform:none;font-weight:500;letter-spacing:-.06em}.mono{font:500 9px "DM Sans";letter-spacing:.15em}.eyebrow{font:700 11px "Barlow Condensed";letter-spacing:.2em;color:var(--red)}.eyebrow.light{color:#d9cfb8}.announcement{height:34px;background:var(--cream);position:absolute;z-index:30;top:0;width:100%;display:flex;align-items:center;justify-content:center;gap:28px;font:700 11px "Barlow Condensed";letter-spacing:.1em}.announcement button{border:0;background:transparent;color:var(--red);font:inherit}.site-header{height:96px;position:absolute;top:34px;left:0;width:100%;z-index:20;color:#fff;border-bottom:1px solid rgba(255,255,255,.16);padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:linear-gradient(rgba(10,10,8,.78),rgba(10,10,8,.18))}.site-header.sticky{position:fixed;top:0;height:80px;background:rgba(19,20,16,.96);backdrop-filter:blur(14px)}.site-header.sticky+.hero{}.brand{display:flex;align-items:center;gap:12px;font:700 16px "Barlow Condensed";letter-spacing:.06em;line-height:.9}.brand small{display:block;font:500 7px "DM Sans";letter-spacing:.18em;color:#c9c0ab;margin-top:6px}.brand-mark{width:54px;height:54px;background:transparent;color:#fff;display:grid;place-items:center;border:2px solid rgba(255,255,255,.75);font:800 17px "Barlow Condensed";transform:rotate(-4deg)}.site-header nav{display:flex;gap:34px;font:700 16px "Barlow Condensed";text-transform:uppercase;letter-spacing:.05em}.site-header nav a:hover{color:#d8cdb3}.nav-book{justify-self:end;border:1px solid var(--red2);background:rgba(81,12,8,.42);color:#fff;padding:12px 17px;font:700 15px "Barlow Condensed";text-transform:uppercase;letter-spacing:.08em;display:flex;gap:28px}.nav-book:hover{background:var(--red)}.menu-toggle{display:none;background:none;border:0}.hero{min-height:880px;height:100svh;background:var(--black);color:#fff;position:relative;overflow:hidden;padding:175px 4vw 60px;display:flex;align-items:center;justify-content:center;text-align:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(8,10,7,.22),rgba(8,10,7,.35)),url('assets/lars/hero.webp') center 38%/cover;filter:saturate(.7) contrast(1.1)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 15%,rgba(7,9,6,.42) 75%,rgba(7,9,6,.72));}.hero-copy{position:relative;z-index:3;width:min(1040px,92%);display:flex;align-items:center;flex-direction:column}.hero-copy h1{margin:24px 0 30px;text-shadow:0 4px 30px rgba(0,0,0,.35)}.hero-copy h1 em{display:block;color:var(--cream);font-size:.54em;margin-top:.09em}.hero-lead{font-family:Lora,serif;font-size:17px;line-height:1.6;max-width:600px;color:rgba(255,255,255,.84)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.btn{border:1px solid var(--red2);background:var(--red);color:#fff;padding:15px 22px;display:inline-flex;justify-content:space-between;gap:35px;font:700 16px "Barlow Condensed";text-transform:uppercase;letter-spacing:.06em}.btn:hover{background:var(--red2)}.text-link{display:inline-block;font:700 14px "Barlow Condensed";text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid;padding-bottom:4px}.text-link.light{color:#fff}.hero-photo{display:none}.hero-note{position:absolute;z-index:4;left:4vw;bottom:85px;width:145px;height:145px;border:1px solid rgba(255,255,255,.52);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-8deg)}.hero-note p{font:700 18px/1.05 "Barlow Condensed";margin:8px 0 0}.hero-note span{font-size:8px}.hero-bottom{position:absolute;z-index:4;bottom:27px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:rgba(255,255,255,.55)}.section-pad{padding:120px 6vw}.intro{display:grid;grid-template-columns:.3fr 1.2fr .8fr;gap:4vw;background:var(--paper)}.section-index{font-size:9px;color:var(--red)}.intro h2{margin:0}.intro h2 em{color:var(--red);font-size:.7em}.intro-copy{align-self:end;font-size:16px;line-height:1.7}.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid var(--line)}.facts span{font:600 10px "Barlow Condensed";text-transform:uppercase;letter-spacing:.06em;padding-top:16px}.facts strong{display:block;font-size:24px}.courses{background:var(--deep);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-head>p{max-width:420px;font-size:14px;line-height:1.7}.courses .section-head>p{color:rgba(255,255,255,.6)}.courses .eyebrow{color:#bf9b76}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.course{min-height:570px;position:relative;color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid rgba(255,255,255,.12)}.course>img{position:absolute;inset:0;transition:.5s;filter:saturate(.58) contrast(1.08)}.course:hover>img{transform:scale(1.045)}.course-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,11,9,.96),rgba(10,11,9,.05) 75%)}.course-top,.course-body{position:relative;z-index:2}.course-top{display:flex;justify-content:space-between;font:700 11px "Barlow Condensed";letter-spacing:.1em}.tag{background:var(--red);color:#fff;padding:6px 9px}.course-body>.mono{font-size:8px;color:#d8cdb3}.course h3{font-size:clamp(3.2rem,4vw,4.7rem);margin:12px 0 18px}.course-body>p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.65);max-width:330px}.course-price{border-top:1px solid rgba(255,255,255,.28);padding-top:14px;display:flex;justify-content:space-between;align-items:center}.course-price strong{font:700 23px "Barlow Condensed"}.course-price button{border:0;background:transparent;color:#fff;font:700 13px "Barlow Condensed";text-transform:uppercase}.all-courses{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.5);padding:24px 0 10px;margin-top:32px;font:700 16px "Barlow Condensed";text-transform:uppercase;letter-spacing:.05em}.guide{min-height:820px;display:grid;grid-template-columns:1fr 1fr;background:var(--cream);color:var(--black)}.guide-photo{position:relative;overflow:hidden}.guide-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.32),transparent)}.guide-photo img{object-position:center;filter:saturate(.68) sepia(.12);transform:scale(1.08)}.photo-caption{position:absolute;z-index:2;bottom:20px;left:20px;background:var(--red);color:#fff;padding:10px;font-size:8px}.guide-copy{padding:100px 8vw}.guide-copy h2{margin:40px 0}.guide-copy h2 em{color:var(--red)}.guide-copy blockquote{font:500 italic 22px/1.5 Lora,serif;margin:0 0 35px;color:#5d493d}.guide-copy>p{font-size:14px;line-height:1.7;color:#4e4d46}.guide-copy .text-link{margin-top:20px}.guide-copy .text-link.light{color:var(--black)}.knowledge{background:var(--paper)}.knowledge-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.knowledge-grid a{padding:30px;min-height:390px;border-right:1px solid var(--line);position:relative;transition:.25s}.knowledge-grid a:hover{background:var(--cream)}.knowledge-grid a:last-child{border:0}.knowledge-grid .mono{font-size:9px;color:var(--red)}.knowledge-grid h3{margin:80px 0 20px}.knowledge-grid p{font-size:13px;line-height:1.6;max-width:300px}.knowledge-grid b{position:absolute;right:25px;bottom:25px;width:46px;height:46px;border:1px solid;border-radius:50%;display:grid;place-items:center}.faq{background:#dad1bf;display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.faq-title>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:330px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font:700 20px "Barlow Condensed";text-transform:uppercase}summary span{font-size:22px;color:var(--red);transition:.2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;line-height:1.7;max-width:650px;color:#4f5049}.newsletter{background:var(--green);color:#fff;padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.newsletter h2{margin:35px 0}.newsletter>div>p:last-child{color:rgba(255,255,255,.66);max-width:550px}.newsletter-form>label:first-child{font-size:10px;letter-spacing:.1em}.newsletter-form>div:first-of-type{display:flex;border-bottom:1px solid #fff}.newsletter-form input[type=email]{flex:1;background:transparent;color:#fff;border:0;padding:18px 0;outline:0}.newsletter-form button{border:0;background:var(--red);color:#fff;padding:0 20px;font:700 15px "Barlow Condensed";text-transform:uppercase}.consent{display:flex;gap:10px;align-items:flex-start;font-size:10px!important;line-height:1.5;margin-top:17px}.consent input{accent-color:var(--red);margin-top:3px}.form-note{font-size:9px;color:rgba(255,255,255,.45)}.hp{position:absolute!important;left:-9999px!important}.form-status{font-size:12px;margin-top:12px;min-height:18px}.form-status.success{color:#cfdda8}.form-status.error{color:#ffae91}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:var(--paper)}.contact-copy>p:not(.eyebrow){max-width:420px;line-height:1.7}.contact-copy>div{display:flex;flex-direction:column;gap:10px;font-size:13px;margin-top:40px}.contact-form,.booking-form{display:flex;flex-direction:column;gap:18px}.contact-form label,.booking-form label{font-size:10px;font-weight:700;letter-spacing:.08em}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form input,.contact-form select,.contact-form textarea,.booking-form input,.booking-form select,.booking-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;outline:0;border-radius:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--red)}.contact-form .consent,.booking-form .consent{letter-spacing:0;font-weight:500}footer{background:#10110e;color:#fff;padding:70px 5vw 25px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px;font-size:11px}.footer-brand .brand-mark{margin-bottom:25px}.footer-brand h3{font-size:38px;margin:0}.footer-brand p{color:rgba(255,255,255,.4);font-size:9px}.footer-brand~div{display:flex;flex-direction:column;gap:10px;color:rgba(255,255,255,.55)}footer div strong{color:#fff;margin-bottom:10px}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;display:flex!important;flex-direction:row!important;justify-content:space-between;color:rgba(255,255,255,.35)!important}.booking-dialog{width:min(760px,calc(100% - 30px));max-height:92vh;border:0;padding:0;background:var(--paper);color:var(--black)}.booking-dialog::backdrop{background:rgba(8,9,7,.86);backdrop-filter:blur(5px)}.dialog-head{background:var(--deep);color:#fff;padding:38px 45px;display:flex;justify-content:space-between}.dialog-head h2{font-size:56px;margin:20px 0 0}.dialog-close{align-self:flex-start;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;width:42px;height:42px;border-radius:50%;font-size:24px}.booking-form{padding:38px 45px}.security-note{background:#dedaca;padding:14px;display:flex;gap:12px}.security-note>span{color:var(--green);font-weight:800}.security-note p{font-size:10px;line-height:1.4;margin:0}.security-note strong{display:block;font-size:11px}.btn-wide{width:100%}@media(max-width:1050px){.course-grid{grid-template-columns:repeat(2,1fr)}.site-header nav{gap:18px}}@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav,.nav-book{display:none}.menu-toggle{display:block}.menu-toggle i{display:block;width:24px;height:2px;background:#fff;margin:6px}.nav-open{overflow:hidden}.nav-open .site-header nav{display:flex;position:fixed;inset:80px 0 0;background:var(--deep);flex-direction:column;align-items:center;justify-content:center;font-size:28px}.intro{grid-template-columns:1fr}.section-index{margin-bottom:20px}.guide{grid-template-columns:1fr}.guide-photo{min-height:650px}.knowledge-grid{grid-template-columns:1fr}.knowledge-grid a{border-right:0;border-bottom:1px solid var(--line);min-height:300px}.faq,.newsletter,.contact{grid-template-columns:1fr}.newsletter{gap:40px}footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){.announcement{font-size:9px;gap:10px}.site-header{height:72px;top:34px;padding:0 20px}.brand-mark{width:42px;height:42px}.hero{min-height:790px;padding:130px 20px 70px}.hero-copy{width:100%}.hero-copy h1{font-size:24vw}.hero-lead{font-size:14px}.hero-actions{align-items:center;flex-direction:column}.hero-note{width:105px;height:105px;left:20px;bottom:70px}.hero-note p{font-size:13px}.hero-bottom span:nth-child(2){display:none}.section-pad{padding:80px 20px}.section-head{display:block}.course-grid{grid-template-columns:1fr}.course{min-height:540px}.guide-photo{min-height:450px}.guide-copy{padding:75px 20px}.facts{gap:10px}.newsletter{padding:75px 20px}.newsletter-form>div:first-of-type{display:block}.newsletter-form button{padding:14px;width:100%}.field-row{grid-template-columns:1fr}.contact{gap:55px}footer{grid-template-columns:1fr;padding:55px 20px 25px}.footer-bottom{display:block!important}.footer-bottom span{display:block;margin-top:8px}.dialog-head,.booking-form{padding:28px 22px}.dialog-head h2{font-size:44px}}
/* Gut lesbare Formularmeldungen auf hellen und dunklen Bereichen */
body .form-status{display:block;min-height:0;margin-top:14px;padding:0;font:700 14px/1.45 "DM Sans",sans-serif;letter-spacing:0;color:inherit}body .form-status:not(:empty){padding:13px 15px;border:2px solid currentColor;background:#fffaf0;box-shadow:0 10px 24px rgba(20,20,17,.12)}body .form-status.error{color:#6f1510;background:#fff1e8;border-color:#b4221c}body .form-status.success{color:#183f20;background:#eff7df;border-color:#497437}body .form-status.info{color:#1f2f44;background:#eef4fb;border-color:#536b86}body .secure-form :is(input,select,textarea):invalid{border-color:#b4221c;box-shadow:0 2px 0 #b4221c}body .form-security-hint{color:#4d493f;font-size:11px;line-height:1.45}body .newsletter .form-status.error,body .newsletter .form-status.success{color:#fff;background:rgba(16,17,14,.72);border-color:rgba(255,255,255,.8)}@media(max-width:600px){body .form-status:not(:empty){font-size:13px;padding:12px 13px}}

/* Erfolgsfenster nach Kontakt- und Buchungsformular */
.form-success-dialog{width:min(560px,calc(100% - 32px));border:0;padding:0;background:transparent;color:#fff}.form-success-dialog::backdrop{background:rgba(8,9,7,.78);backdrop-filter:blur(6px)}.form-success-dialog-inner{position:relative;background:linear-gradient(145deg,#1d211a,#10110e);border:1px solid rgba(255,255,255,.18);padding:44px 42px 38px;box-shadow:0 28px 80px rgba(0,0,0,.45)}.form-success-dialog .eyebrow{color:#d8cdb3;margin:0 0 20px}.form-success-dialog h2{font-size:72px;margin:0 0 18px;color:#fff}.form-success-dialog [data-success-message]{font-size:16px;line-height:1.65;color:rgba(255,255,255,.82);margin-bottom:28px}.form-success-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.36);border-radius:50%;background:transparent;color:#fff;font-size:28px;line-height:1}.form-success-close:hover{background:rgba(255,255,255,.1)}.form-success-dialog .btn{width:100%;justify-content:space-between}@media(max-width:600px){.form-success-dialog-inner{padding:38px 24px 28px}.form-success-dialog h2{font-size:54px}.form-success-dialog [data-success-message]{font-size:14px}.form-success-close{top:12px;right:12px;width:36px;height:36px;font-size:24px}}

/* Mobiler Schnellkontakt */
.mobile-contact-float{display:none}@media(max-width:760px){.mobile-contact-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:80;display:inline-flex;align-items:center;gap:14px;padding:13px 16px;background:var(--red);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 14px 34px rgba(20,20,17,.32);font:800 15px/1 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.08em}.mobile-contact-float b{width:28px;height:28px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-size:16px}.mobile-contact-float:hover{background:var(--red2)}body.nav-open .mobile-contact-float,body.modal-open .mobile-contact-float{display:none}}

/* Direkter Link zur Buchungsseite in der Terminleiste */

/* Autorenbereich auf „Über Lars“ */
.author-preview {
  padding: clamp(4.5rem, 9vw, 9rem) clamp(1.25rem, 5vw, 6rem);
  background: #e9dfcc;
  color: #1d1e1a;
}

/* Kursvergleich */
.compare-hero:before{background-position:center 58%}
.compare-intro{padding:105px 6vw;display:grid;grid-template-columns:.3fr 1fr .8fr;gap:5vw;align-items:end}
.compare-intro h2{margin:18px 0 0}
.compare-intro h2 em,.compare-heading h2 em,.compare-recommendations h2 em,.compare-cta h2 em{color:var(--red)}
.compare-intro-copy{font-size:15px;line-height:1.75}
.compare-intro-copy p:last-child{margin-bottom:0}
.compare-section{padding:100px 4vw 110px;background:var(--cream)}
.compare-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end;margin:0 2vw 48px}
.compare-heading h2{margin:22px 0 0}
.compare-heading>p{font-size:14px;line-height:1.7;max-width:470px}
.comparison-table-wrap{border-top:1px solid var(--line);overflow-x:auto}
.comparison-table{width:100%;border-collapse:collapse;table-layout:fixed}
.comparison-table thead th{padding:16px 14px;text-align:left;color:var(--red);font:700 11px "Barlow Condensed";letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.comparison-table thead th:first-child{width:25%}.comparison-table thead th:nth-child(2){width:17%}.comparison-table thead th:nth-child(3){width:15%}.comparison-table thead th:nth-child(4){width:20%}.comparison-table thead th:nth-child(5){width:12%}.comparison-table thead th:last-child{width:11%}
.comparison-table tbody tr{border-bottom:1px solid var(--line);transition:background .2s}
.comparison-table tbody tr:hover{background:rgba(255,255,255,.3)}
.comparison-table tbody tr.is-demanding{background:rgba(159,36,29,.055)}
.comparison-table th,.comparison-table td{padding:24px 14px;text-align:left;vertical-align:middle;font-size:13px;line-height:1.5}
.comparison-table tbody th{position:relative;padding-left:48px}
.comparison-table tbody th strong{display:block;font:700 24px "Barlow Condensed";text-transform:uppercase;line-height:1}
.comparison-table tbody th small{display:block;margin-top:7px;color:#5d5c53;font-size:11px;font-weight:500}
.table-index{position:absolute;left:14px;top:25px;color:var(--red);font:700 10px "DM Sans";letter-spacing:.08em}
.comparison-table td>strong{font:700 20px "Barlow Condensed"}
.comparison-table td>a{display:inline-block;border-bottom:1px solid;font:700 13px "Barlow Condensed";letter-spacing:.05em;text-transform:uppercase;padding-bottom:3px}
.comparison-table td>a:hover{color:var(--red)}
.effort{display:flex;gap:4px;margin-bottom:8px}
.effort i{display:block;width:18px;height:4px;background:rgba(20,20,17,.18)}
.effort-1 i:nth-child(-n+1),.effort-2 i:nth-child(-n+2),.effort-3 i:nth-child(-n+3),.effort-4 i:nth-child(-n+4){background:var(--red)}
.effort-flex i{background:var(--olive)}
.compare-price-note{font-size:11px;line-height:1.6;color:#5f5d54;margin:22px 14px 0}
.compare-recommendations{padding:110px 6vw;background:var(--paper)}
.compare-recommendations>header{display:grid;grid-template-columns:.3fr 1.7fr;align-items:start;margin-bottom:50px}
.compare-recommendations h2{margin:0}
.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recommendation-grid article{min-height:370px;padding:32px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.recommendation-grid article:last-child{border-right:0}
.recommendation-grid article>span{color:var(--red);font:700 10px "DM Sans";letter-spacing:.14em}
.recommendation-grid h3{font-size:42px;margin:70px 0 18px}
.recommendation-grid p{font-size:13px;line-height:1.7;margin-bottom:30px}
.recommendation-grid a{font:700 14px "Barlow Condensed";text-transform:uppercase;border-bottom:1px solid;margin-top:auto;padding-bottom:6px}
.compare-cta h2 em{color:var(--cream)}
.compare-cta>div{display:flex;justify-content:center;align-items:center;gap:28px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){
  .compare-intro{grid-template-columns:1fr}
  .compare-heading{grid-template-columns:1fr}
  .compare-recommendations>header{grid-template-columns:1fr;gap:28px}
  .recommendation-grid{grid-template-columns:1fr}
  .recommendation-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:300px}
  .recommendation-grid article:last-child{border-bottom:0}
}
@media(max-width:700px){
  .compare-hero h1{font-size:20vw}
  .compare-intro{padding:75px 20px}
  .compare-section{padding:75px 20px}
  .compare-heading{margin:0 0 35px}
  .comparison-table-wrap{overflow:visible;border-top:0}
  .comparison-table,.comparison-table tbody,.comparison-table tr,.comparison-table th,.comparison-table td{display:block;width:100%}
  .comparison-table thead{display:none}
  .comparison-table tbody{display:grid;gap:18px}
  .comparison-table tbody tr{background:rgba(255,255,255,.34);border:1px solid var(--line);padding:20px}
  .comparison-table tbody tr.is-demanding{background:rgba(159,36,29,.08)}
  .comparison-table tbody th{padding:0 0 20px 34px;border-bottom:1px solid var(--line);margin-bottom:6px}
  .comparison-table tbody th strong{font-size:30px}
  .table-index{left:0;top:3px}
  .comparison-table td{padding:12px 0 12px 43%;position:relative;min-height:44px;border-bottom:1px solid rgba(20,20,17,.1)}
  .comparison-table td:last-child{padding:18px 0 0;border:0}
  .comparison-table td:before{content:attr(data-label);position:absolute;left:0;width:39%;color:var(--red);font:700 11px "Barlow Condensed";letter-spacing:.08em;text-transform:uppercase}
  .comparison-table td:last-child:before{display:none}
  .effort{margin-top:2px}
  .compare-price-note{margin:22px 0 0}
  .compare-recommendations{padding:75px 20px}
  .recommendation-grid article{padding:28px 0}
  .recommendation-grid h3{margin-top:48px}
  .compare-cta>div{flex-direction:column}
}

.author-preview-head {
  display: grid;
  grid-template-columns: minmax(7rem, .5fr) minmax(18rem, 1fr) minmax(18rem, 1fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
  max-width: 1500px;
  margin: 0 auto clamp(3rem, 6vw, 6rem);
}

.author-preview h2 {
  margin: .5rem 0 0;
  font-size: clamp(3.3rem, 7vw, 7.5rem);
  line-height: .82;
  text-transform: uppercase;
}

.author-preview h2 em {
  color: #b5251d;
  font-weight: 400;
  text-transform: none;
}

.author-preview-intro {
  padding-top: 2.2rem;
  max-width: 38rem;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  line-height: 1.7;
}

.author-preview-intro .text-link {
  display: inline-block;
  margin-top: 1.25rem;
  padding-bottom: .3rem;
  color: inherit;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.author-book-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 3rem);
  max-width: 1250px;
  margin: 0 auto;
}

.author-book-card a {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.author-book-cover {
  display: grid;
  place-items: end center;
  min-height: clamp(23rem, 37vw, 36rem);
  margin-bottom: 1.5rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  overflow: hidden;
  background: #d5c8b3;
  border: 1px solid rgba(29, 30, 26, .18);
}

.author-book-cover img {
  width: auto;
  height: min(31rem, 32vw);
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 1.3rem 1.2rem rgba(32, 24, 18, .22));
  transition: transform .3s ease;
}

.author-book-card a:hover .author-book-cover img,
.author-book-card a:focus-visible .author-book-cover img {
  transform: translateY(-.45rem) rotate(-1deg);
}

.author-book-card h3 {
  max-width: 25rem;
  margin: .7rem 0;
  font-size: clamp(1.55rem, 2.2vw, 2.35rem);
  line-height: 1;
  text-transform: uppercase;
}

.author-book-card p {
  max-width: 31rem;
  line-height: 1.55;
}

.author-preview-button {
  display: table;
  margin: clamp(2.5rem, 5vw, 5rem) auto 0;
}

@media (max-width: 900px) {
  .author-preview-head {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .author-preview-intro {
    padding-top: 0;
  }
}

@media (max-width: 700px) {
  .author-preview {
    padding: 4.5rem 1.25rem;
  }

  .author-preview h2 {
    font-size: clamp(3.1rem, 17vw, 5rem);
  }

  .author-book-grid {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }

  .author-book-cover {
    min-height: 26rem;
  }

  .author-book-cover img {
    height: 23rem;
  }
}
.announcement>a{color:var(--red);font:inherit}

/* Transparente Preis- und Gutscheinangaben */
body .price-disclosure{margin:24px 0 0;color:rgba(255,255,255,.78);font:600 12px/1.55 "DM Sans",sans-serif;letter-spacing:.02em}
body .course-price-disclosure{grid-column:1/-1}
body .price-disclosure--light{color:#4f5049}
body .voucher-legal-note{margin:22px 0;padding:16px 18px;background:#f3eee2;border-left:4px solid var(--red);font-size:13px;line-height:1.65}
.training-legal-note{margin:clamp(3rem,6vw,6rem) auto 0;padding:clamp(1.5rem,3vw,3rem);max-width:1180px;border:1px solid rgba(27,28,24,.25);background:#f0e7d4}.training-legal-note h2{margin:.45rem 0 1rem}.training-legal-note p{max-width:78ch;line-height:1.65}.training-legal-note a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:.2em}

/* Ortsseite Freiburg / Emmendingen */
.location-intro{padding-bottom:clamp(4rem,8vw,8rem)}
.location-facts{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(24rem,.95fr);background:#24251f;color:#f3ecdc}
.location-facts-copy{padding:clamp(3rem,7vw,8rem)}
.location-facts h2,.location-local-note h2{margin:.6rem 0 1.5rem;font-size:clamp(3.2rem,7vw,7.2rem);line-height:.84;text-transform:uppercase}
.location-facts h2 em,.location-local-note h2 em{color:#d8c39c;font-weight:400;text-transform:none}
.location-facts-copy>p{max-width:46rem;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.7}
.location-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:2.5rem 0;max-width:50rem;border-top:1px solid rgba(255,255,255,.22)}
.location-data div{padding:1.25rem 1rem 1.25rem 0;border-bottom:1px solid rgba(255,255,255,.22)}
.location-data dt{margin-bottom:.45rem;color:#d8c39c;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.location-data dd{margin:0;line-height:1.55}
.location-map{position:relative;min-height:42rem;overflow:hidden;background:linear-gradient(145deg,#c7c2ae,#a4aa94)}
.location-map::before,.location-map::after{content:"";position:absolute;inset:-20%;background:repeating-radial-gradient(ellipse at 70% 30%,transparent 0 2.8rem,rgba(36,37,31,.12) 3rem 3.15rem);transform:rotate(-8deg)}
.location-map::after{inset:12% -30% -30% 0;background:linear-gradient(115deg,transparent 46%,rgba(239,232,214,.75) 47% 50%,transparent 51%);transform:none}
.location-map-label,.location-map strong,.location-map small{position:absolute;z-index:2}
.location-map-label{padding:.45rem .65rem;background:#f3ecdc;color:#24251f;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.location-map-label--freiburg{left:16%;bottom:18%}
.location-map-label--emmendingen{right:20%;top:28%}
.location-map-route{position:absolute;z-index:1;left:26%;bottom:27%;width:52%;height:38%;border-top:3px dashed #b5251d;border-right:3px dashed #b5251d;border-radius:0 100% 0 0;transform:rotate(-13deg)}
.location-map-pin{position:absolute;z-index:3;right:16%;top:15%;width:2.3rem;height:2.3rem;background:#b5251d;border:.55rem solid #f3ecdc;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 .5rem 1rem rgba(36,37,31,.28)}
.location-map strong{right:8%;top:38%;font-size:clamp(1.8rem,3.2vw,3.5rem);line-height:.9;text-transform:uppercase}
.location-map small{right:8%;bottom:8%;letter-spacing:.15em;text-transform:uppercase}
.location-courses{padding-top:clamp(4rem,8vw,8rem);padding-bottom:clamp(4rem,8vw,8rem)}
.location-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1280px;margin:clamp(3.5rem,7vw,7rem) auto 0;border-top:1px solid rgba(36,37,31,.25);border-left:1px solid rgba(36,37,31,.25)}
.location-course-grid article{min-height:22rem;padding:clamp(1.5rem,3vw,3rem);border-right:1px solid rgba(36,37,31,.25);border-bottom:1px solid rgba(36,37,31,.25)}
.location-course-grid h3{margin:4rem 0 1rem;font-size:clamp(2rem,3.5vw,3.8rem);line-height:.9;text-transform:uppercase}
.location-course-grid p{max-width:31rem;line-height:1.6}
.location-course-grid a{display:inline-block;margin-top:1rem;color:inherit;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
.location-all-courses{display:table;margin:2.5rem auto 0}
.location-local-note{display:grid;grid-template-columns:minmax(6rem,.25fr) minmax(22rem,1fr) minmax(20rem,.75fr);gap:clamp(2rem,5vw,6rem);align-items:start;padding:clamp(4rem,8vw,8rem);background:#b5251d;color:#f3ecdc}
.location-local-note>p{max-width:38rem;padding-top:3rem;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.7}
@media(max-width:900px){
  .location-facts{grid-template-columns:1fr}
  .location-map{min-height:32rem}
  .location-course-grid{grid-template-columns:1fr}
  .location-course-grid article{min-height:0}
  .location-course-grid h3{margin-top:2.5rem}
  .location-local-note{grid-template-columns:1fr;gap:1rem}
  .location-local-note>p{padding-top:0}
}
@media(max-width:600px){
  .location-facts-copy{padding:4rem 1.25rem}
  .location-data{grid-template-columns:1fr}
  .location-map{min-height:27rem}
  .location-map strong{right:1.25rem;top:42%;font-size:2rem}
  .location-map-label--freiburg{left:8%;bottom:15%}
  .location-map-label--emmendingen{right:8%;top:25%}
  .location-local-note{padding:4rem 1.25rem}
}
