@charset "utf-8";
/* SeniorMatch.mx — Home page (new design) */

:root{
	--teal:#009688;
	--teal-dark:#00695c;
	--teal-light:#e3f4f2;
	--gold:#e6a810;
	--ink:#2b2924;
	--ink-soft:#5a574f;
	--cream:#f7f4ed;
	--cream-dark:#efe9db;
	--white:#ffffff;
	--radius:16px;
	--shadow:0 10px 30px rgba(22,20,20,0.08);
	--shadow-strong:0 18px 45px rgba(22,20,20,0.16);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:"Segoe UI",Arial,Helvetica,sans-serif;
	font-size:17px;
	line-height:1.7;
	color:var(--ink);
	background:var(--white);
}
h1,h2,h3{
	font-family:Merriweather,Georgia,serif;
	font-weight:700;
	margin:0;
	line-height:1.3;
}
p{margin:0;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}

.wrap{
	width:100%;
	max-width:1180px;
	margin:0 auto;
	padding:0 24px;
}

.eyebrow{
	display:inline-block;
	color:var(--teal-dark);
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	font-size:14px;
	margin-bottom:14px;
}
.section-title{
	font-size:34px;
	text-align:center;
	max-width:760px;
	margin:0 auto 18px auto;
	color:var(--ink);
}
.section-lead{
	text-align:center;
	max-width:680px;
	margin:0 auto 56px auto;
	color:var(--ink-soft);
	font-size:18px;
}
.section-pad{padding:88px 0;}

.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:16px 34px;
	border-radius:50px;
	font-weight:700;
	font-size:17px;
	border:2px solid transparent;
	cursor:pointer;
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{
	background:var(--teal);
	color:#fff;
	box-shadow:0 12px 25px rgba(0,150,136,0.35);
}
.btn-primary:hover{background:var(--teal-dark);text-decoration:none;}
.btn-gold{
	background:var(--gold);
	color:#fff;
	box-shadow:0 12px 25px rgba(230,168,16,0.35);
}
.btn-gold:hover{background:#cf9509;text-decoration:none;}
.btn-outline{
	background:transparent;
	border-color:#fff;
	color:#fff;
}
.btn-outline:hover{background:rgba(255,255,255,0.15);text-decoration:none;}
.btn-outline-dark{
	background:transparent;
	border-color:var(--teal);
	color:var(--teal-dark);
}
.btn-outline-dark:hover{background:var(--teal-light);text-decoration:none;}

/* Header */
.site-header{
	position:sticky;
	top:0;
	z-index:100;
	width:100%;
	background:rgba(255,255,255,0.96);
	backdrop-filter:blur(6px);
	border-bottom:1px solid #eee6d6;
}
.site-header .wrap{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding-top:16px;
	padding-bottom:16px;
}
.site-header .logo a{
	font-family:Merriweather,Georgia,serif;
	font-weight:700;
	font-size:23px;
	color:var(--ink);
	letter-spacing:-.01em;
}
.site-header .logo a span{color:var(--teal);}

.nav-toggle-checkbox{display:none;}
.nav-toggle-btn{
	display:none;
	flex-direction:column;
	justify-content:center;
	gap:5px;
	width:32px;
	height:32px;
	cursor:pointer;
	flex-shrink:0;
}
.nav-toggle-btn span{
	display:block;
	width:100%;
	height:2px;
	background:var(--ink);
	border-radius:2px;
	transition:transform .2s ease, opacity .2s ease;
}

.header-nav{display:flex;align-items:center;gap:26px;}
.header-nav a.nav-link{
	font-weight:600;
	color:var(--ink);
	font-size:15px;
}
.header-nav a.nav-link:hover{color:var(--teal-dark);}
.header-nav .btn{padding:11px 24px;font-size:15px;}

/* Hero */
.hero{
	position:relative;
	min-height:640px;
	display:flex;
	align-items:center;
	background:linear-gradient(100deg, rgba(10,20,20,0.72) 0%, rgba(10,20,20,0.45) 45%, rgba(10,20,20,0.15) 75%), url("banner.jpg") center center/cover no-repeat;
	color:#fff;
}
.hero-content{max-width:620px;padding:80px 0;}
.hero-content .eyebrow{color:#ffe8a3;}
.hero h1{font-size:52px;color:#fff;margin-bottom:20px;}
.hero-sub{font-size:19px;color:#f2efe6;max-width:540px;margin-bottom:38px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px;}
.hero-actions .btn{min-width:190px;}
.hero-note{font-size:14px;color:#e4e0d3;display:flex;align-items:center;gap:8px;}

/* Plain image-free hero (e.g. signup page) */
.simple-hero{background:var(--cream);padding:110px 0 90px 0;text-align:center;}
.simple-hero .wrap{max-width:720px;}
.simple-hero .eyebrow{display:block;}
.simple-hero h1{font-size:38px;margin-bottom:20px;color:var(--ink);}
.simple-hero p.lead{font-size:18px;color:var(--ink-soft);line-height:1.8;margin-bottom:36px;}
.simple-hero .hero-actions{justify-content:center;margin-bottom:38px;}

.trust-badges{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:14px 30px;
	max-width:760px;
	margin:0 auto;
}
.trust-badges .badge{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:14.5px;
	font-weight:600;
	color:var(--ink-soft);
}
.trust-badges .badge .badge-icon{font-size:17px;}

/* Blog article hero variant */
.hero.hero-article{
	min-height:420px;
	background:linear-gradient(100deg, rgba(10,20,20,0.78) 0%, rgba(10,20,20,0.5) 55%, rgba(10,20,20,0.25) 85%), url("tips.jpg") center 30%/cover no-repeat;
}
.hero.hero-article .hero-content{padding:70px 0;max-width:700px;}
.hero.hero-article .hero-sub{max-width:600px;margin-bottom:18px;}
.hero-meta{font-size:14px;color:#e4e0d3;letter-spacing:.02em;}

/* Table of contents card */
.toc-wrap{padding:0 0 20px 0;}
.toc-box{
	max-width:760px;
	margin:-56px auto 0 auto;
	background:#fff;
	border-radius:var(--radius);
	box-shadow:var(--shadow-strong);
	padding:30px 34px;
	position:relative;
	z-index:5;
}
.toc-box h2{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark);margin-bottom:16px;}
.toc-box ol{list-style:decimal;padding-left:20px;}
.toc-box ol li{float:none;margin-bottom:10px;font-size:15.5px;}
.toc-box ol li:last-child{margin-bottom:0;}
.toc-box a{color:var(--ink);font-weight:600;}
.toc-box a:hover{color:var(--teal-dark);}

/* Article body */
.article-body{max-width:760px;margin:0 auto;}
.article-body p{color:var(--ink-soft);font-size:17px;line-height:1.85;margin-bottom:18px;}
.article-body p:last-child{margin-bottom:0;}
.article-section{max-width:760px;margin:0 auto 56px auto;}
.article-section:last-of-type{margin-bottom:0;}
.article-section h2{font-size:27px;margin-bottom:18px;color:var(--ink);}
.article-section p{color:var(--ink-soft);font-size:17px;line-height:1.85;margin-bottom:18px;}
.article-section p:last-child{margin-bottom:0;}

.callout{
	background:var(--teal-light);
	border-left:4px solid var(--teal);
	border-radius:10px;
	padding:24px 28px;
	margin:24px 0;
}
.callout p{color:var(--ink);margin-bottom:14px;}
.callout p:last-child{margin-bottom:0;}

/* Why choose us */
.why-section{background:var(--cream);}
.why-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:26px;
}
.why-card{
	background:#fff;
	border-radius:var(--radius);
	padding:34px 26px;
	box-shadow:var(--shadow);
	text-align:left;
	transition:transform .2s ease, box-shadow .2s ease;
}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-strong);}
.why-card .icon{
	font-size:32px;
	width:60px;height:60px;
	display:flex;align-items:center;justify-content:center;
	background:var(--teal-light);
	border-radius:14px;
	margin-bottom:18px;
}
.why-card h3, .why-card h2{font-size:19px;margin-bottom:10px;color:var(--ink);}
.why-card p{color:var(--ink-soft);font-size:15.5px;}

.venue-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:26px;
	margin-bottom:36px;
}
.venue-closing{
	max-width:760px;
	margin:0 auto;
	text-align:center;
	color:var(--ink-soft);
	font-size:17px;
}

/* About / two-column */
.split{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:64px;
	align-items:center;
}
.split img{
	border-radius:var(--radius);
	box-shadow:var(--shadow-strong);
	width:100%;
	height:460px;
	object-fit:cover;
}
.split.reverse .split-media{order:2;}
.split.reverse .split-text{order:1;}
.split-text h2{font-size:32px;margin-bottom:20px;}
.split-text p{color:var(--ink-soft);margin-bottom:16px;font-size:17px;}
.split-text p:last-of-type{margin-bottom:0;}

.about-text{max-width:820px;margin:0 auto;}
.about-text .section-title{margin-bottom:26px;}
.about-text p{color:var(--ink-soft);font-size:17px;margin-bottom:18px;text-align:left;}
.about-text p:last-of-type{margin-bottom:0;}
.about-cta{text-align:center;margin-top:34px;}

.scene-section{background:var(--cream);}

/* How it works */
.steps-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:30px;
	counter-reset:step;
}
.step-card{
	background:#fff;
	border:1px solid #eee6d6;
	border-radius:var(--radius);
	padding:38px 30px;
	position:relative;
}
.step-num{
	width:48px;height:48px;
	border-radius:50%;
	background:var(--teal);
	color:#fff;
	font-family:Merriweather,Georgia,serif;
	font-weight:700;
	font-size:20px;
	display:flex;align-items:center;justify-content:center;
	margin-bottom:20px;
}
.step-card h3{font-size:20px;margin-bottom:12px;}
.step-card p{color:var(--ink-soft);font-size:15.5px;}

/* Stories */
.stories-section{background:var(--ink);color:#fff;}
.stories-section .section-title{color:#fff;}
.stories-section .section-lead{color:#d8d4c8;}
.stories-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:30px;
}
.story-card{
	background:rgba(255,255,255,0.06);
	border:1px solid rgba(255,255,255,0.12);
	border-radius:var(--radius);
	overflow:hidden;
	display:flex;
	flex-direction:column;
}
.story-card .story-img{width:100%;height:260px;object-fit:cover;}
.story-body{padding:30px;}
.story-body h3{font-size:19px;margin-bottom:12px;color:#ffe8a3;}
.story-body p{color:#e7e4d9;font-size:15.5px;}

/* Single spotlight story */
.spotlight{
	max-width:960px;
	margin:0 auto;
	background:rgba(255,255,255,0.06);
	border:1px solid rgba(255,255,255,0.12);
	border-radius:var(--radius);
	overflow:hidden;
	display:grid;
	grid-template-columns:.85fr 1.15fr;
}
.spotlight .spotlight-img{width:100%;height:100%;min-height:420px;object-fit:cover;}
.spotlight-body{padding:46px;align-self:center;}
.spotlight-body .quote-mark{
	font-family:Merriweather,Georgia,serif;
	font-size:56px;
	line-height:1;
	color:var(--gold);
	margin-bottom:6px;
	display:block;
}
.spotlight-body h3{font-size:22px;margin-bottom:16px;color:#ffe8a3;}
.spotlight-body p{color:#e7e4d9;font-size:16px;margin-bottom:14px;}
.spotlight-body p:last-of-type{margin-bottom:0;}
.spotlight-body .story-author{
	display:block;
	margin-top:22px;
	font-weight:700;
	color:#fff;
	font-size:15px;
}

/* Compact single spotlight story (small avatar image) */
.spotlight-compact{
	max-width:680px;
	margin:0 auto;
	background:rgba(255,255,255,0.06);
	border:1px solid rgba(255,255,255,0.12);
	border-radius:var(--radius);
	padding:48px 44px;
	text-align:center;
}
.spotlight-compact .spotlight-avatar{
	width:88px;
	height:88px;
	border-radius:50%;
	object-fit:cover;
	margin:0 auto 22px auto;
	display:block;
	border:3px solid rgba(255,255,255,0.2);
}
.spotlight-compact .quote-mark{
	font-family:Merriweather,Georgia,serif;
	font-size:48px;
	line-height:1;
	color:var(--gold);
	display:block;
	margin-bottom:6px;
}
.spotlight-compact p{color:#e7e4d9;font-size:16px;line-height:1.8;margin-bottom:14px;text-align:left;}
.spotlight-compact p:last-of-type{margin-bottom:0;}
.spotlight-compact .story-author{
	display:block;
	margin-top:22px;
	font-weight:700;
	color:#fff;
	font-size:15px;
	text-align:center;
}

/* Reflective quote block (no photo) */
.quote-block{max-width:740px;margin:0 auto;text-align:center;}
.quote-block .quote-mark{
	font-family:Merriweather,Georgia,serif;
	font-size:56px;
	line-height:1;
	color:var(--gold);
	display:block;
	margin-bottom:6px;
}
.quote-block p{color:#e7e4d9;font-size:18px;line-height:1.8;margin-bottom:18px;font-style:italic;}
.quote-block p:last-of-type{margin-bottom:0;}

/* City card current-location state */
.city-card.current{
	background:var(--teal-light);
	border:2px solid var(--teal);
	cursor:default;
}
.city-card.current:hover{transform:none;box-shadow:var(--shadow);}
.city-card .badge-current{
	display:inline-block;
	margin-top:8px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--teal-dark);
	background:#fff;
	padding:3px 10px;
	border-radius:20px;
}

/* App section */
.app-section{
	background:linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);
	color:#fff;
	overflow:hidden;
}
.app-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px;
	align-items:center;
}
.app-grid img.app-shot{
	max-width:380px;
	margin:0 auto;
}
.app-text h2{font-size:34px;color:#fff;margin-bottom:16px;}
.app-text p{color:#eafffb;font-size:17px;margin-bottom:28px;max-width:460px;}
.app-badges{display:flex;gap:14px;flex-wrap:wrap;}
.app-badges img{height:48px;width:auto;}

/* FAQ */
.faq-section{background:var(--cream);}
.faq-list{max-width:800px;margin:0 auto;}
.faq-item{
	background:#fff;
	border:1px solid #eee6d6;
	border-radius:14px;
	margin-bottom:16px;
	overflow:hidden;
}
.faq-item summary{
	cursor:pointer;
	list-style:none;
	padding:22px 28px;
	font-weight:700;
	font-size:17px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	color:var(--ink);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
	content:"+";
	font-size:24px;
	color:var(--teal);
	font-weight:400;
	margin-left:20px;
	flex-shrink:0;
	transition:transform .2s ease;
}
.faq-item[open] summary::after{content:"–";}
.faq-item .faq-answer{
	padding:0 28px 24px 28px;
	color:var(--ink-soft);
	font-size:15.5px;
}

/* Cities */
.cities-grid{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:20px;
}
.city-card{
	background:#fff;
	border-radius:14px;
	padding:30px 18px;
	text-align:center;
	box-shadow:var(--shadow);
	transition:transform .2s ease, box-shadow .2s ease;
}
.city-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-strong);}
.city-card .pin{
	width:52px;height:52px;
	border-radius:50%;
	background:var(--teal-light);
	color:var(--teal-dark);
	font-size:22px;
	display:flex;align-items:center;justify-content:center;
	margin:0 auto 14px auto;
}
.city-card h3{font-size:16px;margin-bottom:4px;}
.city-card span{font-size:13px;color:var(--ink-soft);}

/* Final CTA */
.final-cta{
	background:radial-gradient(circle at 30% 30%, #26433f 0%, #161414 70%);
	color:#fff;
	text-align:center;
	padding:90px 0;
}
.final-cta h2{font-size:32px;color:#fff;max-width:640px;margin:0 auto 16px auto;}
.final-cta p{color:#d8d4c8;max-width:560px;margin:0 auto 34px auto;font-size:17px;}

/* Footer */
.site-footer{background:#100f0d;color:#c9c5b8;padding:50px 0 24px 0;}
.footer-top{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
	gap:30px;
	padding-bottom:30px;
	border-bottom:1px solid rgba(255,255,255,0.1);
	margin-bottom:24px;
}
.footer-brand img{height:30px;margin-bottom:12px;}
.footer-brand p{max-width:320px;font-size:14px;color:#9b9789;}
.footer-links{display:flex;gap:60px;flex-wrap:wrap;}
.footer-links h4{color:#fff;font-size:14px;margin-bottom:14px;letter-spacing:.04em;text-transform:uppercase;}
.footer-links ul li{margin-bottom:10px;}
.footer-links a{font-size:14px;color:#c9c5b8;}
.footer-links a:hover{color:var(--gold);text-decoration:none;}
.footer-bottom{text-align:center;font-size:13px;color:#7a7669;}
.footer-disclosure{margin-top:10px;font-size:12px;color:#5c584c;max-width:640px;margin-left:auto;margin-right:auto;}

/* Responsive */
@media screen and (max-width:1024px){
	.why-grid{grid-template-columns:repeat(2,1fr);}
	.venue-grid{grid-template-columns:repeat(2,1fr);}
	.cities-grid{grid-template-columns:repeat(3,1fr);}
	.hero h1{font-size:42px;}
}
@media screen and (max-width:900px){
	.split{grid-template-columns:1fr;gap:34px;}
	.split.reverse .split-media,.split.reverse .split-text{order:0;}
	.split img{height:320px;}
	.steps-grid{grid-template-columns:1fr;}
	.stories-grid{grid-template-columns:1fr;}
	.app-grid{grid-template-columns:1fr;text-align:center;}
	.app-text p{margin-left:auto;margin-right:auto;}
	.app-badges{justify-content:center;}
	.spotlight{grid-template-columns:1fr;}
	.spotlight .spotlight-img{min-height:280px;}
	.spotlight-body{padding:34px 28px;}
	.venue-grid{grid-template-columns:1fr;}
}
@media screen and (max-width:768px){
	.nav-toggle-btn{display:flex;}
	.header-nav{
		display:none;
		position:absolute;
		top:100%;
		left:0;
		right:0;
		flex-direction:column;
		align-items:flex-start;
		gap:6px;
		background:#fff;
		border-bottom:1px solid #eee6d6;
		box-shadow:var(--shadow);
		padding:10px 24px 20px 24px;
	}
	.nav-toggle-checkbox:checked ~ .header-nav{display:flex;}
	.nav-toggle-checkbox:checked ~ .nav-toggle-btn span:nth-child(1){transform:translateY(7px) rotate(45deg);}
	.nav-toggle-checkbox:checked ~ .nav-toggle-btn span:nth-child(2){opacity:0;}
	.nav-toggle-checkbox:checked ~ .nav-toggle-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
	.header-nav a.nav-link{width:100%;padding:10px 0;border-bottom:1px solid #f2eee2;}
	.header-nav .btn{width:100%;margin-top:8px;}
	.hero{min-height:560px;}
	.hero h1{font-size:34px;}
	.hero-content{padding:60px 0;}
	.section-title{font-size:27px;}
	.section-pad{padding:60px 0;}
	.why-grid{grid-template-columns:1fr;}
	.cities-grid{grid-template-columns:repeat(2,1fr);}
	.footer-top{flex-direction:column;}
	.hero.hero-article{min-height:340px;}
	.toc-box{margin-top:-40px;padding:24px 22px;}
	.article-section h2{font-size:23px;}
}
@media screen and (max-width:480px){
	.hero-actions{flex-direction:column;}
	.hero-actions .btn{width:100%;}
	.cities-grid{grid-template-columns:repeat(2,1fr);}
	.footer-links{gap:30px;}
}
