.fw-form { max-width: 480px; }
.fw-form label { display: block; margin-bottom: 4px; }
.fw-form input[type="text"],
.fw-form input[type="email"],
.fw-form select { width: 100%; padding: 10px; box-sizing: border-box; }
.fw-form .fw-consent label { display: flex; gap: 8px; align-items: flex-start; }
.fw-form .fw-hp { position: absolute; left: -9999px; }
.fw-form .fw-error { color: #b00020; }
.fw-form .fw-slot { display: flex; gap: 16px; align-items: center; margin-bottom: 16px; }
.fw-form .fw-slot[hidden] { display: none; }
.fw-form .fw-date { display: flex; flex-direction: column; align-items: center; min-width: 84px; padding: 8px; border: 2px solid currentColor; border-radius: 4px; font-size: 12px; line-height: 1.2; }
.fw-form .fw-date-day { font-size: 30px; line-height: 1.15; }
.fw-form .fw-slot-when { font-size: 18px; }
.fw-form .fw-countdown-label { margin: 2px 0 0; }
.fw-form .fw-countdown { font-weight: 600; font-variant-numeric: tabular-nums; }
.fw-form button { padding: 12px 24px; cursor: pointer; }
.fw-form button[disabled] { opacity: .6; cursor: default; }

.fw-landing { min-height: 100vh; padding: 24px 16px 64px; box-sizing: border-box; background: #121211; color: #f0ebe0; font: 400 17px/1.6 "IBM Plex Sans", sans-serif; }
.fw-landing * { box-sizing: border-box; }
.fw-landing a { color: #ffbe2e; }
.fw-landing .fw-logo { display: block; width: 160px; height: auto; margin: 0 auto 32px; }
/* Das Theme setzt Überschriften mit !important auf seine eigene Schrift. */
.fw-landing h1, .fw-landing h2 { margin: 0; color: #f0ebe0; font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 400; line-height: 1.1; }
.fw-landing h1 { font-size: clamp(2.2rem, 5vw, 3.75rem); overflow-wrap: break-word; hyphens: auto; }
.fw-landing h2 { margin-bottom: 16px; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.fw-landing .fw-hero-wrap { margin: -24px -16px 64px; padding: 24px 16px 64px; background: linear-gradient(90deg, rgba(18,18,17,.94) 35%, rgba(18,18,17,.6)), var(--fw-hero-image) center / cover no-repeat; }
.fw-landing .fw-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); grid-template-areas: "text card" "benefits card"; column-gap: 48px; row-gap: 24px; align-content: center; max-width: 1080px; margin: 0 auto; }
.fw-landing .fw-hero-text { grid-area: text; align-self: end; }
.fw-landing .fw-benefits { grid-area: benefits; align-self: start; margin: 0; padding: 0; list-style: none; }
.fw-landing .fw-benefits li { position: relative; margin-bottom: 12px; padding-left: 28px; }
.fw-landing .fw-benefits li::before { content: "\2713"; position: absolute; left: 0; color: #ffbe2e; font-weight: 600; }
.fw-landing .fw-eyebrow { margin: 0 0 12px; color: #ffbe2e; font: 600 15px Jost, "Avenir Next", system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.fw-landing .fw-lead { margin: 16px 0 0; font-size: 19px; }
.fw-landing .fw-card { grid-area: card; align-self: center; padding: 24px; border: 1px solid #333330; border-radius: 2px; background: #1b1b1a; box-shadow: 0 16px 48px rgba(0,0,0,.45); }
.fw-landing .fw-card h2 { margin-bottom: 16px; font-size: 1.9rem; }
.fw-landing .fw-slot { padding: 12px; border: 1px solid #ffbe2e; border-radius: 2px; }
.fw-landing .fw-date { border-color: #ffbe2e; }
.fw-landing .fw-date-day { color: #ffbe2e; }
.fw-landing .fw-countdown { color: #ffbe2e; font-size: 18px; }
.fw-landing .fw-small { margin: 8px 0 0; color: #b9b4a8; font-size: 13px; text-align: center; }
.fw-landing .fw-cta { display: inline-block; margin-top: 8px; padding: 14px 28px; border-radius: 2px; background: #ffbe2e; color: #221801; font: 600 16px Jost, "Avenir Next", system-ui, sans-serif; letter-spacing: .04em; text-decoration: none; }
.fw-landing .fw-copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: 48px; max-width: 1080px; margin: 0 auto; }
.fw-landing .fw-copy img { display: block; width: 100%; height: auto; margin-bottom: 16px; border-radius: 2px; }
.fw-landing .fw-form { max-width: none; }
.fw-landing .fw-form p { margin: 0 0 16px; }
.fw-landing .fw-form input[type="text"],
.fw-landing .fw-form input[type="email"],
.fw-landing .fw-form select { padding: 12px; border: 1px solid #55554f; border-radius: 2px; background: #121211; color: #f0ebe0; font: inherit; }
.fw-landing .fw-form .fw-consent { font-size: 14px; line-height: 1.45; }
.fw-landing .fw-form .fw-error { color: #ff9b8a; }
.fw-landing .fw-form button { width: 100%; padding: 16px; border: 0; border-radius: 2px; background: #ffbe2e; color: #221801; font: 600 16px Jost, "Avenir Next", system-ui, sans-serif; letter-spacing: .04em; }
.fw-landing .fw-access-link { display: block; padding: 16px; border-radius: 2px; background: #ffbe2e; color: #221801; font: 600 16px Jost, "Avenir Next", system-ui, sans-serif; letter-spacing: .04em; text-align: center; text-decoration: none; }
.fw-landing .fw-access-link[hidden] { display: none; }
.fw-landing .fw-preview { margin: 0 0 16px; padding: 8px 12px; border-left: 3px solid #ffbe2e; font-size: 14px; }
@media (max-width: 800px) {
	.fw-landing .fw-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "text" "card" "benefits"; }
	.fw-landing .fw-hero-wrap { background: linear-gradient(rgba(18,18,17,.82), rgba(18,18,17,.96) 40%), var(--fw-hero-image) top center / 100% auto no-repeat; }
	.fw-landing .fw-copy { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
