/*
Theme Name: Absolute Adjusting
Theme URI: https://absoluteadjusting.com/
Description: GeneratePress child theme for Absolute Adjusting, LLC.
Author: Absolute Adjusting, LLC
Template: generatepress
Version: 1.0.0
Text Domain: absolute-adjusting
Requires at least: 6.6
Requires PHP: 8.0
*/

/* =========================================================
   LOCAL FONT
   ========================================================= */

@font-face {
	font-display: swap;
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 400 700;
	src: url("assets/fonts/source-sans-3-latin-wght-normal.woff2") format("woff2-variations");
}

@font-face {
	font-display: swap;
	font-family: "Source Sans 3";
	font-style: italic;
	font-weight: 400 700;
	src: url("assets/fonts/source-sans-3-latin-wght-italic.woff2") format("woff2-variations");
}

/* =========================================================
   ABSOLUTE ADJUSTING — GLOBAL DESIGN SYSTEM
   ========================================================= */

:root {
	--aa-navy: #172a3a;
	--aa-charcoal: #20272d;
	--aa-amber: #c98a22;
	--aa-amber-hover: #b97918;
	--aa-plum: #684a73;
	--aa-warm-white: #f8f6f1;
	--aa-white: #ffffff;
	--aa-pale-slate: #edf1f3;
	--aa-border: #d5dce0;
	--aa-slate: #5a6872;
	--aa-warning: #a6403a;
	--aa-focus: #005fcc;

	--aa-content-width: 1240px;
	--aa-reading-width: 820px;
	--aa-radius: 3px;
	--aa-shadow: 0 10px 28px rgba(23, 42, 58, 0.08);

	--aa-space-xs: 8px;
	--aa-space-sm: 16px;
	--aa-space-md: 24px;
	--aa-space-lg: 32px;
	--aa-space-xl: 48px;
	--aa-space-2xl: 64px;
	--aa-space-3xl: 88px;
	--aa-space-4xl: 112px;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--aa-warm-white);
	color: var(--aa-charcoal);
	font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
	font-size: 18px;
	line-height: 1.65;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--aa-navy);
	font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
	font-weight: 650;
	letter-spacing: -0.015em;
	margin-top: 0;
	text-wrap: balance;
}

h1 {
	font-size: clamp(2.375rem, 5vw, 3.25rem);
	line-height: 1.08;
}

h2 {
	font-size: clamp(1.875rem, 4vw, 2.375rem);
	line-height: 1.15;
}

h3 {
	font-size: clamp(1.45rem, 3vw, 1.625rem);
	line-height: 1.25;
}

p,
li {
	text-wrap: pretty;
}

a {
	color: var(--aa-navy);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

a:hover,
a:focus {
	color: var(--aa-amber);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--aa-focus);
	outline-offset: 3px;
}

.site-grid,
.grid-container {
	max-width: var(--aa-content-width);
}

.aa-reading-width {
	margin-inline: auto;
	max-width: var(--aa-reading-width);
}

.aa-section {
	padding-block: var(--aa-space-3xl);
}

.aa-section--compact {
	padding-block: var(--aa-space-2xl);
}

.aa-bg-navy {
	background: var(--aa-navy);
	color: var(--aa-white);
}

.aa-bg-navy :where(h1, h2, h3, h4, h5, h6, a) {
	color: var(--aa-white);
}

.aa-bg-navy a:hover,
.aa-bg-navy a:focus {
	color: var(--aa-amber);
}

.aa-bg-slate {
	background: var(--aa-pale-slate);
}

.aa-bg-white {
	background: var(--aa-white);
}

.aa-eyebrow {
	color: var(--aa-amber);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	margin-bottom: var(--aa-space-sm);
	text-transform: uppercase;
}

.aa-lead {
	font-size: clamp(1.125rem, 2.2vw, 1.35rem);
	line-height: 1.55;
	max-width: 46rem;
}

.aa-muted {
	color: var(--aa-slate);
}

.aa-accent-rule {
	border: 0;
	border-top: 4px solid var(--aa-amber);
	margin: var(--aa-space-lg) 0;
	max-width: 72px;
}

/* =========================================================
   BUTTONS
   ========================================================= */

button,
input[type="submit"],
.wp-block-button__link,
.gb-button,
.aa-button {
	align-items: center;
	background: var(--aa-amber);
	border: 1px solid var(--aa-amber);
	border-radius: var(--aa-radius);
	color: var(--aa-navy);
	cursor: pointer;
	display: inline-flex;
	font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 650;
	justify-content: center;
	line-height: 1.2;
	min-height: 48px;
	padding: 13px 24px;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease,
		transform 160ms ease;
}

button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.gb-button:hover,
.aa-button:hover {
	background: var(--aa-amber-hover);
	border-color: var(--aa-amber-hover);
	color: var(--aa-navy);
	transform: translateY(-1px);
}

.aa-button-secondary,
.aa-button-secondary .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--aa-navy);
	color: var(--aa-navy);
}

.aa-button-secondary:hover,
.aa-button-secondary .wp-block-button__link:hover {
	background: var(--aa-pale-slate);
	border-color: var(--aa-navy);
	color: var(--aa-navy);
}

.aa-bg-navy .aa-button-secondary,
.aa-bg-navy .aa-button-secondary .wp-block-button__link {
	border-color: var(--aa-white);
	color: var(--aa-white);
}

.aa-bg-navy .aa-button-secondary:hover,
.aa-bg-navy .aa-button-secondary .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
	color: var(--aa-white);
}

.aa-button-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--aa-space-sm);
	margin-top: var(--aa-space-lg);
}

/* =========================================================
   CARDS, STEPS, AND CALLOUTS
   ========================================================= */

.aa-card {
	background: var(--aa-white);
	border: 1px solid var(--aa-border);
	border-radius: var(--aa-radius);
	height: 100%;
	padding: var(--aa-space-lg);
	transition:
		border-color 160ms ease,
		transform 160ms ease,
		box-shadow 160ms ease;
}

.aa-card:hover {
	border-color: var(--aa-amber);
	box-shadow: var(--aa-shadow);
	transform: translateY(-2px);
}

.aa-card h3 {
	margin-bottom: var(--aa-space-sm);
}

.aa-card > :last-child {
	margin-bottom: 0;
}

.aa-card-grid {
	display: grid;
	gap: var(--aa-space-md);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aa-step {
	border-left: 4px solid var(--aa-amber);
	padding-left: var(--aa-space-md);
}

.aa-step-number {
	color: var(--aa-plum);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aa-disclaimer,
.aa-placeholder {
	background: var(--aa-pale-slate);
	border-left: 4px solid var(--aa-amber);
	color: var(--aa-slate);
	font-size: 0.9375rem;
	padding: 18px 20px;
}

.aa-placeholder {
	border-color: var(--aa-plum);
}

.aa-placeholder strong {
	color: var(--aa-charcoal);
}

.aa-cta-band {
	align-items: center;
	background: var(--aa-navy);
	color: var(--aa-white);
	display: flex;
	gap: var(--aa-space-xl);
	justify-content: space-between;
	padding: var(--aa-space-xl);
}

.aa-cta-band :where(h2, h3, p) {
	color: var(--aa-white);
}

.aa-cta-band > :first-child {
	max-width: 48rem;
}

.aa-cta-band > :last-child {
	flex: 0 0 auto;
}

/* =========================================================
   FORMS
   ========================================================= */

input,
select,
textarea {
	background: var(--aa-white);
	border: 1px solid var(--aa-border);
	border-radius: var(--aa-radius);
	color: var(--aa-charcoal);
	font: inherit;
	max-width: 100%;
	padding: 12px 14px;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--aa-navy);
	box-shadow: 0 0 0 2px rgba(23, 42, 58, 0.12);
	outline: 3px solid var(--aa-focus);
	outline-offset: 3px;
}

label,
.gform-field-label {
	color: var(--aa-charcoal);
	font-weight: 600;
}

.gform_wrapper.gravity-theme .gfield_required {
	color: var(--aa-warning);
}

.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .gform_description {
	color: var(--aa-slate);
}

.gform_wrapper.gravity-theme .validation_message,
.gform_wrapper.gravity-theme .gfield_validation_message {
	background: #fff4f3;
	border: 1px solid var(--aa-warning);
	color: #712c28;
}

/* =========================================================
   HEADER AND NAVIGATION
   ========================================================= */

.site-header {
	background: var(--aa-white);
	border-bottom: 1px solid var(--aa-border);
}

.inside-header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	min-height: 104px;
	padding: 20px 28px;
}

.site-logo img {
	display: block;
	height: auto;
	max-width: 210px;
}

.header-widget {
	margin-left: auto;
	text-align: right;
}

.aa-header-identity {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.aa-header-descriptor {
	color: var(--aa-slate);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.015em;
}

.aa-header-phone {
	color: var(--aa-navy);
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}

.aa-header-phone:hover,
.aa-header-phone:focus {
	color: var(--aa-amber);
}

.main-navigation {
	background: var(--aa-navy);
}

.main-navigation .inside-navigation {
	margin-inline: auto;
	max-width: var(--aa-content-width);
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle {
	color: var(--aa-white);
	font-size: 15px;
	font-weight: 600;
	min-height: 48px;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus-within > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	background: rgba(255, 255, 255, 0.08);
	color: var(--aa-white);
}

.main-navigation ul ul {
	background: var(--aa-navy);
	border-top: 3px solid var(--aa-amber);
}

.main-navigation .main-nav ul ul li a {
	padding-block: 12px;
}

@media (min-width: 981px) {
	.main-navigation .main-nav ul li.nav-button {
		align-items: center;
		display: flex;
		margin-left: 14px;
	}

	.main-navigation .main-nav ul li.nav-button > a {
		background: var(--aa-amber);
		border-radius: var(--aa-radius);
		color: var(--aa-navy);
		line-height: 42px;
		margin-block: 9px;
		padding-inline: 20px;
	}

	.main-navigation .main-nav ul li.nav-button > a:hover,
	.main-navigation .main-nav ul li.nav-button > a:focus {
		background: var(--aa-amber-hover);
		color: var(--aa-navy);
	}
}

/* =========================================================
   FOOTER
   ========================================================= */

.footer-widgets {
	background: var(--aa-navy);
	color: var(--aa-white);
}

.footer-widgets :where(h2, h3, h4, p, li, a) {
	color: var(--aa-white);
}

.footer-widgets a:hover,
.footer-widgets a:focus {
	color: var(--aa-amber);
}

.site-info {
	background: #0f1d28;
	color: var(--aa-white);
	font-size: 0.9375rem;
}

.site-info a {
	color: var(--aa-white);
}

.aa-footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--aa-space-xs) var(--aa-space-md);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* =========================================================
   ACCESSIBILITY AND MEDIA
   ========================================================= */

.screen-reader-text:focus,
.skip-link:focus {
	background: var(--aa-white);
	color: var(--aa-navy);
	font-weight: 700;
	left: 8px;
	padding: 12px 16px;
	top: 8px;
	z-index: 100000;
}

img,
svg,
video {
	height: auto;
	max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media (max-width: 980px) {
	.inside-header {
		min-height: 80px;
		padding: 14px 20px;
	}

	.site-logo img {
		max-width: 175px;
	}

	.header-widget { display: block; margin: 10px 0 0; width: 100%; text-align: center; }
	.inside-header { flex-wrap: wrap; justify-content: center; }
	.aa-header-identity { align-items: center; }
	.aa-header-descriptor { display: none; }
	.aa-header-phone { display: inline-flex; align-items: center; min-height: 44px; }

	.main-navigation .menu-toggle {
		align-items: center;
		display: flex;
		justify-content: center;
		min-height: 52px;
	}

	.main-navigation .main-nav ul li a {
		padding-block: 12px;
	}

	.main-navigation .main-nav ul li.nav-button > a {
		background: var(--aa-amber);
		color: var(--aa-navy);
		margin: 12px 18px;
		text-align: center;
	}

	.aa-card-grid {
		grid-template-columns: 1fr;
	}

	.aa-cta-band {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--aa-space-md);
	}
}

@media (max-width: 768px) {
	body {
		font-size: 17px;
	}

	.aa-section {
		padding-block: var(--aa-space-2xl);
	}

	.aa-card {
		padding: var(--aa-space-md);
	}

	.aa-button-row {
		align-items: stretch;
		flex-direction: column;
	}

	.aa-button-row :where(.wp-block-button, .wp-block-button__link, .gb-button, .aa-button),
	input[type="submit"] {
		width: 100%;
	}

	.aa-cta-band {
		padding: var(--aa-space-lg);
	}
}



/* Stage 2 footer and full-width refinements. */
.aa-footer-copyright { margin-bottom: var(--aa-space-sm); }
.entry-content > .aa-section.alignfull { margin-inline: 0; max-width: none; width: 100%; }

/* Pre-launch accessibility corrections, October 6, 2026. */
.main-navigation .main-nav ul li > a:focus,
.main-navigation .main-nav ul li > a:focus-visible,
.main-navigation .menu-toggle:hover,
.main-navigation .menu-toggle:focus,
.main-navigation.toggled .menu-toggle { color: #fff; }
.main-navigation .main-nav ul li.nav-button > a:focus { color: var(--aa-navy); }
.gform_wrapper input:focus-visible, .gform_wrapper select:focus-visible, .gform_wrapper textarea:focus-visible { outline: 3px solid var(--aa-focus); outline-offset: 3px; }
.aa-footer-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; margin-bottom: 16px; }
.aa-footer-contact a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }

.main-navigation .main-nav ul li.sfHover > a { color: #fff !important; }

.gform_wrapper input:focus, .gform_wrapper select:focus, .gform_wrapper textarea:focus { outline: 3px solid #005fcc !important; outline-offset: 3px !important; }

/* Restored testimonial and missing-page content containers. */
.page-id-194 .inside-article, .error404 .inside-article { padding: 32px 24px; max-width: 1120px; margin-inline: auto; }
