/* tyla media – Countdown zum Websitenstart
   CI Ci_tyla_2027.pdf: Blau #182c65, Rot #cd1719, Helvetica Neue LT Pro Extended */

@font-face { font-family: "TylaEx"; font-weight: 900; font-style: normal; font-display: swap;
    src: url(../fonts/tyla-black-ex.woff2) format("woff2"); }
@font-face { font-family: "TylaEx"; font-weight: 500; font-style: italic; font-display: swap;
    src: url(../fonts/tyla-medium-ex-o.woff2) format("woff2"); }
@font-face { font-family: "TylaEx"; font-weight: 300; font-style: normal; font-display: swap;
    src: url(../fonts/tyla-light-ex.woff2) format("woff2"); }

:root {
    --blau: #182c65;
    --blau-tief: #0d1835;
    --rot: #cd1719;
    --weiss: #ffffff;
}

* { box-sizing: border-box; }

html, body { height: 100%; }

body {
    margin: 0;
    font-family: "TylaEx", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300;
    color: var(--weiss);
    background: var(--blau-tief);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

/* ---------------------------------------------------------------- Hintergrund */
.hg { position: fixed; inset: 0; z-index: 0; overflow: hidden; background: var(--blau-tief); }

.hg video {
    position: absolute; top: 50%; left: 50%;
    min-width: 100%; min-height: 100%;
    width: auto; height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

/* CI-Blau über das Video legen, damit die Schrift trägt */
.hg::after {
    content: ""; position: absolute; inset: 0;
    background:
        linear-gradient(180deg, rgba(13,24,53,.85) 0%, rgba(13,24,53,.45) 45%, rgba(13,24,53,.92) 100%),
        rgba(24, 44, 101, .55);
}

/* ---------------------------------------------------------------- Inhalt */
.seite {
    position: relative; z-index: 1;
    min-height: 100vh; min-height: 100svh;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center;
    padding: 56px 20px 40px;
}

.logo { width: min(420px, 74vw); height: auto; display: block; margin: 0 auto 38px; }

.claim {
    font-weight: 900; font-style: italic;
    font-size: clamp(20px, 3.4vw, 34px);
    letter-spacing: .01em; color: var(--rot);
    margin: 0 0 14px; text-transform: lowercase;
}

h1 {
    font-weight: 900; text-transform: uppercase;
    font-size: clamp(30px, 5.2vw, 64px);
    line-height: 1.02; letter-spacing: -0.01em;
    margin: 0 0 30px;
}

h1 .zeile2 { color: var(--rot); display: block; }

/* ---------------------------------------------------------------- Countdown */
.uhr {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: clamp(10px, 2.4vw, 30px);
    margin: 0 0 38px;
}

.uhr div {
    min-width: clamp(74px, 13vw, 132px);
    padding: 16px 10px 13px;
    border: 2px solid rgba(255, 255, 255, .28);
    border-radius: 10px;
    background: rgba(13, 24, 53, .42);
    backdrop-filter: blur(3px);
}

.uhr b {
    display: block; font-weight: 900;
    font-size: clamp(32px, 6vw, 62px);
    line-height: 1; font-variant-numeric: tabular-nums;
}

.uhr span {
    display: block; margin-top: 7px;
    font-weight: 300; font-size: clamp(10px, 1.3vw, 13px);
    letter-spacing: .18em; text-transform: uppercase;
    color: rgba(255, 255, 255, .72);
}

.gestartet { font-weight: 900; font-size: clamp(22px, 4vw, 44px); margin: 0 0 38px; }

/* ---------------------------------------------------------------- Text + Formular */
.text {
    font-weight: 300; font-size: clamp(15px, 1.7vw, 19px);
    line-height: 1.6; max-width: 620px; margin: 0 auto 30px;
    color: rgba(255, 255, 255, .88);
}

form { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 auto 16px; }

form input[type=email] {
    font: inherit; font-weight: 300;
    width: min(330px, 78vw);
    padding: 14px 18px;
    border: 2px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    background: rgba(13, 24, 53, .5);
    color: var(--weiss);
}

form input[type=email]::placeholder { color: rgba(255, 255, 255, .5); }
form input[type=email]:focus { outline: none; border-color: var(--rot); }

form button {
    font: inherit; font-weight: 900; text-transform: uppercase;
    letter-spacing: .06em; font-size: 14px;
    padding: 14px 30px; border: 0; border-radius: 999px;
    background: var(--rot); color: var(--weiss); cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

form button:hover { transform: translateY(-2px); background: #e01c1e; }

.meldung { min-height: 22px; font-size: 14px; margin-bottom: 8px; }
.meldung.ok { color: #7fe2a4; }
.meldung.fehler { color: #ff8b8c; }

.fuss { font-size: 13px; color: rgba(255, 255, 255, .55); margin-top: 26px; }
.fuss a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .25); }
.fuss a:hover { color: var(--weiss); border-color: var(--rot); }

/* ---------------------------------------------------------------- Handy */
@media (max-width: 575px) {
    .seite { padding: 40px 18px 30px; }
    .logo { margin-bottom: 26px; }
    .uhr { gap: 8px; }
    .uhr div { min-width: 68px; padding: 12px 6px 10px; border-width: 1px; }
    form input[type=email], form button { width: min(330px, 86vw); }
}

/* Bewegung reduzieren, wenn das System es verlangt */
@media (prefers-reduced-motion: reduce) {
    .hg video { display: none; }
    .hg { background: var(--blau-tief) url(../video/poster.jpg) center/cover; }
}

/* zweite, kleinere Textzeile direkt über dem Formular */
.text--klein { font-size: clamp(14px, 1.5vw, 17px); margin-bottom: 22px; color: rgba(255, 255, 255, .8); }
