/* 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 {
    display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    gap: 3rem; align-items: center;
    padding: 3rem 28px 0;
    min-height: 560px;
}
.ghero h1 {
    color: #fff;
    font-family: var(--g-display);
    font-weight: 400;
    text-transform: uppercase;
    font-size: var(--g-t-hero);
    line-height: 1.06;
    letter-spacing: .01em;
    margin-top: 1.5rem;
    max-width: 20ch;
}
.ghero h1 b { font-family: var(--g-display-bold); font-weight: 400; color: var(--g-yellow); white-space: nowrap; }
.ghero-sub { font-size: 1.3rem; color: #e6edf8; margin-top: 1.5rem; }
.ghero-row { margin-top: 2rem; }
.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; } }
@media (max-width: 900px) {
    /* stack: full-width text block, mascot below (mirrors redesign/hero.css) */
    .ghero .ghero-grid { grid-template-columns: 1fr; min-height: 0; }
    .ghero-stage img { height: 240px; }
    .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; }

/* ---------- Module bar below the hero ---------- */
.module-bar { background: var(--yellow); border-bottom: 1px solid #d9a51f; }
.module-bar-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; padding: 18px 28px; }
.module-bar-grid span { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; }
.module-bar-grid i { font-size: 1.25rem; color: var(--ink); margin-bottom: 4px; }
.module-bar-grid b { font-family: var(--f-body-bold); font-size: .88rem; color: var(--ink); font-weight: 400; }
.module-bar-grid em { font-style: normal; font-size: .78rem; color: #6b5a12; }
@media (max-width: 900px) { .module-bar-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .module-bar-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Intro: 3 benefit cards ---------- */
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.benefit {
    background: var(--white); border: 1px solid var(--border);
    border-radius: 24px; padding: 30px 26px;
    box-shadow: var(--sh-sm);
    transition: transform .25s var(--ease), box-shadow .25s;
}
.benefit:hover { transform: translateY(-5px); box-shadow: var(--sh-md); }
.benefit .ic {
    width: 56px; height: 56px; border-radius: 16px;
    background: var(--yellow-soft); color: var(--yellow-dark);
    display: flex; align-items: center; justify-content: center; font-size: 1.45rem;
    margin-bottom: 18px;
}
.benefit h3 { font-size: 1.18rem; margin-bottom: 8px; }
.benefit p { color: var(--text-mid); font-size: .95rem; line-height: 1.55; }
@media (max-width: 900px) { .benefit-grid { grid-template-columns: 1fr; } }

/* ---------- Modules: bento grid (1 big tile + raster) ---------- */
.mod-grid {
    display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 20px;
}
.mod {
    display: flex; flex-direction: column;
    border: 1px solid var(--border); border-radius: 28px;
    padding: 28px 26px;
    background: linear-gradient(145deg, #fff, #EAF1FB);
    text-decoration: none;
    box-shadow: var(--sh-sm);
    transition: transform .25s var(--ease), box-shadow .25s;
    min-height: 230px;
}
.mod:hover { transform: translateY(-6px); box-shadow: var(--sh-md); }
.mod--big {
    grid-row: span 2; min-height: 478px;
    background: linear-gradient(145deg, #fff, #D9E6F8);
}
.mod--wide {
    grid-column: 1 / -1; min-height: 0;
    flex-direction: row; align-items: center; gap: 24px;
}
.mod--wide .ic { margin-bottom: 0; flex: 0 0 auto; }
.mod--wide .mod-text { flex: 1; }
.mod--wide h3 { margin-bottom: 2px; }
.mod--wide .sub { margin-bottom: 4px; }
.mod--wide .pill { margin: 0; white-space: nowrap; }
@media (max-width: 980px) { .mod--wide { flex-direction: column; align-items: flex-start; } }
.mod .ic {
    width: 56px; height: 56px; border-radius: 16px;
    background: var(--white); color: var(--yellow-dark);
    border: 1px solid var(--border);
    display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
    margin-bottom: 18px;
}
.mod h3 { font-size: 1.3rem; margin-bottom: 6px; }
.mod--big h3 { font-size: 1.7rem; }
.mod .sub { color: var(--yellow-dark); font-family: var(--f-body-bold); font-size: .88rem; margin-bottom: 10px; }
.mod p { color: var(--text-mid); font-size: .94rem; line-height: 1.5; }
.mod ul { list-style: none; margin: 14px 0 0; padding: 0; }
.mod li { position: relative; padding: 4px 0 4px 26px; color: var(--text-mid); font-size: .94rem; }
.mod li::before {
    content: "\f00c"; font-family: "Font Awesome 5 Pro"; font-weight: 900;
    position: absolute; left: 0; top: 4px; color: var(--success); font-size: .8rem;
}
.mod .pill {
    margin-top: auto; align-self: flex-start;
    background: var(--white); border: 1px solid var(--border);
    border-radius: 999px; padding: 7px 16px;
    font-family: var(--f-body-bold); font-size: .85rem; color: var(--ink);
}
.mod .pill i { color: var(--yellow-dark); margin-left: 6px; transition: transform .2s var(--ease); }
.mod:hover .pill i { transform: translateX(4px); }
.mod > *:nth-last-child(2) { margin-bottom: 18px; }
@media (max-width: 980px) {
    .mod-grid { grid-template-columns: 1fr; }
    .mod--big { grid-row: auto; min-height: 0; }
}

/* ---------- 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(auto-fill, minmax(190px, 1fr)); gap: 16px; }
.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; }

/* ---------- 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; }
/* final.html: .eyebrow with style="margin-bottom:0" (Kundenstimmen head) */
.eyebrow--flush { margin-bottom: 0; }
