/* SkyOak sections. Values come from theme.json presets and custom properties. */

/* --- Global ---------------------------------------------------------- */

:root {
	--skyoak-transition: 180ms ease;
}

.skyoak-eyebrow {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking-eyebrow);
	text-transform: uppercase;
}

.skyoak-kicker {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--kicker);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking-kicker);
	text-transform: uppercase;
	color: var(--wp--preset--color--grey-meta);
}

/* Focus: never removed, always visible. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* Square corners are the whole look. */
.wp-block-button__link,
.wp-block-image img,
.wp-block-cover,
input,
select,
textarea {
	border-radius: 0;
}

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

/* --- Header ---------------------------------------------------------- */

.skyoak-header {
	position: sticky;
	top: 0;
	z-index: 100;
}

.skyoak-header__utility {
	color: var(--wp--custom--on-navy-utility);
	font-size: var(--wp--preset--font-size--fine);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.skyoak-header__utility p {
	margin: 0;
	line-height: 1.2;
}

.skyoak-header__utility a {
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

.skyoak-header__main {
	gap: 48px;
}

.skyoak-header__logo img {
	height: 46px;
	width: auto;
	/* Design-time stand-in. LAUNCH BLOCKER: replace with a true white/reversed SVG. */
	filter: brightness(0) invert(1);
}

/* The outer header group must not introduce a gap between its two rows. */
.skyoak-header {
	gap: 0;
}

.skyoak-header > * {
	margin-block: 0;
}

/* Ollie styles navigation links; these selectors have to outrank it. */
.skyoak-header .skyoak-header__nav .wp-block-navigation-item__content,
.skyoak-header .skyoak-header__nav a {
	position: relative;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

.skyoak-header .skyoak-header__nav .wp-block-navigation-item__content::after,
.skyoak-header .skyoak-header__nav a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 0;
	height: 1px;
	background: var(--wp--preset--color--primary-accent);
	transition: width 220ms ease;
}

.skyoak-header .skyoak-header__nav a:hover::after,
.skyoak-header .skyoak-header__nav a:focus-visible::after {
	width: 100%;
}

.skyoak-header__phone {
	white-space: nowrap;
}

.skyoak-header__phone p {
	margin: 0;
}

.skyoak-header__phone p:first-child {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 0.625rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--custom--on-navy-phone-label);
	line-height: 1.4;
}

.skyoak-header__phone a {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 1.3125rem;
	color: var(--wp--preset--color--base);
	text-decoration: none;
	line-height: 1.2;
}

@media (max-width: 1100px) {
	.skyoak-header__main {
		flex-wrap: wrap;
		gap: 24px;
	}

	.skyoak-header__nav {
		order: 3;
		flex-basis: 100%;
	}
}

@media (max-width: 781px) {
	.skyoak-header__utility p:first-child {
		display: none;
	}

	/* Below the WP mobile breakpoint the nav becomes a hamburger, so it goes
	   back inline instead of taking the full-width row it gets at 1100px. */
	.skyoak-header__nav {
		order: 0;
		flex-basis: auto;
	}

	.skyoak-header__main {
		gap: 16px;
		row-gap: 14px;
	}

	/* Keep tap-to-call — mobile visitors to an advisory firm phone in — but
	   drop the label so the row fits. */
	.skyoak-header__phone p:first-child {
		display: none;
	}

	.skyoak-header__phone a {
		font-size: 1.125rem;
	}

	/* logo + phone + hamburger must fit one 375px row; the phone cannot shrink
	   (white-space: nowrap), so the logo gives up the space. */
	.skyoak-header__logo img {
		height: 34px;
	}

	.skyoak-header__main {
		flex-wrap: wrap;
	}

	/* CTA gets its own full-width row and a 44px tap target. */
	.skyoak-header__main .wp-block-buttons {
		flex-basis: 100%;
		order: 4;
	}

	.skyoak-header__main .wp-block-button {
		width: 100%;
	}

	.skyoak-header__main .wp-block-button__link {
		display: block;
		width: 100%;
		/* The link carries 22px horizontal padding; without border-box a 100%
		   width overflows the viewport by 44px. */
		box-sizing: border-box;
		text-align: center;
		min-height: 44px;
	}
}

/* Sections butt against each other: no block-gap between them. The
   post-content wrapper is listed because the home page's sections live in the
   page, so they are children of .wp-block-post-content, not of main. */
.wp-site-blocks > *,
.skyoak-main > *,
.wp-block-post-content > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* --- Hero ------------------------------------------------------------ */

.skyoak-hero {
	position: relative;
	overflow: hidden;
	min-height: 0;
}

.skyoak-hero .wp-block-cover__image-background {
	filter: grayscale(1) brightness(0.95) contrast(1.05);
	opacity: 0.6;
}

/* The scrim. Darkness is driven by one token so it can be retuned when the
   photo changes — see the accessibility pass. */
.skyoak-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background: linear-gradient(
		90deg,
		rgba(22, 34, 46, calc(var(--wp--custom--hero-scrim) * 1.09)) 0%,
		rgba(24, 38, 52, calc(var(--wp--custom--hero-scrim) * 0.82)) 58%,
		rgba(41, 64, 86, calc(var(--wp--custom--hero-scrim) * 0.62)) 100%
	);
}

/* "Blue Overlay" block style (Group and Cover): the home hero's treatment
   for any section with a background image. The Cover version filters the
   image directly; a Group's image is a CSS background, so the ::before layer
   greys it with backdrop-filter and adds the same wash the Cover gets from
   0.6 image opacity over the white page, then the scrim on top. */
.is-style-blue-overlay {
	position: relative;
	overflow: hidden;
}

.wp-block-cover.is-style-blue-overlay .wp-block-cover__image-background {
	filter: grayscale(1) brightness(0.95) contrast(1.05);
	opacity: 0.6;
}

.is-style-blue-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	background: linear-gradient(
		90deg,
		rgba(22, 34, 46, calc(var(--wp--custom--hero-scrim) * 1.09)) 0%,
		rgba(24, 38, 52, calc(var(--wp--custom--hero-scrim) * 0.82)) 58%,
		rgba(41, 64, 86, calc(var(--wp--custom--hero-scrim) * 0.62)) 100%
	);
}

.wp-block-group.is-style-blue-overlay::before {
	-webkit-backdrop-filter: grayscale(1) brightness(0.95) contrast(1.05);
	backdrop-filter: grayscale(1) brightness(0.95) contrast(1.05);
	background:
		linear-gradient(
			90deg,
			rgba(22, 34, 46, calc(var(--wp--custom--hero-scrim) * 1.09)) 0%,
			rgba(24, 38, 52, calc(var(--wp--custom--hero-scrim) * 0.82)) 58%,
			rgba(41, 64, 86, calc(var(--wp--custom--hero-scrim) * 0.62)) 100%
		),
		rgba(255, 255, 255, 0.4);
}

.wp-block-group.is-style-blue-overlay > *,
.wp-block-cover.is-style-blue-overlay > .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
}

.skyoak-hero > .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	max-width: 1280px;
	margin-inline: auto;
	width: 100%;
}

.skyoak-hero__grid {
	gap: var(--wp--preset--spacing--col-gap);
	align-items: flex-start;
}

/* The form card is a card, not a full-height column fill. */
.skyoak-hero__grid > .wp-block-column {
	align-self: flex-start;
}

.skyoak-hero .skyoak-hero__eyebrow {
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking-eyebrow);
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-accent);
	margin: 0 0 1.5rem;
}

.skyoak-hero__display {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--display);
	font-weight: 600;
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--base);
	max-width: 15ch;
	margin: 0 0 1.5rem;
}

.skyoak-hero__lede {
	color: var(--wp--custom--on-navy-body);
	line-height: 1.6;
	max-width: 52ch;
	margin: 0;
}

.skyoak-hero__proof {
	list-style: none;
	padding: 0;
	margin: 2rem 0 0;
	counter-reset: skyoak-proof;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.skyoak-hero__proof li {
	counter-increment: skyoak-proof;
	display: grid;
	grid-template-columns: 34px 1fr;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--wp--custom--on-navy-body);
}

.skyoak-hero__proof li::before {
	content: "0" counter(skyoak-proof);
	font-family: var(--wp--preset--font-family--condensed);
	font-weight: 600;
	color: var(--wp--preset--color--primary-accent);
}

.skyoak-hero__offices {
	margin-top: 2rem;
	padding-top: 28px;
	border-top: 1px solid var(--wp--custom--rule-on-navy);
}

.skyoak-hero__offices p {
	margin: 0;
}

.skyoak-hero__offices p:first-child {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--fine);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-accent);
	margin-bottom: 0.35rem;
}

.skyoak-hero__offices p:last-child {
	font-size: 0.875rem;
	color: var(--wp--custom--on-navy-body);
}

.skyoak-hero__form-card {
	background: var(--wp--preset--color--base);
	padding: 38px 36px 34px;
	box-shadow: var(--wp--custom--shadow-form-card);
	color: var(--wp--preset--color--ink);
}

.skyoak-hero .skyoak-hero__form-title {
	font-size: var(--wp--preset--font-size--form-title);
	line-height: 1.2;
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--ink);
}

.skyoak-hero__form-sub {
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--wp--preset--color--secondary);
	margin: 0 0 1.5rem;
}

@media (max-width: 1100px) {
	/* Core sets flex-wrap:nowrap!important on columns above 782px, so these
	   have to be !important to stack the hero earlier than core would. */
	.skyoak-hero__grid,
	.skyoak-firm__grid,
	.skyoak-faq__grid,
	.skyoak-section__head {
		flex-wrap: wrap !important;
	}

	.skyoak-hero__grid > .wp-block-column,
	.skyoak-firm__grid > .wp-block-column,
	.skyoak-faq__grid > .wp-block-column,
	.skyoak-section__head > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* --- Grid containers --------------------------------------------------
   These are core groups that CSS turns into grids. WordPress applies its
   block gap as `> * + *`, which skips the FIRST child — so children 2..n get
   a top margin, sit lower in the row, and shrink, while child 1 alone sets
   the row height. The visible symptom is "the first card is taller".
   The grid's own `gap` already spaces them, so zero the margins.        */

.skyoak-services__grid > *,
.skyoak-reviews__grid > *,
.skyoak-offices__grid > *,
.skyoak-spec-plate > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.skyoak-services__grid,
.skyoak-reviews__grid,
.skyoak-offices__grid,
.skyoak-spec-plate {
	align-items: stretch;
}

/* --- Shared section + card ------------------------------------------- */

.skyoak-wrap {
	max-width: 1280px;
	margin-inline: auto;
}

.skyoak-section .skyoak-eyebrow {
	margin: 0 0 1.25rem;
}

.skyoak-section__head {
	gap: var(--wp--preset--spacing--col-gap);
	margin-bottom: 3rem;
}

.skyoak-section .skyoak-section__title {
	max-width: 18ch;
	margin: 0;
}

.skyoak-section__lede {
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.65;
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.skyoak-card {
	border: 1px solid var(--wp--preset--color--border-light);
	background: var(--wp--preset--color--base);
	transition: border-color var(--skyoak-transition),
		box-shadow var(--skyoak-transition),
		transform var(--skyoak-transition);
}

.skyoak-card:hover {
	border-color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--custom--shadow-card-hover);
	transform: translateY(-2px);
}

/* --- Services -------------------------------------------------------- */

.skyoak-services__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--card-gap);
}

.skyoak-service {
	padding: 38px 34px 32px;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.skyoak-service .skyoak-kicker {
	margin: 0;
}

.skyoak-service .skyoak-service__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.2;
}

.skyoak-service__body {
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.65;
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.skyoak-card__link {
	margin: auto 0 0;
	padding-top: 0.75rem;
}

.skyoak-card__link a {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-alt);
	text-decoration: none;
}

.skyoak-card__link a:hover {
	text-decoration: underline;
}

/* --- Firm story ------------------------------------------------------ */

.skyoak-firm__grid {
	gap: var(--wp--preset--spacing--col-gap);
}

.skyoak-firm__photo img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	display: block;
}

.skyoak-firm__body {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.75;
	color: var(--wp--preset--color--secondary);
}

.skyoak-section--firm .skyoak-section__title {
	margin-bottom: 1.5rem;
}

.skyoak-spec-plate {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--wp--preset--color--border-dark);
	margin: 2.5rem 0;
	align-items: stretch;
}

.skyoak-spec {
	background: var(--wp--preset--color--base);
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.skyoak-spec .skyoak-kicker {
	margin: 0;
}

.skyoak-spec__value {
	font-family: var(--wp--preset--font-family--condensed);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--spec-value);
	line-height: 1.2;
	color: var(--wp--preset--color--ink);
	margin: 0.35rem 0 0;
}

/* --- Reviews --------------------------------------------------------- */

.skyoak-reviews__head {
	margin-bottom: 3rem;
	gap: 1.5rem;
}

.skyoak-reviews__rating {
	gap: 1rem;
	align-items: baseline;
}

.skyoak-stars {
	letter-spacing: 0.18em;
	font-size: 1.3125rem;
	color: var(--wp--preset--color--primary);
	margin: 0;
	line-height: 1;
}

.skyoak-stars--muted {
	color: #b7c4d0;
	font-size: 1.0625rem;
}

.skyoak-reviews__rating-label {
	margin: 0;
	letter-spacing: var(--wp--custom--tracking-label);
}

.skyoak-reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--card-gap);
}

.skyoak-review {
	padding: 34px 30px;
	min-height: 240px;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.skyoak-review__skeleton {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.skyoak-review .skyoak-skeleton {
	height: 12px;
	background: var(--wp--preset--color--skeleton);
	border: 0;
	margin: 0;
	width: 100%;
	opacity: 1;
}

.skyoak-review .skyoak-skeleton:nth-child(3) { width: 76%; }
.skyoak-review .skyoak-skeleton:nth-child(4) { width: 50%; }

.skyoak-review__label {
	margin: auto 0 0;
}

/* --- CTA band -------------------------------------------------------- */

.skyoak-cta__row {
	gap: 2rem;
}

.skyoak-cta .skyoak-cta__title {
	margin: 0;
	max-width: 22ch;
	line-height: 1.08;
}

.skyoak-cta__sub {
	opacity: 0.85;
	font-size: var(--wp--preset--font-size--small);
	margin: 0.75rem 0 0;
}

.skyoak-cta__buttons {
	gap: 1rem;
}

.skyoak-button--light .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--main);
	padding: 17px 30px;
}

.skyoak-button--light .wp-block-button__link:hover {
	background: #eef6ff;
	color: var(--wp--preset--color--main);
}

.skyoak-button--ghost .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	color: var(--wp--preset--color--base);
	padding: 17px 30px;
}

.skyoak-button--ghost .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
	color: var(--wp--preset--color--base);
}

/* --- Offices --------------------------------------------------------- */

.skyoak-offices__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--card-gap);
}

.skyoak-office__photo {
	margin: 0;
}

.skyoak-office__photo img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	border-bottom: 1px solid var(--wp--preset--color--border-light);
}

.skyoak-office__body {
	padding: 30px 30px 32px;
}

.skyoak-office__body > * {
	margin-block: 0;
}

.skyoak-office__body .skyoak-kicker {
	margin: 0;
}

.skyoak-office .skyoak-office__city {
	font-family: var(--wp--preset--font-family--condensed);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--office-title);
	line-height: 1.2;
	margin: 0.5rem 0;
	color: var(--wp--preset--color--ink);
}

.skyoak-office__area {
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.6;
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.skyoak-office__address {
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.7;
	margin-top: 1.125rem;
	padding-top: 18px;
	border-top: 1px solid var(--wp--preset--color--border-light);
	color: var(--wp--preset--color--secondary);
}

.skyoak-office__address p {
	margin: 0;
}

.skyoak-office__address a {
	color: var(--wp--preset--color--primary-alt);
	text-decoration: none;
}

/* --- Responsive: grids ------------------------------------------------ */

@media (max-width: 1100px) {
	.skyoak-services__grid,
	.skyoak-reviews__grid,
	.skyoak-offices__grid,
	.skyoak-spec-plate {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 781px) {
	.skyoak-services__grid,
	.skyoak-reviews__grid,
	.skyoak-offices__grid,
	.skyoak-spec-plate {
		grid-template-columns: 1fr;
	}

	.skyoak-section .skyoak-section__title {
		max-width: none;
	}
}

/* --- FAQ ------------------------------------------------------------- */

.skyoak-faq__grid {
	gap: var(--wp--preset--spacing--col-gap);
}

.skyoak-section--faq .skyoak-faq__title {
	font-size: var(--wp--preset--font-size--faq-title);
	line-height: 1.06;
	max-width: 16ch;
	margin: 0 0 1rem;
}

.skyoak-faq__sub {
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.skyoak-faq__item {
	border-top: 1px solid var(--wp--preset--color--border-dark);
	margin: 0;
}

.skyoak-faq__item:last-of-type {
	border-bottom: 1px solid var(--wp--preset--color--border-dark);
}

.skyoak-faq__item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	list-style: none;
	cursor: pointer;
	padding: 26px 0;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--faq-question);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--ink);
}

.skyoak-faq__item summary::-webkit-details-marker,
.skyoak-faq__item summary::marker {
	display: none;
	content: "";
}

.skyoak-faq__item summary::after {
	content: "+";
	font-size: 1.625rem;
	color: var(--wp--preset--color--primary);
	line-height: 1;
	flex: none;
}

.skyoak-faq__item[open] summary::after {
	content: "−";
}

.skyoak-faq__item p {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--wp--preset--color--secondary);
	max-width: 64ch;
	margin: 0 0 28px;
}

/* --- Footer ---------------------------------------------------------- */

.skyoak-footer {
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.7;
	color: var(--wp--custom--on-navy-footer-body);
}

.skyoak-footer__grid {
	max-width: 1280px;
	margin-inline: auto;
	gap: 56px;
}

.skyoak-footer__grid > .wp-block-column:first-child p {
	max-width: 34ch;
}

.skyoak-footer__logo img {
	height: 42px;
	width: auto;
	/* LAUNCH BLOCKER: replace with a true white/reversed SVG. */
	filter: brightness(0) invert(1);
}

.skyoak-footer__phone a {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 1.5625rem;
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

.skyoak-footer .skyoak-footer__label {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--kicker);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--custom--on-navy-footer-meta);
	margin-bottom: 1.25rem;
}

.skyoak-footer a {
	color: var(--wp--custom--on-navy-footer-link);
	text-decoration: none;
}

.skyoak-footer a:hover {
	text-decoration: underline;
}

.skyoak-footer__links,
.skyoak-footer__offices {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.skyoak-footer__office-city {
	display: block;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--custom--on-navy-footer-meta);
}

.skyoak-footer__office-street {
	display: block;
	color: var(--wp--custom--on-navy-footer-link);
}

.skyoak-footer__sub {
	max-width: 1280px;
	margin-inline: auto;
	margin-top: 2.75rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--wp--custom--rule-footer);
	font-size: var(--wp--preset--font-size--fine);
	color: var(--wp--custom--on-navy-sub-meta);
}

.skyoak-footer__sub p {
	margin: 0;
}

.skyoak-footer__sub-row {
	gap: 1.5rem;
}

.skyoak-footer__disclosure {
	color: var(--wp--custom--on-navy-disclosure);
	font-size: var(--wp--preset--font-size--fine);
	line-height: 1.5;
	margin-top: 1.25rem !important;
}

@media (max-width: 781px) {
	.skyoak-footer__grid {
		gap: 36px;
	}
}
