/**
 * home.css — Home's page-specific overrides, per docs/ARCHITECTURE.md §7's
 * "pages/" cascade layer. Only enqueued on the front page (inc/enqueue.php),
 * so nothing here needs a `.home`-scoped selector to stay contained.
 *
 * Ported directly from the inline <style> block in releases/v1.0/home.html,
 * minus anything already covered by a shared component (pathway/process
 * grids now use card.php's `.card-grid` classes; the closing CTA now uses
 * cta-band.php's `--centered` variant — both already match these rules).
 */

/* Home is uniquely wider throughout — nav and content both 980px, vs. every
   other page's 900px chrome / 760px content split. See tokens.css §7. */
:root {
	--width-chrome: 980px;
	--width-content: 980px;
}

/* Home's bespoke hero (distinct from the shared .page-hero used by every
   other template — see template-parts/components/hero.php). Specificity
   matches layout.css's `section:first-of-type` rule (0,1,1); this file
   loads after layout.css, so the cascade breaks the tie correctly. */
section.hero {
	border-top: none;
	padding: 104px 0 60px;
	text-align: center;
}

.hero .name-sig {
	font-family: var(--font-serif);
	font-style: italic;
	color: var(--oxblood);
	font-size: 15px;
	margin-bottom: 24px;
	display: block;
}

.hero h1 {
	font-size: clamp(30px, 5vw, 50px);
	line-height: 1.12;
	margin: 0 auto;
	max-width: 20ch;
}

.hero .dek {
	margin: 26px auto 0;
	font-size: 17px;
	color: var(--ink-soft);
	line-height: 1.75;
	max-width: 60ch;
}

.hero .fine {
	margin: 16px auto 0;
	font-size: 14.5px;
	color: var(--slate);
	max-width: 58ch;
	line-height: 1.7;
}

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

/* Section heading pattern — Home-only; every other template's section
   headings live inside the shared .page-hero / component markup instead. */
.section-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 48px;
}

section h2 {
	font-size: clamp(24px, 3.2vw, 32px);
}

.section-head p {
	margin-top: 14px;
	color: var(--ink-soft);
	font-size: 15.5px;
	line-height: 1.7;
}

.process-bridge {
	margin-top: 28px;
	font-size: 14.5px;
	color: var(--slate);
	line-height: 1.75;
	max-width: 70ch;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

/* Why Trust This Firm */
#trust {
	background: var(--paper-raised);
}

.jurisdiction-note {
	margin-top: 36px;
	font-size: 13px;
	color: var(--slate);
	max-width: 64ch;
	line-height: 1.75;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

/* Rendered as a real <ul>/<li> list, not styled <div>/<span> — the
   accessibility requirement docs/IMPLEMENTATION_ROADMAP.md Phase 4.1
   explicitly calls for. Reset the default list box model first. */
.cred-chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 16px;
}

.cred-chip {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 14.5px;
	border: 1px solid var(--line);
	padding: 9px 16px;
	border-radius: 999px;
	color: var(--ink);
	background: var(--paper);
}

.trust-link {
	text-align: center;
	margin-top: 24px;
	font-size: 13.5px;
}

.trust-link a {
	color: var(--oxblood);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 600;
}

/* Home's nav-collapse breakpoint is 780px, not the 700px every other page
   uses (layout.css). The 700px rule already covers widths up to 700px
   correctly here too; this fills only the 701–780px gap where Home must
   already show the mobile drawer but the shared rule hasn't engaged yet.
   See docs/ARCHITECTURE.md §5 / §8 and docs/IMPLEMENTATION_ROADMAP.md
   Phase 4.1's "preserve responsive behavior" requirement. */
@media (max-width: 780px) and (min-width: 701px) {
	.nav-toggle {
		display: flex;
	}

	nav.links {
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		width: min(300px, 82vw);
		background: var(--paper);
		border-left: 1px solid var(--line);
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 96px 28px 28px;
		gap: 20px;
		transform: translateX(100%);
		transition: transform .25s ease;
		z-index: 150;
		box-shadow: -12px 0 32px rgba(30, 26, 22, .12);
	}

	nav.links.open {
		transform: translateX(0);
	}

	nav.links a.navlink {
		display: block;
		font-size: 15px;
	}

	nav.links .btn {
		width: 100%;
		justify-content: center;
		margin-top: 4px;
	}

	.nav-backdrop.open {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(30, 26, 22, .35);
		z-index: 140;
	}
}
