: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] {
--bs-primary: #22334b !important;
--bs-primary-rgb: 34, 51, 75 !important;
--bs-secondary: #5c6b80 !important;
--bs-secondary-rgb: 92, 107, 128 !important;
--bs-success: #a6542c !important;
--bs-success-rgb: 166, 84, 44 !important;
--bs-info: #e8f0ef !important;
--bs-info-rgb: 232, 240, 239 !important;
--bs-warning: #c96b3d !important;
--bs-warning-rgb: 201, 107, 61 !important;
--bs-danger: #8f3f21 !important;
--bs-danger-rgb: 143, 63, 33 !important;
--bs-dark: #1b2638 !important;
--bs-dark-rgb: 27, 38, 56 !important;
--bs-light: #f8f2e8 !important;
--bs-light-rgb: 248, 242, 232 !important;
--bs-body-bg: #ffffff !important;
--bs-body-bg-rgb: 255, 255, 255 !important;
--bs-body-color: #1f2937 !important;
--bs-body-color-rgb: 31, 41, 55 !important;

--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: #d1dae5;
--text-dim-on-dark: #7a8599;
--heading-strong: var(--bs-dark);
--heading-main: color-mix(in srgb, var(--bs-primary) 82%, #000);
--text-strong: var(--bs-primary);
--text-body-1: #5a6d85;
--text-body-2: #3d4f67;
--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: 1.3rem 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;
color: #f4a361;
margin-bottom: 0.55rem;
}

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

.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: #3d4f67;
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: #5a6d85;
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: #f7f9fc;
margin-bottom: 1.2rem;
line-height: 1.15;
}

.final-cta-copy {
font-size: 1.1rem;
color: #d1dae5;
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: #1b2638;
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: #f7f9fc;
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: #5a6d85;
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: #5a6d85;
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: #4a5f7a;
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: #f7f9fc;
margin-bottom: 1.5rem;
line-height: 1.15;
}

.options-cta-text {
font-size: 1.1rem;
color: #d1dae5;
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: #5a6d85;
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: #f7f9fc;
margin-bottom: 1.5rem;
line-height: 1.15;
}

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

@keyframes riseIn {

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

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

}

.value-sections {
padding: 1rem 0 4rem;
}

.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);
}

.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: #4a5f7a;
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: #f7f9fc;
margin-bottom: 1.4rem;
line-height: 1.15;
}

.value-cta-text {
font-size: 1.08rem;
color: #d1dae5;
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: #4a5f7a;
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: #f7f9fc;
margin-bottom: 1.2rem;
line-height: 1.15;
}

.faq-cta-text {
font-size: 1.08rem;
color: #d1dae5;
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: #4a5f7a;
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: #4a5f7a;
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: #22334b;
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 -> #3d4f67). */
.forminator-ui.forminator-custom-form .forminator-label { font-size: .95rem !important; color: var(--text-body-2, #3d4f67) !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,#f8f2e8);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,#5c6b80);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,#c96b3d);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,#1b2638);margin-bottom:.6rem;}
.lt-service-card p{color:var(--bs-secondary,#5c6b80);font-size:.97rem;line-height:1.7;flex:1;margin-bottom:1.15rem;}
.lt-service-link{color:var(--bs-primary,#22334b);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,#c96b3d);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, #f8f2e8); }
/* 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,#5c6b80);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 #5c6b80 -> 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 */
.lt-services .section-kicker, .value-sections .section-kicker, .lt-journey .section-kicker { color: #9a4718; }
.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:#1b2638 !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,#22334b) !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,#f8f2e8);padding:clamp(3.5rem,7vw,6rem) 0;}
.lt-journey-track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;max-width:1080px;margin:2.5rem auto 0;}
.lt-journey-track::before{content:"";position:absolute;top:23px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--bs-secondary,#5c6b80),var(--bs-warning,#c96b3d));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,#c96b3d);color:var(--bs-primary,#22334b);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,#1b2638);margin-bottom:.35rem;}
.lt-journey-stage p{font-size:.85rem;color:var(--bs-secondary,#5c6b80);line-height:1.55;margin:0;}
@media (max-width:767.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:1rem;align-items:start;}.lt-journey-dot{margin:0;}}

/* .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,#1b2638);margin-bottom:1rem;line-height:1.2;}
.lt-story-body p{color:var(--bs-secondary,#5c6b80);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,#22334b);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: terracotta text darker on light surfaces */
.lt-story-kicker{color:#8f4316;}

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