/* BSW Bastian Sieber — Light Theme Stylesheet
   Brand palette extracted from BSW campaign materials:
   white → magenta (#A83D8E) → orange (#E8652A) → yellow (#F5C518) */
:root {
  --color-primary: #A83D8E;
  --color-primary-dark: #7E2A6A;
  --color-primary-light: #C76BAB;
  --color-warm: #E8652A;
  --color-warm-dark: #C84E1A;
  --color-accent: #F5C518;
  --color-bg: #FFFFFF;
  --color-surface: #F8F7F5;
  --color-section-alt: #F2F0ED;
  --color-border: #E8E4DF;
  --color-text: #1A1A1A;
  --color-text-muted: #6B6560;
  --color-text-inverse: #FFFFFF;
  --color-success: #2F9E44;
  --color-error: #C92A2A;
  --font-heading: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4rem;
  --space-9: 6rem; --space-10: 8rem;
  --container-max: 1200px;
  --container-padding: 1.5rem;
  --nav-height: 72px;
  --text-xs: .75rem; --text-sm: .875rem; --text-base: 1rem; --text-md: 1.125rem;
  --text-lg: 1.25rem; --text-xl: 1.5rem; --text-2xl: 1.875rem; --text-3xl: 2.25rem;
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 16px; --radius-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.05);
  --shadow-md: 0 4px 6px rgba(0,0,0,.07);
  --shadow-lg: 0 10px 25px rgba(0,0,0,.1);
  --shadow-xl: 0 20px 50px rgba(0,0,0,.15);
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --brand-gradient: linear-gradient(135deg, #A83D8E 0%, #E8652A 50%, #F5C518 100%);
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0;list-style:none}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:none;cursor:pointer}
a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--color-primary-dark)}
.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(8px);-webkit-backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid transparent;transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.navbar.scrolled{border-bottom-color:var(--color-border);box-shadow:var(--shadow-sm)}
.nav-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.nav-logo{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text);font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);flex-shrink:0}
.nav-logo-img{width:40px;height:40px;object-fit:contain}
.nav-brand{white-space:nowrap}
.nav-menu{display:flex;align-items:center;gap:var(--space-5)}
.nav-link{color:var(--color-text);font-weight:500;font-size:var(--text-sm);padding:var(--space-2) 0;position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform var(--transition-base);transform-origin:left}
.nav-link:hover::after{transform:scaleX(1)}
.lang-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);font-weight:600;transition:all var(--transition-fast)}
.lang-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}
.lang-toggle .fa-globe{color:var(--color-primary)}
.nav-toggle{display:none;width:40px;height:40px;padding:0;position:relative}
.hamburger,.hamburger::before,.hamburger::after{content:"";display:block;position:absolute;left:8px;right:8px;height:2px;background:var(--color-text);transition:all var(--transition-base)}
.hamburger{top:50%;transform:translateY(-50%)}
.hamburger::before{top:-7px}
.hamburger::after{top:7px}
.nav-toggle[aria-expanded="true"] .hamburger{background:transparent}
.nav-toggle[aria-expanded="true"] .hamburger::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .hamburger::after{top:0;transform:rotate(-45deg)}
.hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 1.3fr;align-items:center;overflow:hidden;isolation:isolate;padding-top:var(--nav-height);background:#fff}
.hero-bg{position:absolute;top:var(--nav-height);left:0;right:0;bottom:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:contain;object-position:right bottom;max-width:80%;max-height:85%;margin-left:auto}
.hero-content{max-width:560px;padding:var(--space-8) var(--container-padding);z-index:1;justify-self:start;margin-left:18%}
.hero-badge{display:inline-block;padding:var(--space-2) var(--space-5);background:var(--brand-gradient);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);margin-bottom:var(--space-5);white-space:nowrap}
.hero-title{font-size:clamp(2.25rem,5vw,4rem);font-weight:700;line-height:1.05;color:var(--color-text);margin-bottom:var(--space-5)}
.hero-tagline{font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.5;color:var(--color-text-muted);max-width:520px;margin:0 0 var(--space-7)}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center}
.hero-scroll{position:absolute;bottom:var(--space-6);left:50%;transform:translateX(-50%);z-index:1}
.hero-scroll a{color:var(--color-text-muted);font-size:var(--text-xl);display:block;padding:var(--space-2);animation:scroll-bounce 2s ease-in-out infinite}
@keyframes scroll-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.875rem 1.75rem;font-weight:600;font-size:var(--text-base);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:2px solid transparent;white-space:nowrap}
.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}
.btn-primary:hover{background:var(--color-primary-dark);color:var(--color-text-inverse);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-primary)}
.btn-secondary:hover{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-2px)}
.section-header{text-align:center;margin-bottom:var(--space-7);max-width:700px;margin-left:auto;margin-right:auto}
.section-eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3)}
.section-title{font-size:clamp(1.875rem,4vw,2.75rem);margin-bottom:var(--space-3)}
.section-subtitle{font-size:var(--text-md);color:var(--color-text-muted);line-height:1.5}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.875rem 1.75rem;font-weight:600;font-size:var(--text-base);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:2px solid transparent;white-space:nowrap}
.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}
.btn-primary:hover{background:var(--color-primary-dark);color:var(--color-text-inverse);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-primary)}
.btn-secondary:hover{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-2px)}
.section-header{text-align:center;margin-bottom:var(--space-7);max-width:700px;margin-left:auto;margin-right:auto}
.section-eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3)}
.section-title{font-size:clamp(1.875rem,4vw,2.75rem);margin-bottom:var(--space-3)}
.section-subtitle{font-size:var(--text-md);color:var(--color-text-muted);line-height:1.5}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}
.section{padding:var(--space-9) 0}
.section--alt{background:var(--color-section-alt)}
.about{background:var(--color-bg)}
.about-grid{display:flex;flex-direction:column;align-items:center;gap:var(--space-7);max-width:820px;margin:0 auto}
.about-image{position:relative;width:100%;max-width:420px;aspect-ratio:3/4;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl)}
.about-image img{width:100%;height:100%;object-fit:cover}
.about-text{text-align:center;max-width:680px}
.about-text p{text-align:left}
.about-cta{display:flex;justify-content:center}
.about-text p{font-size:var(--text-md);line-height:1.75;color:var(--color-text);margin-bottom:var(--space-4)}
.about-text p:last-child{margin-bottom:0}
.about-cta{margin-top:var(--space-6)}
.themen{background:var(--color-section-alt)}
.themen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5)}
.themen-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base);position:relative;overflow:hidden}
.themen-card::before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary);transform:scaleY(0);transform-origin:top;transition:transform var(--transition-base)}
.themen-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.themen-card:hover::before{transform:scaleY(1)}
.themen-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:rgba(168,61,142,.1);color:var(--color-primary);border-radius:var(--radius-md);font-size:var(--text-xl);margin-bottom:var(--space-4)}
.themen-title{font-size:var(--text-xl);margin-bottom:var(--space-3)}
.themen-text{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.65}
.termine{background:var(--color-bg)}
.termine-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3)}
.termin-item{display:grid;grid-template-columns:100px 1fr;gap:var(--space-5);align-items:center;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}
.termin-item:hover{border-color:var(--color-primary);background:var(--color-bg);box-shadow:var(--shadow-md)}
.termin-date{text-align:center;padding:var(--space-3) var(--space-2);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-sm)}
.termin-date-day{font-size:var(--text-2xl);font-weight:700;line-height:1;font-family:var(--font-heading)}
.termin-date-month{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-top:var(--space-1);display:block;font-weight:600}
.termin-title{font-family:var(--font-heading);font-weight:600;font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-1)}
.termin-meta{font-size:var(--text-sm);color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:var(--space-4)}
.termin-meta span{display:inline-flex;align-items:center;gap:var(--space-1)}
.termin-meta .fa-solid{color:var(--color-primary)}
.termine-empty{text-align:center;padding:var(--space-9) var(--space-5);color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md)}
.termine-empty .fa-calendar-alt{font-size:var(--text-3xl);color:var(--color-primary);margin-bottom:var(--space-3);display:inline-block}
.pressefotos{background:var(--color-section-alt)}
.pressefotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}
.pressefoto{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-md);cursor:pointer;background:var(--color-border);border:none;padding:0;width:100%;display:block;transition:transform var(--transition-base),box-shadow var(--transition-base)}
.pressefoto:hover{transform:scale(1.02);box-shadow:var(--shadow-lg);z-index:1}
.pressefoto img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.pressefoto:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:var(--space-5);opacity:0;transition:opacity var(--transition-base)}
.lightbox.active{display:flex;opacity:1}
.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-sm)}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:rgba(255,255,255,.1);color:white;width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);border:1px solid rgba(255,255,255,.2);transition:background var(--transition-fast)}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,.2)}
.lightbox-close{top:var(--space-5);right:var(--space-5)}
.lightbox-prev{left:var(--space-5);top:50%;transform:translateY(-50%)}
.lightbox-next{right:var(--space-5);top:50%;transform:translateY(-50%)}
.lightbox-caption{position:absolute;bottom:var(--space-5);left:50%;transform:translateX(-50%);color:white;font-size:var(--text-sm);text-align:center;max-width:80%}
.kontakt{background:var(--color-bg)}
.kontakt-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-8);align-items:start}
.kontakt-heading{font-family:var(--font-heading);font-size:var(--text-3xl);margin-bottom:var(--space-4)}
.kontakt-intro{color:var(--color-text-muted);margin-bottom:var(--space-6);font-size:var(--text-md);line-height:1.65}
.kontakt-details{display:flex;flex-direction:column;gap:var(--space-1)}
.kontakt-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0}
.kontakt-item-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(168,61,142,.1);color:var(--color-primary);border-radius:var(--radius-md)}
.kontakt-item-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:var(--space-1);display:block}
.kontakt-item-value{font-size:var(--text-base);color:var(--color-text);word-break:break-word}
.kontakt-item-value a{color:var(--color-primary)}
.kontakt-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7)}
.form-group{margin-bottom:var(--space-5)}
.form-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}
.form-label .required{color:var(--color-primary)}
.form-input,.form-textarea{width:100%;padding:.75rem var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(168,61,142,.15)}
.form-textarea{resize:vertical;min-height:140px;font-family:var(--font-body)}
.form-submit{width:100%;padding:1rem;background:var(--color-primary);color:var(--color-text-inverse);border:0;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-base);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}
.form-submit:hover{background:var(--color-primary-dark);transform:translateY(-1px)}
.footer{background:var(--color-text);color:rgba(255,255,255,.75);padding:var(--space-8) 0 var(--space-5)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-7);margin-bottom:var(--space-6)}
.footer-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-text-inverse);font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg)}
.footer-brand img{width:32px;height:32px;object-fit:contain}
.footer-tagline{font-size:var(--text-sm);color:rgba(255,255,255,.6);max-width:360px;line-height:1.6}
.footer-heading{color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-4);font-family:var(--font-body)}
.footer-links{display:flex;flex-direction:column;gap:var(--space-3)}
.footer-links a{color:rgba(255,255,255,.65);font-size:var(--text-sm);transition:color var(--transition-fast)}
.footer-links a:hover{color:var(--color-primary-light)}
.footer-bottom{padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:var(--text-sm);color:rgba(255,255,255,.45)}
/* === Comparison table (BSW vs other parties) === */
.positionen{background:var(--color-bg)}
.positionen-table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg)}
.compare-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:640px}
.compare-table thead th{background:var(--color-text);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);text-align:center;font-weight:600;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--color-border)}
.compare-table thead th:first-child{text-align:left;background:var(--color-primary);color:var(--color-text-inverse)}
.compare-table tbody th{font-weight:500;text-align:left;padding:var(--space-3) var(--space-4);color:var(--color-text);background:var(--color-surface);border-bottom:1px solid var(--color-border);width:38%}
.compare-table tbody td{padding:var(--space-3) var(--space-4);text-align:center;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-muted)}
.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}
.compare-table .yes{color:var(--color-success);font-size:var(--text-lg);font-weight:700}
.compare-table .no{color:var(--color-error);font-size:var(--text-lg);font-weight:700}
.compare-table .partial{color:var(--color-accent);font-size:var(--text-md);font-weight:700}
.compare-table tbody td .note{position:relative;color:var(--color-accent);font-size:var(--text-md);font-weight:700;cursor:help;display:inline-block}
.compare-table tbody td .note-static{position:relative;color:var(--color-accent);font-size:var(--text-lg);font-weight:700;display:inline-block}
.note-bubble{position:fixed;background:var(--color-text);color:#fff;font-size:var(--text-xs);font-weight:400;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);max-width:280px;line-height:1.5;text-align:left;pointer-events:none;z-index:1000;box-shadow:var(--shadow-lg);opacity:0;transition:opacity 120ms ease}
.note-bubble.visible{opacity:1}
.note-bubble-above::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--color-text)}
.note-bubble-below::after{content:"";position:absolute;left:50%;bottom:100%;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:var(--color-text)}
.compare-table tfoot td{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;background:var(--color-surface);border-top:1px solid var(--color-border)}
.notification{position:fixed;bottom:var(--space-5);right:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);color:white;font-weight:500;z-index:1100;max-width:400px;box-shadow:var(--shadow-xl);animation:slideInRight .3s ease}
.notification-success{background:var(--color-success)}
.notification-error{background:var(--color-error)}
.notification-info{background:var(--color-primary)}
@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}
.js-ready .fade-in{opacity:0;transform:translateY(24px);transition:opacity var(--transition-slow),transform var(--transition-slow)}
.js-ready .fade-in.visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-ready .fade-in{opacity:1;transform:none}}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
:focus:not(:focus-visible){outline:none}
@media (max-width:900px){
  .nav-menu{position:fixed;top:var(--nav-height);left:0;right:0;background:var(--color-bg);flex-direction:column;align-items:stretch;padding:var(--space-4);gap:0;border-bottom:1px solid var(--color-border);transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform var(--transition-base),opacity var(--transition-base)}
  .nav-menu.active{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav-item{border-bottom:1px solid var(--color-border)}
  .nav-item:last-child{border-bottom:0}
  .nav-link{padding:var(--space-4) 0;display:block}
  .lang-toggle{margin-top:var(--space-3);align-self:flex-start}
  .nav-toggle{display:block}
  .about-grid{gap:var(--space-5)}
  .kontakt-grid{grid-template-columns:1fr;gap:var(--space-6)}
  .about-image{max-width:360px}
  .footer-grid{grid-template-columns:1fr;gap:var(--space-5)}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:calc(var(--nav-height) + var(--space-6));padding-bottom:var(--space-7)}
  .hero-bg img{object-fit:cover;object-position:center top}
  .hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.15) 25%,transparent 45%)}
  .hero::after{background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.9) 70%)}
  .hero-content{max-width:100%;padding:var(--space-6) var(--container-padding);text-align:center;margin:0 auto;justify-self:center}
  .hero-content::after{display:none}
  .hero-title{font-size:clamp(2rem,8vw,3rem)}
  .hero-tagline{margin-left:auto;margin-right:auto}
  .hero-cta{justify-content:center}
  .section{padding:var(--space-7) 0}
  .termin-item{grid-template-columns:80px 1fr;gap:var(--space-3)}
  .termin-date-day{font-size:var(--text-xl)}
  .pressefotos-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}
  .lightbox-prev,.lightbox-next,.lightbox-close{width:40px;height:40px;font-size:var(--text-base)}
  .kontakt-form{padding:var(--space-5)}
}
@media (max-width:600px){
  :root{--container-padding:1rem;--space-9:4rem}
  .hero-cta{flex-direction:column;align-items:stretch}
  .btn{width:100%}
  .themen-card{padding:var(--space-5)}
  .themen-icon{width:44px;height:44px;font-size:var(--text-lg)}
  .themen-title{font-size:var(--text-lg)}
  .section-eyebrow{font-size:10px}
  .positionen-table-wrap{margin:0 calc(-1 * var(--container-padding));border-radius:0;border-left:0;border-right:0}
  .compare-table thead th,.compare-table tbody th,.compare-table tbody td{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}
  .compare-table tbody th{width:50%}
}
@media (min-width:601px) and (max-width:900px){
  .themen-grid{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:80vh}
  .hero-title{font-size:clamp(1.75rem,5vw,2.5rem)}
}
@media (min-width:901px) and (max-width:1200px){
  .hero-title{font-size:clamp(2rem,4.5vw,3.25rem)}
  .hero-tagline{font-size:1.2rem}
}
@media (min-width:1400px){
  .hero-content{max-width:620px}
  .hero-title{font-size:4.25rem}
}