/* GTN homepage styling — scoped under .gtn-home so it is safe on any theme. */
.gtn-home {
	--gtn-blue: #1a73e8;
	--gtn-blue-dark: #1558b8;
	--gtn-charcoal: #1f2430;
	--gtn-muted: #5b6472;
	--gtn-border: #e2e6ee;
	--gtn-bg: #f7f9fc;
	color: var(--gtn-charcoal);
	line-height: 1.55;
}
.gtn-home * { box-sizing: border-box; }
.gtn-home .gtn-wrap { max-width: 1080px; margin: 0 auto; padding: 0 16px; }
.gtn-home section { margin: 2.5rem auto; }
.gtn-home h2.gtn-h { font-size: 1.5rem; margin: 0 0 1rem; letter-spacing: -.01em; }
.gtn-home a { color: var(--gtn-blue); text-decoration: none; }
.gtn-home a:hover { text-decoration: underline; }

/* Hero */
.gtn-hero {
	background: linear-gradient(160deg, #0f1b3d 0%, #16357a 55%, #1a73e8 100%);
	color: #fff; border-radius: 18px; padding: 3rem 1.5rem; text-align: center;
}
.gtn-hero h1 { font-size: clamp(1.9rem, 5vw, 3rem); margin: 0 0 .6rem; line-height: 1.1; letter-spacing: -.02em; }
.gtn-hero p { font-size: 1.1rem; max-width: 620px; margin: 0 auto 1.4rem; opacity: .92; }
.gtn-hero .gtn-cta-row { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
.gtn-btn {
	display: inline-block; padding: .7rem 1.15rem; font-weight: 600; border-radius: 10px;
	border: 1.5px solid var(--gtn-blue); color: var(--gtn-blue); background: #fff; text-decoration: none;
}
.gtn-btn:hover { text-decoration: none; background: rgba(26,115,232,.08); }
.gtn-btn--primary { background: var(--gtn-blue); color: #fff; }
.gtn-btn--primary:hover { background: var(--gtn-blue-dark); }
.gtn-hero .gtn-btn { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.6); }
.gtn-hero .gtn-btn--primary { background: #fff; color: #16357a; border-color: #fff; }

/* Card grids */
.gtn-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.gtn-card {
	display: block; padding: 1.1rem; background: #fff; border: 1px solid var(--gtn-border);
	border-radius: 14px; box-shadow: 0 1px 3px rgba(20,30,50,.05); transition: box-shadow .15s, transform .15s;
	color: var(--gtn-charcoal);
}
.gtn-card:hover { box-shadow: 0 6px 18px rgba(20,30,50,.1); transform: translateY(-2px); text-decoration: none; }
.gtn-card .gtn-eyebrow { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--gtn-blue); font-weight: 700; }
.gtn-card h3 { margin: .3rem 0 .3rem; font-size: 1.05rem; line-height: 1.25; }
.gtn-card p { margin: 0; color: var(--gtn-muted); font-size: .9rem; }
.gtn-cat-card { text-align: center; }
.gtn-cat-card .gtn-emoji { font-size: 1.8rem; display: block; margin-bottom: .3rem; }

/* Budget pills */
.gtn-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.gtn-pill {
	padding: .55rem 1rem; border: 1.5px solid var(--gtn-border); border-radius: 999px;
	font-weight: 600; color: var(--gtn-charcoal); background: #fff;
}
.gtn-pill:hover { border-color: var(--gtn-blue); color: var(--gtn-blue); text-decoration: none; }

/* Email capture */
.gtn-email { background: var(--gtn-bg); border: 1px solid var(--gtn-border); border-radius: 16px; padding: 1.75rem 1.25rem; text-align: center; }
.gtn-email h2 { margin: 0 0 .3rem; }
.gtn-email p { color: var(--gtn-muted); margin: 0 auto 1rem; max-width: 520px; }
.gtn-email form { display: flex; gap: .5rem; max-width: 440px; margin: 0 auto; flex-wrap: wrap; }
.gtn-email input[type=email] { flex: 1 1 220px; padding: .7rem .8rem; border: 1px solid var(--gtn-border); border-radius: 10px; font-size: 1rem; }
.gtn-email small { display: block; margin-top: .6rem; color: var(--gtn-muted); }

.gtn-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.gtn-list a { font-weight: 600; }
.gtn-news-date { color: var(--gtn-muted); font-size: .82rem; font-weight: 400; }

@media (max-width: 480px) {
	.gtn-hero { padding: 2.25rem 1rem; }
	.gtn-email form { flex-direction: column; }
	.gtn-email input[type=email], .gtn-email .gtn-btn { width: 100%; }
}
