/* ============================================================
   Arc Fall — Cinematic landing styles (loaded after style.css)
   Immersive hero-first layout: full-bleed hero, frosted-glass
   widgets, ember glow. Uses the existing :root tokens.
   ============================================================ */

:root {
	--cine-ember: #ff5a1f;
	--cine-ember-deep: #ff4500;
	--cine-gold: #f7c948;
	--glass-bg: rgba(18, 22, 30, 0.55);
	--glass-bg-strong: rgba(14, 17, 23, 0.78);
	--glass-border: rgba(255, 255, 255, 0.08);
	--glass-border-hi: rgba(255, 255, 255, 0.14);
}

/* ---------- NAVBAR: translucent glass bar over everything ---------- */
.navbar {
	background: rgba(13, 17, 23, 0.72) !important;
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	border-bottom: 1px solid var(--glass-border);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}
body.is-home .navbar { position: fixed; top: 0; left: 0; right: 0; }
body.is-home { padding-top: 0; }
.nav-link, .nav-logo-text { letter-spacing: 0.02em; }
.nav-dropdown-menu {
	background: var(--glass-bg-strong) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border: 1px solid var(--glass-border-hi) !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

/* ---------- HERO ---------- */
.cine-hero {
	position: relative;
	min-height: 90vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 120px 20px 64px;
	overflow: hidden;
	isolation: isolate;
	/* vignette: darken edges + smooth fade into the page below */
	box-shadow: inset 0 -150px 130px -80px var(--bg-primary), inset 0 0 240px rgba(0, 0, 0, 0.5);
}
.cine-hero::before { /* themed CSS background — no image: crisp at any size, instant load */
	content: "";
	position: absolute; inset: 0; z-index: -3;
	background:
		radial-gradient(1100px 640px at 80% 0%, rgba(255, 90, 31, 0.22), transparent 60%),
		radial-gradient(960px 600px at 4% 100%, rgba(255, 69, 0, 0.13), transparent 55%),
		radial-gradient(820px 560px at 50% 36%, rgba(58, 41, 92, 0.22), transparent 62%),
		linear-gradient(180deg, #0a0d13 0%, #0d1117 52%, var(--bg-primary) 100%);
}
.cine-hero::after { /* faint dot-grid texture, masked to fade at the edges */
	content: "";
	position: absolute; inset: 0; z-index: -2; pointer-events: none;
	background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 24px 24px;
	-webkit-mask-image: radial-gradient(ellipse 78% 70% at 50% 34%, #000 35%, transparent 78%);
	mask-image: radial-gradient(ellipse 78% 70% at 50% 34%, #000 35%, transparent 78%);
	opacity: 0.6;
}
.cine-hero-glow {
	position: absolute; top: -10%; left: 50%; transform: translateX(-50%);
	width: 70vw; height: 60vh; z-index: -1; pointer-events: none;
	background: radial-gradient(closest-side, rgba(255, 90, 31, 0.18), transparent 70%);
	filter: blur(20px);
}

.cine-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
	color: #ffd9b0;
	padding: 8px 16px; margin-bottom: 26px;
	background: rgba(255, 90, 31, 0.10);
	border: 1px solid rgba(255, 90, 31, 0.30);
	border-radius: 999px;
	backdrop-filter: blur(6px);
}
.cine-eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: #2ecc71; box-shadow: 0 0 10px #2ecc71; }
.cine-eyebrow .dot.off { background: var(--text-muted); box-shadow: none; }

.cine-wordmark {
	display: flex; align-items: center; justify-content: center; gap: 18px;
	margin: 0 0 18px;
}
.cine-wordmark img { width: 54px; height: auto; filter: drop-shadow(0 4px 18px rgba(255,90,31,0.5)); }
.cine-title {
	font-size: clamp(44px, 8vw, 96px);
	line-height: 0.95; font-weight: 900; letter-spacing: -0.02em; margin: 0;
	text-shadow: 0 4px 40px rgba(0,0,0,0.6);
}
.cine-title .arc { color: #fff; }
.cine-title .fall {
	background: linear-gradient(135deg, var(--cine-gold) 0%, var(--cine-ember) 55%, var(--cine-ember-deep) 100%);
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.cine-sub {
	max-width: 680px; margin: 0 auto 34px;
	font-size: clamp(15px, 2vw, 19px); line-height: 1.6; color: #d7dee6;
	text-shadow: 0 2px 18px rgba(0,0,0,0.7);
}
.cine-sub strong { color: var(--cine-gold); font-weight: 800; }

.cine-cta { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-bottom: 44px; }
.cine-btn {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 15px 30px; border-radius: 12px;
	font-weight: 800; font-size: 15px; letter-spacing: 0.01em; text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.cine-btn-primary {
	color: #fff;
	background: linear-gradient(135deg, var(--cine-ember) 0%, var(--cine-ember-deep) 100%);
	box-shadow: 0 8px 26px rgba(255, 69, 0, 0.45), inset 0 1px 0 rgba(255,255,255,0.25);
}
.cine-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 38px rgba(255, 69, 0, 0.6); color: #fff; }
.cine-btn-ghost {
	color: #fff;
	background: rgba(255,255,255,0.06);
	border: 1px solid var(--glass-border-hi);
	backdrop-filter: blur(8px);
}
.cine-btn-ghost:hover { transform: translateY(-2px); background: rgba(255,255,255,0.12); color: #fff; }

/* hero live stat strip (frosted) */
.cine-statbar {
	display: flex; flex-wrap: wrap; gap: 0;
	background: var(--glass-bg); border: 1px solid var(--glass-border);
	backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
	border-radius: 16px; overflow: hidden;
	box-shadow: 0 20px 50px rgba(0,0,0,0.45);
}
.cine-stat { padding: 18px 30px; min-width: 120px; position: relative; }
.cine-stat + .cine-stat::before { content: ""; position: absolute; left: 0; top: 22%; height: 56%; width: 1px; background: var(--glass-border-hi); }
.cine-stat .v { font-size: 26px; font-weight: 900; color: #fff; line-height: 1; }
.cine-stat .v.live { color: #2ecc71; }
.cine-stat .l { display: block; margin-top: 6px; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); }

.cine-scroll { margin-top: 40px; color: var(--text-muted); font-size: 22px; animation: cineBounce 1.8s infinite; }
@keyframes cineBounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

/* ---------- WIDE SECTIONS ---------- */
.cine-section { max-width: 1180px; margin: 0 auto; padding: 76px 20px 0; }
.cine-section-head { text-align: center; margin-bottom: 40px; }
.cine-section-head .eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cine-ember); }
.cine-section-head h2 { font-size: clamp(26px, 4vw, 40px); font-weight: 900; margin: 10px 0 0; letter-spacing: -0.02em; }
.cine-section-head h2 .accent {
	background: linear-gradient(135deg, var(--cine-gold), var(--cine-ember)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.cine-section-head p { max-width: 620px; margin: 14px auto 0; color: var(--text-secondary); font-size: 15px; line-height: 1.6; }

/* feature grid (glass cards) */
.cine-feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cine-feat {
	position: relative; padding: 26px 24px; border-radius: 16px;
	background: var(--glass-bg); border: 1px solid var(--glass-border);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
	overflow: hidden;
}
.cine-feat::after { content: ""; position: absolute; inset: 0; border-radius: 16px; pointer-events: none; box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); }
.cine-feat:hover { transform: translateY(-4px); border-color: rgba(255,90,31,0.4); box-shadow: 0 18px 44px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,90,31,0.25); }
.cine-feat-ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 50px; height: 50px; margin-bottom: 16px; font-size: 26px;
	border-radius: 14px;
	background: radial-gradient(circle at 30% 30%, rgba(255,90,31,0.22), rgba(255,69,0,0.06));
	border: 1px solid rgba(255,90,31,0.28);
	box-shadow: 0 0 24px rgba(255,90,31,0.18);
}
.cine-feat h3 { margin: 0 0 8px; font-size: 17px; font-weight: 800; color: #fff; }
.cine-feat p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--text-secondary); }
.cine-feat p a { color: var(--cine-gold); font-weight: 700; }

/* stages band */
.cine-stages { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.cine-stage {
	padding: 20px 16px; border-radius: 14px; text-align: center;
	background: var(--glass-bg); border: 1px solid var(--glass-border);
	backdrop-filter: blur(8px);
}
.cine-stage .mult { font-size: 30px; font-weight: 900; background: linear-gradient(135deg, var(--cine-gold), var(--cine-ember)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cine-stage .lvl { font-size: 12px; color: var(--text-muted); margin-top: 4px; text-transform: uppercase; letter-spacing: 0.08em; }
.cine-stage .bar { height: 4px; border-radius: 4px; background: rgba(255,255,255,0.08); margin: 12px 0 0; overflow: hidden; }
.cine-stage .bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--cine-gold), var(--cine-ember)); }
.cine-rate-pills { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
.cine-pill { padding: 8px 16px; border-radius: 999px; background: rgba(255,255,255,0.05); border: 1px solid var(--glass-border); font-size: 13px; color: var(--text-secondary); }
.cine-pill strong { color: #fff; }

/* ---------- FROSTED WIDGETS (site-wide) ---------- */
.sidebar-widget {
	background: var(--glass-bg) !important;
	border: 1px solid var(--glass-border) !important;
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	border-radius: 16px !important;
	box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}
.sidebar-widget:hover { border-color: var(--glass-border-hi) !important; }
.content-box {
	background: var(--glass-bg) !important;
	border: 1px solid var(--glass-border) !important;
	backdrop-filter: blur(8px);
	border-radius: 16px !important;
}
.widget-title { letter-spacing: 0.02em; }

/* CTA band */
.cine-cta-band {
	max-width: 1180px; margin: 76px auto 0; padding: 48px 24px; text-align: center;
	border-radius: 20px;
	background: linear-gradient(135deg, rgba(255,90,31,0.12), rgba(255,69,0,0.04));
	border: 1px solid rgba(255,90,31,0.25);
}
.cine-cta-band h2 { font-size: clamp(24px, 4vw, 34px); font-weight: 900; margin: 0 0 10px; }
.cine-cta-band p { color: var(--text-secondary); margin: 0 0 22px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 980px) {
	.cine-feat-grid { grid-template-columns: repeat(2, 1fr); }
	.cine-stages { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
	.cine-hero { min-height: 88vh; padding-top: 100px; }
	.cine-feat-grid { grid-template-columns: 1fr; }
	.cine-stages { grid-template-columns: repeat(2, 1fr); }
	.cine-btn { padding: 13px 22px; font-size: 14px; }

	/* Hero status pill: let the three segments wrap on narrow phones
	   instead of forcing a single overflowing line. */
	.cine-eyebrow { flex-wrap: wrap; justify-content: center; text-align: center; }

	/* Live stat strip: the 5 cells (each min-width:120px) overflow phones.
	   Make the bar fill the viewport and let cells flex+wrap to 2 per row. */
	.cine-statbar { width: 100%; max-width: 100%; }
	.cine-stat { flex: 1 1 40%; min-width: 0; padding: 14px 18px; }
	.cine-stat .v { font-size: 20px; }
}

/* ---------- HOMEPAGE: align the news + live rail with the cinematic sections ---------- */
body.is-home .content-container { max-width: 1180px; }
body.is-home .main-content { margin-top: 4px; }
.cine-news-head { margin: 4px 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--glass-border); }
.cine-news-head .eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cine-ember); }
.cine-news-head h2 { font-size: clamp(22px, 3vw, 30px); font-weight: 900; margin: 8px 0 0; letter-spacing: -0.02em; }
/* on desktop, keep the live rail beside the news instead of floating alone */
@media (min-width: 992px) {
	body.is-home .content-sidebar { position: sticky; top: 84px; align-self: start; }
}

/* ---------- HERO -> SECTIONS: one continuous backdrop (kills the visible seam) ---------- */
body.is-home {
	background:
		radial-gradient(1200px 760px at 78% -6%, rgba(255, 90, 31, 0.10), transparent 56%),
		var(--bg-primary);
	background-repeat: no-repeat;
	background-attachment: fixed;
}
.cine-hero { box-shadow: none; } /* drop the hard vignette band that showed an edge */
.cine-hero::before { /* fade the hero's own layers to transparent so the body backdrop carries through */
	background:
		radial-gradient(1100px 640px at 80% 0%, rgba(255, 90, 31, 0.16), transparent 56%),
		radial-gradient(900px 560px at 50% 28%, rgba(58, 41, 92, 0.15), transparent 60%),
		linear-gradient(180deg, rgba(10, 13, 19, 0.55) 0%, rgba(13, 17, 23, 0.16) 42%, transparent 100%);
}
.cine-hero::after {
	-webkit-mask-image: radial-gradient(ellipse 80% 64% at 50% 30%, #000 28%, transparent 72%);
	mask-image: radial-gradient(ellipse 80% 64% at 50% 30%, #000 28%, transparent 72%);
}
