/* Homepage additions on top of the shared Brand-v5 stylesheet. */
.front { padding: 64px 0 78px; }
.front-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:64px; align-items:center; }
.front-copy .h1 { font-size:clamp(42px,4.2vw,60px); max-width:18ch; line-height:1.04; letter-spacing:-.018em; }
.front-copy .lead { margin-top:28px; max-width:27em; font-size:20px; line-height:1.6; }
.front-copy .src { margin-top:20px; max-width:34em; font-size:14px; line-height:1.7; }
.front-copy .ctas { margin-top:30px; }
.btn span { margin-left:14px; font-size:21px; line-height:.7; }
.report-wrap { min-width:0; }
.report-label { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:var(--muted-dark); margin-bottom:14px; }
.money-report { background:var(--paper); color:var(--ink); padding:26px 30px 20px; border-radius:var(--r); box-shadow:0 18px 48px rgba(0,0,0,.2); }
.report-top { display:flex; justify-content:space-between; gap:12px; padding-bottom:15px; border-bottom:1px solid var(--line); font-size:11px; font-weight:600; color:var(--muted); }
.money-report h2 { font-size:30px; line-height:1.1; letter-spacing:-.015em; margin-top:22px; }
.money-report .report-note,.deliverable .report-note { color:var(--muted); font-size:12px; margin-top:12px; }
.report-flow { margin-top:14px; }
.report-flow > div { display:grid; grid-template-columns:1fr auto; gap:7px 12px; padding:8px 0; font-size:13px; }
.report-flow b { font-weight:600; }
.report-flow i { display:block; grid-column:1/-1; background:var(--ink); height:4px; opacity:.55; max-width:100%; }
.report-flow > div:first-child i { background:var(--serie-1); opacity:1; }
.report-flow .report-total { border-top:1px solid var(--ink); margin-top:8px; padding-top:12px; font-weight:600; }
.report-explain { margin-top:18px; border-top:1px solid var(--line); padding-top:14px; }
.report-explain-label { font-size:11px; color:var(--muted); }
.explain-controls { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.explain-controls button { min-height:44px; border:1px solid var(--line); border-radius:var(--r); background:transparent; color:var(--muted); font:600 12px var(--f-body); padding:8px 12px; cursor:pointer; }
.explain-controls button[aria-pressed=true] { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.money-report #report-explanation { font-size:13px; line-height:1.6; color:var(--muted); margin-top:10px; min-height:63px; }
.report-bottom { margin-top:14px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; border-top:1px solid var(--line); padding-top:14px; font-size:11px; color:var(--muted); }
.report-bottom a { color:var(--ink); font-weight:600; text-decoration-color:var(--akzent); }
.situation-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:90px; }
.situation-grid .intro { margin-top:24px; max-width:28em; font-size:18px; }
.situation-grid .situation-note { color:var(--muted); margin-top:28px; font-size:14px; }
.situation-options { border-top:1px solid var(--ink); }
.situation-options button { display:grid; grid-template-columns:26px 1fr 18px; gap:16px; text-align:left; width:100%; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); padding:24px 14px 24px 0; cursor:pointer; font-family:var(--f-body); transition:background .15s; }
.situation-options button:hover { background:var(--paper-2); }
.situation-options button[aria-pressed=true] { background:var(--paper-2); box-shadow:inset 3px 0 var(--akzent); padding-left:14px; }
.situation-n { color:var(--akzent); font-size:13px; font-weight:600; margin-top:3px; }
.situation-options b { display:block; font-family:var(--f-display); font-size:23px; font-weight:600; line-height:1.25; }
.situation-options b + span { display:block; font-size:14px; color:var(--muted); margin-top:8px; line-height:1.5; }
.situation-options button > span:last-child { font-size:20px; }
.situation-answer { padding:24px 0 0; }
.situation-answer b { font-size:16px; font-weight:600; }
.situation-answer p { font-size:16px; color:var(--muted); line-height:1.65; margin-top:8px; min-height:80px; }
.situation-answer a { display:inline-block; margin-top:18px; font-size:16px; }
.proof-section .quote { font-size:clamp(30px,3.1vw,40px); line-height:1.2; }

.proof-video { display:block; width:100%; aspect-ratio:16/9; background:var(--dark); border-radius:var(--r); }
.video-caption { font-size:13px; color:var(--muted); margin-top:12px; }
.personal-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:80px; align-items:center; }
.personal-photo { margin:0; max-width:460px; }
.portrait-frame { aspect-ratio:4/5; overflow:hidden; border-radius:var(--r); background:var(--paper-2); }
.personal-photo img { display:block; width:100%; height:100%; object-fit:cover; transform:translateY(-2%) scale(1.12); transform-origin:50% 45%; }
.personal-photo figcaption { margin-top:14px; font-size:13px; color:var(--muted); }
.personal-grid .lead { margin-top:26px; }
.personal-rule { border-top:1px solid var(--line); padding-top:24px; margin-top:28px; margin-bottom:10px; font:600 25px/1.3 var(--f-display); }
.personal-grid .muted + .muted { margin-top:20px; }
.personal-link { margin-top:24px; font-size:16px; }
#deine-situation,#kundenfall,#joerg { scroll-margin-top:100px; }

@media (min-width:1600px) {
  .front { padding-top:80px; padding-bottom:94px; }
}
@media (max-width:1100px) {
  .front-grid { gap:36px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .front-copy .h1 { font-size:clamp(42px,5.4vw,60px); }
  .situation-grid { gap:48px; }
  .money-report { padding:24px; }
  .personal-grid { gap:48px; }
}
@media (max-width:900px) {
  .front { padding:38px 0 48px; }
  .front-grid,.situation-grid { grid-template-columns:1fr; gap:36px; }
  .front-copy .h1 { font-size:clamp(42px,7.4vw,64px); max-width:20ch; }
  .front-copy .lead { max-width:34em; font-size:18px; }
  .front-copy .src { max-width:none; }
  .report-wrap { max-width:580px; width:100%; }
  .situation-grid .h2 { max-width:22ch; }
  .situation-grid .h2 br { display:none; }
  .situation-grid .situation-note { margin-top:18px; }
  .situation-answer p { min-height:0; }
  .personal-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:36px; }
  .personal-grid .lead { font-size:18px; }
}
@media (max-width:600px) {
  .personal-grid { display:flex; flex-direction:column-reverse; align-items:stretch; gap:30px; }
  .personal-photo { width:100%; max-width:400px; }
  .personal-rule { font-size:24px; }
}
@media (max-width:480px) {
  .front-copy .h1 { font-size:clamp(36px,9.4vw,46px); }
  .front-copy .ctas .btn { width:100%; justify-content:space-between; font-size:16px; padding:16px; }
  .front-copy .lead { margin-top:22px; }
  .money-report { padding:20px; }
  .money-report h2 { font-size:27px; }
  .report-flow > div { font-size:12px; }
  .report-label { font-size:11px; }
  .money-report #report-explanation { min-height:80px; }
  .report-bottom { font-size:11px; }
  .situation-options b { font-size:20px; }
  .situation-options button { gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .situation-options button { transition:none; }
}
