/* =========================================================
   VISOLINO Relaunch 2026 — Gate 2
   Sektionen S02–S09 + Footer (Hero bleibt in relaunch.css)
   Rhythmus: Hero (Szenenfarbe) · S02 Schwarz · S03 Off-White ·
   S04 Schwarz · S05 Blau · S06 Off-White/Rot · S07 Schwarz ·
   S08 Off-White · S09 + Footer Schwarz
   ========================================================= */

:root{
  --sec-y:clamp(112px,9.4vw,196px);
  --gap:clamp(16px,1.7vw,32px);
  --paper-2:#E9E4DB;
  --line-dark:rgba(244,241,236,.18);
  --line-light:rgba(17,17,17,.16);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}

/* ---------- Gemeinsame Bausteine ---------- */
main section{padding:var(--sec-y) var(--pad)}
.sec-head{margin-bottom:clamp(56px,6vw,112px)}
.sec-head--split{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items:end}
.sec-head--split > :first-child{grid-column:1 / span 8}
.sec-head--split > .sec-intro{grid-column:9 / span 4;padding-bottom:.6em}
.sec-intro{font-size:clamp(17px,1.15vw,20px);line-height:1.5;max-width:38ch}
.sec-intro p + p{margin-top:1em}

.kicker{display:flex;gap:14px;font-size:clamp(18px,calc(18px + (100vw - 1440px) / 240),20px);font-weight:650;letter-spacing:.12em;text-transform:uppercase;margin-bottom:clamp(20px,2.2vw,36px)}
.kicker span{color:var(--orange);font-variant-numeric:tabular-nums}
.kicker--web span{color:var(--web)}
.kicker--content span{color:var(--content)}

main h2.display{font-size:clamp(56px,7.2vw,144px);line-height:.88}
main h2.display span{display:block}

.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;border-bottom:1.5px solid currentColor;padding-bottom:4px;transition:color .25s var(--ease)}
.text-link:hover{color:var(--orange)}
.arr-ne{width:11px;height:11px}

.btn:focus-visible{outline-offset:3px}

/* =========================================================
   S02 PROJEKTE — Schwarz · kompakte editoriale Projektliste
   ========================================================= */
.s02{background:var(--black);color:var(--paper)}
.s02-hl .accent{color:var(--orange)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--orange);flex:none}
.dot--open{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(244,241,236,.6)}
.arr-up{width:11px;height:11px}

.pj{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items:start}
.pj-list{grid-column:1 / span 7;list-style:none;border-bottom:1px solid var(--line-dark)}
.pj-row{display:grid;grid-template-columns:clamp(44px,4vw,72px) 1fr auto;grid-template-rows:auto auto;
  column-gap:clamp(12px,1.2vw,24px);row-gap:14px;padding:clamp(24px,2vw,34px) 0;border-top:1px solid var(--line-dark)}
.pj-no{grid-column:1;grid-row:1;align-self:start;padding-top:.5em;font-family:var(--mono);font-size:13px;
  letter-spacing:.04em;opacity:.55;transition:color .35s var(--ease),opacity .35s var(--ease)}
.pj-name{grid-column:2 / span 2;grid-row:1;font-size:clamp(40px,3.7vw,72px);line-height:.9;
  transition:opacity .35s var(--ease)}
.pj-row--lead{padding:clamp(30px,2.6vw,46px) 0}
.pj-row--lead .pj-name{font-size:clamp(52px,5.3vw,104px)}
.pj-status{grid-column:2;grid-row:2;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650;
  letter-spacing:.12em;text-transform:uppercase;opacity:.72}
.pj-act{grid-column:3;grid-row:2;justify-self:end;align-self:center;display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
  border-bottom:1.5px solid currentColor;padding-bottom:4px;transition:color .25s var(--ease)}
a.pj-act:hover,a.pj-act:focus-visible{color:var(--orange)}
.pj-here{color:var(--orange);border-bottom:0;padding-bottom:0;letter-spacing:.06em;text-transform:none;font-size:14px;font-weight:600}
.pj-row--self .pj-no{color:var(--orange);opacity:1}
.pj-row.is-on .pj-no{color:var(--orange);opacity:1}

/* Fokus-Zustand: nur bei aktivem Hover/Fokus in der Liste treten die anderen Namen zurück */
.pj.is-hover .pj-row:not(.is-on) .pj-name{opacity:.3}

.pj-preview{grid-column:8 / span 5;position:sticky;top:calc(var(--nav-h-solid) + 32px);
  display:grid;margin-left:clamp(0px,1.6vw,32px)}
.pj-pv{grid-area:1 / 1;opacity:0;transition:opacity .5s var(--ease);pointer-events:none}
.pj-pv.is-on{opacity:1}
.pj-pv picture,.pj-wip{display:block;aspect-ratio:16 / 9;overflow:hidden;background:#1a1a1a;
  outline:1px solid var(--line-dark);outline-offset:-1px}
.pj-pv img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transform:scale(1.025);
  transition:transform 1.1s var(--ease)}
.pj-pv.is-on img{transform:scale(1)}
.pj-pv figcaption{display:flex;gap:12px;padding-top:14px;margin-top:14px;border-top:1px solid var(--line-dark);
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:.8}
.pj-pv figcaption span{color:var(--orange)}
.pj-wip{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,2vw,36px);background:#161616}
.pj-wip b{font-size:clamp(40px,3.6vw,68px);line-height:.9;color:var(--paper)}
.pj-wip p{margin-top:12px;font-size:15px;opacity:.6}
@media (prefers-reduced-motion:reduce){.pj-pv img{transform:none!important}}

/* =========================================================
   S03 LEISTUNGEN — Off-White mit drei Farbflächen
   ========================================================= */
.s03{background:var(--paper);color:var(--ink)}
.pillars{display:flex;gap:12px;height:clamp(540px,66vh,740px)}
.pillar{position:relative;flex:1 1 0;min-width:0;display:grid;grid-template-rows:auto 1fr auto auto auto;
  padding:clamp(26px,2.4vw,46px);overflow:hidden;
  transition:flex-grow .7s var(--ease)}
.pillar--web{background:var(--web);color:var(--ink)}
.pillar--brand{background:var(--brand);color:#fff}
.pillar--content{background:var(--content);color:var(--ink)}
.p-no{font-size:13px;font-weight:650;letter-spacing:.12em}
.p-word{align-self:end;font-size:clamp(56px,5.6vw,108px);line-height:.82;white-space:nowrap}
.p-line{font-size:clamp(16px,1.1vw,19px);line-height:1.45;max-width:24ch;margin-top:20px;min-height:4.35em}
.p-list{display:flex;flex-wrap:wrap;gap:6px 0;font-size:14px;font-weight:500;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .4s var(--ease),margin .6s var(--ease)}
.p-list span:not(:last-child)::after{content:"·";margin:0 .5em;opacity:.6}
.p-more{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding-top:16px;border-top:1.5px solid currentColor;
  font-size:13px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.p-more .arr{width:18px;height:11px;transition:transform .3s var(--ease)}
@media (hover:hover) and (min-width:1101px){
  .pillars:hover .pillar,.pillars:focus-within .pillar{flex-grow:.85}
  .pillars .pillar:hover,.pillars .pillar:focus-visible{flex-grow:1.35}
  .pillar:hover .p-list,.pillar:focus-visible .p-list{max-height:120px;opacity:1;margin-top:18px}
  .pillar:hover .p-more .arr{transform:translateX(5px)}
}

/* =========================================================
   S04 WEB + PREISE — Schwarz, Akzent Gelb
   ========================================================= */
.s04{background:var(--black);color:var(--paper)}
.s04-hl .accent{color:var(--web)}
.web-scope{font-size:13px!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.8;opacity:.7}

.prices{margin-top:clamp(32px,3vw,56px)}
.prices-head{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items:end;padding-bottom:28px}
.prices-title{grid-column:1 / span 4;font-size:13px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.prices-head p{grid-column:5 / span 6;font-size:16px;line-height:1.5;opacity:.75}

.plans{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto auto 1fr auto;border-top:1px solid var(--line-dark)}
.plan{display:grid;grid-row:span 5;grid-template-rows:subgrid;padding:clamp(28px,2.6vw,48px) clamp(24px,2.4vw,44px) clamp(32px,3vw,52px)}
.plan:first-child{padding-left:0}
.plan + .plan{border-left:1px solid var(--line-dark)}
.plan-name{font-size:clamp(30px,2.4vw,44px);line-height:1}
.plan-price{display:flex;align-items:baseline;gap:12px;margin-top:22px;color:var(--web)}
.plan-price .ab{font-size:15px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.plan-price .num{font-size:clamp(60px,5.8vw,116px);line-height:.85}
.plan-desc{font-size:clamp(16px,1.05vw,18px);line-height:1.45;margin-top:24px;max-width:32ch}
.plan-list{list-style:none;margin-top:28px;font-size:15px;line-height:1.4}
.plan-list li{padding:11px 0;border-top:1px solid var(--line-dark);opacity:.85}
.btn-plan{margin-top:32px;justify-self:start;align-self:end;border-color:var(--paper);color:var(--paper)}
.btn-plan:hover{background:var(--web);border-color:var(--web);color:var(--ink)}
.price-terms{font-size:14px;opacity:.6;padding-top:22px;border-top:1px solid var(--line-dark)}

.care{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items:start;
  margin-top:clamp(72px,6vw,120px);padding-top:clamp(28px,2.4vw,44px);border-top:3px solid var(--web)}
.care-name{grid-column:1 / span 4}
.care-name h3{font-size:clamp(36px,3vw,60px);line-height:.9}
.care-price{margin-top:14px;font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.care-price .num{font-size:clamp(32px,2.4vw,46px);color:var(--web);margin-right:6px}
.care-list{grid-column:5 / span 5;list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:var(--gap);font-size:15px;line-height:1.4}
.care-list li{padding:11px 0;border-top:1px solid var(--line-dark);opacity:.85}
.care-terms{grid-column:10 / span 3;justify-self:end;text-align:right;font-size:15px;line-height:1.5;opacity:.75}

/* =========================================================
   S05 BRAND — Blau
   ========================================================= */
.s05{background:var(--brand);color:#fff}
.s05 .kicker span{color:var(--ink)}
.s05-hl{font-size:clamp(48px,5.4vw,112px)!important}
.s05-hl .accent{color:var(--ink)}

.brand-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items:start}
.brand-copy{grid-column:1 / span 5;padding-right:clamp(0px,2vw,40px)}
.brand-intro{font-size:clamp(17px,1.15vw,20px);line-height:1.5;max-width:40ch}
.brand-list{list-style:none;margin:clamp(32px,3vw,56px) 0 clamp(36px,3vw,56px);border-bottom:1px solid rgba(255,255,255,.3)}
.brand-list li{border-top:1px solid rgba(255,255,255,.3)}
.brand-list .bl{display:flex;align-items:baseline;gap:18px;width:100%;text-align:left;padding:14px 0;
  font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);text-transform:uppercase;
  font-size:clamp(26px,2.3vw,44px);line-height:1;transition:color .25s var(--ease),padding .35s var(--ease)}
.brand-list .bl span{font-family:var(--text);font-stretch:100%;font-size:13px;font-weight:650;letter-spacing:.1em;min-width:2.2em}
.brand-list .bl:hover,.brand-list .bl.is-on{color:var(--ink);padding-left:10px}
.btn-brand{background:var(--ink);color:#fff}
.btn-brand:hover{background:#fff;color:var(--ink)}

.board{grid-column:6 / span 7;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(0,auto);gap:10px;
  background:var(--paper);padding:10px;color:var(--ink);box-shadow:0 40px 80px rgba(0,0,0,.18)}
.tile{position:relative;overflow:hidden;min-height:clamp(150px,11vw,220px);transition:opacity .35s var(--ease)}
.t-lab{position:absolute;left:12px;top:10px;font-size:10.5px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
.t-logo{grid-column:1 / span 4;grid-row:1;background:var(--black);display:grid;place-items:center;color:#fff}
.t-logo img{width:54%;height:auto}
.t-farbe{grid-column:5 / span 2;grid-row:1 / span 2;display:grid;grid-template-rows:repeat(6,1fr);background:#fff}
.t-farbe .t-lab{color:var(--ink);opacity:.75;z-index:1}
.sw{background:var(--c);display:flex;align-items:flex-end;justify-content:flex-end;padding:6px 10px}
.sw i{font-style:normal;font-family:var(--mono);font-size:11px;color:#fff;opacity:.9}
.sw:nth-child(1) i,.sw--light i{color:var(--ink)}
.sw--light{box-shadow:inset 0 0 0 1px var(--line-light)}
.t-typo{grid-column:1 / span 2;grid-row:2;background:var(--paper-2);display:flex;flex-direction:column;justify-content:flex-end;padding:14px}
.aa{font-size:clamp(88px,7.4vw,150px);line-height:.8;text-transform:none}
.t-spec{font-size:12px;line-height:1.5;margin-top:10px;opacity:.75}
.t-claim{grid-column:3 / span 2;grid-row:2;background:var(--orange);display:flex;align-items:flex-end;padding:14px}
.t-claim .display{font-size:clamp(26px,2.1vw,40px);line-height:.9}
.t-bild{grid-column:1 / span 4;grid-row:3;display:grid;grid-template-columns:repeat(4,1fr);gap:0;min-height:0}
.t-bild img{width:100%;height:100%;aspect-ratio:1;object-fit:cover}
.t-bild .t-lab{background:var(--ink);color:#fff;opacity:1;padding:4px 7px;left:10px;top:10px}
.t-guide{grid-column:5 / span 2;grid-row:3;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:14px}
.g-row{display:flex;gap:10px;font-size:12px;padding:6px 0;border-top:1px solid var(--line-light)}
.g-row b{font-weight:650;opacity:.5}
.board figcaption{grid-column:1 / -1;font-size:12px;padding:4px 2px 0;opacity:.65}
.board.is-hl .tile{opacity:.18}
.board.is-hl .tile.is-on{opacity:1}

/* =========================================================
   S06 CONTENT — Off-White mit roter Fläche
   ========================================================= */
.s06{background:var(--paper);color:var(--ink)}
.content-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items:stretch}
.content-copy{grid-column:1 / span 7;padding-right:clamp(0px,3vw,64px);display:flex;flex-direction:column;align-items:flex-start}
.s06-hl{margin-bottom:clamp(36px,3.4vw,64px)}
.s06-hl .accent{color:var(--content)}
.content-intro{font-size:clamp(17px,1.15vw,20px);line-height:1.5;max-width:42ch}
.content-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:var(--gap);width:100%;margin-top:clamp(32px,3vw,52px)}
.content-list li{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);text-transform:uppercase;
  font-size:clamp(24px,2vw,38px);line-height:1;padding:16px 0;border-top:1px solid var(--line-light)}
.content-note{margin:clamp(28px,2.6vw,44px) 0;padding-left:18px;border-left:4px solid var(--content);font-size:16px;line-height:1.5;max-width:46ch}
.btn-content{background:var(--ink);color:#fff}
.btn-content:hover{background:var(--content);color:var(--ink)}

.reel{grid-column:8 / span 5;background:var(--content);display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(40px,4vw,80px) clamp(24px,3vw,56px)}
.reel-frame{position:relative;width:min(420px,100%);aspect-ratio:9 / 16;background:#000;box-shadow:0 30px 70px rgba(0,0,0,.28)}
.reel-frame video{width:100%;height:100%;object-fit:cover}
.reel-toggle{position:absolute;right:12px;bottom:12px;width:38px;height:38px;display:grid;place-items:center;background:var(--ink);color:#fff}
.reel-toggle svg{width:10px;height:12px}
.reel-toggle .i-play{display:none}
.reel.is-paused .reel-toggle .i-play{display:block}
.reel.is-paused .reel-toggle .i-pause{display:none}
.reel figcaption{margin-top:22px;font-size:13px;letter-spacing:.02em;text-align:center}

/* =========================================================
   S07 WARUM VISOLINO — Schwarz, typografisch
   ========================================================= */
.s07{background:var(--black);color:var(--paper)}
.s07 .sec-head--split > :first-child{grid-column:1 / -1}
.s07 .sec-head--split > .sec-intro{grid-column:8 / span 5;margin-top:clamp(28px,2.6vw,48px)}
.s07-hl{font-size:clamp(64px,9.2vw,184px)!important;white-space:nowrap}

.layer-surface{display:flex;align-items:baseline;gap:24px;padding-bottom:18px;border-bottom:6px solid var(--orange)}
.layer-surface span,.layer-below span{font-size:12px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;opacity:.55;min-width:88px}
.layer-surface b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);text-transform:uppercase;font-size:clamp(34px,2.8vw,54px);line-height:1}
.layer-below{padding:22px 0 6px}

.tech-rows{list-style:none}
.tech{display:grid;grid-template-columns:88px minmax(0,1.3fr) minmax(0,1fr) minmax(0,.62fr);column-gap:var(--gap);align-items:baseline;
  padding:clamp(26px,2.4vw,44px) 0;border-top:1px solid var(--line-dark)}
.tech:first-child{border-top:0}
.t-no{font-family:var(--mono);font-size:13px;color:var(--orange)}
.t-word{font-size:clamp(46px,4.5vw,88px);line-height:.9;color:transparent;-webkit-text-stroke:1.5px var(--paper);transition:color .45s var(--ease)}
.tech:hover .t-word{color:var(--paper)}
@supports not (-webkit-text-stroke:1px black){.t-word{color:var(--paper)}}
.tc-claim{font-weight:650;font-size:clamp(17px,1.2vw,21px);line-height:1.3;margin-bottom:10px}
.t-body p:not(.tc-claim){font-size:15.5px;line-height:1.55;opacity:.72;max-width:44ch}
.t-code{justify-self:end;text-align:right;font-family:var(--mono);font-size:12.5px;color:var(--orange);line-height:1.6}
.tech-proof{margin-top:clamp(28px,2.4vw,44px);padding-top:22px;border-top:1px solid var(--line-dark);font-size:14px;opacity:.6}

/* =========================================================
   S08 STUDIO + ABLAUF — Off-White
   ========================================================= */
.s08{background:var(--paper);color:var(--ink)}
.studio-meta{font-size:13px!important;font-weight:650;letter-spacing:.12em;text-transform:uppercase;opacity:.55}

.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.steps li{border-top:2px solid var(--ink);padding-top:22px}
.s-no{display:block;font-size:clamp(64px,5.4vw,108px);line-height:.85;color:var(--orange)}
.steps h3{font-size:18px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:22px 0 10px}
.steps p{font-size:16px;line-height:1.5;opacity:.75;max-width:30ch}

.faq{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);margin-top:clamp(96px,8vw,168px)}
.faq-title{grid-column:1 / span 4;font-size:clamp(56px,5.6vw,112px);line-height:.88}
.faq-list{grid-column:5 / span 8;border-bottom:1px solid var(--line-light)}
.faq details{border-top:1px solid var(--line-light)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:24px 0;font-size:clamp(17px,1.2vw,21px);font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:14px;height:14px;flex:none;
  background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat;
  transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{font-size:16.5px;line-height:1.6;opacity:.75;max-width:62ch;padding:0 0 26px}

/* =========================================================
   S09 FINALER CTA + FOOTER — Schwarz
   ========================================================= */
.s09{background:var(--black);color:var(--paper);padding-top:clamp(140px,12vw,240px)!important;padding-bottom:clamp(96px,8vw,160px)!important}
.s09-hl{font-size:clamp(88px,12.2vw,244px)!important;line-height:.84!important;white-space:nowrap}
.s09-sub{font-size:clamp(26px,2.9vw,56px);line-height:.95;margin-top:clamp(18px,1.6vw,30px);color:var(--orange)}
.s09-cta{display:flex;align-items:center;gap:clamp(24px,2.6vw,48px);margin-top:clamp(48px,4.4vw,84px)}
.btn-orange{background:var(--orange);color:var(--ink)}
.btn-orange:hover{background:var(--paper);color:var(--ink)}
.btn-xl{height:72px;padding:0 38px;font-size:15px}
.text-link--light{color:var(--paper)}

.foot{background:var(--black);color:var(--paper);padding:0 var(--pad) 36px}
.foot-top{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding-top:56px;border-top:1px solid var(--line-dark)}
.foot-logo{grid-column:1 / span 4;align-self:start}
.foot-logo img{height:30px;width:auto}
.foot-cols{grid-column:5 / span 8;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.foot-cols a,.foot-lang{display:block;font-size:15px;padding:5px 0;opacity:.85;transition:color .25s var(--ease),opacity .25s var(--ease)}
.foot-cols a:hover{color:var(--orange);opacity:1}
.foot-lang a{display:inline;padding:0}
.foot-lang a:not(.on){opacity:.6}
.foot-h{font-size:12px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;opacity:.5;margin-bottom:12px}
.foot-claim{margin-top:clamp(72px,6vw,120px);font-size:6.2vw;line-height:.9;white-space:nowrap;color:transparent;-webkit-text-stroke:1.2px rgba(244,241,236,.42)}
.foot-copy{margin-top:28px;font-size:13px;opacity:.5}

/* =========================================================
   Technische Responsive-Prüfung (nicht final — eigene Mobil-Runde folgt)
   ========================================================= */
@media (max-width:1100px){
  .sec-head--split > :first-child,.sec-head--split > .sec-intro,
  .s07 .sec-head--split > .sec-intro{grid-column:1 / -1}
  .sec-head--split > .sec-intro{margin-top:28px}
  .pj-list{grid-column:1 / -1}
  .pj-preview{display:none}
  .pillars{flex-direction:column;height:auto}
  .pillar{flex:none;min-height:300px}
  .p-list{max-height:none;opacity:1;margin-top:16px}
  .plans{grid-template-columns:1fr;grid-template-rows:none}
  .plan{grid-row:auto;grid-template-rows:none;padding-left:0!important;padding-right:0}
  .plan + .plan{border-left:0;border-top:1px solid var(--line-dark)}
  .prices-head p{grid-column:1 / -1;margin-top:12px}
  .care-name,.care-list,.care-terms{grid-column:1 / -1}
  .care-list{margin:24px 0}.care-terms{justify-self:start;text-align:left}
  .brand-copy,.board{grid-column:1 / -1}
  .board{margin-top:48px}
  .content-copy,.reel{grid-column:1 / -1}
  .reel{margin-top:48px}
  .tech{grid-template-columns:56px 1fr}
  .t-body,.t-code{grid-column:2}
  .t-code{justify-self:start;text-align:left;margin-top:12px}
  .t-body{margin-top:16px}
  .steps{grid-template-columns:1fr 1fr;row-gap:48px}
  .faq-title,.faq-list{grid-column:1 / -1}
  .faq-title{margin-bottom:32px}
  .foot-logo,.foot-cols{grid-column:1 / -1}
  .foot-cols{margin-top:40px;grid-template-columns:1fr 1fr}
  .s07-hl,.s09-hl{white-space:normal}
}
@media (max-width:820px){
  main h2.display{font-size:clamp(44px,12vw,72px)}
  .s05-hl{font-size:clamp(38px,10.5vw,64px)!important}
  .s07-hl{font-size:clamp(52px,14vw,88px)!important}
  .s09-hl{font-size:clamp(64px,19vw,120px)!important}
  .pj-row{grid-template-columns:40px 1fr;row-gap:12px}
  .pj-name,.pj-row--lead .pj-name{grid-column:2;font-size:clamp(34px,10vw,56px)}
  .pj-status{grid-column:2;grid-row:2}
  .pj-act{grid-column:2;grid-row:3;justify-self:start}
  .p-word{font-size:clamp(56px,17vw,96px)}
  .content-list{grid-template-columns:1fr}
  .board{grid-template-columns:repeat(2,1fr)}
  .t-logo,.t-bild{grid-column:1 / -1;grid-row:auto}
  .t-farbe,.t-typo,.t-claim,.t-guide{grid-column:auto;grid-row:auto}
  .t-farbe{min-height:240px}
  .t-bild{grid-template-columns:repeat(2,1fr)}
  .tech{grid-template-columns:1fr}
  .t-no,.t-word,.t-body,.t-code{grid-column:1}
  .t-word{font-size:clamp(34px,10vw,56px);margin-top:8px}
  .steps{grid-template-columns:1fr}
  .s09-cta{flex-direction:column;align-items:flex-start}
  .btn-xl{height:64px;width:100%;justify-content:space-between}
  .foot-claim{font-size:7.2vw;white-space:normal}
}

/* =========================================================
   Update 30.09.2026 — Projekt-Hinweis, Telefon, Social (Footer)
   ========================================================= */
.s02-sub{margin:calc(-1 * clamp(8px,1vw,18px)) 0 clamp(18px,1.8vw,30px);font-size:clamp(15px,calc(15px + (100vw - 1440px) / 480),17px);line-height:1.4;opacity:.6}
.foot-brand{grid-column:1 / span 4;align-self:start;justify-self:start;display:inline-flex;flex-direction:column;align-items:center;width:max-content}
.foot-brand .foot-logo{display:inline-block}
.foot-social{display:flex;flex-direction:row;flex-wrap:nowrap;gap:0;margin:20px 0 0}
.foot-soc{display:inline-flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;color:var(--paper);opacity:.7;transition:color .25s var(--ease),opacity .25s var(--ease)}
.foot-soc svg{width:22px;height:22px;display:block}
.foot-soc[href]:hover,.foot-soc[href]:focus-visible{color:var(--orange);opacity:1}
.foot-soc:not([href]){opacity:.35;cursor:default}
.foot-cols .foot-tel{white-space:nowrap}
.foot-cc{display:inline-block;min-width:2.3em;font-size:12px;font-weight:650;letter-spacing:.14em;opacity:.55}
.foot-cc.foot-flag{min-width:0;margin-right:10px;opacity:.9;vertical-align:-1px;line-height:0}
.foot-flag svg{display:block;width:18px;height:12px;border-radius:2px}
@media (max-width:1100px){.foot-brand{grid-column:1 / -1}}
@media (max-width:820px){
  .foot-social{margin:16px 0 0}
}
