@charset "UTF-8";
/* ==========================================================================
   renovation911 — layout.css   (premium revision)

   Containers, the section rhythm, section heads, the 12-column grid, the
   card-grid helpers, and the WordPress alignment pair.

   Cascade: tokens.css -> base.css -> LAYOUT.CSS -> chrome.css
            -> components.css -> pages.css
   ========================================================================== */


/* ==========================================================================
   1. CONTAINERS
   ========================================================================== */

.container .container {
	width: 100%;
}

.site-footer__legal > .container {
	width: var(--container);
}


/* ==========================================================================
   2. PAGE SHELL
   ========================================================================== */

.site-main {
	display: block;
	isolation: isolate;
	position: relative;
	z-index: var(--z-base);
}

.site-main--home > :first-child {
	margin-block-start: 0;
}


/* ==========================================================================
   3. SECTION RHYTHM
   ========================================================================== */

.section {
	position: relative;
	padding-block: var(--section-y);
	background: var(--surface);
}

.section__inner {
	position: relative;
}

.section--alt {
	background: var(--surface-alt);
	--frame-offset: var(--surface);
}

.section--soft {
	background: var(--navy-soft);
	--frame-offset: var(--surface);
}

.section--navy {
	background: var(--navy);
	color: var(--on-navy);
	--frame-offset: var(--navy-deep);
}

.section--deep {
	background: var(--navy-deep);
	color: var(--on-navy);
	--frame-offset: var(--navy);
}

:is(.section--navy, .section--deep) :is(h1, h2, h3, h4, h5, h6),
:is(.section--navy, .section--deep) strong,
:is(.section--navy, .section--deep) legend,
:is(.section--navy, .section--deep) th {
	color: var(--surface);
}

:is(.section--navy, .section--deep) p,
:is(.section--navy, .section--deep) li,
:is(.section--navy, .section--deep) blockquote,
:is(.section--navy, .section--deep) dd,
:is(.section--navy, .section--deep) td {
	color: var(--on-navy);
}

:is(.section--navy, .section--deep) hr {
	background: var(--line-on-dark);
}

:is(.section--navy, .section--deep) a:not([class]) {
	color: var(--surface);
	text-decoration-color: var(--accent-bright);
}

:is(.section--navy, .section--deep) a:not([class]):hover {
	color: var(--accent-bright);
}

.section--tight {
	padding-block: var(--sp-9);
}

.section--center {
	text-align: center;
}

.section--center .section-head {
	margin-inline: auto;
}

.section--alt + .section--alt,
.section--soft + .section--soft,
.section--navy + .section--navy,
.section--deep + .section--deep {
	padding-block-start: 0;
}

.site-main > :is(.section--navy, .section--deep):last-child {
	padding-block-end: var(--section-y);
}


/* ==========================================================================
   4. SECTION HEAD
   ========================================================================== */

.section-head {
	max-width: var(--measure-lead);
	margin-block-end: var(--sp-9);
}

.section-head__title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-2xl);
	line-height: var(--lh-h2);
	letter-spacing: var(--ls-h2);
	color: var(--navy);
	text-wrap: balance;
}

.section-head__lead {
	max-width: var(--measure-lead);
	margin: var(--sp-5) 0 0;
	color: var(--ink-muted);
	font-size: var(--fs-md);
	line-height: var(--lh-lead);
}

:is(.section--navy, .section--deep) .section-head__title {
	color: var(--surface);
}

:is(.section--navy, .section--deep) .section-head__lead {
	color: var(--on-navy);
}

.section__all {
	margin-block-start: var(--sp-8);
}

@media (min-width: 640px) {

	.section__all {
		text-align: end;
	}

	.section--center .section__all {
		text-align: center;
	}
}


/* ==========================================================================
   5. THE 12-COLUMN GRID
   ========================================================================== */

.page-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--sp-6);
}

@media (min-width: 900px) {

	.page-hero__grid {
		grid-template-columns: repeat(var(--grid-cols), minmax(0, 1fr));
		gap: var(--grid-gap);
	}
}


/* ==========================================================================
   6. CARD GRID HELPERS
   ========================================================================== */

.card-grid,
.svc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: var(--grid-gap);
	align-items: stretch;
}

@media (min-width: 1024px) {

	.card-grid,
	.svc-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.card-grid > *,
.svc-grid > * {
	min-width: 0;
	height: 100%;
}


/* ==========================================================================
   7. WORDPRESS ALIGNMENT PAIR
   ========================================================================== */

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
}

.alignwide {
	width: var(--container-wide);
	max-width: none;
	margin-inline: auto;
}
