:root{
	/* Brighter, higher-contrast dark theme */
	--bg:#0d1630;
	--bg2:#090f22;
	--card:rgba(255,255,255,.08);
	--card2:rgba(255,255,255,.11);
	--stroke:rgba(255,255,255,.18);
	--text:#f4f7ff;
	--muted:rgba(244,247,255,.78);
	--muted2:rgba(244,247,255,.62);
	--brand:#8b7bff;
	--brand2:#38e6d1;
	--good:#43e3aa;
	--warn:#ffd166;
	--shadow:0 16px 60px rgba(0,0,0,.40);
	--shadow2:0 10px 30px rgba(0,0,0,.32);
	--r12:12px;
	--r16:16px;
	--r20:20px;
	--container:min(1120px,calc(100% - 32px));
	--focus:0 0 0 3px rgba(139,123,255,.48);
	--focus2:0 0 0 4px rgba(56,230,209,.30);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* Hide scrollbars (keep scrolling) */
html, body{
	-ms-overflow-style:none; /* IE/Edge legacy */
	scrollbar-width:none; /* Firefox */
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{width:0;height:0}

/* Also hide scrollbars on any overflow containers */
*{scrollbar-width:none}
*::-webkit-scrollbar{width:0;height:0}
body{
	margin:0;
	font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
	color:var(--text);
	background:
		radial-gradient(1100px 700px at 20% -10%,rgba(139,123,255,.30),transparent 55%),
		radial-gradient(900px 650px at 90% 10%,rgba(56,230,209,.22),transparent 55%),
		linear-gradient(180deg,var(--bg),var(--bg2) 70%,#070b12);
	min-height:100dvh;
	line-height:1.65;
}

/* Better default form rendering in dark UIs */
:root{color-scheme:dark}

@media (max-width: 420px){
	:root{--container:min(1120px,calc(100% - 24px))}
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input{font:inherit;color:inherit}

:focus-visible{outline:none;box-shadow:var(--focus),var(--focus2)}

.skip-link{
	position:absolute;
	left:12px;
	top:12px;
	padding:10px 12px;
	border-radius:12px;
	background:rgba(0,0,0,.65);
	border:1px solid rgba(255,255,255,.18);
	transform:translateY(-180%);
	transition:transform .2s ease;
	z-index:9999;
}
.skip-link:focus{transform:translateY(0)}

.container{width:var(--container);margin:0 auto}

.site-header{
	position:sticky;
	top:0;
	z-index:2000;
	backdrop-filter:saturate(1.2) blur(10px);
	background:rgba(12,18,40,.62);
	border-bottom:1px solid rgba(255,255,255,.12);
}

.nav-shell{
	width:var(--container);
	margin:0 auto;
	display:grid;
	grid-template-columns:1fr auto auto;
	gap:12px;
	align-items:center;
	padding:10px 0;
}

.brand{display:flex;gap:10px;align-items:center;min-width:0}
.brand-mark{
	width:36px;height:36px;border-radius:12px;
	object-fit:cover;
	background:
		radial-gradient(circle at 30% 30%,rgba(255,255,255,.25),transparent 40%),
		linear-gradient(135deg,var(--brand),var(--brand2));
	border:1px solid rgba(255,255,255,.14);
	box-shadow:0 10px 30px rgba(124,92,255,.25);
}
.brand-text{min-width:0}
.brand-name{font-weight:800;letter-spacing:.2px;line-height:1.1}
.brand-loc{font-size:12px;color:var(--muted2)}

.site-nav{position:relative}

.nav-toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;height:44px;
	border-radius:12px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
}
.nav-toggle:hover{background:rgba(255,255,255,.09)}

.nav-toggle-lines{
	width:20px;height:14px;position:relative;display:block;
}
.nav-toggle-lines::before,
.nav-toggle-lines::after{
	content:"";
	position:absolute;left:0;right:0;
	height:2px;border-radius:2px;
	background:rgba(255,255,255,.85);
	transform-origin:center;
	transition:transform .2s ease, top .2s ease, opacity .2s ease;
}
.nav-toggle-lines::before{top:2px}
.nav-toggle-lines::after{top:10px}

.nav-links{
	position:absolute;
	right:0;
	top:calc(100% + 10px);
	width:min(86vw,320px);
	padding:10px;
	border-radius:16px;
	background:rgba(9,14,26,.96);
	border:1px solid rgba(255,255,255,.12);
	box-shadow:var(--shadow2);
	display:none;
}
.nav-links.is-open{display:grid}

.nav-link{
	padding:10px 12px;
	border-radius:12px;
	text-decoration:none;
	color:rgba(234,240,255,.88);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
}
.nav-link:hover{background:rgba(255,255,255,.07)}
.nav-link.is-active{background:rgba(124,92,255,.16);border:1px solid rgba(124,92,255,.25)}

.nav-cta{display:none}

.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:10px 14px;
	border-radius:14px;
	border:1px solid rgba(255,255,255,.14);
	background:rgba(255,255,255,.06);
	text-decoration:none;
	cursor:pointer;
	user-select:none;
	transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18);transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}

.btn-lg{padding:12px 16px;border-radius:16px}

.btn-primary{
	background:linear-gradient(135deg,var(--brand),#4f46e5 60%,#1d4ed8);
	border-color:rgba(255,255,255,.18);
	box-shadow:0 14px 34px rgba(124,92,255,.22);
}
.btn-primary:hover{filter:saturate(1.08) brightness(1.03)}

.btn-ghost{
	background:rgba(255,255,255,.04);
	border-color:rgba(255,255,255,.12);
}

.iconbtn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;height:44px;
	border-radius:14px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
	cursor:pointer;
	transition:transform .15s ease, background .15s ease;
	text-decoration:none;
}
.iconbtn:hover{background:rgba(255,255,255,.09)}
.iconbtn:active{transform:translateY(1px)}

/* Traffic nudges (subtle, respectful) */
.is-nudge{
	animation:nudgePulse 1.25s ease-in-out infinite;
}

@keyframes nudgePulse{
	0%,100%{box-shadow:0 0 0 0 rgba(56,230,209,.0),0 0 0 0 rgba(139,123,255,.0)}
	50%{box-shadow:0 0 0 6px rgba(56,230,209,.10),0 0 0 12px rgba(139,123,255,.08)}
}

.section{padding:clamp(56px,6.5vw,76px) 0}
.section-head{display:grid;gap:clamp(10px,2.2vw,14px);margin-bottom: 50px;justify-items:center;text-align:center}
.section-title{margin:0;font-size:clamp(22px,3.8vw,36px);letter-spacing:-.01em;text-wrap:balance}
.section-sub{margin:0;color:var(--muted);max-width:70ch}

/* Email signup */
.email-signup{padding:clamp(38px,5.2vw,58px) 0}

.email-signup-card{
	width:100%;
	max-width:880px;
	margin:18px auto 0;
	padding:clamp(18px,3.2vw,26px);
	border-radius:24px;
	background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 10px 32px rgba(0,0,0,.28);
	text-align:center;
}

.email-signup-form{margin:0}

.email-signup-title{
	margin:0 0 10px;
	font-family:Rubik,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
	font-weight:700;
	letter-spacing:-.02em;
	font-size:clamp(26px,4.2vw,44px);
	line-height:1.15;
	color:rgba(234,240,255,.92);
}

.email-signup-subtitle{
	margin:0 auto 16px;
	max-width:70ch;
	font-family:Rubik,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
	color:rgba(234,240,255,.74);
	font-weight:500;
	font-size:clamp(14px,2.1vw,18px);
	line-height:1.7;
}

.email-signup-row{
	position:relative;
	max-width:720px;
	margin:0 auto;
}

.email-signup-input{
	font-family:Rubik,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
	display:block;
	width:100%;
	padding:18px 170px 18px 22px;
	min-height:68px;
	border-radius:20px;
	border:1px solid rgba(255,255,255,.10);
	background:rgba(9,14,26,.55);
	color:rgba(234,240,255,.92);
	box-shadow:0 20px 30px rgba(0,0,0,.18);
	outline:none;
}

.email-signup-input::placeholder{color:rgba(234,240,255,.52)}

.email-signup-input:focus-visible{
	box-shadow:var(--focus),var(--focus2),0 20px 30px rgba(0,0,0,.18);
}

.email-signup-button{
	font-family:Rubik,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
	position:absolute;
	right:10px;
	top:50%;
	transform:translateY(-50%);
	font-size:16px;
	font-weight:700;
	padding:14px 22px;
	border-radius:18px;
	border:none;
	cursor:pointer;
	background:linear-gradient(135deg,rgba(45,212,191,.95),rgba(56,211,159,.88));
	color:#06121a;
	box-shadow:0 14px 26px rgba(45,212,191,.18);
}

.email-signup-button:hover{filter:saturate(1.05)}
.email-signup-button:active{transform:translateY(calc(-50% + 1px))}

.email-signup-honeypot{position:absolute;left:-5000px}

.email-signup-fine{
	margin:12px 0 0;
	font-family:Rubik,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
	color:rgba(234,240,255,.60);
	font-size:13px;
	text-align:center;
}

@media (max-width: 520px){
	.email-signup-row{display:grid;gap:10px}
	.email-signup-input{padding-right:22px;min-height:60px}
	.email-signup-button{position:static;top:auto;right:auto;transform:none;width:100%}
	.email-signup-button:active{transform:translateY(1px)}
}

.socialbar{padding:26px 0}

.socialbar-card{
	padding:16px;
	border-radius:24px;
	background:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.12);
	display:grid;
	gap:12px;
	align-items:center;
}

.socialbar-copy{display:grid;gap:4px;text-align:center}
.socialbar-title{margin:0;letter-spacing:-.01em;font-size:18px}
.socialbar-sub{margin:0;color:var(--muted);font-size:13px}

.socialbar-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}

.socialbar-action{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:10px 12px;
	border-radius:14px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
	text-decoration:none;
	cursor:pointer;
	transition:transform .15s ease, background .15s ease;
}

.socialbar-action:hover{background:rgba(255,255,255,.09)}
.socialbar-action:active{transform:translateY(1px)}

.social-flyout{
	position:fixed;
	right:16px;
	bottom:16px;
	z-index:3500;
	display:flex;
	flex-wrap:nowrap;
	justify-content:flex-end;
	gap:clamp(6px,2.4vw,10px);
	padding:clamp(6px,2.4vw,10px);
	/* border-radius:999px; */
	background:rgba(9,14,26,.82);
	border:1px solid rgba(255,255,255,.12);
	box-shadow:var(--shadow2);
	max-width:calc(100vw - 24px);
	overflow-x:auto;
	overflow-y:hidden;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior-x:contain;
	opacity:0;
	transform:translateY(14px);
	pointer-events:none;
	transition:opacity .2s ease, transform .2s ease;
}

/* Respect iOS safe-area insets when present */
@supports (right: max(0px, env(safe-area-inset-right))){
	.social-flyout{
		right:max(12px, env(safe-area-inset-right));
		bottom:max(12px, env(safe-area-inset-bottom));
	}
}

.social-flyout .iconbtn{
	width:clamp(36px,10.5vw,44px);
	height:clamp(36px,10.5vw,44px);
}

.social-flyout.is-visible{
	opacity:1;
	transform:translateY(0);
	pointer-events:auto;
}

@media (max-width: 520px){
	.social-flyout{
		right:12px;
		bottom:12px;
		max-width:calc(100vw - 20px);
	}
}

@media (max-width: 380px){
	.social-flyout{
		right:10px;
		bottom:10px;
		max-width:calc(100vw - 16px);
	}
}

.hero{
	position:relative;
	padding:28px 0 18px;
	overflow:hidden;
}

.hero-grid{display:grid;gap:16px;position:relative;z-index:1}

.hero-copy{text-align:center}

.kicker{
	margin:0;
	font-size:12px;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:rgba(234,240,255,.70);
}

.hero-title{
	margin:0;
	font-size:clamp(30px,6.5vw,52px);
	letter-spacing:-.02em;
	line-height:1.08;
	text-wrap:balance;
}

.hero-sub{margin:20px;color:var(--muted);max-width:62ch;font-size:clamp(14px,2.5vw,18px)}

.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;justify-content:center}

/* Make hero CTAs behave well on 360px */
.hero-ctas .btn{flex:1 1 220px}

.chips{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(90px, 1fr));
	gap:clamp(10px,2.4vw,14px);
	margin-top:16px;
}

.chip{
	position:relative;
	overflow:hidden;
	padding:clamp(14px,2.8vw,18px);
	/* border-radius:18px;
	background:
		radial-gradient(900px 240px at 20% 10%,rgba(124,92,255,.14),transparent 55%),
		radial-gradient(900px 240px at 80% 0%,rgba(45,212,191,.10),transparent 55%),
		linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045));
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 12px 34px rgba(0,0,0,.30); */
	transform-style:preserve-3d;
	transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.chip::before{
	content:"";
	position:absolute;
	inset:-1px;
	border-radius:inherit;
	background:linear-gradient(135deg,rgba(124,92,255,.24),rgba(45,212,191,.16),rgba(255,255,255,.06));
	opacity:.35;
	pointer-events:none;
	mask:
		linear-gradient(#000,#000) content-box,
		linear-gradient(#000,#000);
	-webkit-mask:
		linear-gradient(#000,#000) content-box,
		linear-gradient(#000,#000);
	padding:1px;
	mask-composite:exclude;
	-webkit-mask-composite:xor;
}

.chip::after{
	content:"";
	position:absolute;
	left:-30%;
	top:-60%;
	width:140%;
	height:220%;
	background:linear-gradient(115deg,transparent,rgba(255,255,255,.10),transparent);
	transform:translateX(-45%) rotate(8deg);
	opacity:0;
	pointer-events:none;
	transition:opacity .2s ease, transform .35s ease;
}

.chip:hover{
	transform:translateY(-2px);
	border-color:rgba(255,255,255,.18);
	box-shadow:0 16px 42px rgba(0,0,0,.36);
}

.chip:hover::after{
	opacity:1;
	transform:translateX(35%) rotate(8deg);
}

.chip:focus-visible{
	box-shadow:var(--focus),var(--focus2),0 16px 42px rgba(0,0,0,.36);
}

.chip-top{font-size:12px;color:var(--muted2);letter-spacing:.08em;text-transform:uppercase}
.chip-value{margin-top:6px;font-weight:800;font-size:14px;letter-spacing:-.01em;line-height:1.25;text-wrap:balance}

.chip-value .num{
	font-weight:950;
	letter-spacing:-.03em;
}

.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;justify-content:center}
.trust-pill{
	display:inline-flex;align-items:center;gap:10px;
	padding:10px 12px;border-radius:999px;
	background:rgb(255 255 255 / 22%);
	border:1px solid rgba(255,255,255,.12);
	color:rgba(234,240,255,.86);
	font-weight:600;
	font-size:13px;
}

.hero-media{min-height:0}

.video-card{
	border-radius:20px;
	background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
	border:1px solid rgba(255,255,255,.12);
	box-shadow:var(--shadow);
	overflow:hidden;
}

.video-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 10px}
.video-label{display:flex;align-items:center;gap:10px;font-weight:700}
.video-label i{color:#ff3b30}
.video-load{
	border-radius:14px;
	border:1px solid rgba(255,255,255,.14);
	background:rgba(255,255,255,.06);
	padding:10px 12px;
	display:inline-flex;gap:10px;align-items:center;
	cursor:pointer;
}
.video-load:hover{background:rgba(255,255,255,.09)}

.video-frame{position:relative;aspect-ratio:16/9;background:rgba(0,0,0,.25)}

.video-poster{
	position:absolute;inset:0;
	display:grid;place-items:center;
	width:100%;
	padding:0;
	border:0;
	cursor:pointer;
	text-align:left;
	background:
		linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.55)),
		radial-gradient(900px 520px at 20% 10%,rgba(124,92,255,.30),transparent 60%),
		radial-gradient(900px 520px at 80% 20%,rgba(45,212,191,.22),transparent 62%),
		url("/public/gallery/samm-mq-video-image.png");
	background-size:cover;
	background-position:center;
}

.video-poster:focus-visible{box-shadow:var(--focus),var(--focus2)}

.poster-glow{
	position:absolute;inset:-30%;
	background:conic-gradient(from 120deg,rgba(124,92,255,.45),rgba(45,212,191,.38),rgba(255,255,255,.06),rgba(124,92,255,.45));
	filter:blur(60px);
	opacity:.4;
}

.poster-text{position:relative;text-align:left;width:min(86%,520px)}
.poster-title{font-weight:900;letter-spacing:-.02em;font-size:clamp(18px,3.8vw,28px)}
.poster-sub{margin-top:6px;color:var(--muted)}

.noscript-frame iframe,
.video-frame iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}

.hero-bg{position:absolute;inset:0;pointer-events:none}
.hero-gridlines{
	position:absolute;inset:0;
	background:
		linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),
		linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px);
	background-size:64px 64px;
	opacity:.08;
	mask-image:radial-gradient(circle at 50% 15%,#000 40%,transparent 70%);
}
.hero-orb{position:absolute;border-radius:999px;filter:blur(40px);opacity:.55}
.orb-a{width:320px;height:320px;left:-120px;top:-120px;background:rgba(124,92,255,.55)}
.orb-b{width:260px;height:260px;right:-120px;top:60px;background:rgba(45,212,191,.45)}
.orb-c{width:220px;height:220px;left:30%;bottom:-120px;background:rgba(56,211,159,.35)}

.story-grid{display:grid;gap:clamp(12px,2.6vw,18px)}

.care-grid{
	display:grid;
	gap:clamp(12px,2.4vw,16px);
	grid-template-columns:1fr; /* mobile */
}
@media (min-width: 560px){
	.care-grid{ grid-template-columns:repeat(2,1fr); } /* tablet portrait */
}
@media (min-width: 1024px){
	.care-grid{ grid-template-columns:repeat(4,1fr); } /* desktop/wide */
}

.care-card{
	padding:clamp(18px,3vw,22px);
	border-radius:22px;
	background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 10px 30px rgba(0,0,0,.24);
}

.care-card h3{margin:0 0 8px;letter-spacing:-.01em}
.care-card p{margin:0;color:rgba(234,240,255,.80)}

.ribbon-badge{
	--rb1:rgba(124,92,255,.70);
	--rb2:rgba(45,212,191,.45);
	position:relative;
	width:44px;
	height:44px;
	border-radius:16px;
	display:grid;
	place-items:center;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.12);
	overflow:hidden;
	margin-bottom:10px;
}

.ribbon-badge::before{
	content:"";
	position:absolute;
	inset:-1px;
	background:
		radial-gradient(circle at 25% 20%,rgba(255,255,255,.18),transparent 55%),
		linear-gradient(135deg,var(--rb1),var(--rb2));
	opacity:.85;
	pointer-events:none;
}

.ribbon-badge i{
	position:relative;
	color:rgba(255,255,255,.92);
	filter:drop-shadow(0 10px 16px rgba(0,0,0,.35));
}

.ribbon-pink{--rb1:rgba(236,72,153,.80);--rb2:rgba(168,85,247,.45)}
.ribbon-teal{--rb1:rgba(45,212,191,.78);--rb2:rgba(59,130,246,.40)}
.ribbon-gold{--rb1:rgba(251,191,36,.85);--rb2:rgba(245,158,11,.45)}
.ribbon-lav{--rb1:rgba(167,139,250,.85);--rb2:rgba(124,92,255,.45)}

.beneficiary-block{margin-top:clamp(16px,3vw,22px)}

.beneficiary-head{
	display:grid;
	gap:6px;
	justify-items:center;
	text-align:center;
	margin-top:clamp(18px,3vw,24px);
}

.beneficiary-title{margin:0;letter-spacing:-.01em;font-size:20px}

.beneficiary-grid{
	display:grid;
	gap:clamp(12px,2.4vw,16px);
	margin-top:14px;
	grid-template-columns:1fr; /* mobile */
}
@media (min-width: 700px){
	.beneficiary-grid{ grid-template-columns:repeat(3,1fr); } /* tablet */
}
@media (min-width: 1100px){
	.beneficiary-grid{ grid-template-columns:repeat(3,1fr); } /* desktop */
}

.beneficiary-card{
	padding:clamp(18px,3vw,22px);
	border-radius:24px;
	background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 10px 32px rgba(0,0,0,.28);
	display:grid;
	gap:12px;
}

.beneficiary-top{display:flex;align-items:center;justify-content:space-between;gap:12px}

.beneficiary-id{display:flex;align-items:center;gap:12px;min-width:0}

.beneficiary-text{min-width:0}

.beneficiary-name{font-weight:950;letter-spacing:-.01em;line-height:1.15}
.beneficiary-sub{font-size:13px;color:var(--muted2);margin-top:2px}

.beneficiary-points{
	margin:0;
	padding:0;
	list-style:none;
	display:grid;
	gap:10px;
}

.beneficiary-points li{
	display:flex;
	gap:10px;
	align-items:flex-start;
	color:rgba(234,240,255,.80);
}

.beneficiary-points i{color:rgba(234,240,255,.70);margin-top:2px}

@media (max-width: 520px){
	.beneficiary-top{align-items:flex-start}
}

.card{
	padding:clamp(30px,3vw,22px);
	border-radius:20px;
	background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 10px 30px rgba(0,0,0,.24);
}

.card h3{margin:0 0 10px;font-size:18px;letter-spacing:-.01em}
.card p{margin:0 0 10px;color:rgba(234,240,255,.80)}
.card p:last-child{margin-bottom:0}

.checks{margin:12px;padding:0;list-style:none;display:grid;gap:10px}
.checks i{color:var(--good)}

.fine{color:var(--muted2);font-size:13px;margin:0}

.countdown-wrap{
	padding:clamp(18px,3vw,22px);
	border-radius:24px;
	background:linear-gradient(135deg,rgba(124,92,255,.16),rgba(45,212,191,.09));
	border:1px solid rgba(255,255,255,.12);
	box-shadow:var(--shadow2);
	display:grid;
	gap:clamp(14px,2.8vw,18px);
}

.countdown-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:clamp(10px,2.2vw,14px);
}

.timebox{
	padding:clamp(14px,2.6vw,18px);
	border-radius:18px;
	background:rgba(9,14,26,.55);
	border:1px solid rgba(255,255,255,.12);
}

.timeval{font-weight:900;font-size:clamp(22px,5vw,34px);letter-spacing:-.03em}
.timelabel{margin-top:2px;color:var(--muted2);font-size:12px;letter-spacing:.12em;text-transform:uppercase}

.countdown-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}

.progress-grid{display:grid;gap:12px}

.card-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.badge{
	font-size:12px;
	padding:6px 10px;
	border-radius:999px;
	background:rgba(45,212,191,.10);
	border:1px solid rgba(45,212,191,.22);
	color:rgba(234,240,255,.90);
	white-space:nowrap;
}

.fields{display:grid;gap:10px;grid-template-columns:1fr}
.field{display:grid;gap:6px}
.field span{font-size:12px;color:var(--muted2);letter-spacing:.06em;text-transform:uppercase}
.field input{
	width:100%;
	padding:10px 12px;
	border-radius:14px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.14);
	outline:none;
}
.field input:focus-visible{box-shadow:var(--focus),var(--focus2)}

.meter{margin-top:12px;display:grid;gap:10px}
.meter-bar{
	height:12px;
	border-radius:999px;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.10);
	overflow:hidden;
}
.meter-fill{
	height:100%;
	width:0%;
	border-radius:999px;
	background:linear-gradient(90deg,var(--brand),var(--brand2));
}
.meter-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.meter-text{color:rgba(234,240,255,.78);font-weight:600;font-size:13px}

.callout{
	margin-top:14px;
	padding:16px;
	/* border-radius:24px;
	background:linear-gradient(135deg,rgba(45,212,191,.12),rgba(124,92,255,.10));
	border:1px solid rgba(255,255,255,.12); */
	display:grid;
	gap:12px;
	align-items:center;
}
.callout-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.callout-copy h3{margin:0 0 6px;letter-spacing:-.01em}
.callout-copy p{margin:0;color:var(--muted)}
.callout-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* Section dividers */
.section-divider{
	border:0;
	height:1px;
	width:min(1100px,92vw);
	margin:clamp(18px,5vw,40px) auto;
	background:linear-gradient(
		90deg,
		transparent,
		rgba(124,92,255,.20),
		rgba(45,212,191,.18),
		rgba(255,255,255,.10),
		rgba(45,212,191,.18),
		rgba(124,92,255,.20),
		transparent
	);
	filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));
	position:relative;
	opacity:.9;
}

.section-divider::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:min(680px,70vw);
	height:14px;
	background:radial-gradient(circle at center, rgba(45,212,191,.18), transparent 70%);
	pointer-events:none;
}

.route-card{
	padding:clamp(18px,3vw,22px);
	/* border-radius:24px;
	background:
		radial-gradient(900px 320px at 25% 0%,rgba(124,92,255,.18),transparent 55%),
		radial-gradient(900px 320px at 75% 0%,rgba(45,212,191,.12),transparent 55%),
		linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));
	border:1px solid rgba(255,255,255,.13);
	box-shadow:var(--shadow2); */
	position:relative;
	overflow:hidden;
}

/* Animated border accent */
.route-card::before{
	content:"";
	position:absolute;
	inset:-2px;
	border-radius:inherit;
	background:linear-gradient(
		135deg,
		rgba(124,92,255,.55),
		rgba(45,212,191,.45),
		rgba(56,211,159,.40),
		rgba(124,92,255,.55)
	);
	background-size:220% 220%;
	opacity:.35;
	pointer-events:none;
	animation:routeBorderShift 8s ease-in-out infinite;
	mask:
		linear-gradient(#000,#000) content-box,
		linear-gradient(#000,#000);
	-webkit-mask:
		linear-gradient(#000,#000) content-box,
		linear-gradient(#000,#000);
	padding:2px;
	mask-composite:exclude;
	-webkit-mask-composite:xor;
}

@keyframes routeBorderShift{
	0%{background-position:0% 50%}
	50%{background-position:100% 50%}
	100%{background-position:0% 50%}
}

.route-card::after{
	content:"";
	position:absolute;
	inset:-1px;
	border-radius:inherit;
	background:linear-gradient(135deg,rgba(124,92,255,.25),rgba(45,212,191,.16),rgba(255,255,255,.06));
	opacity:.35;
	pointer-events:none;
	mask:
		linear-gradient(#000,#000) content-box,
		linear-gradient(#000,#000);
	-webkit-mask:
		linear-gradient(#000,#000) content-box,
		linear-gradient(#000,#000);
	padding:1px;
	mask-composite:exclude;
	-webkit-mask-composite:xor;
}

/* Embedded route image */
.route-figure{margin:0;display:grid;gap:12px;justify-items:center}
.route-img{
	width:100%;
	margin:0 auto;
	height:auto;
	display:block;
	border-radius:20px;
	border:1px solid rgba(255,255,255,.10);
	background:rgba(9,14,26,.35);
	box-shadow:0 18px 45px rgba(0,0,0,.35);
}
.route-card.route-image{margin-left:auto;margin-right:auto}
.route-caption{
	text-align:center;
	color:rgba(234,240,255,.82);
	font-weight:800;
	letter-spacing:-.01em;
	font-size:clamp(10px,2.1vw,15px);
}

/* Subtle pop-out when revealed */
.route-card.popout{
	will-change:transform;
}

@media (prefers-reduced-motion: reduce){
	.route-card::before{animation:none}
}

.route-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;justify-content:center}
.legend-pill{
	display:inline-flex;align-items:center;gap:10px;
	padding:10px 12px;border-radius:999px;
	background:rgba(9,14,26,.55);
	border:1px solid rgba(255,255,255,.12);
	color:rgba(234,240,255,.86);
	font-weight:700;font-size:13px;
}

.dot{width:10px;height:10px;border-radius:999px}
.dot-a{background:linear-gradient(180deg,#a78bfa,#7c5cff)}
.dot-b{background:linear-gradient(180deg,#5eead4,#2dd4bf)}
.dot-c{background:linear-gradient(180deg,#86efac,#38d39f)}

.route-line{position:relative;padding:24px 10px 10px;min-height:152px}
.route-path{
	position:absolute;
	left:14px;right:14px;
	top:54px;
	height:10px;
	border-radius:999px;
	background:
		linear-gradient(90deg,rgba(124,92,255,.80),rgba(45,212,191,.75),rgba(56,211,159,.75));
	filter:drop-shadow(0 10px 20px rgba(0,0,0,.35));
}

.node{
	position:absolute;
	top:22px;
	background:transparent;
	border:0;
	padding:10px 8px;
	cursor:pointer;
	text-align:center;
	color:rgba(234,240,255,.92);
	border-radius:16px;
	transition:transform .15s ease, background .15s ease;
}

.node:hover{transform:translateY(-1px)}
.node:active{transform:translateY(0)}
.node:focus-visible{box-shadow:var(--focus),var(--focus2)}

.node-dot{
	display:inline-block;
	width:20px;height:20px;
	border-radius:999px;
	background:rgba(9,14,26,.85);
	border:1px solid rgba(255,255,255,.24);
	box-shadow:0 10px 25px rgba(0,0,0,.35);
	position:relative;
}

.node-dot::after{
	content:"";
	position:absolute;
	inset:4px;
	border-radius:999px;
	opacity:.9;
}

.node-label{display:block;margin-top:8px;font-weight:800;font-size:13px;letter-spacing:-.01em}

.node-a{left:6%}
.node-b{left:50%;transform:translateX(-50%)}
.node-c{right:6%}

.node-a .node-dot{outline:2px solid rgba(124,92,255,.45)}
.node-b .node-dot{outline:2px solid rgba(45,212,191,.35)}
.node-c .node-dot{outline:2px solid rgba(56,211,159,.35)}

.node-a .node-dot::after{background:linear-gradient(180deg,rgba(167,139,250,.95),rgba(124,92,255,.9))}
.node-b .node-dot::after{background:linear-gradient(180deg,rgba(94,234,212,.92),rgba(45,212,191,.88))}
.node-c .node-dot::after{background:linear-gradient(180deg,rgba(134,239,172,.92),rgba(56,211,159,.88))}

.tooltip{
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	top:calc(100% + 10px);
	min-width:min(76vw,260px);
	padding:10px 12px;
	border-radius:14px;
	background:rgba(9,14,26,.95);
	border:1px solid rgba(255,255,255,.12);
	box-shadow:var(--shadow2);
	color:rgba(234,240,255,.86);
	opacity:0;
	pointer-events:none;
	transition:opacity .15s ease, transform .15s ease;
}

.tooltip::before{
	content:"";
	position:absolute;
	top:-6px;
	left:50%;
	width:12px;
	height:12px;
	transform:translateX(-50%) rotate(45deg);
	background:rgba(9,14,26,.95);
	border-left:1px solid rgba(255,255,255,.12);
	border-top:1px solid rgba(255,255,255,.12);
}

.node:hover .tooltip,
.node:focus-visible .tooltip{
	opacity:1;
	transform:translateX(-50%) translateY(-2px);
}

.node.is-active{background:rgba(255,255,255,.05)}
.node.is-active .tooltip{
	opacity:1;
	pointer-events:auto;
	transform:translateX(-50%) translateY(-2px);
}

/* Keep tooltips readable near screen edges */
.node-a .tooltip{left:0;transform:none}
.node-a:hover .tooltip,
.node-a:focus-visible .tooltip{transform:translateY(-2px)}
.node-c .tooltip{left:auto;right:0;transform:none}
.node-c:hover .tooltip,
.node-c:focus-visible .tooltip{transform:translateY(-2px)}

/* Care section scroll emphasis (readability + effect) */
#care .care-card,
#care .beneficiary-card{
	transition: transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s ease, border-color .24s ease;
	will-change: transform;
}

#care .care-card.is-emph,
#care .beneficiary-card.is-emph{
	/* Slight lift/glow to match theme */
	box-shadow:
		0 0 0 1px rgba(124,92,255,.28),
		0 14px 34px -12px rgba(8,10,18,.65),
		0 0 36px rgba(124,92,255,.18);
	border-color: rgba(124,92,255,.35);
	position: relative;
	z-index: 2;
}
.node-c.is-active .tooltip{transform:translateY(-2px)}

.route-note{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:10px;color:rgba(234,240,255,.78)}
.route-note i{color:rgba(234,240,255,.70);margin-top:2px}

/* Mobile: switch to a vertical timeline with expandable detail */
@media (max-width: 620px){
	.route-line{
		padding:8px 0 0;
		min-height:0;
		display:grid;
		gap:12px;
	}
	.route-path{
		left:18px;
		right:auto;
		top:8px;
		bottom:8px;
		width:10px;
		height:auto;
	}
	.node{
		position:relative;
		top:auto;
		left:auto;
		right:auto;
		transform:none;
		text-align:left;
		padding:12px 12px 12px 52px;
		min-height:56px;
		width:100%;
		background:rgba(9,14,26,.28);
		border:1px solid rgba(255,255,255,.10);
	}
	.node-dot{
		position:absolute;
		left:12px;
		top:18px;
	}
	.node-label{margin-top:0;font-size:14px}
	.tooltip{
		position:static;
		transform:none;
		opacity:0;
		max-height:0;
		overflow:hidden;
		padding:0;
		margin-top:0;
		border:0;
		background:transparent;
		box-shadow:none;
		transition:opacity .15s ease, max-height .2s ease;
	}
	.tooltip::before{display:none}
	.node:hover .tooltip,
	.node:focus-visible .tooltip{opacity:0;max-height:0}
	.node.is-active .tooltip{
		opacity:1;
		max-height:160px;
		margin-top:8px;
		padding:10px 12px;
		border-radius:14px;
		background:rgba(9,14,26,.95);
		border:1px solid rgba(255,255,255,.12);
		box-shadow:var(--shadow2);
	}
}

.gallery-grid{display:grid;gap:clamp(12px,2.6vw,18px)}

.gcard{
	margin:0;
	border-radius:22px;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.12);
	background:rgba(255,255,255,.06);
	box-shadow:0 12px 38px rgba(0,0,0,.30);
}

.gimg{aspect-ratio:16/11;background-size:cover;background-position:center;position:relative}
.gimg-link{display:block}
.gimg::after{
	content:"";
	position:absolute;inset:0;
	background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));
}

.gi-1{background-image:linear-gradient(135deg,rgba(124,92,255,.25),rgba(45,212,191,.12)),url("/public/gallery/samm-run-1.png")}
.gi-2{background-image:radial-gradient(700px 380px at 20% 30%,rgba(45,212,191,.22),transparent 60%),url("/public/gallery/samm-run-2.png")}
.gi-3{background-image:radial-gradient(700px 420px at 60% 20%,rgba(124,92,255,.22),transparent 60%),url("/public/gallery/samm-run-3.png")}
.gi-4{background-image:radial-gradient(700px 420px at 60% 20%,rgba(56,211,159,.20),transparent 60%),url("/public/gallery/samm-run-4.png")}

.gcard figcaption{padding:clamp(14px,2.6vw,18px)}
.gtitle{font-weight:900;letter-spacing:-.005em;text-wrap:balance}
.gsub{margin-top:4px;color:var(--muted)}

.microcta{
	margin-top:14px;
	padding:clamp(16px,3vw,20px);
	/* border-radius:24px;
	background:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.12); */
	display:grid;
	gap:clamp(12px,2.8vw,16px);
	align-items:center;
}

.microcta-copy h3{margin:0 0 6px;letter-spacing:-.01em}
.microcta-copy p{margin:0;color:var(--muted)}
.microcta-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}

.sponsor-grid{display:grid;gap:clamp(12px,2.6vw,18px)}

.sponsor-card{
	position:relative;
	padding:clamp(18px,3vw,22px);
	border-radius:24px;
	background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 10px 32px rgba(0,0,0,.28);
	overflow:hidden;
	transform:translateZ(0);
	transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.sponsor-card::before{
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	background:
		radial-gradient(900px 260px at 18% 0%, rgba(139,123,255,.28), transparent 62%),
		radial-gradient(900px 260px at 82% 100%, rgba(56,230,209,.20), transparent 60%);
	opacity:0;
	filter:blur(12px);
	transition:opacity .18s ease;
	pointer-events:none;
}

.sponsor-card:hover{
	transform:translateY(-2px) scale(1.015);
	border-color:rgba(139,123,255,.26);
	box-shadow:0 18px 54px rgba(0,0,0,.40), 0 0 0 1px rgba(139,123,255,.12), 0 0 34px rgba(139,123,255,.14);
}
.sponsor-card:hover::before{opacity:.55}

.sponsor-card:focus-within{
	border-color:rgba(56,230,209,.26);
	box-shadow:0 16px 48px rgba(0,0,0,.38), 0 0 0 1px rgba(56,230,209,.12), 0 0 34px rgba(56,230,209,.12);
}
.sponsor-card:focus-within::before{opacity:.60}

.sponsor-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sponsor-logo{width:min(160px,44vw);height:auto;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.25))}

.sponsor-actions{display:flex;gap:10px}

.sponsor-badge{
	width:44px;height:44px;border-radius:16px;display:grid;place-items:center;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.12);
}

.sponsor-card h3{margin:0 0 8px;letter-spacing:-.01em}

.sponsor-details{
	margin:0 0 12px;
	padding:0;
	list-style:none;
	display:grid;
	gap:clamp(8px,2vw,12px);
}

.sponsor-details li{
	display:flex;
	gap:10px;
	align-items:flex-start;
	color:rgba(234,240,255,.80);
}

.sponsor-details i{color:rgba(234,240,255,.70);margin-top:2px}

.sponsor-message{
	margin:0;
	padding:clamp(12px,2.6vw,16px);
	border-radius:18px;
	background:rgba(9,14,26,.40);
	border:1px solid rgba(255,255,255,.10);
	display:grid;
	gap:6px;
}

.sponsor-message-label{font-size:12px;letter-spacing:.10em;text-transform:uppercase;color:rgba(234,240,255,.70);font-weight:800}
.sponsor-message-text{color:rgba(234,240,255,.90);font-weight:650}

.marquee{
	margin-top:14px;
	border-radius:999px;
	background:rgba(9,14,26,.55);
	border:1px solid rgba(255,255,255,.12);
	overflow:hidden;
}

.marquee-track{
	display:flex;
	gap:28px;
	padding:12px 16px;
	white-space:nowrap;
	width:max-content;
	will-change:transform;
}

.marquee-track span{color:rgba(234,240,255,.80);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px}

.faq-list{display:grid;gap:10px}

.faq-item{
	border-radius:20px;
	background:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.12);
	overflow:hidden;
}

.faq-item summary{
	list-style:none;
	cursor:pointer;
	padding:14px 16px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	font-weight:900;
}

.faq-item summary::-webkit-details-marker{display:none}

.faq-item summary i{color:rgba(234,240,255,.75);transition:transform .2s ease}
.faq-item[open] summary i{transform:rotate(180deg)}

.faq-body{padding:0 16px 16px;color:rgba(234,240,255,.80)}
.faq-body p{margin:0}

.email-signup-card,
.socialbar-card,
.video-card,
.countdown-wrap,
.card,
.care-card,
.beneficiary-card,
.gcard{
	transform:translateZ(0);
	transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.email-signup-card:hover,
.socialbar-card:hover,
.video-card:hover,
.countdown-wrap:hover,
.card:hover,
.care-card:hover,
.beneficiary-card:hover,
.gcard:hover{
	transform:translateY(-2px) scale(1.01);
	border-color:rgba(139,123,255,.22);
	box-shadow:0 18px 54px rgba(0,0,0,.38), 0 0 0 1px rgba(139,123,255,.10), 0 0 30px rgba(139,123,255,.12);
}

.email-signup-card:focus-within,
.socialbar-card:focus-within,
.video-card:focus-within,
.countdown-wrap:focus-within,
.card:focus-within,
.care-card:focus-within,
.beneficiary-card:focus-within,
.gcard:focus-within{
	border-color:rgba(56,230,209,.20);
	box-shadow:0 16px 48px rgba(0,0,0,.36), 0 0 0 1px rgba(56,230,209,.10), 0 0 28px rgba(56,230,209,.10);
}

/* FAQ cards: keep it calmer (no scale) */
.faq-item{transition:border-color .18s ease, box-shadow .18s ease, background .18s ease}
.faq-item:hover{
	border-color:rgba(139,123,255,.20);
	box-shadow:0 16px 46px rgba(0,0,0,.34), 0 0 0 1px rgba(139,123,255,.08), 0 0 26px rgba(139,123,255,.10);
}
.faq-item:focus-within{
	border-color:rgba(56,230,209,.20);
	box-shadow:0 16px 46px rgba(0,0,0,.34), 0 0 0 1px rgba(56,230,209,.08), 0 0 24px rgba(56,230,209,.10);
}

.footer{border-top:1px solid rgba(255,255,255,.10);background:rgba(7,10,16,.55)}
.footer-grid{display:grid;gap:16px;padding:22px 0}
.brand-footer .brand-mark{width:34px;height:34px}

.footer-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;justify-items:start}

.share-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}
.social-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}

.social{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;height:44px;
	border-radius:14px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
	text-decoration:none;
}
.social:hover{background:rgba(255,255,255,.09)}

.footer-bottom{border-top:1px solid rgba(255,255,255,.08)}
.footer-bottom-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:14px 0;flex-wrap:wrap}

.toast{
	position:fixed;
	left:50%;
	bottom:18px;
	transform:translateX(-50%);
	z-index:4000;
}

.toast-inner{
	display:flex;
	align-items:center;
	gap:10px;
	padding:9px 10px;
	border-radius:999px;
	background:rgba(0,0,0,.72);
	border:1px solid rgba(255,255,255,.18);
	box-shadow:var(--shadow2);
	color:rgba(234,240,255,.92);
	font-weight:700;
}

@media (min-width: 760px){
	.nav-toggle{display:none}
	.nav-links{
		position:static;
		display:flex !important;
		width:auto;
		padding:0;
		border-radius:0;
		background:transparent;
		border:0;
		box-shadow:none;
		gap:6px;
		flex-wrap:wrap;
	}
	.nav-link{padding:10px 10px;border-radius:12px;font-size:13px}
	.nav-cta{display:block}
	.hero{padding:42px 0 22px}
	.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:18px}
	.chips{grid-template-columns:repeat(3,1fr)}
	.story-grid{grid-template-columns:1fr 1fr}
	.countdown-wrap{grid-template-columns:1.2fr .8fr;align-items:center}
	.countdown-grid{grid-template-columns:repeat(4,1fr)}
	.progress-grid{grid-template-columns:1fr 1fr}
	.callout{grid-template-columns:auto 1fr auto}
	.gallery-grid{grid-template-columns:repeat(2,1fr)}
	.microcta{grid-template-columns:1fr auto}
	/* Desktop: two columns, but keep actions column shrinkable */
	.socialbar-card{grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:16px}
	.socialbar-copy{text-align:left}
	.socialbar-actions{justify-content:flex-end;min-width:0}
	.sponsor-grid{grid-template-columns:1fr 1fr}
	.footer-grid{grid-template-columns:1fr auto;align-items:start}
	.footer-actions{justify-items:end;align-content:start}
	.route-img{width:clamp(360px,62vw,760px)}
}

/* Tablet / iPad portrait tuning: avoid cramped inline nav + squished two-column blocks */
@media (min-width: 760px) and (max-width: 979px){
	/* Keep the hamburger menu for tablets so links don't wrap awkwardly */
	.nav-toggle{display:inline-flex}
	.nav-cta{display:none}
	.nav-links{
		position:absolute;
		right:0;
		top:calc(100% + 10px);
		width:min(86vw,320px);
		padding:10px;
		border-radius:16px;
		background:rgba(9,14,26,.96);
		border:1px solid rgba(255,255,255,.12);
		box-shadow:var(--shadow2);
		display:none !important;
	}
	.nav-links.is-open{display:grid !important}
	.nav-link{padding:10px 12px;border-radius:12px;font-size:14px}

	.hero-grid{grid-template-columns:1fr;gap:16px}
	.countdown-wrap{grid-template-columns:1fr;align-items:stretch}
	/* Tablet: stack the social bar to avoid overflow */
	.socialbar-card{grid-template-columns:1fr}
	.socialbar-copy{text-align:center}
	.socialbar-actions{justify-content:center}
}

@media (min-width: 520px){
	.fields{grid-template-columns:1fr 1fr}
}

@media (min-width: 980px){
	.gallery-grid{grid-template-columns:repeat(4,1fr)}
}

@media (min-width: 1160px){
	.section{padding:76px 0}
	.gallery-grid{grid-template-columns:repeat(4,1fr)}
	.gimg{aspect-ratio:1/1.05}
}

@media (max-width: 520px){
	.hero-title{letter-spacing:-.015em}
	.kicker{letter-spacing:.14em}
	.nav-link{letter-spacing:0}
}

@media (prefers-reduced-motion: reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{transition:none !important;animation:none !important}
}
