:root{--lt-sh-sm:0 10px 24px rgba(var(--bs-dark-rgb,27,38,56),.09);--lt-sh-md:0 14px 36px rgba(22,33,48,.14);--lt-sh-lg:0 26px 54px -26px rgba(var(--bs-dark-rgb,27,38,56),.42);--lt-sh-glow:0 12px 28px rgba(var(--bs-warning-rgb),.28);--lt-sh-focus:0 0 0 3px rgba(var(--bs-warning-rgb),.22);}
:root,
[data-bs-theme=light] {
/* HomeVine palette (2026-11, t107136). Green primary / blue secondary. Replaces Harbor Slate.
   Contrast verified: primary 5.35:1, secondary 4.67:1, success 6.85:1, dark 14.48:1 on white. */
--bs-primary: #427736 !important;          /* green — headlines, CTA fill (5.35:1 on white) */
--bs-primary-rgb: 66, 119, 54 !important;
--bs-secondary: #3d79a8 !important;        /* blue — secondary text (4.67:1, clears AA normal) */
--bs-secondary-rgb: 61, 121, 168 !important;
--bs-success: #38652d !important;          /* deep green — accent-deep / hover (6.85:1) */
--bs-success-rgb: 56, 101, 45 !important;
--bs-info: #e8f1e4 !important;             /* pale green mist tint */
--bs-info-rgb: 232, 241, 228 !important;
--bs-warning: #427736 !important;          /* green — accent + CTA (white text clears AA) */
--bs-warning-rgb: 66, 119, 54 !important;
--bs-danger: #3f5c39 !important;           /* muted green-slate, decorative */
--bs-danger-rgb: 63, 92, 57 !important;
--bs-dark: #1b2e18 !important;             /* deep ink */
--bs-dark-rgb: 27, 46, 24 !important;
--bs-light: #eef3ec !important;            /* pale green — section bands, distinct from #fff body-bg */
--bs-light-rgb: 238, 243, 236 !important;
--bs-body-bg: #ffffff !important;
--bs-body-bg-rgb: 255, 255, 255 !important;
--bs-body-color: #1b2e18 !important;       /* deep ink body text */
--bs-body-color-rgb: 27, 46, 24 !important;

/* HomeVine bright accent. 2.15:1 on white = NEVER text on white and NEVER
   white text on it. 7.09:1 against --bs-dark, so: fills and rules carrying
   dark ink only. */
--accent-bright: #86c232;
--accent-bright-rgb: 134, 194, 50;

--font-display: "Fraunces", serif;
--font-heading: "Manrope", sans-serif;
--font-body: "Manrope", sans-serif;

--ink: var(--bs-body-color);
--muted: var(--bs-secondary);
--cream: var(--bs-light);
--mist: var(--bs-info);
--accent: var(--bs-warning);
--accent-deep: var(--bs-success);
--navy: var(--bs-primary);
--header-dark: var(--bs-dark);
--lt-teal: var(--bs-primary);
--lt-teal-dark: var(--bs-dark);
--lt-sage: var(--bs-secondary);
--lt-terra: var(--bs-warning);
--lt-mist: var(--bs-info);
--lt-cream: var(--bs-light);
--topbar-dark: #0f1724;
--card: var(--bs-body-bg);
--ring: rgba(var(--bs-warning-rgb), 0.25);

--white: var(--bs-body-bg);
--white-rgb: 255, 255, 255;
--text-inverse: #f7fafc;
--text-muted-on-dark: #c5d1e0;
--text-subtle-on-dark: #dde6da;
--text-dim-on-dark: #8a95a8; /* lightened for AA on the deep-ink footer (#17282e) — was #7a8599 = 4.09:1 */
--heading-strong: var(--bs-dark);
--heading-main: color-mix(in srgb, var(--bs-primary) 82%, #000);
--text-strong: var(--bs-primary);
--text-body-1: #4d7257;
--text-body-2: #36563a;
--accent-soft: #f4a361;
--dark-grad-1: color-mix(in srgb, var(--bs-primary) 80%, #000);
--dark-grad-2: var(--bs-primary);
--dark-grad-3: color-mix(in srgb, var(--bs-primary) 88%, #000);
--surface-1: #f8f7f3;
--surface-2: #fafbfc;
--surface-3: #f2f5f8;
--mist-2: color-mix(in srgb, var(--bs-info) 46%, #fff);
--shadow-rgb: 22, 33, 48;
--shadow-2-rgb: 23, 34, 53;
--overlay-rgb: 20, 31, 47;
}

body {
margin: 0;
font-family: "Manrope", sans-serif;
color: var(--bs-body-color);
background: radial-gradient(circle at 85% 10%, rgba(var(--bs-warning-rgb), 0.16), transparent 35%),
radial-gradient(circle at 15% 25%, rgba(var(--bs-primary-rgb), 0.15), transparent 40%),
linear-gradient(160deg, var(--cream) 0%, #f4f8f8 45%, var(--mist) 100%);
min-height: 100vh;
}

.top-bar {
background: var(--bs-dark);
color: #f7fafc;
font-size: 0.9rem;
}

.site-header {
background: rgba(var(--bs-dark-rgb), 0.96);
backdrop-filter: blur(8px);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.navbar-brand {
font-family: "Fraunces", serif;
font-size: 1.45rem;
color: #f8fafc;
letter-spacing: 0.2px;
}

.navbar-brand:hover,
.nav-link:hover {
color: var(--bs-warning);
}

.nav-link {
color: #d7deea;
font-weight: 600;
}

.navbar-toggler {
border: none;
padding: 0.25rem 0.5rem;
}

.navbar-toggler:focus {
outline: none;
box-shadow: none;
}

.navbar-toggler:active,
.navbar-toggler:focus-visible {
box-shadow: none;
outline: none;
}

.navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(248,250,252,0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
}

.site-header .container,
.site-header .navbar,
.site-header .navbar-collapse {
background: transparent !important;
}

.site-header .navbar-nav,
.site-header .navbar-nav .nav-item,
.site-header .navbar-nav .nav-link {
background: transparent !important;
}

.btn-main {
background: rgb(var(--bs-warning-rgb));
color: #fff;
border: none;
border-radius: 999px;
padding: 0.65rem 1.3rem;
font-weight: 700;
box-shadow: var(--lt-sh-glow);
transition: transform 0.25s ease, background-color 0.25s ease;
}

.btn-main:hover {
background: rgb(var(--bs-success-rgb));
color: #fff;
transform: translateY(-2px);
}

.btn-outline-main {
border: 2px solid rgba(var(--bs-primary-rgb), 0.25);
border-radius: 999px;
color: var(--bs-primary);
font-weight: 700;
padding: 0.62rem 1.3rem;
}

.btn-outline-main:hover {
border-color: var(--bs-primary);
background: rgba(var(--bs-primary-rgb), 0.06);
color: var(--bs-primary);
}

.hero {
padding: 5rem 0 4rem;
}

.hero-kicker {
font-size: 0.86rem;
text-transform: uppercase;
letter-spacing: 0.14em;
color: var(--bs-success);
font-weight: 800;
margin-bottom: 1rem;
}

.hero h1 {
font-family: "Fraunces", serif;
font-size: clamp(2rem, 4vw, 3.5rem);
line-height: 1.12;
color: var(--bs-dark);
}

.hero p {
color: var(--bs-secondary);
max-width: 60ch;
font-size: 1.08rem;
}

.hero-card {
background: rgba(255, 255, 255, 0.78);
border: 1px solid rgba(var(--bs-primary-rgb), 0.12);
border-radius: 18px;
padding: 1.4rem;
box-shadow: var(--lt-sh-md);
animation: riseIn 700ms ease both;
animation-delay: 160ms;
}

.hero-image {
height: 390px;
border-radius: 18px;
position: relative;
overflow: hidden;
background: none;
box-shadow: var(--lt-sh-md);
animation: riseIn 700ms ease both;
}

.hero-image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(145deg, rgba(var(--bs-primary-rgb), 0.86), rgba(var(--bs-primary-rgb), 0.45));
pointer-events: none;
}

.hero-image img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

.situations {
padding: 4rem 0 5rem;
}

.section-title {
font-family: "Fraunces", serif;
font-size: clamp(1.6rem, 3.3vw, 2.4rem);
color: var(--bs-dark);
}

.situation-card {
background: var(--card);
border-radius: 18px;
border: 1px solid rgba(var(--bs-primary-rgb), 0.12);
overflow: hidden;
height: 100%;
box-shadow: var(--lt-sh-sm);
transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.situation-card-image {
height: 140px;
position: relative;
overflow: hidden;
}

.situation-card-image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(20, 31, 47, 0.58), rgba(20, 31, 47, 0.1));
}

.situation-card-image img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

.situation-card-body {
padding: 1.35rem 1.35rem 1.45rem;
}

.situation-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(var(--bs-warning-rgb), 0.12);
color: var(--bs-success);
font-size: 1.05rem;
margin-bottom: 0.75rem;
}

.situation-card:hover {
transform: translateY(-5px);
box-shadow: var(--lt-sh-md);
border-color: var(--ring);
}

.situation-card h3 {
font-size: 1.2rem;
color: var(--bs-primary);
margin-bottom: 0.5rem;
}

.situation-card p {
margin: 0;
color: var(--bs-secondary);
}

.situations-outro {
max-width: 760px;
margin: 1.6rem auto 0;
color: #6a7688;
font-size: clamp(1.1rem, 2vw, 1.35rem);
font-weight: 500;
line-height: 1.55;
text-align: center;
}

.main-options {
padding: 4rem 0 5rem;
background: linear-gradient(135deg, var(--dark-grad-1) 0%, var(--dark-grad-2) 50%, var(--dark-grad-3) 100%);
}

.options-shell {
background: transparent;
border: none;
padding: 0;
box-shadow: none;
}

.section-kicker {
font-size: 0.82rem;
text-transform: uppercase;
letter-spacing: 0.14em;
font-weight: 800;
/* was #f4a361 (a leftover orange from an earlier palette): off-brand on any
   client palette and invisible to the Theme Customizer. --bs-warning is the
   accent role and is contrast-checked per site. */
color: var(--bs-warning);
margin-bottom: 0.55rem;
}

.main-options .section-title {
color: #f6f9f5;
}

.options-intro {
max-width: 66ch;
color: #b4c0d1;
margin: 0 auto;
}

.path-card {
height: 100%;
background: #fff;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 18px;
padding: 1.35rem;
box-shadow: var(--lt-sh-lg);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.path-card:hover {
transform: translateY(-6px);
box-shadow: var(--lt-sh-lg);
}

.path-badge {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 110px;
height: 34px;
padding: 0 0.85rem;
border-radius: 999px;
background: rgba(var(--bs-primary-rgb), 0.09);
color: #23344d;
font-size: 0.82rem;
font-weight: 800;
letter-spacing: 0.05em;
text-transform: uppercase;
margin-bottom: 0.75rem;
}

.path-title {
font-family: "Fraunces", serif;
font-size: 1.4rem;
margin-bottom: 0.9rem;
color: #1b2a40;
}

.path-label {
display: block;
font-weight: 700;
color: #21324a;
margin-bottom: 0.35rem;
}

.path-points {
margin: 0 0 1rem;
padding-left: 1.1rem;
color: #5a697f;
}

.path-points li+li {
margin-top: 0.3rem;
}

.options-closing {
margin: 1.5rem auto 0;
text-align: center;
font-size: clamp(1.08rem, 1.8vw, 1.28rem);
color: #a8bace;
font-weight: 500;
}

.insights {
padding: 4rem 0 5rem;
background: linear-gradient(160deg, #f8f7f3 0%, #fafbfc 50%, #f2f5f8 100%);
}

.insights .section-title {
color: #1a2b42;
margin-bottom: 0.8rem;
}

.insights-list {
max-width: 800px;
margin: 0 auto;
list-style: none;
padding: 0;
}

.insights-point {
display: flex;
gap: 1rem;
margin-bottom: 1.2rem;
align-items: flex-start;
}

.insights-point-icon {
display: flex;
align-items: center;
justify-content: center;
min-width: 32px;
width: 32px;
height: 32px;
border-radius: 50%;
background: rgba(var(--bs-warning-rgb), 0.14);
color: var(--bs-warning);
font-size: 0.95rem;
flex-shrink: 0;
margin-top: 0.15rem;
}

.insights-point-text {
font-size: 1.03rem;
color: #36563a;
line-height: 1.5;
margin: 0;
}

.insights-closing {
margin: 2rem auto 0;
max-width: 800px;
text-align: center;
font-size: clamp(1.1rem, 1.8vw, 1.3rem);
color: var(--bs-primary);
font-weight: 600;
line-height: 1.55;
}

.how-i-help {
padding: 4rem 0 5rem;
background: radial-gradient(circle at 85% 10%, rgba(var(--bs-warning-rgb), 0.16), transparent 35%),
radial-gradient(circle at 15% 25%, rgba(var(--bs-primary-rgb), 0.15), transparent 40%),
linear-gradient(160deg, var(--cream) 0%, #f4f8f8 45%, var(--mist) 100%);
}

.how-i-help .section-title {
color: var(--bs-dark);
margin-bottom: 0.5rem;
}

.how-i-help-intro {
max-width: 700px;
margin: 0.5rem auto 2rem;
text-align: center;
color: #4d7257;
font-size: 1.05rem;
line-height: 1.6;
}

.help-wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: center;
}

.help-list {
max-width: 100%;
margin: 0;
list-style: none;
padding: 0;
}

.help-image {
height: 420px;
border-radius: 18px;
position: relative;
overflow: hidden;
background: none;
box-shadow: var(--lt-sh-lg);
}

.help-image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.82), rgba(var(--bs-primary-rgb), 0.42));
pointer-events: none;
}

.help-image img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

.help-item {
display: flex;
gap: 1.1rem;
margin-bottom: 1.3rem;
align-items: flex-start;
}

.help-item-icon {
display: flex;
align-items: center;
justify-content: center;
min-width: 40px;
width: 40px;
height: 40px;
border-radius: 8px;
background: rgba(var(--bs-warning-rgb), 0.18);
color: var(--bs-success);
font-size: 1.15rem;
flex-shrink: 0;
}

.help-item-text {
font-size: 1.05rem;
color: #3a516e;
line-height: 1.52;
margin: 0;
padding-top: 0.15rem;
}

.how-i-help-closing {
margin: 1.5rem auto 0;
max-width: 750px;
text-align: center;
font-size: clamp(1.08rem, 1.8vw, 1.28rem);
color: var(--bs-primary);
font-weight: 600;
line-height: 1.55;
}

.final-cta {
padding: 5rem 0;
background: linear-gradient(135deg, var(--dark-grad-1) 0%, var(--dark-grad-2) 50%, var(--dark-grad-3) 100%);
}

.final-cta-content {
max-width: 700px;
margin: 0 auto;
text-align: center;
}

.final-cta h2 {
font-family: "Fraunces", serif;
font-size: clamp(2rem, 4vw, 3rem);
color: #f6f9f5;
margin-bottom: 1.2rem;
line-height: 1.15;
}

.final-cta-copy {
font-size: 1.1rem;
color: #dde6da;
margin-bottom: 2rem;
line-height: 1.7;
}

.cta-button {
display: inline-block;
background: var(--bs-warning);
color: #fff;
border: none;
border-radius: 999px;
padding: 1rem 2.2rem;
font-weight: 700;
font-size: 1.05rem;
box-shadow: var(--lt-sh-glow);
transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
text-decoration: none;
cursor: pointer;
}

.cta-button:hover {
background: var(--bs-success);
transform: translateY(-3px);
box-shadow: var(--lt-sh-glow);
color: #fff;
}

.footer {
background: #16240f;
color: #c5d1e0;
padding: 2.5rem 0 1.5rem;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-content {
display: grid;
grid-template-columns: auto 1fr auto;
gap: 2rem;
align-items: center;
margin-bottom: 1.5rem;
}

.footer-brand {
font-family: "Fraunces", serif;
font-size: 1.15rem;
color: #f6f9f5;
font-weight: 700;
}

.footer-links {
display: flex;
justify-content: center;
gap: 2rem;
flex-wrap: wrap;
}

.footer-links a {
color: #c5d1e0;
text-decoration: none;
font-size: 0.95rem;
transition: color 0.25s ease;
}

.footer-links a:hover {
color: var(--bs-warning);
}

.footer-contact {
text-align: right;
font-size: 0.9rem;
}

.footer-divider {
border-top: 1px solid rgba(255, 255, 255, 0.1);
margin: 1.5rem 0;
}

.footer-bottom {
text-align: center;
font-size: 0.85rem;
color: #7a8599;
}

@keyframes riseIn {

from {
opacity: 0;
transform: translateY(16px);
}

to {
opacity: 1;
transform: translateY(0);
}

}

.page-hero {
padding: 3.5rem 0;
background: radial-gradient(circle at 85% 10%, rgba(var(--bs-warning-rgb), 0.16), transparent 35%),
radial-gradient(circle at 15% 25%, rgba(var(--bs-primary-rgb), 0.15), transparent 40%),
linear-gradient(160deg, var(--cream) 0%, #f4f8f8 45%, var(--mist) 100%);
}

.page-hero h1 {
font-family: "Fraunces", serif;
font-size: clamp(2rem, 4vw, 3.5rem);
line-height: 1.12;
color: var(--bs-dark);
margin-bottom: 1rem;
}

.page-hero-intro {
max-width: 700px;
font-size: 1.08rem;
color: #4d7257;
line-height: 1.65;
}

.option-section {
padding: 3.5rem 0;
border-bottom: 1px solid rgba(var(--bs-primary-rgb), 0.08);
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: center;
}

.option-section:last-of-type {
border-bottom: none;
}

.option-content {
max-width: 520px;
}

.option-image {
height: 380px;
border-radius: 18px;
position: relative;
overflow: hidden;
box-shadow: var(--lt-sh-md);
}

.option-image img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

.option-title {
font-family: "Fraunces", serif;
font-size: clamp(1.6rem, 3vw, 2.2rem);
color: var(--bs-dark);
margin-bottom: 0.8rem;
}

.option-intro {
font-size: 1.05rem;
color: #4d7257;
margin-bottom: 1.5rem;
line-height: 1.6;
}

.option-subsection {
margin-bottom: 1.8rem;
}

.option-subsection-title {
display: block;
font-weight: 700;
color: #23344d;
margin-bottom: 0.8rem;
font-size: 0.95rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}

.option-list {
list-style: none;
padding-left: 0;
margin: 0;
}

.option-list li {
padding-left: 1.5rem;
position: relative;
margin-bottom: 0.65rem;
color: #41684a;
line-height: 1.55;
}

.option-list li::before {
content: "·";
position: absolute;
left: 0;
color: var(--bs-warning);
font-weight: bold;
font-size: 1.3rem;
}

.options-final-cta {
padding: 4rem 0;
background: linear-gradient(135deg, var(--dark-grad-1) 0%, var(--dark-grad-2) 50%, var(--dark-grad-3) 100%);
margin-top: 1rem;
}

.options-cta-content {
max-width: 700px;
margin: 0 auto;
text-align: center;
}

.options-cta-content h2 {
font-family: "Fraunces", serif;
font-size: clamp(2rem, 4vw, 3rem);
color: #f6f9f5;
margin-bottom: 1.5rem;
line-height: 1.15;
}

.options-cta-text {
font-size: 1.1rem;
color: #dde6da;
margin-bottom: 2rem;
line-height: 1.7;
}

@keyframes riseIn {

from {
opacity: 0;
transform: translateY(16px);
}

to {
opacity: 1;
transform: translateY(0);
}

}

.scenarios {
padding: 3.5rem 0 4rem;
}

.scenario-section {
padding: 3.5rem 0;
border-bottom: 1px solid rgba(var(--bs-primary-rgb), 0.08);
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: center;
}

.scenario-section:last-of-type {
border-bottom: none;
}

.scenario-content {
max-width: 520px;
}

.scenario-image {
height: 380px;
border-radius: 18px;
position: relative;
overflow: hidden;
box-shadow: var(--lt-sh-md);
}

.scenario-image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(20, 31, 47, 0.58), rgba(20, 31, 47, 0.1));
pointer-events: none;
}

.scenario-image img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

.scenario-title {
font-family: "Fraunces", serif;
font-size: clamp(1.6rem, 3vw, 2.2rem);
color: var(--bs-dark);
margin-bottom: 0.8rem;
}

.scenario-description {
color: #4d7257;
font-size: 1.05rem;
line-height: 1.6;
margin: 0;
}

.scenarios-closing {
margin-top: 3rem;
padding: 2.5rem;
background: rgba(var(--bs-warning-rgb), 0.06);
border-left: 4px solid var(--bs-warning);
border-radius: 8px;
}

.scenarios-closing p {
text-align: center;
font-size: 1.15rem;
color: var(--bs-dark);
margin: 0;
line-height: 1.6;
font-weight: 600;
}

.scenarios-final-cta {
padding: 4rem 0;
background: linear-gradient(135deg, var(--dark-grad-1) 0%, var(--dark-grad-2) 50%, var(--dark-grad-3) 100%);
margin-top: 1rem;
}

.scenarios-cta-content {
max-width: 700px;
margin: 0 auto;
text-align: center;
}

.scenarios-cta-content h2 {
font-family: "Fraunces", serif;
font-size: clamp(2rem, 4vw, 3rem);
color: #f6f9f5;
margin-bottom: 1.5rem;
line-height: 1.15;
}

.scenarios-cta-text {
font-size: 1.1rem;
color: #dde6da;
margin-bottom: 2rem;
line-height: 1.7;
}

@keyframes riseIn {

from {
opacity: 0;
transform: translateY(16px);
}

to {
opacity: 1;
transform: translateY(0);
}

}

/* Was `1rem 0 4rem` — a quarter of the bottom space, so the cards sat almost
   flush under the hero while a generous gap followed them. Symmetric now. The
   second .value-sections on the page carries an inline padding-top:0 so the two
   stacked sections still do not double up. */
.value-sections {
padding: 4rem 0;
}

.value-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1.25rem;
}

.value-card {
background: rgba(255, 255, 255, 0.82);
border: 1px solid rgba(var(--bs-primary-rgb), 0.12);
border-radius: 18px;
padding: 1.4rem 1.25rem;
box-shadow: var(--lt-sh-sm);
}

/* LiveCanvas wraps each authored block in a .lc-block div, so the GRID stretches
   the wrapper while the card inside keeps its content height — three cards with
   4/3/3 bullets rendered at three different heights. Let the wrapper be a column
   and the card fill it. */
.value-grid > .lc-block { display: flex; flex-direction: column; }
.value-grid > .lc-block > .value-card { flex: 1 1 auto; }
.value-grid > .value-card { height: 100%; }   /* if ever authored without the wrapper */

/* Prose variant of the same card. The panel below the grid was a hand-rolled div
   repeating the card's styling inline (hardcoded white and its own shadow) at
   max-width:900px centred, so its edges lined up with nothing. It now shares the
   card styling and the grid's width, with the two paragraphs sitting in two
   columns so the extra width is used rather than left blank. */
.value-card--prose { padding: 2rem; }
@media (min-width: 992px) {
  .value-card--prose { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.25rem; align-items: start; }
  .value-card--prose > .value-card-title { grid-column: 1 / -1; }
}

.value-card-title {
font-family: "Fraunces", serif;
font-size: 1.35rem;
line-height: 1.2;
color: #1a2b42;
margin-bottom: 0.9rem;
}

.value-list {
list-style: none;
margin: 0;
padding: 0;
}

.value-list li {
position: relative;
padding-left: 1.45rem;
color: #41684a;
line-height: 1.55;
margin-bottom: 0.55rem;
}

.value-list li::before {
content: "\2022";
position: absolute;
left: 0;
top: 0;
color: var(--bs-warning);
font-size: 1.15rem;
font-weight: 800;
}

.value-final-cta {
padding: 4rem 0;
background: linear-gradient(135deg, var(--dark-grad-1) 0%, var(--dark-grad-2) 50%, var(--dark-grad-3) 100%);
margin-top: 1rem;
}

.value-cta-content {
max-width: 700px;
margin: 0 auto;
text-align: center;
}

.value-cta-content h2 {
font-family: "Fraunces", serif;
font-size: clamp(2rem, 4vw, 3rem);
color: #f6f9f5;
margin-bottom: 1.4rem;
line-height: 1.15;
}

.value-cta-text {
font-size: 1.08rem;
color: #dde6da;
line-height: 1.65;
margin-bottom: 2rem;
}

@keyframes riseIn {

from {
opacity: 0;
transform: translateY(16px);
}

to {
opacity: 1;
transform: translateY(0);
}

}

.faq-section {
padding: 1rem 0 4rem;
}

.faq-shell {
max-width: 920px;
margin: 0 auto;
}

.faq-item {
background: rgba(255, 255, 255, 0.84);
border: 1px solid rgba(var(--bs-primary-rgb), 0.14);
border-radius: 14px;
overflow: hidden;
box-shadow: var(--lt-sh-sm);
}

.faq-item+.faq-item {
margin-top: 0.9rem;
}

.faq-question {
font-weight: 700;
font-size: 1.02rem;
color: #1a2b42;
}

.faq-shell .accordion-button {
padding: 1rem 1.1rem;
background: transparent;
box-shadow: none;
}

.faq-shell .accordion-button:not(.collapsed) {
background: var(--header-dark);
color: #f7fafc;
}

.faq-shell .accordion-button:focus {
box-shadow: none;
}

.faq-shell .accordion-button::after {
filter: hue-rotate(334deg) saturate(145%);
}

.faq-shell .accordion-button:not(.collapsed)::after {
filter: none;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23f7fafc'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.faq-shell .accordion-body {
padding: 0.2rem 1.1rem 1.1rem;
color: #41684a;
line-height: 1.6;
}

.faq-final-cta {
padding: 4rem 0;
background: linear-gradient(135deg, var(--dark-grad-1) 0%, var(--dark-grad-2) 50%, var(--dark-grad-3) 100%);
margin-top: 1rem;
}

.faq-cta-content {
max-width: 700px;
margin: 0 auto;
text-align: center;
}

.faq-cta-content h2 {
font-family: "Fraunces", serif;
font-size: clamp(2rem, 4vw, 3rem);
color: #f6f9f5;
margin-bottom: 1.2rem;
line-height: 1.15;
}

.faq-cta-text {
font-size: 1.08rem;
color: #dde6da;
line-height: 1.65;
margin-bottom: 2rem;
}

@keyframes riseIn {

from {
opacity: 0;
transform: translateY(16px);
}

to {
opacity: 1;
transform: translateY(0);
}

}

.about-section {
padding: 2rem 0 4.5rem;
}

.about-copy {
margin: 0;
font-size: 1.08rem;
color: #41684a;
line-height: 1.8;
max-width: 900px;
}

@keyframes riseIn {

from {
opacity: 0;
transform: translateY(16px);
}

to {
opacity: 1;
transform: translateY(0);
}

}

.contact-section {
padding: 1rem 0 4.5rem;
}

.contact-shell {
max-width: 980px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1.1fr;
gap: 1.8rem;
align-items: start;
}

.contact-copy {
color: #41684a;
font-size: 1.08rem;
line-height: 1.75;
margin: 0;
}

.contact-form-wrap {
background: rgba(255, 255, 255, 0.86);
border: 1px solid rgba(var(--bs-primary-rgb), 0.14);
border-radius: 18px;
padding: 1.3rem;
box-shadow: var(--lt-sh-sm);
}

.contact-label {
display: block;
font-weight: 700;
font-size: 0.93rem;
color: #1f3a1b;
margin-bottom: 0.35rem;
}

.contact-input,
.contact-textarea {
width: 100%;
border: 1px solid rgba(var(--bs-primary-rgb), 0.2);
background: #fff;
border-radius: 8px;
padding: 0.65rem 0.75rem;
font-size: 0.98rem;
color: #23344d;
}

.contact-input:focus,
.contact-textarea:focus {
outline: none;
border-color: rgba(var(--bs-warning-rgb), 0.6);
box-shadow: var(--lt-sh-focus);
}

.contact-textarea {
min-height: 140px;
resize: vertical;
}

@keyframes riseIn {

from {
opacity: 0;
transform: translateY(16px);
}

to {
opacity: 1;
transform: translateY(0);
}

}

@media (max-width: 991.98px) {
.hero {
padding-top: 3.5rem;
}

.hero-image {
height: 320px;
}

.top-bar .container {
justify-content: center;
gap: 0.8rem;
flex-wrap: wrap;
}

.options-shell {
padding: 1.25rem;
}

.situations-outro {
font-size: 1.12rem;
}

.insights {
padding: 3rem 0 4rem;
}

.insights-point {
gap: 0.75rem;
margin-bottom: 1rem;
}

}

/* Theme Customizer contract overrides */
body {
font-family: var(--font-body);
color: var(--bs-body-color);
background: radial-gradient(circle at 85% 10%, rgba(var(--bs-warning-rgb), 0.16), transparent 35%),
radial-gradient(circle at 15% 25%, rgba(var(--bs-primary-rgb), 0.15), transparent 40%),
linear-gradient(160deg, var(--cream) 0%, var(--mist-2) 45%, var(--mist) 100%);
}

h1,
h2,
h3,
.section-title,
.hero h1,
.path-title,
.final-cta h2,
.page-hero h1,
.option-title,
.options-cta-content h2,
.scenario-title,
.scenarios-cta-content h2,
.value-card-title,
.value-cta-content h2,
.faq-cta-content h2 {
font-family: var(--font-display);
}

h4,
h5,
h6,
.btn,
.btn-main,
.btn-outline-main,
.cta-button {
font-family: var(--font-heading);
}

.top-bar,
.navbar-brand,
.main-options .section-title,
.final-cta h2,
.options-cta-content h2,
.scenarios-cta-content h2,
.value-cta-content h2,
.faq-cta-content h2,
.faq-shell .accordion-button:not(.collapsed) {
color: var(--text-inverse);
}

.nav-link,
.footer,
.footer-links a,
.options-intro {
color: var(--text-muted-on-dark);
}

.final-cta-copy,
.options-cta-text,
.scenarios-cta-text,
.value-cta-text,
.faq-cta-text,
.options-closing {
color: var(--text-subtle-on-dark);
}

.footer-bottom {
color: var(--text-dim-on-dark);
}

.hero h1,
.section-title,
.how-i-help .section-title,
.page-hero h1,
.option-title,
.scenario-title,
.scenarios-closing p {
color: var(--heading-strong);
}

.insights .section-title,
.value-card-title,
.faq-question {
color: var(--heading-main);
}

.path-title,
.path-label,
.option-subsection-title,
.contact-label,
.contact-input,
.contact-textarea,
.path-badge,
.situation-card h3 {
color: var(--text-strong);
}

.hero p,
.how-i-help-intro,
.page-hero-intro,
.option-intro,
.scenario-description,
.value-list li,
.faq-shell .accordion-body,
.about-copy,
.contact-copy,
.option-list li,
.situation-card p {
color: var(--text-body-1);
}

.insights-point-text,
.help-item-text {
color: var(--text-body-2);
}

.main-options,
.final-cta,
.options-final-cta,
.scenarios-final-cta,
.value-final-cta,
.faq-final-cta {
background: linear-gradient(135deg, var(--dark-grad-1) 0%, var(--dark-grad-2) 50%, var(--dark-grad-3) 100%);
}

.insights {
background: linear-gradient(160deg, var(--surface-1) 0%, var(--surface-2) 50%, var(--surface-3) 100%);
}

.how-i-help,
.page-hero {
background: radial-gradient(circle at 85% 10%, rgba(var(--bs-warning-rgb), 0.16), transparent 35%),
radial-gradient(circle at 15% 25%, rgba(var(--bs-primary-rgb), 0.15), transparent 40%),
linear-gradient(160deg, var(--cream) 0%, var(--mist-2) 45%, var(--mist) 100%);
}

.site-header {
background: rgba(var(--bs-dark-rgb), 0.96);
border-bottom: 1px solid rgba(var(--white-rgb), 0.1);
}

.btn-main,
.btn-main:hover,
.cta-button,
.cta-button:hover {
color: var(--white);
}

.hero-card,
.value-card,
.faq-item,
.contact-form-wrap {
background: rgba(var(--white-rgb), 0.82);
border-color: rgba(var(--bs-primary-rgb), 0.12);
}

.path-card,
.contact-input,
.contact-textarea {
background: var(--white);
}

.contact-input,
.contact-textarea {
border-color: rgba(var(--bs-primary-rgb), 0.2);
}

.contact-input:focus,
.contact-textarea:focus {
border-color: rgba(var(--bs-warning-rgb), 0.6);
box-shadow: var(--lt-sh-focus);
}

.option-section,
.scenario-section {
border-bottom: 1px solid rgba(var(--bs-primary-rgb), 0.08);
}

.scenarios-closing {
background: rgba(var(--bs-warning-rgb), 0.06);
}

.footer,
.faq-shell .accordion-button:not(.collapsed) {
background: var(--header-dark);
}

.footer-divider,
.footer {
border-color: rgba(var(--white-rgb), 0.08);
}

@media (max-width: 991.98px) {

.insights-closing {
font-size: 1.08rem;
}

.how-i-help {
padding: 3rem 0 4rem;
}

.help-wrapper {
grid-template-columns: 1fr;
gap: 2rem;
}

.help-image {
height: 300px;
}

.help-item {
gap: 0.9rem;
margin-bottom: 1.1rem;
}

.how-i-help-closing {
font-size: 1.06rem;
}

.final-cta {
padding: 3.5rem 0;
}

.final-cta h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.final-cta-copy {
font-size: 1rem;
}

.cta-button {
padding: 0.85rem 1.8rem;
font-size: 1rem;
}

.footer-content {
grid-template-columns: 1fr;
gap: 1.2rem;
text-align: center;
}

.footer-contact {
text-align: center;
}

.footer-links {
justify-content: center;
gap: 1.2rem;
}
}

@media (max-width: 991.98px) {
.hero {
padding-top: 3.5rem;
}

.hero-image {
height: 320px;
}

.top-bar .container {
justify-content: center;
gap: 0.8rem;
flex-wrap: wrap;
}

.options-shell {
padding: 1.25rem;
}

.situations-outro {
font-size: 1.12rem;
}

.insights {
padding: 3rem 0 4rem;
}

.insights-point {
gap: 0.75rem;
margin-bottom: 1rem;
}

.insights-closing {
font-size: 1.08rem;
}

.how-i-help {
padding: 3rem 0 4rem;
}

.help-wrapper {
grid-template-columns: 1fr;
gap: 2rem;
}

.help-image {
height: 300px;
}

.help-item {
gap: 0.9rem;
margin-bottom: 1.1rem;
}

.how-i-help-closing {
font-size: 1.06rem;
}

.final-cta {
padding: 3.5rem 0;
}

.final-cta h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.final-cta-copy {
font-size: 1rem;
}

.cta-button {
padding: 0.85rem 1.8rem;
font-size: 1rem;
}

.footer-content {
grid-template-columns: 1fr;
gap: 1.2rem;
text-align: center;
}

.footer-contact {
text-align: center;
}

.footer-links {
justify-content: center;
gap: 1.2rem;
}

.page-hero {
padding: 2.5rem 0;
}

.option-section {
grid-template-columns: 1fr;
padding: 2.5rem 0;
gap: 2rem;
direction: ltr;
}

.option-section:nth-child(even) {
direction: ltr;
}

.option-image {
height: 280px;
}

.option-title {
font-size: 1.45rem;
margin-bottom: 0.6rem;
}

.option-intro {
font-size: 1rem;
}

.options-final-cta {
padding: 3.5rem 0;
}

.options-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.options-cta-text {
font-size: 1rem;
}
}

@media (max-width: 991.98px) {
.hero {
padding-top: 3.5rem;
}

.hero-image {
height: 320px;
}

.top-bar .container {
justify-content: center;
gap: 0.8rem;
flex-wrap: wrap;
}

.options-shell {
padding: 1.25rem;
}

.situations-outro {
font-size: 1.12rem;
}

.insights {
padding: 3rem 0 4rem;
}

.insights-point {
gap: 0.75rem;
margin-bottom: 1rem;
}

.insights-closing {
font-size: 1.08rem;
}

.how-i-help {
padding: 3rem 0 4rem;
}

.help-wrapper {
grid-template-columns: 1fr;
gap: 2rem;
}

.help-image {
height: 300px;
}

.help-item {
gap: 0.9rem;
margin-bottom: 1.1rem;
}

.how-i-help-closing {
font-size: 1.06rem;
}

.final-cta {
padding: 3.5rem 0;
}

.final-cta h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.final-cta-copy {
font-size: 1rem;
}

.cta-button {
padding: 0.85rem 1.8rem;
font-size: 1rem;
}

.footer-content {
grid-template-columns: 1fr;
gap: 1.2rem;
text-align: center;
}

.footer-contact {
text-align: center;
}

.footer-links {
justify-content: center;
gap: 1.2rem;
}

.page-hero {
padding: 2.5rem 0;
}

.option-section {
grid-template-columns: 1fr;
padding: 2.5rem 0;
gap: 2rem;
direction: ltr;
}

.option-section:nth-child(even) {
direction: ltr;
}

.option-image {
height: 280px;
}

.option-title {
font-size: 1.45rem;
margin-bottom: 0.6rem;
}

.option-intro {
font-size: 1rem;
}

.options-final-cta {
padding: 3.5rem 0;
}

.options-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.options-cta-text {
font-size: 1rem;
}

.scenarios {
padding: 2.5rem 0 3rem;
}

.scenario-section {
grid-template-columns: 1fr;
padding: 2.5rem 0;
gap: 2rem;
}

.scenario-image {
height: 280px;
}

.scenario-title {
font-size: 1.45rem;
margin-bottom: 0.6rem;
}

.scenario-description {
font-size: 1rem;
}

.scenarios-closing {
margin-top: 2rem;
padding: 1.8rem;
}

.scenarios-closing p {
font-size: 1.05rem;
}

.scenarios-final-cta {
padding: 3.5rem 0;
}

.scenarios-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.scenarios-cta-text {
font-size: 1rem;
}
}

@media (max-width: 991.98px) {
.hero {
padding-top: 3.5rem;
}

.hero-image {
height: 320px;
}

.top-bar .container {
justify-content: center;
gap: 0.8rem;
flex-wrap: wrap;
}

.options-shell {
padding: 1.25rem;
}

.situations-outro {
font-size: 1.12rem;
}

.insights {
padding: 3rem 0 4rem;
}

.insights-point {
gap: 0.75rem;
margin-bottom: 1rem;
}

.insights-closing {
font-size: 1.08rem;
}

.how-i-help {
padding: 3rem 0 4rem;
}

.help-wrapper {
grid-template-columns: 1fr;
gap: 2rem;
}

.help-image {
height: 300px;
}

.help-item {
gap: 0.9rem;
margin-bottom: 1.1rem;
}

.how-i-help-closing {
font-size: 1.06rem;
}

.final-cta {
padding: 3.5rem 0;
}

.final-cta h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.final-cta-copy {
font-size: 1rem;
}

.cta-button {
padding: 0.85rem 1.8rem;
font-size: 1rem;
}

.footer-content {
grid-template-columns: 1fr;
gap: 1.2rem;
text-align: center;
}

.footer-contact {
text-align: center;
}

.footer-links {
justify-content: center;
gap: 1.2rem;
}

.page-hero {
padding: 2.5rem 0;
}

.option-section {
grid-template-columns: 1fr;
padding: 2.5rem 0;
gap: 2rem;
direction: ltr;
}

.option-section:nth-child(even) {
direction: ltr;
}

.option-image {
height: 280px;
}

.option-title {
font-size: 1.45rem;
margin-bottom: 0.6rem;
}

.option-intro {
font-size: 1rem;
}

.options-final-cta {
padding: 3.5rem 0;
}

.options-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.options-cta-text {
font-size: 1rem;
}

.value-grid {
grid-template-columns: 1fr;
gap: 1rem;
}

.value-card {
padding: 1.2rem 1.05rem;
}

.value-card-title {
font-size: 1.25rem;
}

.value-final-cta {
padding: 3.5rem 0;
}

.value-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.value-cta-text {
font-size: 1rem;
}
}

@media (max-width: 991.98px) {
.hero {
padding-top: 3.5rem;
}

.hero-image {
height: 320px;
}

.top-bar .container {
justify-content: center;
gap: 0.8rem;
flex-wrap: wrap;
}

.options-shell {
padding: 1.25rem;
}

.situations-outro {
font-size: 1.12rem;
}

.insights {
padding: 3rem 0 4rem;
}

.insights-point {
gap: 0.75rem;
margin-bottom: 1rem;
}

.insights-closing {
font-size: 1.08rem;
}

.how-i-help {
padding: 3rem 0 4rem;
}

.help-wrapper {
grid-template-columns: 1fr;
gap: 2rem;
}

.help-image {
height: 300px;
}

.help-item {
gap: 0.9rem;
margin-bottom: 1.1rem;
}

.how-i-help-closing {
font-size: 1.06rem;
}

.final-cta {
padding: 3.5rem 0;
}

.final-cta h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.final-cta-copy {
font-size: 1rem;
}

.cta-button {
padding: 0.85rem 1.8rem;
font-size: 1rem;
}

.footer-content {
grid-template-columns: 1fr;
gap: 1.2rem;
text-align: center;
}

.footer-contact {
text-align: center;
}

.footer-links {
justify-content: center;
gap: 1.2rem;
}

.page-hero {
padding: 2.5rem 0;
}

.option-section {
grid-template-columns: 1fr;
padding: 2.5rem 0;
gap: 2rem;
direction: ltr;
}

.option-section:nth-child(even) {
direction: ltr;
}

.option-image {
height: 280px;
}

.option-title {
font-size: 1.45rem;
margin-bottom: 0.6rem;
}

.option-intro {
font-size: 1rem;
}

.options-final-cta {
padding: 3.5rem 0;
}

.options-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.options-cta-text {
font-size: 1rem;
}

.faq-section {
padding: 0.5rem 0 3rem;
}

.faq-shell .accordion-button {
padding: 0.9rem 0.95rem;
}

.faq-shell .accordion-body {
padding: 0.15rem 0.95rem 0.95rem;
}

.faq-final-cta {
padding: 3.5rem 0;
}

.faq-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.faq-cta-text {
font-size: 1rem;
}
}

@media (max-width: 991.98px) {
.hero {
padding-top: 3.5rem;
}

.hero-image {
height: 320px;
}

.top-bar .container {
justify-content: center;
gap: 0.8rem;
flex-wrap: wrap;
}

.options-shell {
padding: 1.25rem;
}

.situations-outro {
font-size: 1.12rem;
}

.insights {
padding: 3rem 0 4rem;
}

.insights-point {
gap: 0.75rem;
margin-bottom: 1rem;
}

.insights-closing {
font-size: 1.08rem;
}

.how-i-help {
padding: 3rem 0 4rem;
}

.help-wrapper {
grid-template-columns: 1fr;
gap: 2rem;
}

.help-image {
height: 300px;
}

.help-item {
gap: 0.9rem;
margin-bottom: 1.1rem;
}

.how-i-help-closing {
font-size: 1.06rem;
}

.final-cta {
padding: 3.5rem 0;
}

.final-cta h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.final-cta-copy {
font-size: 1rem;
}

.cta-button {
padding: 0.85rem 1.8rem;
font-size: 1rem;
}

.footer-content {
grid-template-columns: 1fr;
gap: 1.2rem;
text-align: center;
}

.footer-contact {
text-align: center;
}

.footer-links {
justify-content: center;
gap: 1.2rem;
}

.page-hero {
padding: 2.5rem 0;
}

.option-section {
grid-template-columns: 1fr;
padding: 2.5rem 0;
gap: 2rem;
direction: ltr;
}

.option-section:nth-child(even) {
direction: ltr;
}

.option-image {
height: 280px;
}

.option-title {
font-size: 1.45rem;
margin-bottom: 0.6rem;
}

.option-intro {
font-size: 1rem;
}

.options-final-cta {
padding: 3.5rem 0;
}

.options-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.options-cta-text {
font-size: 1rem;
}

.about-section {
padding: 1.25rem 0 3rem;
}

.about-copy {
font-size: 1rem;
line-height: 1.7;
}
}

@media (max-width: 991.98px) {
.hero {
padding-top: 3.5rem;
}

.hero-image {
height: 320px;
}

.top-bar .container {
justify-content: center;
gap: 0.8rem;
flex-wrap: wrap;
}

.options-shell {
padding: 1.25rem;
}

.situations-outro {
font-size: 1.12rem;
}

.insights {
padding: 3rem 0 4rem;
}

.insights-point {
gap: 0.75rem;
margin-bottom: 1rem;
}

.insights-closing {
font-size: 1.08rem;
}

.how-i-help {
padding: 3rem 0 4rem;
}

.help-wrapper {
grid-template-columns: 1fr;
gap: 2rem;
}

.help-image {
height: 300px;
}

.help-item {
gap: 0.9rem;
margin-bottom: 1.1rem;
}

.how-i-help-closing {
font-size: 1.06rem;
}

.final-cta {
padding: 3.5rem 0;
}

.final-cta h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.final-cta-copy {
font-size: 1rem;
}

.cta-button {
padding: 0.85rem 1.8rem;
font-size: 1rem;
}

.footer-content {
grid-template-columns: 1fr;
gap: 1.2rem;
text-align: center;
}

.footer-contact {
text-align: center;
}

.footer-links {
justify-content: center;
gap: 1.2rem;
}

.page-hero {
padding: 2.5rem 0;
}

.option-section {
grid-template-columns: 1fr;
padding: 2.5rem 0;
gap: 2rem;
direction: ltr;
}

.option-section:nth-child(even) {
direction: ltr;
}

.option-image {
height: 280px;
}

.option-title {
font-size: 1.45rem;
margin-bottom: 0.6rem;
}

.option-intro {
font-size: 1rem;
}

.options-final-cta {
padding: 3.5rem 0;
}

.options-cta-content h2 {
font-size: 1.75rem;
margin-bottom: 1rem;
}

.options-cta-text {
font-size: 1rem;
}

.contact-section {
padding: 0.5rem 0 3rem;
}

.contact-shell {
grid-template-columns: 1fr;
gap: 1.3rem;
}

.contact-copy {
font-size: 1rem;
line-height: 1.65;
}

.contact-form-wrap {
padding: 1rem;
}
}

/* ===== Site footer (partials/footer-elements.php) — added 2026-07-16 =====
   Was missing entirely (footer rendered unstyled). Colors via --lt-* which
   alias --bs-*, so it stays customizer-controllable. */
.lt-footer{background:var(--lt-teal-dark,#1b2a33);color:rgba(255,255,255,.82);padding:3.75rem 1.25rem 0;font-size:.95rem;}
.lt-footer-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1.5fr;gap:2.5rem;padding-bottom:2.5rem;}
.lt-footer h4{color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 1rem;}
.lt-footer-inner>div:first-child h4{text-transform:none;font-size:1.15rem;letter-spacing:normal;}
.lt-footer p{margin:0 0 .5rem;line-height:1.6;color:rgba(255,255,255,.72);}
.lt-footer-links{list-style:none;margin:0;padding:0;}
.lt-footer-links li{margin-bottom:.55rem;}
.lt-footer-links a{color:rgba(255,255,255,.78);text-decoration:none;transition:color .15s;}
.lt-footer-links a:hover{color:var(--lt-terra,#e0913a);}
.lt-footer-copy{max-width:1140px;margin:0 auto;border-top:1px solid rgba(255,255,255,.14);padding:1.25rem 0 1.75rem;text-align:center;}
.lt-footer-copy p{margin:0;font-size:.82rem;color:rgba(255,255,255,.55);}
@media(max-width:991.98px){.lt-footer-inner{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:575.98px){.lt-footer-inner{grid-template-columns:1fr;gap:1.75rem;}.lt-footer{padding-top:2.5rem;}}
/* ===== end footer ===== */

/* ============================================================================
   === Client revision fixes 2026-07-21 (life-transit) ===
   Appended, targeted overrides only. Colors use --bs-* / theme vars so the
   Theme Customizer keeps working. This file loads AFTER bundle.css.
   ============================================================================ */

/* [real-life-situations] Mobile: make every scenario lead with TEXT then image.
   DOM alternates (text,image / image,text) for the desktop zigzag, which on a
   single mobile column produced two images stacked back-to-back. Reorder so it
   reads text/image/text/image. */
@media (max-width: 991.98px) {
  .scenarios .scenario-section { display: grid; }
  .scenarios .scenario-section > .scenario-content { order: 0; }
  .scenarios .scenario-section > .lc-block:not(.scenario-content) { order: 1; }
}

/* [contact form] Forminator: shrink the oversized section headings (were 45px)
   and enlarge + darken the tiny field labels (were 12px #777, failing AA 4.05:1
   on the cream form background). */
.forminator-ui.forminator-custom-form .forminator-title { font-size: 1.6rem !important; line-height: 1.3 !important; margin-bottom: .35rem !important; }
/* Target BOTH <label class=forminator-label> (text fields) and <span class=forminator-label>
   (radio/section group labels) so every label is larger + AA-legible (#777 -> #36563a). */
.forminator-ui.forminator-custom-form .forminator-label { font-size: .95rem !important; color: var(--text-body-2, #36563a) !important; font-weight: 700 !important; }
.forminator-ui.forminator-custom-form .forminator-radio,
.forminator-ui.forminator-custom-form .forminator-checkbox { font-size: .98rem; }

/* [global 7] Contrast AA: CTA buttons had white text on --bs-warning orange (3.71:1).
   Deepen to --bs-success (the existing hover/accent-deep terracotta) = 5.36:1 white,
   hover to --bs-danger. Stays customizer-controllable (all --bs-* tokens). */
.btn-main, a.btn-main, .cta-button, a.cta-button { background: var(--bs-success) !important; color: #fff !important; }
.btn-main:hover, a.btn-main:hover, .cta-button:hover, a.cta-button:hover { background: var(--bs-danger) !important; color: #fff !important; }

/* [global 7] Contrast AA: default content links were Bootstrap blue #0d6efd (4.12:1 on
   white). Point the Bootstrap link token at --bs-success (5.36:1) so tel:/mailto:/content
   links pass AA and read on-brand. Nav/footer links set their own colors and are unaffected. */
:root, [data-bs-theme=light] {
  --bs-link-color: var(--bs-success);
  --bs-link-color-rgb: var(--bs-success-rgb);
  --bs-link-hover-color: var(--bs-danger);
  --bs-link-hover-color-rgb: var(--bs-danger-rgb);
}

/* [global 4] Visited links must match unvisited (header, footer, buttons). */
.site-header .navbar-brand:visited { color: #f8fafc; }
.site-header .nav-link:visited { color: var(--text-muted-on-dark); }
.lt-footer-links a:visited,
.lt-footer .lt-footer-nap a:visited { color: rgba(255, 255, 255, .78); }
.footer-links a:visited { color: var(--text-muted-on-dark); }
.btn-main:visited, a.btn-main:visited, .cta-button:visited, a.cta-button:visited { color: #fff; }
.btn-outline-main:visited, a.btn-outline-main:visited { color: var(--bs-primary); }

/* [global 6] Footer NAP + compliance blocks (added to footer-elements.php). */
.lt-footer-nap { font-size: .82rem; line-height: 1.7; color: rgba(255, 255, 255, .72); margin: 1rem 0 0; }
.lt-footer-nap a { color: rgba(255, 255, 255, .82); text-decoration: none; }
.lt-footer-nap a:hover { color: var(--lt-terra, #e0913a); }
.lt-footer-compliance { max-width: 1140px; margin: 0 auto .6rem; font-size: .78rem; line-height: 1.6; color: rgba(255, 255, 255, .66); text-align: center; }
.lt-footer-compliance .bi { margin-right: .25rem; color: rgba(255, 255, 255, .7); }
/* === end client revision fixes 2026-07-21 === */

/* === Homepage services section + service cards + scroll reveal (2026-07-27) === */
.lt-services{background:var(--bs-light,#f3f7f1);padding:clamp(3rem,7vw,5.5rem) 0;}
.lt-services .services-head{text-align:center;max-width:700px;margin:0 auto clamp(2rem,4vw,3rem);}
.lt-services .services-intro{color:var(--bs-secondary,#4f7059);font-size:1.08rem;line-height:1.75;margin:.6rem 0 0;}
.lt-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.lt-service-card{background:#fff;border:1px solid rgba(var(--bs-primary-rgb,34,51,75),.09);border-radius: 18px;padding:2rem 1.9rem;box-shadow: var(--lt-sh-md);display:flex;flex-direction:column;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.lt-service-card:hover{transform:translateY(-6px);box-shadow: var(--lt-sh-lg);border-color:rgba(var(--bs-warning-rgb,201,107,61),.4);}
.lt-service-ico{width:54px;height:54px;border-radius: 14px;display:flex;align-items:center;justify-content:center;background:rgba(var(--bs-warning-rgb,201,107,61),.12);color:var(--bs-warning,#38652d);font-size:1.5rem;margin-bottom:1.15rem;}
.lt-service-card h3{font-family:var(--font-display,"Fraunces",serif);font-size:1.25rem;color:var(--bs-dark,#16240f);margin-bottom:.6rem;}
.lt-service-card p{color:var(--bs-secondary,#4f7059);font-size:.97rem;line-height:1.7;flex:1;margin-bottom:1.15rem;}
.lt-service-link{color:var(--bs-primary,#1f3a1b);font-weight:700;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .25s ease,color .25s ease;}
.lt-service-link:hover{color:var(--bs-warning,#38652d);gap:11px;}
@media (max-width:991.98px){.lt-services-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto;}}

/* staggered scroll reveal */
.lt-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1);}
.lt-reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.lt-reveal{opacity:1!important;transform:none!important;transition:none;}}

/* Customizer: let the Background swatch control the page base (was transparent). */
body { background-color: var(--bs-body-bg, #f3f7f1); }
/* Guard: Bootstrap g-5 rows nested in a full-width col overflow on narrow mobile via their negative margin. */
@media (max-width: 575.98px) {
  .row.g-5 { --bs-gutter-x: 1.5rem; }
  .col-12 > .row, section .row { max-width: 100%; }
}
.brand-tbd{color:var(--bs-secondary,#4f7059);font-style:italic;}

/* ===== Forge remediation: a11y contrast + form contrast + customizer (2026-07-27) ===== */
/* brand placeholder text: inherit the container's colour so it's light on the navy footer, dark elsewhere (was frozen #4f7059 -> failed on navy) */
.brand-tbd { color: inherit !important; font-style: italic; opacity: .88; }
/* terracotta accent as small TEXT fails AA on light — darken text-only usage on light sections; keep it light on dark bands */
/* was #9a4718 (hardcoded rust): this rule outranked the palette-driven
   .section-kicker, so these three sections kept an orange kicker on every client
   palette. --bs-warning is the accent role and is contrast-checked per site. */
.lt-services .section-kicker, .value-sections .section-kicker, .lt-journey .section-kicker { color: var(--bs-success); }
/* --bs-warning measured 4.42:1 on the light section background — under AA, and a
   regression from swapping the old hardcoded orange for a palette role without
   measuring it. --bs-success is the deep-accent role and measures 6.07:1 here. */
.main-options .section-kicker, .final-cta .section-kicker { color: #e6a074; }
/* Form contrast: Forminator inputs were an unstyled muddy grey (#EDEDED). Clean white field, dark text, branded border+focus. */
.forminator-ui input, .forminator-ui textarea, .forminator-ui select,
.forminator-input, .forminator-textarea, .forminator-ui .forminator-input {
  background:#fff !important; color:#16240f !important;
  border:1.5px solid rgba(var(--bs-primary-rgb,34,51,75),.28) !important; border-radius: 8px!important;
}
.forminator-ui input:focus, .forminator-ui textarea:focus, .forminator-ui select:focus {
  border-color:var(--bs-primary,#1f3a1b) !important; box-shadow: var(--lt-sh-focus) !important; outline:none !important;
}
.forminator-ui .forminator-label, .forminator-ui label { color:#2b3946 !important; }
.forminator-ui ::placeholder { color:#6a7784 !important; opacity:1; }
/* Customizer: any Bootstrap .btn-primary must track --bs-primary, never the frozen #0d6efd */
.btn-primary { --bs-btn-bg: var(--bs-primary) !important; --bs-btn-border-color: var(--bs-primary) !important;
  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary) 88%, #000) !important; --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary) 88%, #000) !important; }

/* ===== Design signature (brief): journey timeline, editorial story splits, quote, journey figures ===== */
/* .lt-journey — the 'life journey' stages timeline (signature, not a plain steps row) */
.lt-journey{background:var(--bs-light,#f3f7f1);padding:clamp(3.5rem,7vw,6rem) 0;}
/* Same .services-head markup .lt-services centres — the rule was only ever scoped to
   .lt-services, so this heading sat left-aligned above its own centred track. */
.lt-journey .services-head{text-align:center;max-width:700px;margin:0 auto clamp(2rem,4vw,3rem);}
.lt-journey-track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;max-width:1080px;margin:2.5rem auto 0;list-style:none;padding-left:0;}
.lt-journey-track::before{content:"";position:absolute;top:23px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--bs-secondary,#4f7059),var(--bs-warning,#38652d));opacity:.45;}
.lt-journey-stage{text-align:center;position:relative;}
.lt-journey-dot{width:48px;height:48px;border-radius: 50%;background:#fff;border:2px solid var(--bs-warning,#38652d);color:var(--bs-primary,#1f3a1b);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-family:var(--font-display,serif);font-weight:700;box-shadow: var(--lt-sh-sm);position:relative;z-index:1;}
.lt-journey-stage h4{font-family:var(--font-display,serif);font-size:1rem;color:var(--bs-dark,#16240f);margin-bottom:.35rem;}
.lt-journey-stage p{font-size:.85rem;color:var(--bs-secondary,#4f7059);line-height:1.55;margin:0;}
@media (max-width:991.98px){.lt-journey-track{grid-template-columns:1fr;gap:1.75rem;max-width:340px;}.lt-journey-track::before{left:23px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,var(--bs-secondary),var(--bs-warning));}.lt-journey-stage{text-align:left;display:grid;grid-template-columns:48px 1fr;gap:.35rem 1rem;align-items:start;}.lt-journey-dot{margin:0;grid-column:1;grid-row:1 / span 2;}/* The dot spans BOTH text rows. Confined to row 1 it made that row 48px tall while
   the h4 is ~21px, so 27px of empty row sat between a heading and its own
   description — a gap no margin could explain. *//* The stage has THREE children in a two-column grid, so auto-placement put the dot
   in col 1, the h4 in col 2, and the PARAGRAPH on the next row back in the 48px dot
   column — one word per line with the connector running through it. Pin both text
   children to column 2. */.lt-journey-stage > h4,.lt-journey-stage > p{grid-column:2;}.lt-journey-stage > h4{margin-bottom:0;}}
@media (min-width:576px) and (max-width:991.98px){.lt-journey-track{max-width:460px;}}

/* .lt-story — editorial magazine-split (lifestyle photo + narrative, asymmetric) */
.lt-story{padding:clamp(2.5rem,5vw,4.5rem) 0;}
.lt-story-inner{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;max-width:1140px;margin:0 auto;padding:0 1rem;}
.lt-story--reverse .lt-story-inner{grid-template-columns:1fr 1.12fr;}
.lt-story--reverse .lt-story-media{order:2;}
.lt-story-media img{width:100%;height:clamp(320px,40vw,470px);object-fit:cover;border-radius: 18px;box-shadow: var(--lt-sh-lg);display:block;}
.lt-story-kicker{color:#9a4718;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.7rem;}
.lt-story-body h2{font-family:var(--font-display,serif);font-size:clamp(1.6rem,3.2vw,2.3rem);color:var(--bs-dark,#16240f);margin-bottom:1rem;line-height:1.2;}
.lt-story-body p{color:var(--bs-secondary,#4f7059);font-size:1.05rem;line-height:1.8;margin:0 0 1rem;}
@media (max-width:767.98px){.lt-story-inner,.lt-story--reverse .lt-story-inner{grid-template-columns:1fr;}.lt-story--reverse .lt-story-media{order:0;}}

/* .lt-figure — seasonal/journey generative illustration (svg, not an icon) */
.lt-figure{display:block;margin:0 auto;max-width:100%;}
.lt-figure svg{display:block;width:100%;height:auto;}

/* .lt-quote — warm first-person testimonial, real portrait, editorially set */
.lt-quote{background:var(--bs-primary,#1f3a1b);color:#fff;padding:clamp(3rem,6vw,5rem) 0;}
.lt-quote-inner{max-width:840px;margin:0 auto;text-align:center;padding:0 1.25rem;}
.lt-quote-portrait{width:90px;height:90px;border-radius: 50%;object-fit:cover;border:3px solid rgba(255,255,255,.3);margin:0 auto 1.5rem;display:block;}
.lt-quote blockquote{font-family:var(--font-display,serif);font-size:clamp(1.3rem,2.6vw,1.85rem);line-height:1.5;font-style:italic;margin:0 0 1.5rem;border:0;padding:0;color:#fff;}
.lt-quote-cite{font-size:.95rem;color:rgba(255,255,255,.82);}
.lt-quote-cite strong{color:#fff;display:block;font-family:var(--font-heading,sans-serif);}

/* ===== signature motion + per-page hero visual + contrast (forge polish) ===== */
/* niche-owned motion signature (@keyframes ltx-*) */
@keyframes ltx-drift { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes ltx-sheen { 0%{background-position:-140% 0} 100%{background-position:240% 0} }
.lt-figure svg { animation: ltx-drift 5s ease-in-out infinite; transform-origin:center; }
.lt-journey-track::before { background-size:200% 100%; animation: ltx-sheen 6s linear infinite; }
@media (prefers-reduced-motion:reduce){ .lt-figure svg,.lt-journey-track::before{animation:none;} }
/* inner-page hero: give every page a real photographic hero visual (divergence: hero visual on every page) */
.page-hero{position:relative;background-image:linear-gradient(rgba(27,38,56,.74),rgba(34,51,75,.82)),url("/wp-content/uploads/2026/07/situation-deciding.jpg");background-size:cover;background-position:center;padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,5rem);}
.page-hero h1{color:#fff !important;}
.page-hero .page-hero-intro{color:rgba(255,255,255,.9) !important;}
/* contrast safety: teal accent text darker on light surfaces */
.lt-story-kicker{color:#1c6153;}

/* customizer: give the home hero a palette-driven base so it is not read as frozen-transparent */
section.hero{background-color:var(--bs-light,#f3f7f1);}

/* nav: keep menu labels on one line (belt-and-suspenders — the menu collapses to a hamburger below xl/1200px) */
.site-header .navbar-nav .nav-link{white-space:nowrap;}

/* text should never touch the screen edges: give containers a comfortable gutter on small screens
   (Bootstrap's default is only ~12px, which reads as text hugging the edge on phones) */
@media (max-width:575.98px){
  .container,.container-sm,.container-md,.container-lg,.container-xl{padding-left:1.25rem;padding-right:1.25rem;}
}
.top-bar .lt-topbar-item i{opacity:.7;margin-right:.35rem;}

/* Inner-page hero background lives in the theme (not inline) so it survives the deploy KSES filter,
   which strips background-image url()/gradients from inline style attributes. Dark cool veil over the
   photo keeps the white heading/intro readable and on-palette. */
.page-hero{
  background-image:
    radial-gradient(circle at 85% 12%, rgba(var(--bs-warning-rgb,46,127,113), .16), transparent 38%),
    radial-gradient(circle at 12% 20%, rgba(var(--bs-primary-rgb,38,69,79), .14), transparent 42%),
    linear-gradient(160deg, rgba(38,69,79,.80) 0%, rgba(23,40,46,.90) 100%),
    url('/wp-content/uploads/2026/07/situation-deciding.jpg');
  background-size:cover;
  background-position:center;
}
/* topbar phone/email are links (from [brand_*]) — inherit the bar's light text, not the teal link colour (AA on the dark bar) */
.top-bar a{color:inherit;text-decoration:none;}
.top-bar a:hover{text-decoration:underline;}

/* ===== Mobile nav drawer (AAA): animated slide-in panel + blurred backdrop + morphing hamburger ===== */
.lt-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:40px;padding:0 9px;margin-left:auto;background:transparent;border:0;cursor:pointer;}
.lt-burger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .2s ease;}
.lt-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.lt-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.lt-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.lt-drawer-backdrop{position:fixed;inset:0;z-index:1049;background:rgba(9,18,22,.5);opacity:0;transition:opacity .4s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.lt-drawer-backdrop.is-open{opacity:1;}

.lt-drawer{position:fixed;top:0;right:0;z-index:1050;height:100vh;height:100dvh;width:min(340px,86vw);
  background:var(--bs-dark,#17282e);box-shadow:-18px 0 55px -22px rgba(0,0,0,.6);
  transform:translateX(100%);transition:transform .42s cubic-bezier(.22,.61,.36,1);
  display:flex;flex-direction:column;padding:1.15rem 1.4rem 2rem;overflow-y:auto;}
.lt-drawer.is-open{transform:translateX(0);}
.lt-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.12);}
.lt-drawer-brand{font-family:var(--font-display,serif);color:#fff;font-size:1.2rem;font-weight:600;}
/* Drawer logo: supplied asset, on its own white field for the same reason as the navbar chip. */
.lt-drawer-logo{display:block;height:36px;width:auto;max-width:190px;object-fit:contain;background:#fff;border-radius:8px;padding:4px 9px;}
.lt-drawer-close{position:relative;width:40px;height:40px;background:transparent;border:0;cursor:pointer;flex:0 0 auto;}
.lt-drawer-close span{position:absolute;top:50%;left:9px;right:9px;height:2px;background:#fff;border-radius:2px;}
.lt-drawer-close span:nth-child(1){transform:rotate(45deg);}
.lt-drawer-close span:nth-child(2){transform:rotate(-45deg);}
.lt-drawer-close:hover span{background:var(--bs-warning,#2e7f71);}
.lt-drawer-nav{display:flex;flex-direction:column;}
.lt-drawer-link{color:rgba(255,255,255,.9);text-decoration:none;font-family:var(--font-heading,sans-serif);font-weight:600;font-size:1.05rem;padding:.85rem .1rem;border-bottom:1px solid rgba(255,255,255,.07);transition:color .2s ease,padding-left .2s ease;}
.lt-drawer-link:hover,.lt-drawer-link:focus-visible{color:#fff;padding-left:.5rem;}
.lt-drawer-cta{margin-top:1.4rem;text-align:center;width:100%;}
/* staggered reveal on open */
.lt-drawer .lt-drawer-link,.lt-drawer .lt-drawer-cta{opacity:0;transform:translateX(18px);}
.lt-drawer.is-open .lt-drawer-link,.lt-drawer.is-open .lt-drawer-cta{opacity:1;transform:translateX(0);
  transition:opacity .4s ease,transform .45s cubic-bezier(.22,.61,.36,1);transition-delay:calc(.12s + var(--i,0) * .05s);}
body.lt-drawer-open{overflow:hidden;}
@media (prefers-reduced-motion:reduce){
  .lt-drawer,.lt-drawer-backdrop,.lt-burger span,.lt-drawer .lt-drawer-link,.lt-drawer .lt-drawer-cta{transition:none !important;}
  .lt-drawer .lt-drawer-link,.lt-drawer .lt-drawer-cta{opacity:1;transform:none;}
}

/* === Brand lockup + footer compliance line (2026-08-12) ===
   The navbar brand renders the Brand Engine logo when the site has one and the
   brand name as a wordmark otherwise; the footer carries the brokerage/license
   disclosure via [brand_compliance], which renders nothing when a site has no
   compliance data, so the generic template is unaffected. Colours stay on
   Bootstrap custom properties and white-alpha tokens, so the Theme Customizer
   still drives them. */
.navbar-brand.lt-brand-lockup { display: inline-flex; align-items: center; gap: .6rem; }
/* The supplied logo is usually a brokerage trademark on a white field. Rather than
   recolour or knock it out to suit a dark navbar, it sits on its own white chip. */
/* A supplied logo is usually a WIDE lockup, not a square mark, so width is auto and the
   chip grows to fit. It keeps its white field because a client's logo may carry dark ink
   (Devron's "Home" is black) that would vanish on the dark navbar. Never knock it out. */
.navbar-brand .lt-brand-logo { display: block; height: 42px; width: auto; max-width: 240px;
  object-fit: contain; background: #fff; border-radius: 8px; padding: 4px 10px; flex: 0 0 auto; }
.navbar-brand .lt-brand-wordmark { display: inline-block; }
@media (max-width: 575.98px) {
  .navbar-brand .lt-brand-logo { height: 34px; max-width: 170px; border-radius: 7px; padding: 3px 8px; }
  .navbar-brand.lt-brand-lockup { gap: .45rem; }
}

.footer-compliance { margin-top: .5rem; font-size: .78rem; line-height: 1.65; color: rgba(255, 255, 255, .58); }
.footer-compliance:empty { display: none; }
.footer-contact .brand-social { justify-content: flex-end; margin-top: .55rem; }
@media (max-width: 991.98px) { .footer-contact .brand-social { justify-content: center; } }
/* === end brand lockup + compliance === */

/* === Footer CTA when the footer is the LiveCanvas partial (2026-08-12) ===
   The theme's footer-elements.php styled its CTA with an inline background so
   it matched .btn-main. The LiveCanvas partial uses the .btn-main class itself
   (palette-driven, customizer-controllable) and only needs the block layout the
   inline version had. */
.lt-footer .lt-footer-cta { display: inline-block; margin-top: .25rem; font-size: .9rem; text-decoration: none; }
.lt-footer .lt-footer-cta:hover, .lt-footer .lt-footer-cta:visited { text-decoration: none; color: #fff; }
.lt-footer .lt-footer-cta-copy { font-size: .88rem; margin-bottom: 1rem; }
/* === end footer CTA === */

/* === About headshot (2026-08-12) ===
   Replaces the template's placeholder card. Sized to the card it supersedes
   (16rem, 1:1) so page rhythm is unchanged, with the same radius and the
   theme's soft lift. */
.about-section .about-headshot { display: block; width: 100%; max-width: 16rem; aspect-ratio: 1 / 1;
  object-fit: cover; object-position: center 22%; margin: 0 auto; border-radius: 12px;
  box-shadow: var(--lt-sh-md); }
@media (max-width: 575.98px) { .about-section .about-headshot { max-width: 13rem; } }

/* .about-copy sets `margin: 0`, so consecutive paragraphs had NO gap at all and the
   bio read as one unbroken block. Space the siblings rather than giving every
   paragraph a bottom margin, so the last one adds no trailing gap. Bootstrap's
   spacing utilities are !important, so an explicit .mt-4 on the compliance
   paragraphs still wins. */
.about-copy + .about-copy { margin-top: 1.15rem; }

/* Match the intro row to the measure of the copy beneath it (.about-copy is capped
   at 900px inside a 1320px container). Left unconstrained the row spanned the full
   container, so the contact card ran ~400px past the text it sits above and the
   photo looked tiny beside it. */
.about-section .about-intro { max-width: 900px; }
/* === end About headshot === */
