/* IMMOBILIEN FREUNDE — Club-Landingpage
   Basis: Entwurf 08.09.2026 (CSS/Markup übernommen), Ergänzungen für LP-1/LP-2/LP-7. */

/* Schriften lokal — kein Fremd-Link. Ist die Schrift auf dem Gerät nicht installiert,
   greift der Rückfall in den font-family-Stacks weiter unten (Arial/Helvetica bzw. Georgia).
   woff2-Dateien können später unter assets/fonts/ ergänzt werden, siehe README. */
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto'),url(fonts/roboto-latin-400-normal.woff2) format('woff2');font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),url(fonts/roboto-latin-500-normal.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Roboto';font-style:normal;font-weight:600;src:local('Roboto SemiBold'),url(fonts/roboto-latin-600-normal.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Roboto';font-style:normal;font-weight:700;src:local('Roboto Bold'),url(fonts/roboto-latin-700-normal.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;src:local('Source Serif 4 SemiBold'),url(fonts/source-serif-4-latin-600-normal.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:600;src:local('Source Serif 4 SemiBold Italic'),url(fonts/source-serif-4-latin-600-italic.woff2) format('woff2');font-display:swap}

:root{
  --black:#000000; --white:#FFFFFF; --beige:#98927C; --grey:#B4B4B4;
  --goldlight:#C9A961; --golddark:#7E611E;
  --mx:clamp(22px,6.2vw,104px); --max:1440px;
  --ease:cubic-bezier(.23,1,.32,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--white);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--black);font-family:'Roboto',Arial,Helvetica,sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
::selection{background:var(--beige);color:var(--white)}
a{color:inherit}img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}
p{margin:0}
.serif{font-family:'Source Serif 4',Georgia,serif;font-weight:600}
h1{margin:0;font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:clamp(2.75rem,8.5vw,6rem);
  line-height:.94;letter-spacing:-.025em;text-wrap:balance}
h2{margin:0;max-width:18ch;font-family:'Source Serif 4',Georgia,serif;font-weight:600;
  font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
h3{margin:0;font-family:'Roboto',Arial,sans-serif;font-weight:600;font-size:clamp(1.15rem,1.9vw,1.4rem);line-height:1.3}
.big{font-family:'Roboto',Arial,sans-serif;font-weight:700;font-size:clamp(3.25rem,11vw,6.5rem);line-height:.9;
  letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums}
.shell{overflow:clip}
.pw{width:min(100% - var(--mx)*2,var(--max));margin-inline:auto}
.lead{max-width:52ch;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.55}
.tbd{border-bottom:2px dotted var(--beige);padding-bottom:1px}
.eyebrow{margin:0 0 18px;color:var(--golddark);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.eyebrow--l{color:var(--goldlight)}
.sub{color:var(--beige);font-size:clamp(1.5rem,2.6vw,1.9rem);line-height:1.25;font-weight:400}

/* Knöpfe — Primär Schwarz/Weiß, Hover Beige (Brandbook) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;
  padding:0 24px 0 28px;background:var(--black);color:var(--white);font-size:15px;font-weight:600;
  letter-spacing:.02em;text-decoration:none;transition:background .16s,transform .16s var(--ease)}
.btn:hover{background:var(--beige)}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.6;cursor:default}
.btn:focus-visible,.tlink:focus-visible,.nav a:focus-visible{outline:2px solid var(--beige);outline-offset:3px}
.btn--w{background:var(--white);color:var(--black)}
.btn--w:hover{background:var(--beige);color:var(--white)}
.tlink{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:15px;font-weight:600;
  text-decoration:none;box-shadow:inset 0 -1px 0 var(--black)}
.tlink:hover{color:var(--golddark);box-shadow:inset 0 -1px 0 var(--beige)}
.tlink--l{color:var(--white);box-shadow:inset 0 -1px 0 var(--goldlight)}
.tlink--l:hover{color:var(--goldlight)}
.act{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.arr{flex:0 0 auto}

/* Kopf */
.hd{position:fixed;inset:0 0 auto;z-index:50;color:var(--white);transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s}
.hd--solid{color:var(--black);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--grey)}
.hd__in{display:flex;align-items:center;gap:34px;min-height:88px}
.mark{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;flex:0 0 auto;padding:8px 0}
.mark img{height:auto}
.mark--frei img{width:180px}
.mark--std{display:none}
.mark--std img{width:150px}
.hd--solid .mark--frei{display:none}
.hd--solid .mark--std{display:inline-flex}
.nav{display:flex;gap:clamp(18px,2.6vw,40px);margin-inline:auto;font-size:14px;font-weight:500}
.nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.nav a::after{content:'';position:absolute;left:0;right:0;bottom:12px;height:2px;background:var(--beige);
  transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.hd .btn{min-height:44px;padding:0 18px 0 20px;font-size:14px}
.hd__cta{margin-left:auto}
.hd:not(.hd--solid) .btn{background:var(--white);color:var(--black)}
.hd:not(.hd--solid) .btn:hover{background:var(--beige);color:var(--white)}
.burger{display:none;margin-left:auto;background:transparent;color:inherit;padding:10px}

/* BÜHNE */
.hero{position:relative;min-height:max(640px,92svh);display:flex;align-items:flex-end;isolation:isolate;background:var(--black);color:var(--white)}
.hero__img,.hero__veil{position:absolute;inset:0;z-index:-2}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:52% 42%;filter:saturate(.8) contrast(1.05)}
.hero__veil{z-index:-1;background:
  linear-gradient(96deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.60) 42%,rgba(0,0,0,.18) 100%),
  linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.08) 60%)}
.hero__in{padding-top:clamp(120px,16vh,180px);padding-bottom:clamp(40px,7vh,88px)}
.hero h1{max-width:14ch}
.hero__sub{max-width:30ch;margin-top:22px;color:var(--goldlight);font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.25}
.hero__lead{max-width:46ch;margin-top:18px;color:rgba(255,255,255,.82);font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.55}
.hero__act{margin-top:34px}
.hero__facts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:clamp(34px,6vh,64px);
  color:rgba(255,255,255,.75);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.hero__facts i{width:32px;height:1px;background:var(--beige)}
.hero__facts b{color:var(--goldlight);font-weight:700}

/* Headline-Varianten per ?t= (LP-1 Punkt 2) — Standard „allein" ohne JS */
.hv{display:none}
html:not([data-t]) .hv--allein{display:block}
html[data-t="allein"] .hv--allein{display:block}
html[data-t="auswahl"] .hv--auswahl{display:block}
html[data-t="beirat"] .hv--beirat{display:block}
.hero h1.hv--beirat{font-size:clamp(2.35rem,7.4vw,5.1rem)}

/* ZAHLENBAND — Anker 1 */
.stats{background:var(--black);color:var(--white)}
.stats__g{display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:center}
.stat{min-height:170px;padding:34px 28px 34px 0;border-right:1px solid rgba(255,255,255,.18)}
.stat+.stat{padding-left:30px}
.stat .big{color:var(--goldlight);white-space:nowrap;font-size:clamp(2.6rem,5.2vw,4.6rem)}
.stat .big u{font-size:.36em;text-decoration:none}
.stat p{max-width:20ch;margin-top:14px;color:rgba(255,255,255,.7);font-size:13.5px;line-height:1.45}
.stats__cta{padding-left:clamp(24px,3vw,48px)}

/* Sektionen */
.sec{padding-top:clamp(80px,11vw,160px);padding-bottom:clamp(80px,11vw,160px)}
.sec--notop{padding-top:0}
.dates--eck{max-width:44ch}
.sec__h{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.6fr);gap:40px 70px;align-items:end}
.sec__cta{margin-top:clamp(40px,5vw,64px)}
.rule{height:1px;background:var(--grey);border:0;margin:0}

/* 01 DER CLUB — 62/38 */
.who{display:grid;grid-template-columns:62fr 38fr;gap:clamp(40px,8vw,130px);margin-top:clamp(44px,6vw,80px)}
.who__def{max-width:56ch}
.who__def p+p{margin-top:16px}
.who h3{display:flex;align-items:center;gap:12px;margin-top:40px}
.mark9{flex:0 0 auto;width:10px;height:10px;background:var(--beige)}
.who ul{list-style:none;margin:16px 0 0;padding:0}
.who li{padding:15px 0;border-top:1px solid var(--grey);line-height:1.5}
.who li:last-child{border-bottom:1px solid var(--grey)}
.who__no{padding-top:6px}
.who__no h3{margin-top:0}
.who__no .mark9{background:transparent;border:1px solid var(--black)}
.who__no li{font-size:15px}
.who__side{margin-top:28px;padding:22px 24px;border-left:3px solid var(--beige);font-size:15px;line-height:1.55}
.who__side a{display:inline-block;margin-top:8px;font-weight:600}

/* Wer sonst dabei ist — neue Sektion zwischen #club und Panorama */
.wer{padding-top:0;padding-bottom:clamp(64px,9vw,120px);background:var(--white)}
.wer__h{max-width:none;padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--grey)}
.wer__h h2{max-width:20ch;font-family:'Roboto',Arial,sans-serif;font-weight:700;letter-spacing:-.01em;
  font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.14}
.profiles{display:grid;grid-template-columns:1fr;gap:0;margin-top:clamp(36px,5vw,60px);border-top:1px solid var(--grey)}
.profile{padding:20px 0;border-bottom:1px solid var(--grey);font-size:15.5px;line-height:1.5}
.profile b{display:block;font-weight:600;margin-bottom:4px}
.profile span{color:rgba(0,0,0,.65);font-size:14px}
.wer__note{margin-top:20px;color:rgba(0,0,0,.7);font-size:13px}
@media(min-width:641px){
  .profiles{grid-template-columns:1fr 1fr;column-gap:clamp(28px,4vw,60px)}
  .profile{border-right:0}
}
@media(min-width:1001px){
  .profiles{grid-template-columns:1fr 1fr 1fr}
}

/* PANORAMA */
.pano{position:relative;margin:0;min-height:clamp(280px,52svh,560px);background:var(--black)}
.pano img{width:100%;height:100%;min-height:clamp(280px,52svh,560px);object-fit:cover;object-position:50% 62%;filter:saturate(.78)}
.pano figcaption{position:absolute;left:var(--mx);bottom:24px;padding:10px 14px;background:var(--black);color:var(--goldlight);
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}

/* 02 WAS ES BRINGT */
.pillars{margin-top:clamp(44px,6vw,80px);border-top:1px solid var(--grey)}
.pil{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0 clamp(28px,4vw,72px);
  padding:clamp(32px,4vw,56px) 0;border-bottom:1px solid var(--grey)}
.pil__t{color:var(--golddark);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.pil h3{font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.12;max-width:18ch}
.pil p.tx{max-width:46ch;margin-top:14px;line-height:1.6}
.pil ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pil li{padding-left:22px;position:relative;font-size:15.5px}
.pil li::before{content:'';position:absolute;left:0;top:.65em;width:10px;height:2px;background:var(--beige)}
.pil__more{margin-top:22px}
.dates div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--grey);font-size:15px}
.dates div:first-child{border-top:2px solid var(--black)}
.dates div:last-child{border-bottom:1px solid var(--grey)}
.dates b{font-weight:600}
.dates span{text-align:right}
/* Beirat-Zeile innerhalb 02 */
.pil--adv{grid-template-columns:minmax(220px,.55fr) minmax(0,1fr) minmax(0,1fr);align-items:start}
.adv__p{position:relative;height:clamp(300px,34vw,480px);overflow:hidden;margin-inline:calc(var(--mx)*-1) 0}
.adv__p img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(.75)}
.adv__tag{position:absolute;right:14px;bottom:14px;padding:7px 10px;background:var(--black);color:var(--goldlight);
  font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.advisor{padding-top:18px}
.advisor+.advisor{margin-top:26px;padding-top:26px;border-top:1px solid var(--grey)}
.advisor i{display:block;margin-bottom:8px;color:var(--golddark);font-style:normal;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.advisor b{display:block;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:600;line-height:1.2}
.advisor p{margin-top:8px;font-size:15px;line-height:1.5}
.names{grid-column:2/4;display:flex;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--grey);font-size:14.5px;line-height:2}
.names span{white-space:nowrap}
.names span:last-child::after{content:none}
.names span b{font-weight:600}
.names span::after{content:'·';margin:0 10px;color:var(--beige)}
.names span:last-child::after{content:none}

/* STIMME — Anker 2 */
.quote{background:var(--black);color:var(--white)}
.quote__in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:40px 60px;align-items:end;
  padding:clamp(72px,10vw,140px) 0}
.quote blockquote{margin:0;max-width:22ch;font-family:'Source Serif 4',Georgia,serif;font-weight:600;
  font-size:clamp(1.9rem,4.6vw,4.2rem);line-height:1.08;letter-spacing:-.02em}
.quote blockquote em{font-style:italic;color:var(--goldlight)}
.quote cite{display:block;font-style:normal;margin-top:36px;padding-top:16px;border-top:1px solid rgba(255,255,255,.25);font-size:15px}
.quote cite small{display:block;margin-top:4px;color:rgba(255,255,255,.65);font-size:13.5px}
.tpilot{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;color:var(--goldlight);
  font-size:13.5px;font-weight:600;text-decoration:none;box-shadow:inset 0 -1px 0 var(--goldlight)}
.tpilot:hover{color:var(--white)}
.quote__cta p{color:rgba(255,255,255,.75);font-size:15px;line-height:1.5;max-width:30ch;margin-bottom:22px}

/* 03 AUFNAHME */
.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(44px,6vw,80px);border-top:2px solid var(--black)}
.step{min-height:240px;padding:26px 32px 30px 0;border-right:1px solid var(--grey)}
.step+.step{padding-left:32px}
.step:last-child{border-right:0;padding-right:0}
.step i{display:block;margin-bottom:34px;color:var(--beige);font-style:normal;font-family:'Roboto',sans-serif;font-weight:700;font-size:28px}
.step h3{font-size:1.35rem}
.step p{max-width:32ch;margin-top:10px;font-size:15.5px;line-height:1.55}
.founder{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;margin-top:clamp(32px,4vw,52px);padding-top:22px;
  border-top:1px solid var(--grey);font-size:15.5px}
.founder b{font-weight:600}
/* Preiszeile — Anker 3 */
.price{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(22px,4.5vw,70px);
  margin-top:clamp(56px,8vw,100px);margin-inline:calc(var(--mx)*-1);padding:clamp(36px,4.5vw,56px) var(--mx);
  background:var(--black);color:var(--white)}
.price i{display:block;margin-bottom:8px;color:var(--goldlight);font-style:normal;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.price .big{color:var(--white);font-size:clamp(2.6rem,6vw,5rem)}
.price p{color:rgba(255,255,255,.75);font-size:15px;line-height:1.55;max-width:34ch}
.price .btn{margin-left:auto}

/* Einwand-Block (native details/summary, kein JS nötig) */
.einwand{margin-bottom:clamp(36px,5vw,56px)}
.einwand__l{margin-top:clamp(20px,3vw,32px);border-top:1px solid var(--grey)}
.einwand__l details{border-bottom:1px solid var(--grey)}
.einwand__l summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;
  padding:18px 0;font-size:16px;font-weight:600;cursor:pointer;list-style:none}
.einwand__l summary::-webkit-details-marker{display:none}
.einwand__l summary::after{content:'+';flex:0 0 auto;font-size:20px;font-weight:400;color:var(--beige)}
.einwand__l details[open] summary::after{content:'–'}
.einwand__l p{max-width:60ch;margin:0 0 18px;font-size:15px;line-height:1.6;color:rgba(0,0,0,.82)}

/* FORMULAR */
.req{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(80px,11vw,150px)}
.req__g{display:grid;grid-template-columns:minmax(260px,.7fr) 1fr;gap:clamp(40px,8vw,130px);align-items:start}
.req__i h2{margin-top:0}
.req__i>p.lead{margin-top:22px}
.req__i ul{list-style:none;max-width:38ch;margin:36px 0 0;padding:0}
.req__i li{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--grey);font-size:15px;line-height:1.5}
.req__i li:last-child{border-bottom:1px solid var(--grey)}
.req__i li i{flex:0 0 auto;width:10px;height:10px;margin-top:7px;background:var(--beige)}
.card{padding:clamp(24px,3.6vw,48px);border:1px solid var(--grey)}
form{display:flex;flex-direction:column;gap:18px}
label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;letter-spacing:.02em}
.gate{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--grey)}
input,select,textarea{width:100%;min-height:54px;padding:0 14px;border:1px solid var(--grey);border-radius:0;
  background:var(--white);color:var(--black);font-size:16px;font-weight:400;transition:border-color .16s,box-shadow .16s}
textarea{min-height:120px;padding:14px;resize:vertical;font-weight:400}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--black) 50%),linear-gradient(135deg,var(--black) 50%,transparent 50%);
  background-position:calc(100% - 18px) 24px,calc(100% - 13px) 24px;background-size:5px 5px;background-repeat:no-repeat}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--black);box-shadow:0 0 0 3px rgba(152,146,124,.35)}
input::placeholder,textarea::placeholder{color:var(--grey)}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:#B86048}
.err{display:none;margin-top:-2px;color:#B86048;font-size:13px;line-height:1.4}
.err--on{display:block}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* Vor-/Nachname bleiben auch mobil nebeneinander — liest sich wie EIN Namensfeld (Entscheidung Martin 14.09.). */
.row.row--keep{grid-template-columns:1fr 1fr;gap:12px}
.submit{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 20px 0 24px;
  background:var(--black);color:var(--white);font-size:15px;font-weight:600;transition:background .16s,transform .16s var(--ease)}
.submit:hover{background:var(--beige)}.submit:active{transform:scale(.98)}
.submit:disabled{opacity:.65;cursor:default}
.legal{font-size:12.5px;line-height:1.5}
.legal a{color:var(--golddark)}
.sideway{margin-top:18px;padding-top:16px;border-top:1px solid var(--grey);font-size:14px;line-height:1.55}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formerr{display:none;margin:0;padding:14px 16px;border:1px solid #B86048;background:rgba(184,96,72,.08);
  color:#7a3324;font-size:14px;line-height:1.5}
.formerr--on{display:block}
.formerr a{font-weight:600;color:#7a3324}
.done{min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.done b{display:grid;place-items:center;width:44px;height:44px;margin-bottom:22px;border:1px solid var(--beige);color:var(--golddark);font-size:20px}
.done h3{font-size:1.8rem}
.done p{max-width:34ch;margin:14px 0 22px;font-size:15.5px}

footer{padding:56px 0 24px;background:var(--black);color:var(--white)}
.ft__t{display:flex;justify-content:space-between;align-items:flex-start;gap:38px}
.ft__t>div:first-child p{max-width:28ch;margin-top:20px;color:var(--grey);font-size:13.5px;line-height:1.5}
.ft__l{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;font-weight:500}
.ft__l a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:rgba(255,255,255,.85)}
.ft__l a:hover{color:var(--goldlight)}
.ft__b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:48px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.2);color:var(--grey);font-size:12.5px}
.ft__b a,.ft__b button.ft__cookie{color:inherit;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;
  background:transparent;border:0;padding:0;font-size:inherit;font-weight:inherit;cursor:pointer}
.ft__b button.ft__cookie:hover{color:var(--goldlight)}

.bar{display:none}
.mnav{display:none}
.skip{position:absolute;left:-9999px}
.skip:focus{position:fixed;left:10px;top:10px;z-index:99;padding:12px 18px;background:var(--black);color:#fff}

/* Cookie-/Einwilligungshinweis (LP-7) */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:20px var(--mx);background:var(--black);color:var(--white);
  box-shadow:0 -2px 24px rgba(0,0,0,.3)}
.cookie[hidden]{display:none}
.cookie__in{width:min(100%,900px);margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.cookie p{flex:1 1 320px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.85)}
.cookie p a{color:var(--goldlight);font-weight:600}
.cookie__act{display:flex;gap:12px;flex:0 0 auto}
.cookie__act button{min-height:44px;padding:0 20px;font-size:14px;font-weight:600;border:1px solid var(--white);
  background:transparent;color:var(--white);transition:background .16s,color .16s}
.cookie__act button:hover{background:var(--white);color:var(--black)}
.cookie__act button.on{background:var(--white);color:var(--black)}
.cookie__act button.on:hover{background:var(--beige);color:var(--white);border-color:var(--beige)}

/* Dankeseiten */
.thx{padding-top:clamp(140px,18vh,200px);padding-bottom:clamp(80px,11vw,150px);min-height:80svh}
.thx__hd{padding:22px 0;border-bottom:1px solid var(--grey)}
.thx__box{margin-top:clamp(36px,5vw,56px);border:1px solid var(--grey);padding:clamp(20px,3vw,32px)}
.thx__cal{min-height:320px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;
  border:1px dashed var(--grey);padding:clamp(24px,4vw,40px)}
.thx__cal p{font-size:14px;line-height:1.55;max-width:44ch;color:rgba(0,0,0,.75)}
.thx__cal--loaded{border:0;padding:0;align-items:stretch;min-height:700px}
.calendly-embed{width:100%}
.thx__cal--loaded .calendly-embed{min-height:700px}
.thx>.lead{margin-top:22px}
.thx__note{margin-top:26px;font-size:15px;line-height:1.55;max-width:52ch}
.thx__ask{margin-top:clamp(40px,6vw,64px);padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--grey)}
.thx__ask h2{font-size:clamp(1.5rem,2.8vw,2rem)}
.thx__ask form{margin-top:22px;max-width:56ch}
.thx__done{max-width:52ch;font-size:15.5px;line-height:1.6}
.ics__btn{margin-top:26px}

/* Bestandsgespräch — Steps/Eckdaten teilen sich Klassen mit der Club-Seite */
.hero--bg .hero__lead{max-width:52ch}

/* 404 */
.err404{min-height:80svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:clamp(100px,16vh,160px)}
.err404 h1{font-size:clamp(2.2rem,6vw,4rem);max-width:16ch}
.err404 p{margin-top:16px;max-width:44ch;font-size:16px;line-height:1.6}
.err404 .btn{margin-top:30px}

@media(max-width:1000px){
  .nav,.hd .btn{display:none}
  .burger{display:inline-flex}
  .mnav{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--black);color:var(--white);
    padding:22px var(--mx) 30px;transform:translateY(-100%);transition:transform .3s var(--ease)}
  .mnav--on{transform:none}
  .mnav__t{display:flex;justify-content:space-between;align-items:center;min-height:44px}
  .mnav__t button{background:transparent;color:inherit;padding:10px}
  .mnav__l{display:flex;flex-direction:column;margin-top:40px}
  .mnav__l a{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid rgba(255,255,255,.2);
    font-family:'Source Serif 4',Georgia,serif;font-weight:600;font-size:1.9rem;text-decoration:none}
  .mnav__l a:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
  .mnav .btn{margin-top:auto}
  .stats__g{grid-template-columns:1fr 1fr}
  .stat{min-height:auto;padding:26px 20px 26px 0;border-bottom:1px solid rgba(255,255,255,.18)}
  .stat:nth-child(2n){border-right:0;padding-left:20px;padding-right:0}
  .stat:nth-child(2n+1){padding-left:0}
  .stats__cta{grid-column:1/-1;padding:22px 0 26px}
  .sec__h,.who,.pil,.pil--adv,.quote__in,.req__g{grid-template-columns:1fr}
  .who__no{padding-top:0}
  .adv__p{margin-inline:calc(var(--mx)*-1);height:clamp(280px,60vw,440px)}
  .names{grid-column:auto}
  .steps{grid-template-columns:1fr;border-top:0}
  .step{min-height:auto;padding:24px 0;border-right:0;border-top:1px solid var(--grey)}
  .step+.step{padding-left:0}
  .step:first-child{border-top:2px solid var(--black)}
  .step i{margin-bottom:12px}
  .price .btn{margin-left:0}
  .ft__t{flex-direction:column}
}
@media(max-width:640px){
  body{font-size:16px}
  .hero__in{padding-top:110px}
  .hero__facts{font-size:12px}
  .gate,.row:not(.row--keep){grid-template-columns:1fr}
  .bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding:10px var(--mx) calc(10px + env(safe-area-inset-bottom));background:var(--black);color:var(--white);
    transform:translateY(110%);transition:transform .3s var(--ease)}
  .bar--on{transform:none}
  .bar strong{display:block;font-size:17px;font-weight:700}
  .bar span{display:block;color:var(--grey);font-size:12px}
  .bar a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;background:var(--white);color:var(--black);
    font-size:14px;font-weight:600;text-decoration:none}
  .req{padding-bottom:120px}
  .cookie{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .cookie__act{width:100%}
  .cookie__act button{flex:1 1 0}
  .thx__cal--loaded .calendly-embed{min-height:1000px}
  .thx__cal--loaded{min-height:1000px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* Bestandsgespräch · lange Themen-Headline: kleiner und mit Silbentrennung, sonst läuft
   „Bundesverfassungsgericht" bei 390 px über den Rand. */
.hero h1.h1--lang{max-width:18ch;font-size:clamp(2.1rem,7vw,4.6rem);line-height:1;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}

/* Hero „allein": „Entscheidungen" ist bei 390 px 9 px breiter als die Spalte. Unter 400 px etwas
   kleiner; der weiche Trennstrich im Markup fängt noch schmalere Geräte (360 px) ab. */
@media(max-width:400px){.hero h1.hv--allein{font-size:2.55rem}}

/* Dankeseite · Erfahrung per Klick (freiwillig, Entscheidung Martin 14.09.) */
.thx__exp{margin-top:clamp(40px,6vw,64px);padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--grey)}
.thx__exp h3{font-size:1.15rem}
.thx__exp p{margin-top:6px;font-size:14px;color:rgba(0,0,0,.7)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chip{min-height:44px;padding:0 18px;border:1px solid var(--grey);background:var(--white);color:var(--black);font-size:15px;font-weight:500;transition:border-color .16s,background .16s}
.chip:hover{border-color:var(--black)}
.chip[aria-pressed="true"]{background:var(--black);border-color:var(--black);color:var(--white)}
.chip:focus-visible{outline:2px solid var(--beige);outline-offset:3px}
