.landing-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;width:100%;margin:auto;padding:16px max(24px,calc((100vw - 1200px)/2)) 16px max(24px,calc((100vw - 1176px)/2));background:#0c0f14}
.landing-topbar .brand-logo{display:block;max-width:240px;width:100%;height:auto}
.landing-topbar .btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none;min-height:40px;padding:0 14px;line-height:1;text-align:center;color:var(--text);background:var(--panel)}
.landing-wrap{width:min(1200px,calc(100% - 40px));margin:8px auto 64px}
.landing-hero{position:relative;left:50%;display:flex;align-items:flex-end;width:100vw;min-height:clamp(350px,38vw,540px);margin-left:-50vw;overflow:hidden;background:var(--bg)}
.landing-hero::before{content:"";position:absolute;inset:0;opacity:.8;background-image:linear-gradient(90deg,rgba(5,20,48,.86),rgba(5,20,48,.48) 62%,rgba(5,20,48,.18)),var(--landing-image,linear-gradient(115deg,#0b2452,#16579d 62%,#fd6900));background-size:cover;background-position:center;pointer-events:none}
.landing-hero-copy{position:relative;z-index:1;box-sizing:border-box;width:min(1176px,calc(100% - 48px));max-width:none;margin-inline:auto;padding:clamp(30px,6vw,68px) 0;color:#fff}
.landing-kicker{display:block;color:#fd6900;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.landing-hero .landing-kicker{color:#ffb678}
.landing-hero h1{margin:10px 0 18px;color:#fff;font-size:clamp(2.5rem,6vw,5rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.landing-hero p{margin:0;color:#edf4ff;font-size:1rem}
.landing-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,450px);gap:34px;align-items:start;margin-top:34px}
.landing-intro{padding:12px 0 20px}
.landing-intro h2{margin:8px 0 18px;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.12;letter-spacing:-.035em}
.landing-description{max-width:760px;color:var(--text);font-size:1rem;line-height:1.72}
.landing-description p{margin:0 0 16px}
.landing-note{max-width:760px;margin:38px auto 0;padding:23px 26px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.landing-note h3{margin:0 0 8px;font-size:1.15rem}
.landing-note p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
.landing-join{position:relative;box-sizing:border-box;width:100%;max-width:450px;overflow:hidden;padding:20px 22px;border-radius:15px;background:var(--panel)}
.landing-join::before{content:"";position:absolute;right:-45px;top:-90px;width:210px;height:210px;border:2px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:50%;box-shadow:0 0 0 35px color-mix(in srgb,var(--accent) 5%,transparent)}
.landing-join>*{position:relative}
.landing-join h2{margin:4px 0;font-size:1.45rem;line-height:1.15}
.landing-join p{margin:5px 0;color:var(--muted);font-size:.82rem;line-height:1.4}
.landing-join form{margin:0}
.landing-join .btn.primary{min-height:42px}
.landing-join .auth-provider-list{margin:12px 0 0}
.landing-join .auth-provider-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.landing-join .auth-provider-list>*{min-width:0}
.landing-join .auth-provider-button,.landing-join .auth-provider-google{box-sizing:border-box;width:100%;height:54px;min-height:54px;border-radius:7px}
.landing-join .auth-provider-google{overflow:hidden;border:1px solid var(--line2);background:#fff}
.landing-join .auth-provider-google img{width:100%;height:100%;object-fit:contain}
.landing-google-button{border:1px solid #d4d8df;background:#fff;color:#1f1f1f;cursor:pointer}.landing-google-button:hover,.landing-google-button:focus-visible{background:#f5f7fa;color:#1f1f1f}.landing-google-icon{display:block;flex:0 0 30px;width:30px;height:30px;object-fit:contain}
.landing-join .auth-provider-button{gap:6px;padding:4px;font-size:.833333rem;line-height:1.1;text-align:center}
.landing-join .auth-provider-button .contact-icon{flex:0 0 auto;width:30px;height:30px;padding:0}.landing-join .auth-provider-button .contact-icon img{width:30px;height:30px}
.landing-join .auth-provider-list .btn.twitch{background:#5865f2;border-color:#5865f2;color:#fff}.landing-join .auth-provider-list .btn.twitch:hover,.landing-join .auth-provider-list .btn.twitch:focus-visible{background:#4752c4;border-color:#4752c4;color:#fff}
.landing-join .auth-provider-list .contact-icon.discord{background:transparent}.landing-join .auth-provider-list .contact-icon.discord img{filter:brightness(0) invert(1)}
.landing-email-button{border-color:#cc5500;background:#f56a18;color:#fff}.landing-email-button:hover,.landing-email-button:focus-visible{background:#dd5c0e;color:#fff}.landing-email-button img{flex:0 0 30px;width:30px;height:30px}
.landing-email-login{margin-top:16px;padding-top:8px;border-top:1px solid var(--line)}
.landing-join .auth-form p{margin:0 0 12px}
.landing-join .auth-form label{display:block;margin-bottom:4px;color:var(--text)}
.landing-join .auth-form input:not([type=checkbox]){width:100%}
.landing-join .auth-create-link{margin:16px 0}
.landing-features{margin-top:64px}.landing-features-heading{max-width:760px;margin-bottom:24px}.landing-features-heading h2{margin:8px 0;font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.1}.landing-features-heading p{margin:0;color:var(--muted);line-height:1.6}.landing-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.landing-feature{position:relative;min-height:155px;overflow:hidden;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--panel);isolation:isolate}.landing-feature::before{content:"";position:absolute;z-index:-1;right:-58px;top:-86px;width:225px;height:225px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--feature-hue) 25%,transparent),transparent 69%)}.landing-feature-art{position:absolute;right:12px;top:0;color:var(--feature-hue);opacity:.16;font-family:var(--disp);font-size:7.5rem;font-weight:800;line-height:1;transform:rotate(-12deg);pointer-events:none}.landing-feature h3{position:relative;margin:0 0 8px;font-size:1rem}.landing-feature p{position:relative;margin:0;max-width:29ch;color:var(--muted);font-size:.82rem;line-height:1.55}
.landing-footer{max-width:1200px;margin:auto;padding:20px;color:var(--muted);font-size:.76rem;text-align:center}
@media(max-width:1000px){.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.landing-layout{grid-template-columns:1fr}.landing-join{order:-1}.landing-topbar{padding:14px 24px}}
@media(max-width:520px){.landing-wrap{width:min(100% - 24px,1200px)}.landing-topbar .brand-logo{max-width:180px}.landing-hero{min-height:290px}.landing-hero-copy{padding-block:28px}.landing-layout{margin-top:18px}.landing-join{padding:22px}.landing-join .auth-provider-button{font-size:.76rem}.landing-features{margin-top:42px}.landing-feature-grid{grid-template-columns:1fr}.landing-feature{min-height:110px}}

/* The landing header is always dark. Its single light-wordmark asset
   must not switch based on the viewer's saved site theme. */
.landing-topbar .landing-brand-logo{display:block}

/* RC14: a finished season must not read like an open invitation. */
.series-lifecycle{display:inline-block;margin:0 0 10px;padding:2px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--muted)}
/* Beat the hero paragraph colour and margin reset without changing its type size. */
.landing-hero .series-lifecycle{margin-bottom:12px;border-color:#cdd6e4;background:#eef2f8;color:#44566e}
.landing-hero .series-lifecycle--complete{border-color:#cdd6e4;background:#eef2f8;color:#44566e}
.landing-hero .series-lifecycle--in-progress{border-color:#b9dfc8;background:#e9f7ee;color:#145b38}
.landing-hero .series-lifecycle--upcoming{border-color:#f5d9b5;background:#fff4e6;color:#8a5212}
:root[data-theme=dark] .landing-hero .series-lifecycle{border-color:#53657d;background:#26354b;color:#d8e2f1}
:root[data-theme=dark] .landing-hero .series-lifecycle--in-progress{border-color:#477c5d;background:#173529;color:#bce8cc}
:root[data-theme=dark] .landing-hero .series-lifecycle--upcoming{border-color:#8c6a39;background:#3b2b16;color:#ffe0ac}

/* RC10: the Email account action used white on #f56a18 (3.02:1) and darkened
   on hover to #dd5c0e (3.74:1), both under the 4.5:1 normal-text threshold at
   its rendered size. Dark text on the same orange reaches 5.02:1 and matches
   the selected Direction A pairing. The hover now lightens rather than darkens,
   because with dark text a darker orange would drop back to 4.05:1. Appended
   last so these win over the equal-specificity rules above. */
.landing-email-button{border-color:#cc5500;background:#f56a18;color:#17263f}
.landing-email-button:hover{background:#ff7a2e;color:#17263f}
.landing-email-button:focus-visible{background:#ff7a2e;color:#17263f;outline:3px solid #17263f;outline-offset:2px}
