/* Prototyp A · „Galerie“ — ruhig, bildgeführt, viel Kalkweiß (Chipperfield-Richtung) */
.sec-head{margin-bottom:clamp(3rem,5vw,5rem)}
.sec-head .label{color:var(--graubraun);margin-bottom:1.25rem}
.sec-head h2{font-size:var(--t-h2);line-height:1.05;max-width:18ch}
.sec-head--split{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
.link-arrow{text-decoration:none;font-weight:600;font-size:.9375rem;border-bottom:1px solid var(--sandstein);padding-bottom:4px;white-space:nowrap;transition:border-color var(--dauer-kurz)}
.link-arrow:hover{border-color:var(--terrakotta)}
section{position:relative}

/* 1 Hero */
.hero{height:100svh;min-height:600px;position:relative;overflow:hidden;background:var(--basalt);color:var(--kalkweiss)}
.hero__film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,39,35,.42) 0%,rgba(42,39,35,0) 22%,rgba(42,39,35,0) 42%,rgba(42,39,35,.72) 100%)}
.hero__in{position:absolute;left:0;right:0;bottom:clamp(5.5rem,11vh,8rem)}
.hero__title{font-size:clamp(2.6rem,1.2rem + 4.2vw,5.5rem);line-height:1;max-width:11ch;letter-spacing:-.025em}
.akzent-hell .word,.akzent-hell:not(:has(.word)){background:linear-gradient(var(--terrakotta),var(--terrakotta)) left 92%/100% .075em no-repeat}
.hero__title .word{padding-bottom:.08em}
.hero__row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:2.25rem;flex-wrap:wrap}
.hero__sub{max-width:44ch;color:rgba(242,239,232,.9)}
.hero__tools{position:absolute;left:0;right:0;bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;color:var(--kalkweiss)}
.hero__ki{color:rgba(242,239,232,.75);font-size:.75rem}
.scroll-hint{position:absolute;left:50%;bottom:0;width:1px;height:56px;background:rgba(242,239,232,.5);transform-origin:top;animation:hint 2.4s var(--ease-standard) infinite}
@keyframes hint{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media (max-width:760px){.hero__tools .hero__ki{display:none}.hero__in{bottom:4.5rem}}

/* 2 Scroll-Sequenz */
.seq{height:420vh}
.seq__sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.seq__grid{display:grid;grid-template-columns:4fr 8fr;gap:clamp(2rem,4vw,5rem);align-items:center}
.seq__kicker{color:var(--graubraun);margin-bottom:2.5rem}
.seq__items{position:relative;min-height:15rem}
.seq__item{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(16px);transition:opacity var(--dauer-mittel) var(--ease-standard),transform var(--dauer-mittel) var(--ease-standard)}
.seq__item.is-active{opacity:1;transform:none}
.seq__n{font-family:var(--font-head);font-size:1rem;color:var(--terrakotta);display:block;margin-bottom:.75rem}
.seq__item h2{font-size:var(--t-h2);line-height:1.05;margin-bottom:1.25rem}
.seq__item p{max-width:34ch;color:var(--graubraun)}
.seq__progress{display:flex;align-items:center;gap:1rem;margin-top:2.5rem;color:var(--graubraun)}
.seq__track{flex:1;height:1px;background:var(--sandstein);position:relative;max-width:220px}
.seq__track i{position:absolute;inset:0;background:var(--terrakotta);transform-origin:left;transform:scaleX(0)}
.seq__frame{position:relative;margin:0;aspect-ratio:1600/1067;background:var(--kalkweiss);border:1px solid var(--sandstein)}
.seq__stage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.seq__stage--plan{background:var(--kalkweiss)}
.seq__cap{position:absolute;left:0;top:calc(100% + .75rem)}
.seq--static{height:auto;padding:8rem 0}
.seq--static .seq__sticky{position:static;height:auto}
.seq--static .seq__items{min-height:0}
.seq--static .seq__item{position:static;opacity:1;transform:none;margin-bottom:2rem}
.seq--static .seq__frame{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:auto;gap:4px}
.seq--static .seq__stage{position:relative;aspect-ratio:1600/1067}
@media (max-width:900px){
  .seq{height:380vh}
  .seq__grid{grid-template-columns:1fr;gap:1.5rem}
  .seq__kicker{margin-bottom:1rem}
  .seq__items{min-height:11.5rem}
  .seq__item h2{font-size:2rem;margin-bottom:.6rem}
  .seq__progress{margin-top:.5rem}
  .seq__frame{order:-1}
  .seq__cap{display:none}
}

/* 3 Haltung */
.statement{padding-top:clamp(8rem,16vw,15rem);padding-bottom:clamp(6rem,12vw,12rem)}
.statement__k{color:var(--graubraun);margin-bottom:2rem}
.statement__txt{font-family:var(--font-head);font-weight:500;font-size:clamp(2rem,1rem + 3.3vw,4.5rem);line-height:1.08;letter-spacing:-.02em;max-width:22ch}

/* 4 Fünf Versprechen */
.promises{padding-bottom:clamp(8rem,14vw,14rem)}
.promises__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}
.promises__row li{border-top:1px solid var(--sandstein);padding-top:1.5rem}
.promises__row .num{display:block;font-family:var(--font-head);font-weight:500;font-size:clamp(3.5rem,2rem + 3vw,6rem);line-height:1;color:var(--sandstein);margin-bottom:2rem;letter-spacing:-.04em}
.promises__row h3{font-size:1.25rem;line-height:1.2;margin-bottom:.75rem}
.promises__row p{font-size:1rem;color:var(--graubraun)}
@media (max-width:1100px){.promises__row{grid-template-columns:1fr 1fr}.promises__row li:last-child{grid-column:1/-1}}
@media (max-width:600px){.promises__row{grid-template-columns:1fr}}

/* 5 Projekte */
.projects{padding-bottom:clamp(8rem,14vw,14rem)}
.projects__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(1rem,2vw,2rem);row-gap:clamp(4rem,7vw,7rem)}
.pcard{text-decoration:none;display:block}
.pcard__img{position:relative;overflow:hidden;background:var(--sandstein)}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--dauer-lang) var(--ease-standard)}
.pcard:hover .pcard__img img{transform:scale(1.03)}
.pcard__txt{position:relative;padding-top:1.1rem;display:grid;grid-template-columns:1fr auto;column-gap:1rem}
.pcard__txt h3{font-size:var(--t-h3);line-height:1.2;transition:color var(--dauer-kurz)}
.pcard:hover h3{color:var(--terrakotta)}
.pcard__txt .meta{grid-column:1;margin-top:.35rem;transform:translateY(0);transition:transform var(--dauer-mittel) var(--ease-standard)}
.tag{grid-column:2;grid-row:1;align-self:start;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--sandstein);padding:.3em .6em;color:var(--graubraun)}
.pcard .ki{font-size:.625rem}
.pcard--1{grid-column:1/8}.pcard--1 .pcard__img{aspect-ratio:3/2}
.pcard--2{grid-column:9/13;margin-top:clamp(6rem,12vw,12rem)}.pcard--2 .pcard__img{aspect-ratio:2/3}
.pcard--3{grid-column:2/7}.pcard--3 .pcard__img{aspect-ratio:4/3}
.pcard--4{grid-column:8/13;margin-top:-6rem}.pcard--4 .pcard__img{aspect-ratio:3/2}
@media (max-width:760px){.projects__grid>*{grid-column:1/-1!important;margin-top:0!important}.sec-head--split{flex-direction:column;align-items:flex-start}}

/* 6 Leistungsphasen-Band */
.lp{background:var(--kalkweiss);border-top:1px solid var(--sandstein)}
.lp__sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.lp__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(2.5rem,5vh,4rem)}
.lp__head .label{color:var(--graubraun)}
.lp__head h2{font-size:var(--t-h2);line-height:1.02;text-align:right}
.lp__track{list-style:none;margin:0;padding:0 var(--rand);display:flex;gap:0;width:max-content;will-change:transform}
.lp__track li{width:clamp(280px,26vw,380px);padding:2rem 2.25rem 2rem 0;margin-right:2.25rem;border-top:1px solid var(--basalt);display:flex;flex-direction:column;gap:.9rem;min-height:320px}
.lp__n{font-family:var(--font-head);font-weight:500;font-size:clamp(3rem,2rem + 2.2vw,4.5rem);color:var(--sandstein);line-height:1;letter-spacing:-.03em;margin-bottom:.75rem}
.lp__track h3{font-size:var(--t-h3)}
.lp__track p{font-size:1rem;color:var(--graubraun);max-width:30ch}
.lp__track .meta{max-width:none;margin-top:auto;padding-top:1rem;border-top:1px solid var(--sandstein);color:var(--basalt)}
.lp__foot{margin-top:clamp(2rem,5vh,3.5rem)}
.lp__bar{display:block;height:1px;background:var(--sandstein);position:relative}
.lp__bar i{position:absolute;inset:0;background:var(--terrakotta);transform-origin:left;transform:scaleX(0)}
.h--static{height:auto!important}
.h--static .lp__sticky{position:static;height:auto;padding:6rem 0}
.h--static .lp__track{width:auto;flex-direction:column;padding:0 var(--rand)}
.h--static .lp__track li{width:auto;min-height:0;margin-right:0}
.h--static .lp__foot{display:none}
@media (max-width:760px){.lp__head{flex-direction:column;align-items:flex-start;gap:1rem}.lp__head h2{text-align:left}}

/* 7 Verantwortung */
.resp{background:var(--sandstein);padding:clamp(6rem,12vw,12rem) 0}
.resp__grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,6rem);align-items:center}
.resp__img{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden}
.resp__img img{width:100%;height:100%;object-fit:cover}
.resp__txt .label{color:var(--graubraun);margin-bottom:1.25rem}
.resp__txt h2{font-size:clamp(1.9rem,1.2rem + 2vw,3rem);line-height:1.08;margin-bottom:1.5rem}
.resp__txt>p{color:#4a453e;margin-bottom:2.5rem;max-width:44ch}
.seals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0}
.seals li{display:flex;gap:1rem;align-items:center;padding:1.1rem 0;border-top:1px solid rgba(42,39,35,.2);font-size:.9375rem;font-weight:600;line-height:1.3}
.seals li:nth-child(odd){padding-right:1rem}
.seals svg{width:36px;height:36px;flex:none;fill:none;stroke:var(--basalt);stroke-width:1.2}
@media (max-width:900px){.resp__grid{grid-template-columns:1fr}.seals{grid-template-columns:1fr}}

/* 8 So prüfen wir */
.check{padding-top:clamp(8rem,14vw,14rem);padding-bottom:clamp(8rem,14vw,14rem)}
.check__line{position:relative;height:14px;margin-bottom:2.25rem;display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}
.check__line i{position:absolute;left:0;right:0;top:6px;height:1px;background:var(--terrakotta);transform-origin:left;transform:scaleX(0)}
.check__line b{position:relative;width:13px;height:13px;border:1px solid var(--terrakotta);border-radius:50%;background:var(--kalkweiss)}
.check__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}
.check__row h3{font-size:1.25rem;margin-bottom:.75rem}
.check__row p{font-size:1rem;color:var(--graubraun)}
@media (max-width:1000px){.check__line{display:none}.check__row{grid-template-columns:1fr 1fr}.check__row li{border-top:1px solid var(--terrakotta);padding-top:1.25rem}}
@media (max-width:600px){.check__row{grid-template-columns:1fr}}

/* 9 CTA */
.cta{background:var(--basalt);color:var(--kalkweiss);padding:clamp(7rem,14vw,13rem) 0 clamp(5rem,9vw,8rem)}
.cta__logo{width:64px;height:64px;margin-bottom:3rem}
.cta h2{font-size:var(--t-display);line-height:.95;letter-spacing:-.035em;max-width:13ch;margin-bottom:4rem}
.cta__row{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;flex-wrap:wrap;border-top:1px solid rgba(214,205,188,.25);padding-top:2.5rem}
.cta__dl{display:flex;gap:3.5rem;margin:0;flex-wrap:wrap}
.cta__dl dt{color:var(--sandstein);margin-bottom:.5rem}
.cta__dl dd{margin:0}

/* 10 Footer */
.footer{background:var(--basalt);color:rgba(242,239,232,.82);font-size:.875rem;line-height:1.6;border-top:1px solid rgba(214,205,188,.18);padding:4.5rem 0 5rem}
.footer__grid{display:grid;grid-template-columns:4fr 2fr 2fr 4fr;gap:2rem}
.footer__logo{height:44px;width:auto}
.footer .label{color:var(--sandstein);margin-bottom:.75rem}
.footer a{text-decoration:none}.footer a:hover{color:var(--kalkweiss);text-decoration:underline;text-decoration-color:var(--terrakotta)}
.footer__base{display:flex;justify-content:space-between;margin-top:4rem;padding-top:1.5rem;border-top:1px solid rgba(214,205,188,.18);color:rgba(214,205,188,.7)}
@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr}.footer__logo{grid-column:1/-1}}

/* Überarbeitung 26.09.: kein Anpinnen, Sequenz läuft im Scrollfluss */
.seq[data-seq-flow]{height:auto;padding:clamp(7rem,12vw,11rem) 0}
.seq[data-seq-flow] .seq__sticky{position:static;height:auto;overflow:visible}
.seq[data-seq-flow] .seq__items{min-height:0;display:grid;gap:1.6rem}
.seq[data-seq-flow] .seq__item{position:static;opacity:.35;transform:none;transition:opacity var(--dauer-mittel) var(--ease-standard)}
.seq[data-seq-flow] .seq__item.is-active{opacity:1}
.seq[data-seq-flow] .seq__item h2{font-size:clamp(1.6rem,1rem + 1.4vw,2.4rem);margin-bottom:.3rem}
.seq[data-seq-flow] .seq__n{margin-bottom:.35rem}
.seq[data-seq-flow] .seq__progress{display:none}
@media (max-width:760px){.seq[data-seq-flow] .seq__items{grid-template-columns:1fr 1fr;gap:1rem}.seq[data-seq-flow] .seq__item h2{font-size:1.35rem}}
.lp--grid{padding:clamp(7rem,12vw,11rem) 0}
.lp--grid .lp__head{margin-bottom:clamp(3rem,5vw,4.5rem)}
.lp__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);column-gap:clamp(1.5rem,3vw,3rem)}
.lp__grid li{display:grid;grid-template-columns:3.2rem 1fr;align-items:baseline;padding:1.6rem 0;border-top:1px solid var(--sandstein)}
.lp__grid .lp__n{font-size:1.5rem;margin:0;color:var(--terrakotta)}
.lp__grid h3{font-size:var(--t-h3)}
.lp__grid p{grid-column:2;color:var(--graubraun);font-size:.9375rem;margin-top:.3rem}
@media (max-width:900px){.lp__grid{grid-template-columns:1fr}}
@media (max-width:760px){.hero__film{object-position:30% 50%}}
.hero__title--stack{max-width:none;font-size:clamp(3.2rem,1.6rem + 5.6vw,7.5rem);line-height:.95;letter-spacing:-.035em}
.hero__title--stack .hl{display:block}
