/* LösungsLoft – Website-Stylesheet
   Layout: ruhige, helle Fläche mit navyblauen Bändern; Serifen-Überschriften (wissenschaftlich, warm),
   runde Grotesk für Fließtext (Echo der Logo-Unterzeile), Orange nur für Handlungsaufforderungen & Akzente. */

@font-face{font-family:"Source Serif 4";src:url("../fonts/sourceserif4.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/sourceserif4-italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/figtree-italic.woff2") format("woff2");font-weight:300 900;font-style:italic;font-display:swap}

:root{
  --navy:#0b2145;          /* Markenfarbe 1 */
  --orange:#f2701b;        /* Markenfarbe 2 */
  --orange-ink:#b84f09;    /* Orange für Text auf hellem Grund (AA) */
  --on-accent:#0b2145;     /* Text auf orangen Buttons */
  --bg:#ffffff;
  --surface:#f2f4f8;       /* kühles, leicht blaues Grau */
  --surface-2:#e8ecf3;
  --ink:#14213b;
  --muted:#556079;
  --line:#dce1ea;
  --band:#0b2145;          /* dunkle Bänder */
  --band-ink:#eef1f7;
  --band-muted:#b4bdd0;
  --logo-light:none; --logo-dark:block;

  --f-display:"Source Serif 4", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --f-body:"Figtree", "Segoe UI", system-ui, -apple-system, Helvetica, Arial, sans-serif;

  --step--1:clamp(.84rem,.82rem + .1vw,.9rem);
  --step-0:clamp(1rem,.97rem + .15vw,1.08rem);
  --step-1:clamp(1.18rem,1.1rem + .35vw,1.35rem);
  --step-2:clamp(1.45rem,1.3rem + .7vw,1.85rem);
  --step-3:clamp(1.8rem,1.5rem + 1.4vw,2.6rem);
  --step-4:clamp(2.2rem,1.7rem + 2.4vw,3.6rem);

  --wrap:1180px;
  --measure:66ch;
  --radius:18px;
  --shadow:0 24px 48px -28px rgba(11,33,69,.45);
  --glow-a:rgba(242,112,27,.10); --glow-b:rgba(11,33,69,.07);
  --gutter-l:max(20px, env(safe-area-inset-left, 0px));
  --gutter-r:max(20px, env(safe-area-inset-right, 0px));
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --orange-ink:#ff9a55; --bg:#0b1322; --surface:#111c31; --surface-2:#17243d;
    --ink:#e7ebf3; --muted:#a5afc4; --line:#24324e; --band:#08101e; --band-ink:#eef1f7; --band-muted:#a5afc4;
    --logo-light:block; --logo-dark:none; --glow-a:rgba(242,112,27,.10); --glow-b:rgba(120,150,220,.08); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --glow-a:rgba(242,112,27,.10); --glow-b:rgba(120,150,220,.08);
  --orange-ink:#ff9a55; --bg:#0b1322; --surface:#111c31; --surface-2:#17243d;
  --ink:#e7ebf3; --muted:#a5afc4; --line:#24324e; --band:#08101e; --band-ink:#eef1f7; --band-muted:#a5afc4;
  --logo-light:block; --logo-dark:none; color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:var(--step-0);line-height:1.65;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:color-mix(in srgb, var(--orange) 70%, transparent);text-underline-offset:.18em;text-decoration-thickness:1.5px}
a:hover{color:var(--orange-ink)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.15;letter-spacing:-.01em;text-wrap:balance;margin:0}
h1{font-size:var(--step-4);font-weight:600}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1);line-height:1.3}
p{margin:0}
.prose p,.prose ul,.prose ol{max-width:var(--measure)}
.prose > * + *{margin-top:1em}
.prose h2{margin-top:1.8em;font-size:var(--step-2)}
.prose h3{margin-top:1.5em}
.prose ul{padding-left:1.2em}
.prose li + li{margin-top:.35em}
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:var(--on-accent);padding:.6em 1em;z-index:100}
.skip:focus{left:12px;top:12px}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.section{padding-block:clamp(3.5rem,6vw,6rem)}
.section--tight{padding-block:clamp(2.5rem,4vw,3.5rem)}
.section--surface{background:var(--surface)}
.section--band{background:var(--band);color:var(--band-ink)}
.section--band .muted,.section--band .lead{color:var(--band-muted)}
.stack{display:grid;gap:1rem}
.stack-lg{display:grid;gap:2rem}
.eyebrow{font-family:var(--f-body);font-size:var(--step--1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink)}
.section--band .eyebrow{color:var(--orange)}
.lead{font-size:var(--step-1);color:var(--muted);max-width:60ch;line-height:1.55}
.muted{color:var(--muted)}
.small{font-size:var(--step--1)}
.section-head{display:grid;gap:.8rem;margin-bottom:clamp(2rem,4vw,3rem);max-width:760px}

/* Header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:116px;}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:96px;width:auto}
.brand .logo-dark{display:var(--logo-dark)}
.brand .logo-light{display:var(--logo-light)}
.nav{margin-left:auto;display:flex;align-items:center;gap:.25rem}
.nav > ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.1rem}
.nav a,.nav .nav-label{display:block;white-space:nowrap;padding:.55rem .7rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.97rem;color:var(--ink);background:none;border:0;font-family:inherit;cursor:pointer}
.nav a:hover,.nav .nav-label:hover{background:var(--surface);color:var(--ink)}
.nav a[aria-current="page"]{color:var(--orange-ink)}
.has-sub{position:relative}
.nav-label::after{content:"";display:inline-block;width:.42em;height:.42em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.2em) rotate(45deg);margin-left:.5em;opacity:.6}
.sub{list-style:none;margin:0;padding:.5rem;position:absolute;left:0;top:100%;min-width:290px;background:var(--bg);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -18px rgba(11,33,69,.35);display:none}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.sub a{font-weight:500;padding:.55rem .75rem}
.sub a small{display:block;color:var(--muted);font-weight:400;font-size:.82rem;line-height:1.35}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85rem 1.35rem;border-radius:999px;font-weight:700;text-decoration:none;font-size:1rem;line-height:1.2;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s ease, background-color .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--orange);color:var(--on-accent)}
.btn--primary:hover{background:#ff8434;color:var(--on-accent)}
.btn--ghost{border-color:currentColor;color:var(--ink)}
.btn--ghost:hover{color:var(--orange-ink)}
.section--band .btn--ghost{color:var(--band-ink)}
.section--band .btn--ghost:hover{color:var(--orange)}
.nav .btn{margin-left:.6rem;padding:.7rem 1.1rem;font-size:.95rem}
.nav a.btn--primary{background:var(--orange);color:var(--on-accent)}
.nav a.btn--primary:hover{background:#ff8434;color:var(--on-accent)}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:.55rem .8rem;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}

@media (max-width: 1280px){
  .menu-toggle{display:inline-flex;align-items:center;gap:.5rem}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:1rem var(--gutter-r) 1.5rem var(--gutter-l);flex-direction:column;align-items:stretch;max-height:calc(100vh - 92px);overflow:auto}
  .nav.open{display:flex}
  .nav > ul{flex-direction:column;align-items:stretch}
  .sub{position:static;display:block;border:0;box-shadow:none;padding:0 0 .5rem .75rem;min-width:0;background:none}
  .nav-label::after{display:none}
  .nav-label{color:var(--muted)!important;font-size:.8rem!important;text-transform:uppercase;letter-spacing:.1em;padding-top:1rem!important}
  .nav .btn{margin:1rem 0 0}
  .brand img{height:70px}
  .header-inner{min-height:88px}
}

/* Hero */
.hero{padding-block:clamp(3rem,7vw,6.5rem) clamp(3rem,6vw,5rem);position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1{font-size:clamp(2.5rem,1.8rem + 3.4vw,4.4rem);line-height:1.05;letter-spacing:-.02em}
.hero h1 .mark{position:relative;white-space:nowrap;font-style:italic;font-weight:500}
.hero h1 .mark svg{position:absolute;left:-2%;bottom:-.22em;width:104%;height:.42em;overflow:visible}
.hero h1 .mark path{fill:none;stroke:var(--orange);stroke-width:5;stroke-linecap:round}
.hero .lead{margin-top:1.4rem}
.hero .btn-row{margin-top:2rem}
.hero-facts{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:2rem;padding:0;list-style:none;color:var(--muted);font-size:var(--step--1);font-weight:600}
.hero-facts li{display:flex;align-items:center;gap:.5rem}
.hero-facts li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange)}
.paths{display:grid;gap:clamp(1rem,2vw,1.5rem);grid-template-columns:repeat(2,minmax(0,1fr))}
.path{display:grid;gap:.7rem;align-content:start;padding:clamp(1.6rem,3vw,2.4rem);border-radius:var(--radius);text-decoration:none;color:inherit;border:1px solid var(--line);background:var(--bg);transition:border-color .2s ease, transform .2s ease}
.path:hover{border-color:var(--orange);transform:translateY(-2px);color:inherit}
.path--dark{background:var(--band);color:var(--band-ink);border-color:var(--band)}
.path--dark:hover{color:var(--band-ink)}
.path.path--dark p{color:var(--band-muted)}
.path.path--dark{border-color:color-mix(in srgb, var(--band-ink) 14%, transparent)}
.path .eyebrow{font-size:.75rem}
.path h3{font-size:var(--step-2)}
.path--light{background:color-mix(in srgb, var(--orange) 7%, var(--bg));border-color:color-mix(in srgb, var(--orange) 22%, var(--line))}
.path--light li{background:var(--bg)}
.path-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--orange);color:var(--on-accent);margin-bottom:.4rem}
.path-ico .ico{width:26px;height:26px}
.path p{color:var(--muted);font-size:.98rem}
.path .arrow{font-weight:700;color:var(--orange-ink);font-size:.95rem}
.path--dark .arrow{color:var(--orange)}
.path ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.path li{font-size:.82rem;font-weight:600;padding:.25rem .65rem;border-radius:99px;background:var(--surface)}
.path--dark li{background:rgba(255,255,255,.09)}

/* Page hero (Unterseiten) */
.page-hero{padding-block:clamp(2.5rem,5vw,4.5rem) clamp(2.5rem,5vw,4rem);background:var(--surface);border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:end}
.page-hero h1{margin-top:.7rem}
.page-hero .lead{margin-top:1.1rem}
.page-hero .btn-row{margin-top:1.6rem}
.crumbs{font-size:var(--step--1);color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}
.crumbs li + li::before{content:"/";margin-right:.3rem;opacity:.5}
.crumbs a{text-decoration:none}
.factbox{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;display:grid;gap:.75rem;font-size:.95rem}
.factbox dl{margin:0;display:grid;gap:.6rem}
.factbox dt{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.factbox dd{margin:0;font-weight:600}

/* Grids & cards */
.grid{display:grid;gap:clamp(1rem,2vw,1.5rem)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;display:grid;gap:.6rem;align-content:start}
.section--surface .card{border-color:transparent}
.card p{color:var(--muted);font-size:.98rem}
a.card{text-decoration:none;color:inherit;transition:border-color .2s ease}
a.card:hover{border-color:var(--orange);color:inherit}
a.card .more{font-weight:700;color:var(--orange-ink);font-size:.93rem;margin-top:.3rem}
.card .tag{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink)}
.svc-col h3{font-size:var(--step-2)}
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc-list li{border-bottom:1px solid var(--line)}
.svc-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem 1rem;padding:1.15rem .2rem;text-decoration:none;align-items:center}
.svc-list a strong{font-family:var(--f-display);font-size:var(--step-1);font-weight:600}
.svc-list a span{grid-column:1;color:var(--muted);font-size:.95rem}
.svc-list a::after{content:"→";grid-row:1 / span 2;grid-column:2;color:var(--orange-ink);font-weight:700;transition:transform .2s ease}
.svc-list a:hover::after{transform:translateX(4px)}
.svc-list a:hover strong{color:var(--orange-ink)}

.values{counter-reset:none}
.value h3{font-size:var(--step-1);margin-bottom:.4rem}
.value p{color:var(--muted);font-size:.98rem}
.value{border-top:2px solid var(--orange);padding-top:1.1rem}
.section--band .value p{color:var(--band-muted)}

.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.checklist li{position:relative;padding-left:1.7rem;line-height:1.45}
.checklist li::before{content:"";position:absolute;left:0;top:.38em;width:.85rem;height:.5rem;border-left:2.5px solid var(--orange);border-bottom:2.5px solid var(--orange);transform:rotate(-45deg)}

.steps{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));counter-reset:step}
.steps li{counter-increment:step;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;display:grid;gap:.45rem;align-content:start}
.section--surface .steps li{border-color:transparent}
.steps li::before{content:counter(step);font-family:var(--f-display);font-size:1.7rem;font-weight:600;color:var(--orange-ink);line-height:1}
.steps strong{font-size:1.05rem}
.steps p{color:var(--muted);font-size:.96rem}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.split--wide{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}

/* Preis */
.price{display:grid;gap:.3rem;padding:1.4rem 1.5rem;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line)}
.price .amount{font-family:var(--f-display);font-size:var(--step-3);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.price .unit{color:var(--muted);font-size:.95rem}

/* FAQ */
.faq{display:grid;gap:.7rem;max-width:860px}
.faq details{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:0 1.3rem}
.section--surface .faq details{border-color:transparent}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2rem 1.1rem 0;font-weight:700;position:relative;font-size:1.03rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400;color:var(--orange-ink)}
.faq details[open] summary::after{content:"–"}
.faq details > div{padding:0 0 1.2rem;color:var(--muted)}

/* Team */
.person{display:grid;gap:.9rem;align-content:start}
.person .photo{aspect-ratio:4/5;max-width:100%;border-radius:var(--radius);background:var(--surface-2);overflow:hidden;display:grid;place-items:center}
.person .photo img{width:100%;height:100%;object-fit:cover}
.person .monogram{font-family:var(--f-display);font-size:3rem;color:var(--muted);font-weight:500}
.person h3{font-size:var(--step-1)}
.person .role{color:var(--orange-ink);font-weight:700;font-size:.9rem}
.person ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}
.person li{font-size:.8rem;font-weight:600;padding:.2rem .6rem;border-radius:99px;background:var(--surface)}
.section--surface .person li{background:var(--bg)}
.person.soon .photo{border:1.5px dashed var(--line);background:transparent}

/* Termine */
.events{display:grid;gap:1rem}
.event{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:1.3rem;align-items:center;padding:1.2rem 1.4rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius)}
.section--surface .event{border-color:transparent}
.event .date{display:grid;justify-items:center;line-height:1.05;font-variant-numeric:tabular-nums;border-right:1px solid var(--line);padding-right:1.2rem}
.event .date b{font-family:var(--f-display);font-size:2rem;font-weight:600}
.event .date span{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink)}
.event h3{font-size:1.15rem}
.event p{color:var(--muted);font-size:.93rem}
.event .meta{font-size:.85rem;font-weight:600;color:var(--muted)}

/* Zitat / Hinweis */
.note{border-left:3px solid var(--orange);background:var(--surface);padding:1.1rem 1.3rem;border-radius:0 12px 12px 0;font-size:.97rem}
.quote{font-family:var(--f-display);font-size:var(--step-2);font-style:italic;font-weight:400;line-height:1.35;max-width:30ch}

/* Bücher */
.books{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.book{padding:1.3rem 1.3rem 1.2rem;border-radius:6px 12px 12px 6px;background:var(--bg);border:1px solid var(--line);border-left:8px solid var(--navy);display:grid;gap:.4rem}
.book:nth-child(2){border-left-color:var(--orange)}
.book h3{font-size:1.12rem;font-style:italic}

/* CTA-Band */
.cta-band{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.cta-band h2{font-size:var(--step-3)}
.contact-lines{display:grid;gap:.8rem;font-size:1.05rem}
.contact-lines a{text-decoration:none;font-weight:700}
.contact-lines span{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted);font-weight:700}

/* Formulare */
.form{display:grid;gap:1rem}
.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.field{display:grid;gap:.35rem}
.field label{font-weight:700;font-size:.92rem}
.field input,.field select,.field textarea{font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.75rem .9rem;width:100%}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--orange) 25%, transparent)}
.check{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;color:var(--muted)}
.check input{margin-top:.3rem;accent-color:var(--orange);width:18px;height:18px;flex-shrink:0}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-msg{padding:1rem 1.2rem;border-radius:10px;font-weight:600}
.form-msg.ok{background:color-mix(in srgb, #2f8a57 14%, var(--bg));border:1px solid #2f8a57}
.form-msg.err{background:color-mix(in srgb, #c0392b 12%, var(--bg));border:1px solid #c0392b}

/* Artikel */
.article{max-width:760px}
.article .prose{font-size:1.08rem}
.article-meta{color:var(--muted);font-size:var(--step--1);margin-top:1rem}

/* Footer */
.site-footer{background:var(--band);color:var(--band-ink);padding-block:4rem 2rem;font-size:.95rem}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:2rem}
.site-footer h2{font-family:var(--f-body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:1rem;font-weight:700}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.site-footer a{text-decoration:none;color:var(--band-ink)}
.site-footer a:hover{color:var(--orange)}
.site-footer address{font-style:normal;line-height:1.7;color:var(--band-muted)}
.site-footer .logo-foot{height:60px;width:auto;margin-bottom:1rem}
.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;color:var(--band-muted);font-size:.85rem}
.crisis{color:var(--band-muted);font-size:.85rem;max-width:60ch}

@media (max-width: 900px){
  .hero-grid,.page-hero-grid,.split,.split--wide,.cta-band{grid-template-columns:minmax(0,1fr)}
  .grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 600px){
  .grid-2,.grid-3,.grid-4,.form .row,.footer-grid{grid-template-columns:minmax(0,1fr)}
  .event{grid-template-columns:72px minmax(0,1fr)}
  .event .btn{grid-column:1 / -1;justify-self:start}
  .event .date{padding-right:.9rem}
  .hero h1 .mark{white-space:normal}
}

/* ===== Moderne Elemente (v2) ===== */
.ico{width:24px;height:24px;flex-shrink:0}
.ico-sm{width:18px;height:18px}
.hero{background:radial-gradient(60rem 30rem at 85% 10%, var(--glow-a), transparent 60%), radial-gradient(50rem 30rem at 0% 100%, var(--glow-b), transparent 60%), var(--bg)}
.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.hero h1{font-size:clamp(2.4rem,1.5rem + 2.7vw,3.8rem);line-height:1.1}
.hero h1 .mark svg{bottom:-.3em}
.mosaic{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.1rem);padding-left:clamp(0rem,3vw,2rem)}
.mosaic-col{display:grid;gap:clamp(.75rem,1.6vw,1.1rem);align-content:start}
.mosaic-col--offset{margin-top:clamp(2rem,5vw,4rem)}
.tile{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;max-width:100%;background:var(--surface-2);box-shadow:var(--shadow);text-decoration:none;color:inherit}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tile:hover img{transform:scale(1.04)}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem .9rem .8rem;background:linear-gradient(to top, rgba(8,16,30,.82), rgba(8,16,30,0));color:#fff;display:grid;gap:.1rem}
.tile figcaption strong{font-size:.95rem}
.tile figcaption span{font-size:.78rem;opacity:.85;line-height:1.3}
.tile--more{display:grid;place-items:center;align-content:center;gap:.8rem;text-align:center;background:var(--band);color:var(--band-ink);padding:1rem}
.tile--more .more-text{display:grid;gap:.2rem;font-size:.85rem;color:var(--band-muted)}
.tile--more .more-text strong{color:var(--band-ink);font-size:.95rem}
.tile--more:hover{color:var(--band-ink)}
.tile-mono{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-size:2rem;background:var(--orange);color:var(--on-accent)}
.mosaic-badge{position:absolute;right:0;top:0;display:flex;gap:.7rem;align-items:center;background:var(--bg);color:var(--ink);padding:.8rem 1.1rem .8rem .9rem;border-radius:14px;box-shadow:var(--shadow);font-weight:700;font-size:.9rem;line-height:1.25;margin:0;border:1px solid var(--line)}
.mosaic-badge .ico{color:var(--orange-ink)}
.trust{border-block:1px solid var(--line);background:var(--bg)}
.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding-block:1.6rem}
.trust-item{display:flex;gap:.8rem;align-items:flex-start}
.trust-item .ico{color:var(--orange-ink);margin-top:.15rem}
.trust-item strong{display:block;font-size:.98rem}
.trust-item span{display:block;color:var(--muted);font-size:.86rem;line-height:1.4}
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.9rem,1.6vw,1.25rem)}
.svc{position:relative;display:grid;gap:.5rem;align-content:start;padding:1.5rem 1.4rem 1.3rem;border-radius:var(--radius);background:var(--bg);text-decoration:none;color:inherit;border:1px solid transparent;transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease}
.svc:hover{transform:translateY(-3px);border-color:var(--orange);box-shadow:var(--shadow);color:inherit}
.svc-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb, var(--orange) 13%, var(--bg));color:var(--orange-ink);margin-bottom:.4rem}
.svc-tag{position:absolute;top:1.3rem;right:1.2rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.svc h3{font-size:1.2rem}
.svc p{color:var(--muted);font-size:.93rem;line-height:1.5}
.svc-more{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.88rem;color:var(--orange-ink);margin-top:.3rem}
.how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,3vw,2.5rem);position:relative}
.how li{display:grid;gap:.5rem;align-content:start;position:relative}
.how-ico{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--band);color:var(--band-ink);margin-bottom:.6rem;position:relative;z-index:1}
.how li:not(:last-child)::after{content:"";position:absolute;top:30px;left:72px;right:-1rem;border-top:2px dashed color-mix(in srgb, var(--orange) 55%, transparent)}
.how strong{font-size:1.1rem;font-family:var(--f-display)}
.how p{color:var(--muted);font-size:.96rem}
.section--texture{background-color:var(--band);background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);background-size:64px 32px, 32px 32px}
.card--article{transition:transform .2s ease}
.card--article:hover{transform:translateY(-3px)}
.person .photo{box-shadow:var(--shadow)}
.person .photo img{transition:transform .6s ease}
.person:hover .photo img{transform:scale(1.03)}
.person .monogram{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:var(--on-accent);font-size:2.3rem}
.avatar{border-radius:50%;object-fit:cover;object-position:50% 20%;border:3px solid var(--bg);flex-shrink:0;display:block}
.avatar--mono{display:grid;place-items:center;background:var(--orange);color:var(--on-accent);font-family:var(--f-display);font-weight:600;font-size:1rem}
.avatars{display:flex}
.avatars .avatar + .avatar{margin-left:-14px}
.chip{display:flex;gap:.9rem;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1.1rem}
.chip > div:last-child{display:grid;gap:.05rem;line-height:1.3}
.chip-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.chip-role{font-size:.85rem;color:var(--muted)}
.hero-aside{display:grid;gap:1rem}
.btn .ico{margin-right:-.1rem}
.sticky-cta{display:none}
@media (max-width: 1060px){
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 900px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .mosaic{padding-left:0;max-width:560px;margin-top:1rem}
  .how{grid-template-columns:minmax(0,1fr)}
  .how li:not(:last-child)::after{display:none}
  .paths{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 700px){
  .sticky-cta{display:flex;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:60;background:color-mix(in srgb, var(--bg) 94%, transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:.7rem var(--gutter-r) calc(.7rem + env(safe-area-inset-bottom, 0px)) var(--gutter-l)}
  .sticky-cta .btn{flex:1;padding:.8rem .6rem;font-size:.95rem}
  body{padding-bottom:76px}
}
@media (max-width: 600px){
  .svc-grid,.trust-grid{grid-template-columns:minmax(0,1fr)}
  .tile figcaption span{display:none}
  .mosaic-badge{position:static;grid-column:1 / -1;order:-1;justify-self:start}
}

/* ===== v3: Animation & Interaktion ===== */
.js-anim .reveal:not(.in){opacity:0;transform:translateY(18px)}
.reveal{transition:opacity .6s ease, transform .6s ease}
.hero h1 .mark path{stroke-dasharray:1;stroke-dashoffset:0;animation:draw 1.1s .3s ease-out both}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.hero-text > *{animation:rise .7s ease-out both}
.hero-text > *:nth-child(2){animation-delay:.08s}.hero-text > *:nth-child(3){animation-delay:.16s}.hero-text > *:nth-child(4){animation-delay:.24s}.hero-text > *:nth-child(5){animation-delay:.32s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.float-a{animation:floatA 7s ease-in-out infinite}
.float-b{animation:floatB 8s ease-in-out infinite}
@keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
.mosaic-badge{animation:rise .8s .5s ease-out both}
.hero-note{display:flex;align-items:center;gap:.5rem;margin-top:1.4rem;font-size:.9rem;font-weight:600;color:var(--muted)}
.hero-note .ico{color:var(--orange-ink)}
.trust-item{flex-direction:column;gap:.3rem}
.num{font-family:var(--f-display);font-size:2.2rem;font-weight:600;line-height:1;color:var(--ink);display:flex;align-items:baseline;gap:.25rem;font-variant-numeric:tabular-nums}
.num small{font-family:var(--f-body);font-size:.85rem;font-weight:700;color:var(--orange-ink)}
.num .ico{width:34px;height:34px;color:var(--orange-ink)}
/* Wegweiser */
.finder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:start}
.finder-list{display:grid;gap:.55rem}
.finder-btn{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;font:inherit;font-weight:600;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:.85rem 1.1rem;cursor:pointer;transition:border-color .2s ease, background-color .2s ease, transform .2s ease}
.finder-btn .ico{color:var(--orange-ink)}
.finder-btn:hover{border-color:var(--orange);transform:translateX(4px)}
.finder-btn[aria-selected="true"]{background:var(--band);color:var(--band-ink);border-color:var(--band)}
.finder-btn[aria-selected="true"] .ico{color:var(--orange)}
.finder-result{position:sticky;top:120px}
.finder-panel{background:var(--surface);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.4rem);display:grid;gap:.7rem;border:1px solid var(--line)}
.finder-panel h3{font-size:var(--step-2)}
.finder-panel p{color:var(--muted)}
.finder-panel .btn-row{margin-top:.6rem}
.pop{animation:pop .35s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
/* Segment-Filter */
.seg{display:inline-flex;gap:.3rem;padding:.3rem;border-radius:999px;background:var(--bg);border:1px solid var(--line);margin-bottom:1.6rem;flex-wrap:wrap}
.seg--wrap{border-radius:18px}
.seg-btn{font:inherit;font-weight:700;font-size:.92rem;padding:.6rem 1.1rem;border-radius:999px;border:0;background:none;color:var(--muted);cursor:pointer;transition:background-color .2s ease, color .2s ease}
.seg-btn:hover{color:var(--ink)}
.seg-btn[aria-pressed="true"]{background:var(--orange);color:var(--on-accent)}
/* Laufband Themen */
.marquee{overflow:hidden;background:var(--band);color:var(--band-ink);padding-block:1.1rem;border-block:1px solid rgba(255,255,255,.08)}
.marquee-track{display:flex;width:max-content;animation:marq 40s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee ul{display:flex;gap:2.4rem;list-style:none;margin:0;padding:0 1.2rem 0 1.2rem}
.marquee li{font-family:var(--f-display);font-size:1.35rem;font-style:italic;white-space:nowrap;display:flex;align-items:center;gap:2.4rem}
.marquee li::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Team */
.person .photo{position:relative}
.traits{position:absolute;left:.7rem;right:.7rem;bottom:.7rem;display:flex;flex-wrap:wrap;gap:.3rem;opacity:0;transform:translateY(6px);transition:opacity .3s ease, transform .3s ease}
.person:hover .traits,.person:focus-within .traits{opacity:1;transform:none}
.traits span{font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:99px;background:rgba(255,255,255,.92);color:#14213b}
.person-more{border-top:1px solid var(--line);padding-top:.6rem}
.person-more summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--orange-ink);list-style:none;display:flex;align-items:center;gap:.4rem}
.person-more summary::-webkit-details-marker{display:none}
.person-more summary::after{content:"+";font-size:1.1rem}
.person-more[open] summary::after{content:"–"}
.person-more ul{margin-top:.6rem}
.person-link{font-weight:700;font-size:.9rem;text-decoration:none;color:var(--orange-ink)}
@media (hover: none){.traits{opacity:1;transform:none}}
.recruit{margin-top:clamp(2rem,4vw,3rem);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(1rem,3vw,2rem);align-items:center;padding:clamp(1.4rem,3vw,2.2rem);border-radius:var(--radius);border:2px dashed color-mix(in srgb, var(--orange) 55%, var(--line));background:color-mix(in srgb, var(--orange) 5%, var(--bg))}
.recruit h3{font-size:var(--step-1)}
.recruit-dots{display:flex}
.recruit-dots span{width:52px;height:52px;border-radius:50%;border:2px dashed var(--orange);background:var(--bg);margin-left:-14px;animation:pulse 2.4s ease-in-out infinite}
.recruit-dots span:first-child{margin-left:0}
.recruit-dots span:nth-child(2){animation-delay:.4s}.recruit-dots span:nth-child(3){animation-delay:.8s}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
/* Fachliche Leitung */
.leitung{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:start;max-width:960px}
.leitung-photo{width:200px;max-width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.quals{list-style:none;margin:.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.quals li{background:var(--bg);border-radius:12px;padding:.7rem .9rem;font-size:.88rem;color:var(--muted);line-height:1.35}
.quals b{display:block;color:var(--ink);font-size:.95rem}
@media (max-width: 900px){
  .finder{grid-template-columns:minmax(0,1fr)}
  .finder-result{position:static}
  .recruit{grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 600px){
  .leitung{grid-template-columns:minmax(0,1fr)}
  .leitung-photo{width:160px}
  .quals{grid-template-columns:minmax(0,1fr)}
  .num{font-size:1.9rem}
}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none;flex-wrap:wrap}.float-a,.float-b{animation:none}}

.trust-item .num span{display:inline;font-size:inherit;color:inherit;line-height:inherit}
.btn{white-space:nowrap}
@media (max-width:420px){.btn{white-space:normal}}

/* ===== v4 ===== */
.hero .eyebrow{margin-bottom:1.1rem}
.hero .lead{margin-top:2.2rem}
.hero .btn-row{margin-top:2.6rem}
.hero h1{line-height:1.14}
.finder-group{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:.6rem 0 .1rem}
.finder-group:first-child{margin-top:0}
.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:.8rem}
.topic{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;align-items:center;padding:1.1rem 1.3rem;border-radius:14px;background:var(--surface);text-decoration:none;color:inherit;border:1px solid transparent;transition:border-color .2s ease, transform .2s ease, background-color .2s ease}
.topic .tag{grid-column:1;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink)}
.topic strong{grid-column:1;font-family:var(--f-display);font-size:1.12rem;font-weight:600;line-height:1.3}
.topic-arrow{grid-column:2;grid-row:1 / span 2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--orange-ink);transition:transform .2s ease, background-color .2s ease}
.topic:hover{border-color:var(--orange);transform:translateY(-2px);color:inherit}
.topic:hover .topic-arrow{background:var(--orange);color:var(--on-accent);transform:translateX(3px)}
.profile-photo{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;max-width:340px;max-width:min(340px,100%);box-shadow:var(--shadow);justify-self:end;background:var(--surface-2);display:grid;place-items:center}
.profile-photo img{width:100%;height:100%;object-fit:cover}
.profile-photo .monogram{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:var(--on-accent);font-family:var(--f-display);font-size:3rem}
.hero-aside{justify-items:end}
.hero-aside .factbox,.hero-aside .chip{width:100%}
.bigquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:var(--step-2);line-height:1.35;border-left:3px solid var(--orange);padding-left:1.4rem;color:var(--ink)}
.section--band .value h3{color:var(--band-ink)}
.sub-h{font-size:var(--step-1);margin-bottom:1rem}
.qual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:.9rem}
.qual{background:var(--bg);border-radius:14px;padding:1.1rem 1.2rem;display:grid;gap:.25rem;align-content:start;border-top:3px solid var(--orange)}
.qual-grid--sm .qual{border-top-color:var(--navy)}
.qual-kind{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink)}
.qual strong{font-size:1rem;line-height:1.35}
.qual span:last-child{color:var(--muted);font-size:.88rem}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:860px;position:relative}
.timeline::before{content:"";position:absolute;left:104px;top:.6rem;bottom:.6rem;border-left:2px solid var(--line)}
.timeline li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:2rem;padding-block:.9rem;position:relative}
.timeline li::before{content:"";position:absolute;left:99px;top:1.35rem;width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px var(--bg)}
.tl-year{font-weight:700;font-size:.85rem;color:var(--orange-ink);padding-top:.15rem;text-align:right}
.timeline strong{font-size:1.05rem}
.timeline p{color:var(--muted);font-size:.95rem}
.trait-row{display:flex;flex-wrap:wrap;gap:.5rem}
.trait{padding:.45rem .9rem;border-radius:99px;background:color-mix(in srgb, var(--orange) 12%, var(--bg));color:var(--orange-ink);font-weight:700;font-size:.9rem}
@media (max-width:900px){.hero-aside{justify-items:start}.profile-photo{justify-self:start;max-width:min(280px,100%)}}
@media (max-width:600px){.timeline::before{left:6px}.timeline li{grid-template-columns:minmax(0,1fr);gap:.2rem;padding-left:1.8rem}.timeline li::before{left:1px}.tl-year{text-align:left}}

/* ===== v5 ===== */
.topbar{background:var(--band);color:var(--band-ink);font-size:.85rem}
.topbar-inner{display:flex;justify-content:flex-end;align-items:center;gap:1.6rem;min-height:38px;max-width:1260px}
.topbar a{color:var(--band-ink);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;font-weight:600}
.topbar a:hover{color:var(--orange)}
.topbar .ico{color:var(--orange)}
.topbar-note{margin-right:auto;display:inline-flex;align-items:center;gap:.4rem;color:var(--band-muted)}
.site-header .header-inner{max-width:1260px}
.brand img{height:118px}
.header-inner{min-height:140px}
.call-btn{display:none;width:44px;height:44px;border-radius:50%;place-items:center;background:var(--orange);color:var(--on-accent);margin-left:auto}
@media (max-width:1300px){
  .menu-toggle{display:inline-flex;align-items:center;gap:.5rem;margin-left:.6rem}
  .call-btn{display:grid}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:1rem var(--gutter-r) 1.5rem var(--gutter-l);flex-direction:column;align-items:stretch;max-height:calc(100vh - 100px);overflow:auto}
  .nav.open{display:flex}
  .nav > ul{flex-direction:column;align-items:stretch}
  .sub{position:static;display:block;border:0;box-shadow:none;padding:0 0 .5rem .75rem;min-width:0;background:none}
  .nav-label::after{display:none}
  .nav-label{color:var(--muted)!important;font-size:.8rem!important;text-transform:uppercase;letter-spacing:.1em;padding-top:1rem!important}
  .nav .btn{margin:1rem 0 0}
  .brand img{height:96px}.header-inner{min-height:116px}
  }
@media (max-width:700px){
  .topbar{display:none}
  .brand img{height:78px}.header-inner{min-height:96px}
  }
/* Wegweiser kompakt */
.finder-hint{display:none;font-size:.82rem;color:var(--muted);margin-top:-.4rem}
.finder{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.finder-list{display:flex;flex-wrap:wrap;gap:.5rem;align-content:start}
.finder-group{flex-basis:100%;margin:.4rem 0 0}
.finder-btn{width:auto;border-radius:999px;padding:.55rem 1rem;font-size:.92rem;gap:.5rem}
.finder-btn:hover{transform:translateY(-2px)}
.finder-panel{padding:clamp(1.3rem,2.5vw,2rem)}
@media (max-width:900px){.finder-result{scroll-margin-top:110px}.finder-btn{font-size:.88rem;padding:.5rem .85rem}}
/* Team-Karten einheitlich */
.grid > .person{display:flex;flex-direction:column;gap:.8rem;height:100%}
.person-head{display:grid;gap:.25rem}
.person-head .role{min-height:3.3em;display:flex;align-items:flex-end}
.person-text{flex:1}
.person-foot{display:grid;gap:.6rem;border-top:1px solid var(--line);padding-top:.7rem;margin-top:auto}
.person-foot .person-more{border-top:0;padding-top:0}

@media (max-width:900px){
  .finder{grid-template-columns:minmax(0,1fr);gap:1rem}
  .finder-list{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding:.2rem 0 .7rem;margin-inline:calc(-1 * var(--gutter-l)) calc(-1 * var(--gutter-r));padding-inline:var(--gutter-l) var(--gutter-r);-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .finder-list::-webkit-scrollbar{display:none}
  .finder-btn{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}
  .finder-group{flex:0 0 auto;flex-basis:auto;align-self:center;margin:0 .2rem 0 .4rem}
  .finder-group:first-child{margin-left:0}
  .finder-hint{display:block}
}
@media (max-width:600px){.seg-btn{font-size:.85rem;padding:.5rem .8rem}}

/* ===== v6: Wegweiser am Desktop untereinander ===== */
@media (min-width:901px){
  .finder{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .finder-list{flex-direction:column;flex-wrap:nowrap;gap:.4rem}
  .finder-btn{width:100%;border-radius:12px;padding:.6rem 1rem;font-size:.93rem}
  .finder-btn:hover{transform:translateX(4px)}
  .finder-group{margin:.7rem 0 .15rem}
  .finder-group:first-child{margin-top:0}
}

/* ===== v7: Räume ===== */
.hero-photo{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;max-width:100%;width:100%}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-aside .hero-photo{max-width:460px;justify-self:end}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:200px;gap:.8rem}
.gal-item{padding:0;border:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:var(--surface-2);position:relative}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gal-item:hover img{transform:scale(1.05)}
.gal-item--wide{grid-column:span 2;grid-row:span 2}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,16,30,.92);display:none;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));cursor:zoom-out}
.lightbox.open{display:grid}
.lightbox img{max-width:100%;max-height:88vh;border-radius:12px;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.lb-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:calc(18px + env(safe-area-inset-right,0px));background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;line-height:1}
.datelist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.datelist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.1rem 1rem;align-items:center;background:var(--bg);border-radius:14px;padding:1rem 1.2rem}
.date-no{grid-row:span 2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:var(--on-accent);font-weight:700;font-family:var(--f-display);font-size:1.2rem}
.datelist .muted{font-size:.9rem}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px}.datelist{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-aside .hero-photo{justify-self:start}}
@media (max-width:600px){.datelist{grid-template-columns:minmax(0,1fr)}.gal-item--wide{grid-column:span 2;grid-row:span 1}}

.gallery{grid-auto-flow:dense}
.page-hero-grid{align-items:center}

/* ===== v8 ===== */
.site-header{transition:box-shadow .3s ease}
.site-header.scrolled{box-shadow:0 10px 30px -22px rgba(11,33,69,.5)}
.carousel{overflow:hidden;margin-inline:calc(-1 * var(--gutter-l)) calc(-1 * var(--gutter-r));-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.carousel-track{display:flex;gap:.9rem;width:max-content;animation:marq 60s linear infinite}
.carousel:hover .carousel-track,.carousel:focus-within .carousel-track{animation-play-state:paused}
.carousel .gal-item{flex:0 0 auto;height:240px;width:auto;border-radius:14px}
.carousel .gal-item img{height:100%;width:auto;max-width:none;object-fit:cover}
.carousel-hint{margin-top:.8rem}
@media (max-width:600px){.carousel .gal-item{height:180px}}
@media (prefers-reduced-motion: reduce){.carousel{overflow-x:auto}.carousel-track{animation:none}}

/* ===== v9: Karussell per Script ===== */
.carousel-wrap{position:relative}
.carousel{overflow-x:auto;scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.carousel-track{animation:none!important}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:var(--bg);color:var(--ink);font-size:1.8rem;line-height:1;box-shadow:var(--shadow);cursor:pointer;display:grid;place-items:center}
.car-btn:hover{background:var(--orange);color:var(--on-accent)}
.car-prev{left:-6px}.car-next{right:-6px}
@media (max-width:600px){.car-btn{width:38px;height:38px;font-size:1.5rem}}
