/* Start page specifics — extracted from webroot/redesign/final.html.
   Loads after _css/redesign/*.css; selectors matching the shared hero.css "V2" block use the
   same .ghero .ghero-grid specificity so the start-page values win. */

/* ---------- Hero: start variant ---------- */
.ghero .ghero-grid {
    min-height: 560px;
}
.ghero-note { font-size: .95rem; color: #cdd9ec; }
.ghero-note em { font-style: italic; }
.ghero-note a { color: #fff; }
.ghero-video {
    display: inline-flex; align-items: center; gap: 10px;
    color: #eaf0fa; text-decoration: none; font-size: .98rem;
}
.ghero-video:hover { color: #fff; }
.ghero-video .dot {
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .68rem; color: var(--g-yellow);
}
/* Text column spacing + Muffel centred on the ground glow (final.html values) */
.ghero .ghero-grid > div:first-child { padding-bottom: 4.5rem; }
.ghero .ghero-stage img { margin-bottom: 4rem; }
/* final.html has no 1100px breakpoint on the start hero — undo the shared V2 shrink */
@media (max-width: 1100px) { .ghero-stage img { height: 380px; } .ghero-stage img.season-muffel { --mw: 689px; } }
@media (max-width: 900px) {
    /* stack: full-width text block, mascot below (mirrors redesign/hero.css) */
    .ghero .ghero-grid { min-height: 0; }
    .ghero-stage img { height: 240px; }
    .ghero-stage img.season-muffel { --mw: 435px; }
    .ghero .ghero-grid > div:first-child { padding-bottom: 2rem; }
    .ghero .ghero-stage img { margin-bottom: 2rem; }
}

/* Hero chips row (unused variant kept from prototype) */
.ghero-chips {
    position: relative; z-index: 3;
    display: flex; flex-wrap: wrap; gap: 10px;
    padding: 2rem 0 3rem;
}
.ghero-chips span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px; padding: 7px 16px;
    font-size: .92rem; color: #eef3fb;
}
.ghero-chips b { font-family: var(--g-display-bold); text-transform: uppercase; font-weight: 400; letter-spacing: .03em; color: #fff; }

/* ---------- Customer voices: video cards ---------- */
.voice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.voice {
    background: var(--white); border: 1px solid var(--border);
    border-radius: 24px; overflow: hidden;
    text-decoration: none; color: inherit;
    box-shadow: var(--sh-sm);
    transition: transform .25s var(--ease), box-shadow .25s;
    display: flex; flex-direction: column;
}
.voice:hover { transform: translateY(-6px); box-shadow: var(--sh-md); }
.voice .banner { position: relative; height: 150px; background: linear-gradient(145deg, #E9F0FB, #CFDFF5); }
.voice .banner img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter .3s var(--ease); }
.voice:hover .banner img { filter: grayscale(.3); }
.voice .banner .play {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
}
.voice .banner .play span {
    width: 46px; height: 46px; border-radius: 50%;
    background: var(--blue-dark); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: .7rem;
    padding-left: 3px;
    box-shadow: 0 10px 26px rgba(45, 80, 153, .4);
    transition: transform .2s var(--ease);
}
.voice:hover .banner .play span { transform: scale(1.1); }
.voice .body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex-grow: 1; }
.voice h3 { font-size: 1.05rem; letter-spacing: 0; }
.voice .meta { margin-top: 4px; color: var(--muted); font-size: .85rem; }
.voice .meta i { color: var(--yellow); margin-right: 4px; }
.voice .link { margin-top: auto; padding-top: 14px; font-family: var(--f-body-bold); color: var(--blue-dark); font-size: .92rem; }
@media (max-width: 980px) { .voice-grid { grid-template-columns: 1fr; } }
.voice-rest { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 9px; }
.voice-rest a {
    background: var(--white); border: 1px solid var(--border);
    border-radius: 999px; padding: 8px 16px;
    font-size: .86rem; color: var(--text-mid); text-decoration: none;
    transition: border-color .18s, color .18s;
}
.voice-rest a:hover { border-color: var(--ink); color: var(--ink); }

/* ---------- Branches: chip tiles ---------- */
.branch-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 900px) { .branch-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .branch-grid { grid-template-columns: repeat(2, 1fr); } }
.branch {
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    background: var(--white); border: 1px solid var(--border);
    border-radius: 20px; padding: 26px 16px;
    text-decoration: none; text-align: center;
    box-shadow: var(--sh-sm);
    transition: transform .25s var(--ease), box-shadow .25s;
}
.branch:hover { transform: translateY(-5px); box-shadow: var(--sh-md); }
.branch .ic {
    width: 52px; height: 52px; border-radius: 14px;
    background: var(--yellow-soft); color: var(--yellow-dark);
    display: flex; align-items: center; justify-content: center; font-size: 1.3rem;
}
.branch span { font-family: var(--f-body-bold); color: var(--ink); font-size: .98rem; line-height: 1.3; }
/* "Alle Branchen" / "Deine Branche": set apart from the branch tiles */
.branch--more .ic { background: var(--g-blue); color: #fff; }

/* ---------- Why: step cards ---------- */
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.why {
    background: var(--white); border: 1px solid var(--border);
    border-radius: 24px; padding: 28px 24px;
    box-shadow: var(--sh-sm);
    transition: transform .25s var(--ease), box-shadow .25s;
}
.why:hover { transform: translateY(-5px); box-shadow: var(--sh-md); }
.why .ic {
    width: 52px; height: 52px; border-radius: 14px;
    background: var(--yellow-dark); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
    margin-bottom: 16px;
}
.why h3 { font-size: 1.08rem; margin-bottom: 8px; }
.why p { color: var(--text-mid); font-size: .92rem; line-height: 1.5; }
@media (max-width: 980px) { .why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .why-grid { grid-template-columns: 1fr; } }

/* ---------- Logo row ---------- */
.logo-row { margin-top: 44px; text-align: center; }
.logo-row h3 { font-size: .95rem; letter-spacing: .08em; color: var(--muted); margin-bottom: 24px; }
.logo-row .logos { display: flex; gap: 44px; justify-content: center; align-items: center; flex-wrap: wrap; }
.logo-row img { height: 44px; width: auto; filter: grayscale(1) opacity(.6); transition: filter .2s; }
.logo-row img:hover { filter: none; }

/* ---------- Utility classes replacing prototype inline styles ---------- */
/* final.html: .sec-head with style="justify-content:center" (Branchen) */
.sec-head.center { justify-content: center; text-align: center; }

/* ---------- Customer case study logos below the customer voices ---------- */
.customer-logos { margin-top: 72px; padding-top: 56px; border-top: 1px solid var(--border); text-align: center; }
.customer-logos .eyebrow { display: block; margin-bottom: 18px; }
.customer-logos-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px 56px; }
.customer-logos-row a { display: block; }
.customer-logos-row img { display: block; height: 42px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: .7; transition: filter .25s, opacity .25s; }
.customer-logos-row a:hover img { filter: none; opacity: 1; }
