/* ==========================================================================
   THE SCRAMBLE TOUR — Designsystem Bordeaux·Gold
   ========================================================================== */

/* ---- Fonts (self-hosted, DSGVO-konform — Dateien siehe assets/fonts/README.txt) ---- */
@font-face { font-family:'Archivo'; src:url('../fonts/archivo-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:'Archivo'; src:url('../fonts/archivo-700.woff2') format('woff2'); font-weight:600 800; font-display:swap; }
@font-face { font-family:'Archivo Narrow'; src:url('../fonts/archivo-narrow-700.woff2') format('woff2'); font-weight:600 700; font-display:swap; }
@font-face { font-family:'IBM Plex Mono'; src:url('../fonts/ibm-plex-mono-500.woff2') format('woff2'); font-weight:400 600; font-display:swap; }

:root {
  --bg:#F6F1E9; --card:#FDFAF4; --card2:#ECE4D6; --line:rgba(58,28,32,.12);
  --ink:#2B1B1A; --muted:rgba(43,27,26,.58);
  --brand:#6E2231; --brand-text:#F8E9DC;
  --dark:#241419; --dark-text:#F5EDE6; --dark-muted:rgba(245,237,230,.55); --dark-line:rgba(245,237,230,.1);
  --gold:#D9A662; --gold-deep:#A8722F;
  --pill:#ECE3D7; --shadow:0 10px 32px rgba(52,26,26,.09);
  --font:'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --cond:'Archivo Narrow', 'Arial Narrow', 'Archivo', sans-serif;
  --mono:'IBM Plex Mono', 'SF Mono', Consolas, monospace;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font); background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.mono { font-family:var(--mono); font-variant-numeric:tabular-nums; }
.wrap { max-width:1220px; margin:0 auto; padding:0 26px; }
section { padding:52px 0; }
.skip { position:absolute; left:-9999px; }
.skip:focus { position:fixed; left:12px; top:12px; z-index:200; background:var(--ink); color:var(--bg); padding:10px 16px; border-radius:8px; }

h1.page-t { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:clamp(34px,5vw,58px); color:var(--brand); line-height:1; }
h2.sec { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:clamp(26px,3.4vw,40px); color:var(--brand); }
.sec-sub { color:var(--muted); font-size:16px; max-width:600px; margin-top:8px; line-height:1.55; }
.sec-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:28px; flex-wrap:wrap; }
.kick { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:13px; color:var(--gold-deep); letter-spacing:.08em; margin-bottom:8px; }
.halftone { position:absolute; width:240px; height:150px; background-image:radial-gradient(var(--line) 2.2px, transparent 2.2px); background-size:15px 15px; pointer-events:none; }
.page-hero { padding:46px 0 8px; }

/* ---- Navigation ---- */
.navwrap { position:sticky; top:12px; z-index:60; padding:14px 26px 0; }
nav.main { max-width:1220px; margin:0 auto; background:var(--card); border-radius:22px; box-shadow:var(--shadow); display:flex; align-items:center; gap:26px; padding:0 22px; height:66px; position:relative; }
.logo { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:19px; color:var(--brand); white-space:nowrap; }
.nav-links { display:flex; gap:22px; margin-left:auto; }
.nav-links a { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:14.5px; color:var(--ink); opacity:.75; }
.nav-links a:hover, .nav-links a.on { opacity:1; color:var(--brand); }
.nav-cta { display:flex; gap:10px; margin-left:18px; }
.burger { display:none; margin-left:auto; background:none; border:none; cursor:pointer; font-size:26px; color:var(--brand); line-height:1; padding:6px; }
.mobile-menu { display:none; position:absolute; top:74px; left:0; right:0; background:var(--card); border-radius:22px; box-shadow:var(--shadow); padding:18px; flex-direction:column; gap:4px; }
.mobile-menu.open { display:flex; }
.mobile-menu a { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:16px; padding:12px 14px; border-radius:12px; }
.mobile-menu a:hover, .mobile-menu a.on { background:var(--pill); color:var(--brand); }

/* ---- Buttons ---- */
.pill-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:14px; padding:11px 20px; border-radius:999px; background:var(--pill); color:var(--ink); transition:transform .12s; cursor:pointer; border:none; }
.pill-btn:hover { transform:translateY(-1px); }
.pill-btn.primary { background:var(--brand); color:var(--brand-text); }
.pill-btn.gold { background:var(--gold); color:#241419; }
.pill-btn.big { font-size:15.5px; padding:14px 28px; }
.pill-btn.ghost { background:rgba(255,255,255,.16); color:#fff; backdrop-filter:blur(6px); }

/* ---- Foto-Bühnen (Platzhalter bis echte Fotografie da ist) ---- */
.ph { position:relative; overflow:hidden; display:flex; align-items:flex-end; color:#fff; }
.ph::before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size:22px 22px; }
.ph .tag { position:relative; z-index:2; font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; background:rgba(0,0,0,.42); padding:7px 11px; border-radius:8px; margin:14px; }
.g-course { background:radial-gradient(ellipse at 70% 20%, rgba(255,255,255,.18), transparent 45%), linear-gradient(165deg,#6E8A4E,#46652F 45%,#263D1C); }
.g-party { background:radial-gradient(ellipse at 30% 25%, rgba(255,200,120,.28), transparent 45%), linear-gradient(160deg,#8A5A33,#4A2E17); }
.g-check { background:radial-gradient(ellipse at 60% 20%, rgba(255,255,255,.14), transparent 45%), linear-gradient(160deg,#31475C,#17232E); }
.g-drone { background:radial-gradient(ellipse at 50% 10%, rgba(255,255,255,.2), transparent 50%), linear-gradient(175deg,#7A9155,#3A5A2C 55%,#22381E); }
.g-team { background:radial-gradient(ellipse at 40% 25%, rgba(255,255,255,.16), transparent 45%), linear-gradient(160deg,#5B7A8A,#2F4756); }

/* ---- Hero ---- */
.hero { padding:44px 0 22px; position:relative; }
.hero .halftone { top:8px; right:8%; }
.hero-card { border-radius:26px; min-height:64vh; }
.hero-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 36%, rgba(16,10,6,.76) 100%); }
.hero-inner { position:relative; z-index:2; padding:44px 48px; width:100%; }
.hero-kicker { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:14px; letter-spacing:.06em; color:var(--gold); margin-bottom:10px; }
.hero h1 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:clamp(38px,6vw,74px); line-height:.98; margin-bottom:16px; max-width:850px; color:#fff; }
.hero p { font-size:17.5px; max-width:540px; line-height:1.5; color:rgba(255,255,255,.85); margin-bottom:26px; }
.hero-ctas { display:flex; gap:12px; flex-wrap:wrap; }
.statbar { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:16px; }
.stat { background:var(--card); border-radius:18px; padding:18px 22px; box-shadow:var(--shadow); }
.stat .v { font-family:var(--mono); font-weight:600; font-size:20px; }
.stat .v em { font-style:normal; color:var(--brand); }
.stat .l { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:12px; color:var(--muted); margin-top:4px; }

/* ---- Modus-Kacheln ---- */
.tile-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tile { background:var(--card); border-radius:22px; box-shadow:var(--shadow); padding:28px; }
.tile .ic { width:54px; height:54px; border-radius:16px; background:var(--pill); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:16px; }
.tile .n { font-family:var(--mono); font-size:11px; color:var(--muted); }
.tile h3, .tile h4 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:19px; margin:7px 0 7px; }
.tile p { font-size:13.5px; color:var(--muted); line-height:1.55; }
.tile.joker { background:var(--brand); color:var(--brand-text); }
.tile.joker .ic { background:rgba(255,255,255,.16); }
.tile.joker .n, .tile.joker p, .tile.joker h3, .tile.joker h4 { color:var(--brand-text); }
.tile.joker .n, .tile.joker p { opacity:.8; }

/* ---- Event-Karte ---- */
.event-card { display:grid; grid-template-columns:.9fr 1.4fr; background:var(--card); border-radius:26px; overflow:hidden; box-shadow:var(--shadow); }
.event-card .ph { min-height:280px; }
.event-card .body { padding:36px 40px; display:flex; flex-direction:column; gap:14px; justify-content:center; }
.ev-status { display:inline-block; font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:12.5px; padding:6px 14px; border-radius:999px; background:var(--brand); color:var(--brand-text); align-self:flex-start; }
.ev-status.soon { background:var(--pill); color:var(--muted); }
.ev-status.gold { background:var(--gold); color:var(--dark); }
.event-card h3, .event-card h2 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:clamp(26px,3vw,36px); }
.event-card .meta { display:flex; gap:20px; flex-wrap:wrap; font-size:14.5px; color:var(--muted); }
.event-card .meta b { color:var(--ink); }
.event-card .actions { display:flex; align-items:center; gap:18px; margin-top:6px; flex-wrap:wrap; }
.deadline { font-family:var(--mono); font-size:12.5px; color:var(--muted); }

/* ---- Money-List-Modul ---- */
.ml-module { background:var(--dark); color:var(--dark-text); border-radius:24px; overflow:hidden; box-shadow:var(--shadow); }
.ml-head { display:flex; justify-content:space-between; align-items:center; padding:22px 28px; border-bottom:1px solid var(--dark-line); flex-wrap:wrap; gap:12px; }
.ml-title { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:17px; color:var(--gold); }
.ml-sum { font-family:var(--mono); font-size:12px; color:var(--dark-muted); }
.ml-sum b { color:var(--gold); }
.ml-empty { padding:64px 28px; text-align:center; }
.ml-empty .big { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:clamp(22px,3vw,32px); color:var(--dark-text); margin-bottom:10px; }
.ml-empty p { color:var(--dark-muted); font-size:15px; max-width:460px; margin:0 auto 24px; line-height:1.6; }
.ml-foot { padding:15px 28px; border-top:1px solid var(--dark-line); font-family:var(--mono); font-size:12px; color:var(--dark-muted); display:flex; gap:26px; flex-wrap:wrap; }
.ml-foot b { color:var(--dark-text); }
table.ml { width:100%; border-collapse:collapse; }
table.ml th { font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--dark-muted); text-align:left; padding:14px 28px; border-bottom:1px solid var(--dark-line); font-weight:500; }
table.ml td { padding:14px 28px; border-bottom:1px solid var(--dark-line); font-size:15px; }
table.ml tr:last-child td { border-bottom:none; }
.earn { font-family:var(--mono); font-weight:600; text-align:right; color:var(--gold); }

/* ---- Badges / Founding-Bühne ---- */
.badge { display:inline-flex; align-items:center; justify-content:center; font-weight:800; color:#fff; flex:0 0 auto; width:34px; height:34px; border-radius:11px; font-size:12px; }
.wall { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.wall-item { background:var(--card); border-radius:18px; box-shadow:var(--shadow); padding:22px 12px 18px; text-align:center; }
.wall-item .badge { width:54px; height:54px; border-radius:16px; font-size:17px; margin:0 auto 12px; }
.wall-item .tn { font-weight:700; font-size:13px; line-height:1.25; }
.wall-item .td { font-family:var(--mono); font-size:10.5px; color:var(--muted); margin-top:5px; }
.wall-item.slot { border:1.5px dashed var(--line); background:transparent; box-shadow:none; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:132px; color:var(--muted); font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.wall-item.slot .q { font-family:var(--cond); font-size:26px; color:var(--line); margin-bottom:8px; }

/* ---- Split, Experience, Partner, CTA ---- */
.split { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.split-card { background:var(--card); border-radius:24px; box-shadow:var(--shadow); padding:36px; }
.split-card h3 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:25px; margin-bottom:10px; }
.split-card p { color:var(--muted); font-size:15px; line-height:1.55; margin-bottom:22px; }
.teamcard-demo { border-radius:18px; padding:24px; background:linear-gradient(150deg,#20343D,#101B21); color:#F2F7F5; display:flex; align-items:center; gap:18px; }
.teamcard-demo .badge { width:56px; height:56px; font-size:18px; border-radius:16px; background:#E8622C; }
.teamcard-demo .tc-name { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:19px; }
.teamcard-demo .tc-sub { font-family:var(--mono); font-size:11px; opacity:.65; margin-top:5px; letter-spacing:.08em; }
.merch-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.merch-item { background:var(--card2); border-radius:16px; padding:16px 12px; text-align:center; }
.merch-item .shape { width:64%; aspect-ratio:1; border-radius:16px; margin:0 auto 12px; background:linear-gradient(155deg,#20343D,#101B21); display:flex; align-items:center; justify-content:center; }
.merch-item .shape span { font-weight:800; color:#E8622C; font-size:15px; }
.merch-item .mn { font-weight:700; font-size:12.5px; }
.merch-item .price { font-family:var(--mono); font-size:12px; color:var(--brand); margin-top:3px; font-weight:600; }
.exp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.exp-grid .ph { aspect-ratio:4/3; border-radius:20px; box-shadow:var(--shadow); }
.partners { display:flex; gap:16px; justify-content:center; align-items:center; flex-wrap:wrap; }
.partner-ph { font-family:var(--mono); font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; border:1.5px dashed var(--line); padding:14px 26px; border-radius:12px; color:var(--muted); background:var(--card); }
.cta-band { margin:26px; border-radius:28px; background:var(--brand); color:var(--brand-text); text-align:center; padding:80px 26px; position:relative; overflow:hidden; }
.cta-band .halftone { background-image:radial-gradient(rgba(255,255,255,.14) 2.2px, transparent 2.2px); }
.cta-band h2 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:clamp(30px,5vw,56px); line-height:1; margin-bottom:14px; color:var(--brand-text); }
.cta-band p { opacity:.8; font-size:17px; margin-bottom:30px; }
.cta-band .pill-btn { background:#fff; color:var(--brand); }

/* ---- Modus-Page: Diagramm, Timeline, Leiter, Geld, Joker, Details ---- */
.diagram { background:var(--card); border-radius:24px; box-shadow:var(--shadow); padding:38px; display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; }
.hole { position:relative; height:280px; background:linear-gradient(165deg,#5F7C46,#31491F); border-radius:20px; overflow:hidden; }
.hole::before { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px); background-size:20px 20px; }
.dg-dot { position:absolute; width:16px; height:16px; border-radius:50%; border:2.5px solid #fff; }
.dg-lab { position:absolute; font-family:var(--mono); font-size:10px; color:#fff; background:rgba(0,0,0,.45); padding:4px 8px; border-radius:6px; white-space:nowrap; }
.dg-line { position:absolute; height:2.5px; background:rgba(255,255,255,.7); transform-origin:0 50%; border-radius:2px; }
.dg-line.pick { background:var(--gold); height:3.5px; }
.dg-green { position:absolute; right:8%; top:14%; width:70px; height:70px; border-radius:50%; background:rgba(255,255,255,.22); }
.dg-flag { position:absolute; right:calc(8% + 28px); top:10%; font-size:18px; }
.steps-txt { list-style:none; }
.steps-txt li { margin-bottom:14px; font-size:15.5px; line-height:1.5; display:flex; gap:12px; }
.steps-txt .num { font-family:var(--mono); font-weight:600; font-size:12px; background:var(--pill); border-radius:999px; min-width:26px; height:26px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.quote { font-family:var(--cond); font-weight:700; font-size:20px; text-transform:uppercase; color:var(--brand); margin-top:10px; }
.timeline { display:grid; grid-template-columns:repeat(5,1fr); background:var(--card); border-radius:24px; box-shadow:var(--shadow); overflow:hidden; }
.tl-item { padding:26px 22px; border-right:1px solid var(--line); }
.tl-item:last-child { border-right:none; }
.tl-time { font-family:var(--mono); font-weight:600; font-size:15px; color:var(--brand); }
.tl-item h3 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:16px; margin:8px 0 6px; }
.tl-item p { font-size:12.5px; color:var(--muted); line-height:1.5; }
.ladder-card { background:var(--card); border-radius:24px; box-shadow:var(--shadow); padding:38px; display:grid; grid-template-columns:1fr 1.1fr; gap:38px; align-items:center; }
.ladder { display:flex; flex-direction:column; gap:10px; }
.lad-div { border-radius:14px; padding:16px 20px; display:flex; justify-content:space-between; align-items:center; font-family:var(--cond); font-weight:700; text-transform:uppercase; }
.lad-div.d1 { background:var(--brand); color:var(--brand-text); }
.lad-div.d2 { background:var(--card2); }
.lad-div.d3 { background:var(--pill); }
.lad-arrows { font-family:var(--mono); font-size:11.5px; display:flex; gap:14px; }
.up { color:#3E8E4C; } .down { color:#C0392B; }
.lad-note { text-align:center; font-family:var(--mono); font-size:11px; color:var(--muted); }
.ladder-card p, .prose p { font-size:15.5px; line-height:1.65; color:var(--muted); margin-bottom:14px; }
.ladder-card b, .prose b { color:var(--ink); }
.money-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:16px; }
.pay-table { background:var(--dark); color:var(--dark-text); border-radius:24px; box-shadow:var(--shadow); overflow:hidden; }
.pay-table .hd { padding:18px 26px; border-bottom:1px solid var(--dark-line); font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:16px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.pay-table .hd .mono { color:var(--gold); font-size:12px; }
.pay-table table { width:100%; border-collapse:collapse; }
.pay-table td { padding:11px 26px; border-bottom:1px solid var(--dark-line); font-size:14px; }
.pay-table td:last-child { font-family:var(--mono); text-align:right; color:var(--gold); }
.pay-table tr:last-child td { border-bottom:none; }
.callout { background:var(--card); border-radius:24px; box-shadow:var(--shadow); padding:30px; }
.callout h3 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:19px; margin-bottom:10px; color:var(--brand); }
.callout p { font-size:14.5px; color:var(--muted); line-height:1.6; }
.callout + .callout { margin-top:16px; }
.joker-seq { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.js-card { background:var(--card); border-radius:22px; box-shadow:var(--shadow); padding:28px; text-align:center; }
.js-card .big { font-size:40px; margin-bottom:12px; }
.js-card h3 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:17px; margin-bottom:7px; }
.js-card p { font-size:13.5px; color:var(--muted); line-height:1.5; }
details { background:var(--card); border-radius:16px; box-shadow:var(--shadow); margin-bottom:10px; overflow:hidden; }
summary { cursor:pointer; padding:18px 24px; font-weight:700; font-size:15px; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; font-family:var(--mono); color:var(--brand); font-size:18px; flex:0 0 auto; }
details[open] summary::after { content:"–"; }
details .dbody { padding:0 24px 20px; font-size:14.5px; color:var(--muted); line-height:1.6; }

/* ---- Schedule ---- */
.season-strip { display:flex; gap:8px; margin-bottom:30px; flex-wrap:wrap; }
.ss-dot { font-family:var(--mono); font-size:11.5px; padding:8px 14px; border-radius:999px; background:var(--card); box-shadow:var(--shadow); color:var(--muted); }
.ss-dot.next { background:var(--brand); color:var(--brand-text); }
.ss-dot.open { background:var(--dark); color:var(--gold); }
.sched-list { display:flex; flex-direction:column; gap:16px; }
.sched-card { display:grid; grid-template-columns:220px 1fr auto; gap:26px; align-items:center; background:var(--card); border-radius:22px; box-shadow:var(--shadow); overflow:hidden; }
.sched-card .ph { min-height:130px; height:100%; }
.sched-card .body { padding:22px 0; }
.sched-card h2, .sched-card h3 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:21px; margin:8px 0 4px; }
.sched-card .meta { font-size:13.5px; color:var(--muted); line-height:1.6; }
.sched-card .right { padding-right:26px; text-align:right; display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.sched-card.open-card { background:var(--dark); color:var(--dark-text); }
.sched-card.open-card .meta { color:var(--dark-muted); }
.sched-card.open-card h2, .sched-card.open-card h3 { color:var(--gold); }
.sched-card.hl { outline:2.5px solid var(--brand); outline-offset:-2.5px; }

/* ---- Formulare (Anmelden / Kontakt) ---- */
.form-card { background:var(--card); border-radius:26px; box-shadow:var(--shadow); padding:40px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field-full { grid-column:1 / -1; }
label { display:block; font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:12.5px; margin-bottom:7px; color:var(--muted); }
.input, textarea.input, select.input { width:100%; background:var(--bg); border:1.5px solid var(--line); border-radius:14px; padding:14px 18px; font-family:var(--font); font-size:15.5px; color:var(--ink); }
.input:focus { outline:2px solid var(--brand); border-color:transparent; }
textarea.input { min-height:120px; resize:vertical; }
.check-row { display:flex; gap:12px; align-items:flex-start; font-size:13.5px; color:var(--muted); line-height:1.5; }
.check-row input { margin-top:3px; width:17px; height:17px; accent-color:var(--brand); }
.form-note { font-family:var(--mono); font-size:11.5px; color:var(--muted); margin-top:14px; line-height:1.6; }
.form-success { background:#EAF3E6; border:1.5px solid #3E8E4C; color:#2C5E36; border-radius:16px; padding:20px 24px; font-size:15px; line-height:1.6; }
.form-error { background:#F7E8E4; border:1.5px solid #C0392B; color:#8A2F2A; border-radius:16px; padding:20px 24px; font-size:15px; line-height:1.6; }
.price-box { background:var(--dark); color:var(--dark-text); border-radius:22px; padding:28px; box-shadow:var(--shadow); }
.price-box .p { font-family:var(--mono); font-weight:600; font-size:34px; color:var(--gold); }
.price-box ul { list-style:none; margin-top:14px; }
.price-box li { padding:7px 0; border-bottom:1px solid var(--dark-line); font-size:14px; color:var(--dark-muted); }
.price-box li:last-child { border-bottom:none; }
.price-box li b { color:var(--dark-text); }

/* ---- About / Legal / Prose ---- */
.about-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; align-items:start; }
.about-txt { background:var(--card); border-radius:24px; box-shadow:var(--shadow); padding:40px; }
.about-txt h2 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:26px; color:var(--brand); margin-bottom:16px; }
.about-ph { border-radius:24px; aspect-ratio:4/4.6; box-shadow:var(--shadow); }
.legal { max-width:760px; }
.legal h2 { font-family:var(--cond); font-weight:700; text-transform:uppercase; font-size:22px; color:var(--brand); margin:28px 0 10px; }
.legal p, .legal li { font-size:15px; line-height:1.7; color:var(--muted); margin-bottom:12px; }
.legal ul { padding-left:20px; }
.todo { background:#FBF3DC; border:1.5px dashed var(--gold-deep); border-radius:12px; padding:14px 18px; font-family:var(--mono); font-size:12.5px; color:#7A5A1E; margin:14px 0; }

/* ---- Footer ---- */
footer { padding:56px 0 40px; color:var(--muted); }
.foot-cols { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:36px; margin-bottom:36px; }
.foot-cols .ft-h { font-family:var(--cond); font-weight:700; text-transform:uppercase; color:var(--ink); font-size:13.5px; margin-bottom:14px; }
.foot-cols a { display:block; font-size:14px; margin-bottom:9px; }
.foot-cols a:hover { color:var(--ink); }
.foot-base { border-top:1px solid var(--line); padding-top:22px; display:flex; justify-content:space-between; font-size:12.5px; flex-wrap:wrap; gap:10px; }

/* ---- Responsive ---- */
@media (max-width:960px) {
  .statbar { grid-template-columns:1fr 1fr; }
  .tile-grid, .joker-seq { grid-template-columns:1fr 1fr; }
  .event-card, .diagram, .ladder-card, .money-grid, .split, .about-grid, .form-grid { grid-template-columns:1fr; }
  .timeline { grid-template-columns:1fr 1fr; }
  .tl-item { border-bottom:1px solid var(--line); }
  .wall { grid-template-columns:repeat(3,1fr); }
  .exp-grid { grid-template-columns:1fr; }
  .sched-card { grid-template-columns:1fr; }
  .sched-card .right { padding:0 26px 22px; align-items:flex-start; }
  .foot-cols { grid-template-columns:1fr 1fr; }
  .nav-links, .nav-cta { display:none; }
  .burger { display:block; }
  .hero-card { min-height:56vh; }
}
@media (max-width:560px) {
  .tile-grid, .joker-seq, .timeline, .wall { grid-template-columns:1fr 1fr; }
  .hero-inner { padding:28px; }
}

/* Zwei-Spalten-Layout (Anmelden/Kontakt) */
.two-col { display:grid; grid-template-columns:1.3fr .7fr; gap:16px; align-items:start; }
@media (max-width:960px) { .two-col { grid-template-columns:1fr; } }
