/* ============================================================
   STITCH CARE — Design System Tokens & Styles
   Edit variables in :root to update the entire site
   ============================================================ */
/* ── 1. Design Tokens ───────────────────────────────────────── */
:root {
    /* Brand colours */
    --color-navy: #233A5A;
    --color-navy-deep: #0d1825;
    --color-sage: #7FA58A;
    --color-eucalyptus: #7FA58A;
    --color-cream: #F7F4EF;
    --color-off-white: #FCFCFA;
    --color-blush: #E7C1B5;
    --color-gold: #D8C5A3;
    --text-on-dark: rgba(255,255,255,0.92);
    --text-on-dark-muted: rgba(255,255,255,0.60);
    --text-on-dark-faint: rgba(255,255,255,0.40);
    --glass-bg: rgba(255,255,255,0.08);
    --glass-bg-strong: rgba(255,255,255,0.12);
    --glass-border: rgba(255,255,255,0.15);
    --font-display: 'Cormorant Garamond', serif;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Manrope', 'Inter', sans-serif;
    --radius-pill: 9999px;
    --radius-card: 1.5rem;
    --radius-card-lg: 2rem;
    --shadow-card: 0 4px 24px rgba(35,58,90,0.08);
    --shadow-card-lg: 0 16px 48px rgba(35,58,90,0.14);
    --shadow-sage: 0 8px 32px rgba(167,190,162,0.30);
}

/* ── 2. Reset & Base ────────────────────────────────────────── */
*,*::before,*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

[id] {
    scroll-margin-top: 130px;
}

body {
    font-family: var(--font-body);
    background: var(--color-off-white);
    color: var(--color-navy);
    -webkit-font-smoothing: antialiased;
}

img {
    display: block;
    max-width: 100%;
}

a {
    text-decoration: none;
    color: inherit;
}

.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .65s ease,transform .65s ease;
}

.reveal.visible {
    opacity: 1;
    transform: none;
}

.nav-logo-icon img{
    border-radius: 50%;
}

/* ── 3. Navigation ──────────────────────────────────────────── */
.nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    /* height:80px; */
   /* display: flex;*/
    align-items: center;
    justify-content: space-between;
    transition: background .4s,box-shadow .4s;
    background: rgba(35,58,90,.15);
}
.navwrap{
    display: flex;
    justify-content: space-between;
    padding: 0 30px;
    align-items: center;
}

.nav.scrolled {
    background: rgba(35,58,90,.93);
    backdrop-filter: blur(20px);
    box-shadow: 0 4px 40px rgba(0,0,0,.15);
    border-bottom: 1px solid rgba(167,190,162,.2);
}

.nav-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
    width: 275px;
}

.nav-logo-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    /*background: #f5f3ef75;*/
   /* background: #ffffff;*/
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-logo-icon svg {
    width: 16px;
    height: 16px;
    fill: white;
}

.nav-logo-name {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.1;
    color: white;
    display: block;
}

.nav-logo-sub {
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-sage);
    display: block;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nav-links a {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,.85);
    transition: color .2s;
}

.nav-links a:hover {
    color: var(--color-sage);
}

.nav-cta {
    padding: 10px 24px;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg,var(--color-sagelight),var(--color-eucalyptus));
    color: var(--color-navy)!important;
    font-weight: 700!important;
}

.nav-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    background: none;
    border: none;
}

.nav-hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background: white;
    border-radius: 2px;
}

.nav-mobile {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    background: rgba(35,58,90,.97);
    backdrop-filter: blur(20px);
    padding: 1.5rem 2.5rem;
    flex-direction: column;
    gap: 1rem;
}

.nav-mobile a {
    font-family: var(--font-body);
    font-size: 15px;
    color: white;
    padding-bottom: .75rem;
    border-bottom: 1px solid rgba(167,190,162,.2);
}

.nav-mobile.open {
    display: flex;
}

/* ── 4. Hero ────────────────────────────────────────────────── */
.hero {
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #0e1e30;
}

/* ── Hero Slider ─────────────────────────────────────────── */
.hero-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(.4,0,.2,1), transform 8s ease-out;
    transform: scale(1.06);
}

.hero-slide.active {
    opacity: .45;
    transform: scale(1);
}

.hero-slide.leaving {
    opacity: 0;
    transform: scale(1.06);
}

/* Prev / Next arrow buttons */
.hero-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(10px);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, border-color .2s, transform .2s;
}

.hero-slider-btn:hover {
    background: rgba(127,165,138,.35);
    border-color: rgba(127,165,138,.6);
    transform: translateY(-50%) scale(1.08);
}

.hero-slider-prev { left: 1.75rem; }
.hero-slider-next { right: 1.75rem; }

/* Dot indicators */
.hero-slider-dots {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    display: flex;
    gap: .6rem;
    align-items: center;
}

.hero-slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    border: none;
    background: rgba(255,255,255,.35);
    cursor: pointer;
    padding: 0;
    transition: width .35s ease, background .35s ease;
}

.hero-slider-dot.active {
    width: 28px;
    background: var(--color-sage);
}

/* Progress bar */
.hero-slider-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255,255,255,.1);
    z-index: 20;
}

.hero-slider-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--color-sage), var(--color-gold));
    width: 0%;
    transition: width linear;
}

/* ── Hero Animations ─────────────────────────────────────── */

/* Particle canvas */
.hero-particles {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

/* Floating orbs */
.hero-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}

.hero-orb-1 {
    width: 320px; height: 320px;
    top: 10%; right: 15%;
    background: radial-gradient(circle, rgba(127,165,138,.18) 0%, transparent 70%);
    animation: orbFloat1 9s ease-in-out infinite;
}

.hero-orb-2 {
    width: 200px; height: 200px;
    bottom: 20%; left: 8%;
    background: radial-gradient(circle, rgba(216,197,163,.14) 0%, transparent 70%);
    animation: orbFloat2 12s ease-in-out infinite;
}

.hero-orb-3 {
    width: 140px; height: 140px;
    top: 55%; right: 30%;
    background: radial-gradient(circle, rgba(127,165,138,.12) 0%, transparent 70%);
    animation: orbFloat3 7s ease-in-out infinite;
}

@keyframes orbFloat1 {
    0%,100% { transform: translate(0,0) scale(1); }
    33%      { transform: translate(-24px, 18px) scale(1.07); }
    66%      { transform: translate(16px, -22px) scale(.95); }
}

@keyframes orbFloat2 {
    0%,100% { transform: translate(0,0) scale(1); }
    40%      { transform: translate(20px, -28px) scale(1.1); }
    70%      { transform: translate(-12px, 14px) scale(.92); }
}

@keyframes orbFloat3 {
    0%,100% { transform: translate(0,0); }
    50%      { transform: translate(14px, -18px); }
}

/* Blob pulse animation */
.hero-blob-1 {
    animation: blobPulse 8s ease-in-out infinite;
}

.hero-blob-2 {
    animation: blobPulse 11s ease-in-out infinite reverse;
}

@keyframes blobPulse {
    0%,100% { transform: scale(1); opacity: .10; }
    50%      { transform: scale(1.18); opacity: .17; }
}

/* Staggered entrance animations */
@keyframes heroFadeUp {
    from { opacity: 0; transform: translateY(36px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes heroFadeRight {
    from { opacity: 0; transform: translateX(-28px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes heroFadeLeft {
    from { opacity: 0; transform: translateX(48px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes eyebrowDraw {
    from { opacity: 0; transform: translateX(-20px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes lineExpand {
    from { width: 0; opacity: 0; }
    to   { width: 48px; opacity: 1; }
}

.hero-anim-eyebrow {
    animation: eyebrowDraw .8s cubic-bezier(.4,0,.2,1) .3s both;
}

.hero-anim-eyebrow .hero-eyebrow-line {
    animation: lineExpand .7s cubic-bezier(.4,0,.2,1) .3s both;
}

.hero-anim-h1 {
    animation: heroFadeUp .9s cubic-bezier(.25,.46,.45,.94) .6s both;
}

.hero-anim-sub {
    animation: heroFadeUp .9s cubic-bezier(.25,.46,.45,.94) .85s both;
}

.hero-anim-btns {
    animation: heroFadeUp .8s cubic-bezier(.25,.46,.45,.94) 1.05s both;
}

.hero-anim-badges {
    animation: heroFadeUp .8s cubic-bezier(.25,.46,.45,.94) 1.25s both;
}

.hero-anim-card {
    animation: heroFadeLeft .9s cubic-bezier(.25,.46,.45,.94) 1s both;
}

/* Shimmer on primary button */
.btn-shimmer {
    overflow: hidden;
    position: relative;
}

.btn-shimmer::after {
    content: '';
    position: absolute;
    top: 0; left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.35) 50%, transparent 100%);
    transform: skewX(-20deg);
    animation: shimmerSlide 3.5s ease-in-out 2s infinite;
}

@keyframes shimmerSlide {
    0%   { left: -75%; opacity: 1; }
    60%  { left: 130%; opacity: 1; }
    100% { left: 130%; opacity: 0; }
}

/* Badge dot pulse */
.hero-badge-dot--pulse {
    position: relative;
}

.hero-badge-dot--pulse::after {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: var(--color-sage);
    opacity: .4;
    animation: dotPulse 2.2s ease-out infinite;
}

@keyframes dotPulse {
    0%   { transform: scale(1); opacity: .4; }
    70%  { transform: scale(2.4); opacity: 0; }
    100% { transform: scale(2.4); opacity: 0; }
}

.hero-badge:nth-child(2) .hero-badge-dot--pulse::after { animation-delay: .6s; }
.hero-badge:nth-child(3) .hero-badge-dot--pulse::after { animation-delay: 1.2s; }

/* Scroll indicator bounce */
.hero-scroll {
    animation: scrollBounce 2.2s ease-in-out 2s infinite;
}

@keyframes scrollBounce {
    0%,100% { transform: translateY(0); opacity: .6; }
    50%      { transform: translateY(7px); opacity: 1; }
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,rgba(35,58,90,.85) 0%,rgba(35,58,90,.4) 50%,rgba(167,190,162,.2) 100%);
}

.hero-overlay-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 160px;
    background: linear-gradient(to top,var(--color-cream),transparent);
}

.hero-blob-1 {
    position: absolute;
    top: 80px;
    right: 40px;
    width: 384px;
    height: 384px;
    border-radius: 50%;
    background: var(--color-sage);
    opacity: .1;
    filter: blur(64px);
}

.hero-blob-2 {
    position: absolute;
    bottom: 128px;
    left: 80px;
    width: 256px;
    height: 256px;
    border-radius: 50%;
    background: var(--color-gold);
    opacity: .1;
    filter: blur(64px);
}

.hero-content {
    position: relative;
    z-index: 10;
    max-width: 1280px;
    margin: 0 auto;
    padding: 6rem 2.5rem 4rem;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    min-height: 100vh;
}

.hero-left {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.hero-eyebrow {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.hero-eyebrow-line {
    height: 1px;
    width: 48px;
    background: var(--color-sage);
}

.hero-eyebrow-text {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--color-sagelight);
}

.hero-h1 {
    font-family: var(--font-display);
    font-size: clamp(52px,7vw,88px);
    font-weight: 300;
    line-height: 1;
    color: white;
}

.hero-h1 em {
    font-style: italic;
    color: var(--color-eucalyptus);
}

.hero-sub {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    color: rgba(255,255,255,.75);
    max-width: 480px;
}

.hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: .5rem;
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    padding: 16px 32px;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg,var(--color-sage),var(--color-eucalyptus));
    color: var(--color-navy);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 700;
    box-shadow: var(--shadow-sage);
    border: none;
    cursor: pointer;
    transition: opacity .2s;
}

.btn-primary:hover {
    opacity: .9;
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    padding: 16px 32px;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(255,255,255,.35);
    color: white;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 500;
    background: transparent;
    cursor: pointer;
    transition: background .2s,border-color .2s;
}

.btn-outline:hover {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.6);
}

.hero-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
    padding-top: 1rem;
}

.hero-badge {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.hero-badge-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-sage);
}

.hero-badge-text {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .05em;
    color: rgba(255,255,255,.65);
}

.hero-card {
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    background: var(--glass-bg);
    backdrop-filter: blur(24px);
    border: 1px solid var(--glass-border);
    box-shadow: 0 32px 80px rgba(0,0,0,.3);
    position: relative;
}

/* Dismissed state handled via JS inline styles */

/* Close button */
.hero-card-close {
    position: absolute;
    top: .85rem;
    right: .85rem;
    z-index: 30;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(8px);
    color: rgba(255,255,255,.8);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, color .2s, transform .2s;
}

.hero-card-close:hover {
    background: rgba(180,60,60,.7);
    border-color: rgba(255,100,100,.4);
    color: white;
    transform: scale(1.1) rotate(90deg);
}

/* Slides */
.hero-card-slide {
    display: none;
    flex-direction: column;
}

.hero-card-slide.active {
    display: flex;
    animation: cardSlideIn .55s cubic-bezier(.25,.46,.45,.94) both;
}

.hero-card-slide.leaving {
    display: flex;
    animation: cardSlideOut .35s cubic-bezier(.4,0,1,1) both;
    position: absolute;
    inset: 0;
    z-index: 0;
}

@keyframes cardSlideIn {
    from { opacity: 0; transform: translateX(22px) scale(.98); }
    to   { opacity: 1; transform: translateX(0)    scale(1); }
}

@keyframes cardSlideOut {
    from { opacity: 1; transform: translateX(0)     scale(1); }
    to   { opacity: 0; transform: translateX(-22px) scale(.98); }
}

/* Image area */
.hero-card-img-wrap {
    position: relative;
    overflow: hidden;
}

.hero-card-img-wrap img {
    width: 100%;
/*    height: 240px;*/
    object-fit: cover;
    transition: transform 6s ease-out;
}

.hero-card-slide.active .hero-card-img-wrap img {
    transform: scale(1.04);
}

.hero-card-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(13,24,37,.7) 100%);
}

/* Tag badge on image */
.hero-card-slide-tag {
    position: absolute;
    bottom: .85rem;
    left: .85rem;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .75rem;
    border-radius: var(--radius-pill);
    background: rgba(127,165,138,.25);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(127,165,138,.4);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--color-sage);
}

/* Card body */
.hero-card-body {
    padding: 1.25rem 1.5rem .5rem;
    flex: 1;
}

.hero-card-title {
    font-family: var(--font-display);
    font-size: 21px;
    font-weight: 500;
    line-height: 1.3;
    color: white;
}

.hero-card-stats {
    display: flex;
    gap: .6rem;
    margin-top: .9rem;
}

.hero-card-stat {
    flex: 1;
    padding: .65rem .5rem;
    border-radius: .875rem;
    text-align: center;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.07);
    transition: background .2s;
}

.hero-card-stat:hover {
    background: rgba(127,165,138,.15);
}

.hero-card-stat-val {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 600;
    color: white;
}

.hero-card-stat-lbl {
    font-family: var(--font-body);
    font-size: 9.5px;
    font-weight: 500;
    color: rgba(255,255,255,.6);
    margin-top: 2px;
}

.hero-scroll {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    z-index: 10;
    animation: bounce 2s infinite;
}

.hero-scroll-text {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
}

@keyframes bounce {
    0%,100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(8px);
    }
}

/* ── 5. Stats ───────────────────────────────────────────────── */
.stats {
    padding: 4rem 2.5rem;
    background: var(--color-navy);
}

.stats-inner {
    max-width: 1280px;
    margin: 0 auto;
}

.section-eyebrow {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.section-eyebrow-line {
    height: 1px;
    width: 40px;
    background: var(--color-sage);
}

.section-eyebrow-text {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #3F5F46;
}

.stats-heading {
    font-family: var(--font-display);
    font-size: clamp(32px,4vw,48px);
    font-weight: 400;
    color: white;
    line-height: 1.2;
    margin: 1rem 0 3.5rem;
    text-align: center;
}

.stats-heading em {
    font-style: italic;
    color: var(--color-eucalyptus);
}

.stats-eyebrow-wrap {
    text-align: center;
    display: flex;
    justify-content: center;
    margin-bottom: .75rem;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1rem;
}

.stat-card {
    padding: 2rem;
    border-radius: var(--radius-card);
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(167,190,162,.15);
    transition: background .3s;
}

.stat-card:hover {
    background: rgba(167,190,162,.08);
}

.stat-val {
    font-family: var(--font-display);
    font-size: clamp(44px,5vw,64px);
    font-weight: 300;
    line-height: 1;
    color: var(--color-eucalyptus);
}

.stat-label {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: white;
    margin: .25rem 0;
}

.stat-desc {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 400;
    color: rgba(255,255,255,.5);
    line-height: 1.5;
}

/* ── 6. About ───────────────────────────────────────────────── */
.about {
    padding: 4rem 2.5rem;
    background: var(--color-cream);
    overflow: hidden;
}

.about-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.about-images {
    position: relative;
    height: 560px;
}

.about-img-main {
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    height: 384px;
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    box-shadow: var(--shadow-card-lg);
}

.about-img-main img,.about-img-secondary img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-img-secondary {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60%;
    height: 256px;
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    box-shadow: var(--shadow-card-lg);
    z-index: 2;
}

.about-badge {
    position: absolute;
    bottom: 112px;
    left: 0;
    z-index: 3;
    padding: 1.25rem 1.5rem;
    border-radius: 1rem;
    background: linear-gradient(135deg,var(--color-navy),#1a2d45);
    box-shadow: 0 16px 40px rgba(35,58,90,.3);
    min-width: 160px;
}

.about-badge-year {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 600;
    color: var(--color-eucalyptus);
    line-height: 1;
}

.about-badge-label {
    font-family: var(--font-body);
    font-size: 12px;
    color: rgba(255,255,255,.65);
    margin-top: 4px;
}

.about-blob-1 {
    position: absolute;
    top: -32px;
    right: -32px;
    width: 192px;
    height: 192px;
    border-radius: 50%;
    background: linear-gradient(135deg,var(--color-eucalyptus),var(--color-sage));
    opacity: .4;
    z-index: -1;
}

.about-blob-2 {
    position: absolute;
    bottom: -16px;
    left: 64px;
    width: 128px;
    height: 128px;
    border-radius: 50%;
    background: var(--color-gold);
    opacity: .3;
    z-index: -1;
}

.about-text {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.about-h2 {
    font-family: var(--font-display);
    font-size: clamp(36px,4vw,52px);
    font-weight: 400;
    line-height: 1.15;
    color: var(--color-navy);
}

.about-h2 em {
    font-style: italic;
    color: var(--color-sage);
}

.about-p {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.8;
    color: #4a5568;
}

.about-quote {
    border-left: 2px solid var(--color-sage);
    padding-left: 1.25rem;
}

.about-quote p {
    font-family: var(--font-display);
    font-size: 22px;
    font-style: italic;
    color: var(--color-navy);
    line-height: 1.5;
}

.about-checks {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.about-check {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.about-check-text {
    font-family: var(--font-body);
    font-size: 14px;
    color: #4a5568;
    line-height: 1.6;
}

.btn-dark {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: 14px 32px;
    border-radius: var(--radius-pill);
    background: var(--color-navy);
    color: white;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 8px 24px rgba(35,58,90,.2);
    border: none;
    cursor: pointer;
    transition: background .2s;
}

.btn-dark:hover {
    background: #1a2d45;
}

/* ── 7. Services ────────────────────────────────────────────── */
.services {
    padding: 4rem 2.5rem;
    background: var(--color-off-white);
}

.services-inner {
    max-width: 1280px;
    margin: 0 auto;
}

.services-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 4rem;
}

.services-h2 {
    font-family: var(--font-display);
    font-size: clamp(36px,4vw,56px);
    font-weight: 400;
    line-height: 1.1;
    color: var(--color-navy);
}

.services-h2 em {
    font-style: italic;
    color: var(--color-sage);
}

.services-sub {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
    color: #4A5568;
    max-width: 300px;
}

.services-grid {
    display: flex;
    gap: 1.5rem;
    flex-flow: row wrap;
}

.service-card {
    border-radius: var(--radius-card);
    overflow: hidden;
    background: white;
    box-shadow: var(--shadow-card);
    border: 1px solid rgba(35,58,90,.06);
    transition: transform .3s,box-shadow .3s;
	width:32%;
}

.service-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card-lg);
}

.service-card-img {
    position: relative;
    height: 208px;
    overflow: hidden;
}

.service-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s;
}

.service-card:hover .service-card-img img {
    transform: scale(1.05);
}

.service-card-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(35,58,90,.6),transparent);
}

.service-icon {
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: 40px;
    height: 40px;
    border-radius: .75rem;
    background: rgba(255,255,255,.92);
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-icon svg {
    width: 18px;
    height: 18px;
}

.service-card-body {
    padding: 1.5rem;
}

.service-card-title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 500;
    color: var(--color-navy);
    margin-bottom: .5rem;
}

.service-card-desc {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: #718096;
}

/* ── 8. Why Choose Us ───────────────────────────────────────── */
.why {
    padding: 4rem 2.5rem;
    background: var(--color-cream);
}

.why-inner {
    max-width: 1280px;
    margin: 0 auto;
}

.why-h2 {
    font-family: var(--font-display);
    font-size: clamp(36px,4vw,54px);
    font-weight: 400;
    line-height: 1.15;
    color: var(--color-navy);
    text-align: center;
    margin: 1rem 0 4rem;
}

.why-h2 em {
    font-style: italic;
    color: var(--color-sage);
}

.why-eyebrow-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: .5rem;
}

.why-eyebrow {
    display: flex;
    align-items: center;
    gap: .75rem;
    justify-content: center;
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1.5rem;
}

.why-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 2rem;
    border-radius: var(--radius-card);
    border: 1px solid transparent;
    transition: transform .3s,box-shadow .3s;
    cursor: default;
}

.why-card:hover {
    transform: translateY(-4px);
}

.why-icon {
    width: 56px;
    height: 56px;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.why-icon svg {
    width: 24px;
    height: 24px;
}

.why-card-title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    color: var(--color-navy);
    margin-bottom: .5rem;
}

.why-card-desc {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
    color: #718096;
}

.why-card-line {
    height: 1px;
    margin-top: auto;
}

/* ── 9. Testimonials ────────────────────────────────────────── */
.testimonials {
    padding: 4rem 2.5rem;
    background: var(--color-navy);
}

.testimonials-inner {
    max-width: 1280px;
    margin: 0 auto;
}

.testimonials-h2 {
    font-family: var(--font-display);
    font-size: clamp(36px,4vw,54px);
    font-weight: 400;
    line-height: 1.15;
    color: white;
    text-align: center;
    margin: 1rem 0 3.5rem;
}

.testimonials-h2 em {
    font-style: italic;
    color: var(--color-eucalyptus);
}

.testimonials-layout {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 2rem;
    align-items: start;
}

.testimonials-quote-mark {
    width: 48px;
    height: 48px;
    opacity: .5;
    color: var(--color-sagelight);
    margin-bottom: 1.5rem;
}

.testimonials-quote-text {
    font-family: var(--font-display);
    font-size: clamp(22px,2.5vw,30px);
    font-style: italic;
    font-weight: 400;
    color: rgba(255,255,255,.92);
    line-height: 1.55;
    margin-bottom: 1.5rem;
}

.testimonials-stars {
    display: flex;
    gap: 4px;
    margin-bottom: 1.5rem;
}

.testimonials-stars svg {
    width: 14px;
    height: 14px;
    fill: var(--color-gold);
}

.testimonials-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.testimonials-author-img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--color-sage);
}

.testimonials-author-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.testimonials-author-name {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: white;
}

.testimonials-author-role {
    font-family: var(--font-body);
    font-size: 13px;
    color: rgba(255,255,255,.55);
}

.testimonials-controls {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2.5rem;
}

.testimonial-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(167,190,162,.3);
    background: transparent;
    color: rgba(255,255,255,.7);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s,border-color .2s;
}

.testimonial-btn:hover {
    background: rgba(167,190,162,.15);
    border-color: var(--color-sage);
}

.testimonials-dots {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.testimonial-dot {
    height: 6px;
    border-radius: 3px;
    background: rgba(255,255,255,.25);
    transition: width .3s,background .3s;
    cursor: pointer;
    border: none;
}

.testimonial-dot.active {
    background: var(--color-sage);
    width: 24px;
}

.testimonial-dot:not(.active) {
    width: 6px;
}

.testimonials-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.testimonial-tab {
    width: 100%;
    text-align: left;
    padding: 1.25rem;
    border-radius: 1rem;
    cursor: pointer;
    border: 1px solid;
    transition: background .3s,border-color .3s;
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.08);
}

.testimonial-tab.active {
    background: rgba(167,190,162,.12);
    border-color: rgba(167,190,162,.4);
}

.testimonial-tab-quote {
    font-family: var(--font-display);
    font-size: 16px;
    font-style: italic;
    color: rgba(255,255,255,.5);
    line-height: 1.5;
}

.testimonial-tab.active .testimonial-tab-quote {
    color: var(--color-eucalyptus);
}

.testimonial-tab-name {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,.35);
    margin-top: .5rem;
}

.testimonial-tab.active .testimonial-tab-name {
    color: rgba(255,255,255,.7);
}

/* ── 10. Blog ───────────────────────────────────────────────── */
.blog {
    padding: 4rem 2.5rem;
    background: var(--color-off-white);
}

.blog-inner {
    max-width: 1280px;
    margin: 0 auto;
}

.blog-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 3.5rem;
}

.blog-h2 {
    font-family: var(--font-display);
    font-size: clamp(36px,4vw,54px);
    font-weight: 400;
    line-height: 1.15;
    color: var(--color-navy);
    margin-top: .75rem;
}

.blog-h2 em {
    font-style: italic;
    color: var(--color-sage);
}

.blog-all {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-navy);
    white-space: nowrap;
    border-bottom: 2px solid var(--color-sage);
    padding-bottom: 2px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.blog-layout {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 1.5rem;
}

.blog-featured {
    border-radius: var(--radius-card-lg);
    overflow: hidden;
    background: white;
    box-shadow: var(--shadow-card);
    border: 1px solid rgba(35,58,90,.06);
    cursor: pointer;
    transition: transform .3s;
}

.blog-featured:hover {
    transform: translateY(-4px);
}

.blog-featured-img {
    position: relative;
    height: 288px;
    overflow: hidden;
}

.blog-featured-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .7s;
	object-position:top;
}

.blog-featured:hover .blog-featured-img img {
    transform: scale(1.05);
}

.blog-cat {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    background: rgba(167,190,162,.9);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    color: var(--color-navy);
    letter-spacing: .05em;
}

.blog-featured-body {
    padding: 2rem;
}

.blog-meta {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1rem;
    font-family: var(--font-body);
    font-size: 12px;
    color: #4E586A;
}

.blog-featured-title {
    font-family: var(--font-heading);
    font-size: clamp(20px,2vw,26px);
    font-weight: 600;
    color: var(--color-navy);
    line-height: 1.3;
    margin-bottom: .75rem;
}

.blog-featured-excerpt {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
    color: #4E586A;
}

.blog-read-more {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1.25rem;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: #3D5C44;
}

.blog-secondary {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.blog-card {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: white;
    border: 1px solid rgba(35,58,90,.06);
    box-shadow: 0 2px 12px rgba(35,58,90,.05);
    cursor: pointer;
    transition: transform .2s,box-shadow .2s;
}

.blog-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(35,58,90,.1);
}

.blog-card-img {
    width: 96px;
    height: 96px;
    border-radius: .75rem;
    overflow: hidden;
    flex-shrink: 0;
}

.blog-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.blog-card-cat {
    display: inline-block;
    padding: 2px 8px;
    border-radius: var(--radius-pill);
    background: rgba(167,190,162,.15);
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    color: var(--color-sage);
    letter-spacing: .05em;
    margin-bottom: .5rem;
}

.blog-card-title {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 600;
    color: var(--color-navy);
    line-height: 1.35;
}

.blog-card-meta {
    font-family: var(--font-body);
    font-size: 11px;
    color: #718096;
    margin-top: .5rem;
}

/* ── 11. CTA Banner ─────────────────────────────────────────── */
.cta {
    padding: 4rem 2.5rem;
    background: var(--color-navy);
    position: relative;
    overflow: hidden;
}

.cta-blob-1 {
    position: absolute;
    top: 0;
    right: 0;
    width: 384px;
    height: 384px;
    border-radius: 50%;
    background: var(--color-sage);
    opacity: .1;
    filter: blur(64px);
}

.cta-blob-2 {
    position: absolute;
    bottom: 0;
    left: 80px;
    width: 256px;
    height: 256px;
    border-radius: 50%;
    background: var(--color-gold);
    opacity: .1;
    filter: blur(64px);
}

.cta-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.cta-eyebrow {
    display: flex;
    align-items: center;
    gap: .75rem;
    justify-content: center;
}

.cta-h2 {
    font-family: var(--font-display);
    font-size: clamp(40px,5vw,68px);
    font-weight: 300;
    line-height: 1.1;
    color: white;
    max-width: 700px;
}

.cta-h2 em {
    font-style: italic;
    color: var(--color-eucalyptus);
}

.cta-sub {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.75;
    color: rgba(255,255,255,.7);
    max-width: 520px;
}

.cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

.cta-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.1);
    width: 100%;
}

.cta-trust-item {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.cta-trust-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--color-sage);
}

.cta-trust-text {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,.55);
}

/* ── 12. Footer ─────────────────────────────────────────────── */
.footer {
    background: #0f1e2e;
}

.footer-main {
    max-width: 1280px;
    margin: 0 auto;
    padding: 4rem 2.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.3fr;
    gap: 2.5rem;
}

.footer-brand {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.footer-brand-logo {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-about {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.75;
    color: rgba(255,255,255,.5);
}

.footer-socials {
    display: flex;
    gap: .75rem;
}

.footer-social {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.5);
    transition: background .2s,color .2s;
    cursor: pointer;
    border: none;
}

.footer-social:hover {
    background: rgba(167,190,162,.2);
    color: var(--color-sage);
}

.footer-social svg {
    width: 15px;
    height: 15px;
}

.footer-col-title {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #8EB49B;
    margin-bottom: 1.25rem;
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: .625rem;
}

.footer-links a {
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255,255,255,.55);
    transition: color .2s;
}

.footer-links a:hover {
    color: rgba(255,255,255,.9);
}

.footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.footer-contact-icon svg {
    width: 14px;
    height: 14px;
    color: var(--color-sage);
    flex-shrink: 0;
    margin-top: 2px;
}

.footer-contact-text {
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255,255,255,.55);
}

.footer-newsletter-label {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
    color: rgba(255,255,255,.7);
    margin-bottom: .75rem;
    margin-top: 1.5rem;
}

.footer-newsletter-text{
	font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.7);
    margin-bottom: .75rem;
}

.footer-newsletter-form {
    display: flex;
    gap: .5rem;
}

.footer-newsletter-input {
    flex: 1;
    padding: 10px 16px;
    border-radius: .75rem;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
    color: white;
    font-family: var(--font-body);
    font-size: 13px;
    outline: none;
}

.footer-newsletter-btn {
    padding: 10px 16px;
    border-radius: .75rem;
    background: linear-gradient(135deg,var(--color-sage),var(--color-eucalyptus));
    color: var(--color-navy);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .2s;
}

.footer-newsletter-btn:hover {
    opacity: .9;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.06);
    padding: 1.25rem 2.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.footer-bottom-text {
    font-family: var(--font-body);
    font-size: 12px;
        color: rgba(255, 255, 255, .55);
}

.footer-bottom-links {
    display: flex;
    gap: 1.25rem;
}

.footer-bottom-links a {
    font-family: var(--font-body);
    font-size: 12px;
        color: rgba(255, 255, 255, .55);
    transition: color .2s;
}

.footer-bottom-links a:hover {
    color: rgba(255,255,255,.65);
}

/* ── 13. Responsive ─────────────────────────────────────────── */
@media(max-width: 1024px) {
    .hero-content {
        grid-template-columns:1fr;
    }

    .hero-card {
        display: none;
    }

    .about-inner {
        grid-template-columns: 1fr;
    }

    .about-images {
        display: none;
    }

    .services-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .why-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .stats-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .testimonials-layout {
        grid-template-columns: 1fr;
    }

    .testimonials-sidebar {
        display: none;
    }

    .blog-layout {
        grid-template-columns: 1fr;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width: 640px) {
    .nav-links {
        display:none;
    }

    .nav-hamburger {
        display: flex;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .why-grid {
        grid-template-columns: 1fr;
    }

    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    .services-header,.blog-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
                align-items: center;
    }
}


/* Card nav row */
.hero-card-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem 1.5rem 1rem;
}

.hero-card-arrow {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.7);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, border-color .2s, transform .15s;
}

.hero-card-arrow:hover {
    background: rgba(127,165,138,.3);
    border-color: rgba(127,165,138,.5);
    color: white;
    transform: scale(1.1);
}

.hero-card-dots {
    display: flex;
    gap: .45rem;
    align-items: center;
}

.hero-card-dot {
    width: 6px;
    height: 6px;
    border-radius: 9999px;
    border: none;
    padding: 0;
    background: rgba(255,255,255,.25);
    cursor: pointer;
    transition: width .3s ease, background .3s ease;
}

.hero-card-dot.active {
    width: 20px;
    background: var(--color-sage);
}

/* Circular ring progress */
.hero-card-ring {
    position: absolute;
    bottom: .9rem;
    right: 1.1rem;
    width: 36px;
    height: 36px;
    transform: rotate(-90deg);
    pointer-events: none;
}

.hero-card-ring-track {
    fill: none;
    stroke: rgba(255,255,255,.1);
    stroke-width: 2.5;
}

.hero-card-ring-fill {
    fill: none;
    stroke: var(--color-sage);
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-dasharray: 94.25;
    stroke-dashoffset: 94.25;
    transition: stroke-dashoffset linear;
}

/* ── Hero Card Trigger Button ───────────────────────────── */
.btn-card-trigger {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: 16px 28px;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(127,165,138,.5);
    background: rgba(127,165,138,.12);
    backdrop-filter: blur(8px);
    color: var(--color-sage);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .25s, border-color .25s, transform .2s, box-shadow .25s;
    animation: triggerPop .5s cubic-bezier(.34,1.56,.64,1) both;
}

.btn-card-trigger:hover {
    background: rgba(127,165,138,.25);
    border-color: rgba(127,165,138,.8);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(127,165,138,.25);
}

.btn-card-trigger svg {
    flex-shrink: 0;
    transition: transform .25s;
}

.btn-card-trigger:hover svg {
    transform: rotate(-8deg) scale(1.15);
}

@keyframes triggerPop {
    from { opacity: 0; transform: scale(.8) translateY(8px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* Re-open animation handled via JS inline styles */
.Introduction{
    padding: 4rem 2.5rem;
}
.Introduction .services-sub {
    max-width: none;
    text-align: center;
}
.Introduction-inner{
    max-width: 1280px;
    margin: 0 auto;
}
.Introduction-header{
    text-align: center;
}
.Introduction-header .services-h2{
    margin-bottom: 30px;
}
.LifeLong-bg{
    background: #fff;
}
.services-banner{
    text-align: center;
}
.services-banner img{
    width: 100%;
    background-size: cover;
}
.services-banner .hero-content{
    display: block;
    text-align: center;
    min-height: auto;
}
.services-banner .hero-sub{
        margin: 0 auto;
}
.hero.services-banner {
    height: 500px;
    min-height: auto;
}
.hero.services-banner .hero-overlay-bottom {
    background: linear-gradient(to top, #233a5a, transparent);
}
.ser-sub-inner{
        display: flex;
    gap: 1.5rem;
    margin-top: 30px;

}
.story-quote {

    width:66%;
    padding: 2rem 2.5rem;
    border-radius: var(--radius-card-lg);
    background: var(--color-navy);
    position: relative;
    overflow: hidden;
}
.story-quote-blob {
    position: absolute;
    top: -30px;
    right: -30px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: var(--color-sage);
    opacity: .1;
}
.story-quote p {
    font-family: var(--font-display);
    font-size: clamp(20px, 2.5vw, 26px);
    font-style: italic;
    color: var(--color-eucalyptus);
    line-height: 1.55;
    position: relative;
    z-index: 1;
}
.story-quote small {
    font-family: var(--font-body);
    font-size: 13px;
    color: rgba(255, 255, 255, .45);
    margin-top: 1rem;
    display: block;
    position: relative;
    z-index: 1;
}
.ser-sub-inner .story-quote h3{
    color: #fff;
    font-size: 30px;
}
.ser-sub-inner .story-quote p{
    margin-bottom: 30px;
}
.ser-sub-inner .story-quote {
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: baseline;
}
.allser{
    text-align: center;margin-top: 50px;
}
.nav-links a.active{
    color: var(--color-sage);
    position: relative;
}


@media(max-width:1024px){
.services-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
}


/* =========================================================
   OUR PROCESS — STYLES
========================================================= */
.process-section{
   padding: 4rem 2.5rem;
  background:#f7f8f6;
}
.process-container{
  max-width:1200px;
  margin:0 auto;
}
.process-header{
  text-align:center;
  max-width:680px;
  margin:0 auto 60px;
}
.process-tag{
  display:inline-block;
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#2f6b4f;
  background:#e6f0ea;
  padding:6px 16px;
  border-radius:30px;
  margin-bottom:18px;
}
.process-title{
  font-size:36px;
  line-height:1.25;
  font-weight:700;
  color:#16241c;
  margin:0 0 14px;
}
.process-title em{
  color:#2f6b4f;
  font-style:normal;
}
.process-subtitle{
  font-size:16px;
  line-height:1.6;
  color:#5b6b62;
  margin:0;
}
.process-steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:24px;
}
.process-step{
  position:relative;
  background:#ffffff;
  border:1px solid #e8ece8;
  border-radius:16px;
  padding:32px 22px 28px;
  text-align:left;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.process-step:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 32px rgba(22,36,28,.08);
  border-color:#cfe0d5;
}
.process-step-number{
  font-size:13px;
  font-weight:700;
  color:#476a55;
  letter-spacing:.05em;
  margin-bottom:14px;
}
.process-step-icon{
  width:48px;
  height:48px;
  border-radius:12px;
  background:#e6f0ea;
  color:#2f6b4f;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.process-step-icon svg{
  width:22px;
  height:22px;
}
.process-step-title{
  font-size:17px;
  font-weight:700;
  color:#16241c;
  margin:0 0 8px;
}
.process-step-text{
  font-size:14px;
  line-height:1.6;
  color:#5b6b62;
  margin:0;
}

@media (max-width:1024px){
  .process-steps{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px){
  .process-section{ padding:60px 16px; }
  .process-title{ font-size:28px; }
  .process-steps{ grid-template-columns:1fr; }
}


/* =========================================================
   FAQ — STYLES
========================================================= */
.faq-section{
   padding: 4rem 2.5rem;
  background:#ffffff;
}
.faq-container{
  max-width:1000px;
  margin:0 auto;
}
.faq-header{
  text-align:center;
  margin:0 auto 50px;
}
.faq-tag{
  display:inline-block;
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#2f6b4f;
  background:#e6f0ea;
  padding:6px 16px;
  border-radius:30px;
  margin-bottom:18px;
}
.faq-title{
  font-size:36px;
  line-height:1.25;
  font-weight:700;
  color:#16241c;
  margin:0 0 14px;
}
.faq-title em{
  color:#2f6b4f;
  font-style:normal;
}
.faq-subtitle{
  font-size:16px;
  color:#5b6b62;
  margin:0;
}
.faq-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.faq-item{
  border:1px solid #e8ece8;
  border-radius:14px;
  background:#f7f8f6;
  overflow:hidden;
  transition:border-color .2s ease;
}
.faq-item.active{
  border-color:#2f6b4f;
}
.faq-question{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  padding:20px 22px;
  font-size:16px;
  font-weight:600;
  color:#16241c;
  font-family:inherit;
}
.faq-icon{
  flex-shrink:0;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#e6f0ea;
  color:#2f6b4f;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.faq-item.active .faq-icon{
  transform:rotate(45deg);
  background:#2f6b4f;
  color:#ffffff;
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.faq-answer p{
  margin:0;
  padding:0 22px 20px;
  font-size:16px;
  line-height:1.65;
  color: #718096;
}

.faq-answer ul, .faq-answer ol{
	 padding:0 22px 20px;
}
.faq-answer ul li, .faq-answer ol li{
	font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.5;
	color: #718096;
	list-style:none;
	padding: 5px 0 5px 25px;
	position:relative;
}

.faq-answer ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 15px;
    height: 15px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23A7BEA2' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

@media (max-width:640px){
  .faq-section{ padding:60px 16px; }
  .faq-title{ font-size:28px; }
  .faq-question{ font-size:15px; padding:16px 18px; }
}



/* =========================================================
   NAVBAR — STYLES
========================================================= */
.nav-menu{
  background:#27425a;
  padding:0 32px;
  font-family:Arial, Helvetica, sans-serif;
}
.nav-list{
  display:flex;
  align-items:center;
  gap:40px;
  margin:0;
  padding:0;
  list-style:none;
}
.nav-item{
  position:relative;
}
.nav-link{
  display:flex;
  align-items:center;
  gap:6px;
  padding:26px 0;
  color:#ffffff;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  border-bottom:2px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
.nav-link:hover{
  color:#7fd9a4;
}
.nav-link.active{
  color:#7fd9a4;
  border-bottom-color:#7fd9a4;
}
.nav-arrow{
  width:14px;
  height:14px;
  transition:transform .2s ease;
}
.nav-item.open .nav-arrow{
  transform:rotate(180deg);
}
 
/* Dropdown */
.sub-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:240px;
  background:#ffffff;
  border-radius:8px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  list-style:none;
  margin:0;
  padding:8px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:100;
}
.nav-item.open .sub-menu,
.nav-item.menu-item-has-children:hover .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.nav-item.menu-item-has-children:hover .nav-arrow{
  transform:rotate(180deg);
}
.sub-menu li a{
  display:block;
  padding:10px 14px;
  border-radius:6px;
  color:#27425a;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.sub-menu li a:hover{
  background:#eef6f1;
  color:#1f8a55;
}
 
@media (max-width:640px){
  .nav-list{ gap:24px; }
  .nav-link{ font-size:14px; padding:18px 0; }
}


/* =========================================================
   TEAM HEADER — STYLES
========================================================= */
.team-header-section{
  background:#f4f1ec;
  padding:70px 20px 0;
  font-family:Arial, Helvetica, sans-serif;
  text-align:center;
}
.team-header-wrap{
  max-width:760px;
  margin:0 auto;
}
.team-header-tag{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:18px;
}
.team-header-line{
  width:28px;
  height:1px;
  background:#8aa392;
}
.team-header-tag span:last-child{
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#8aa392;
}
.team-header-title{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:42px;
  line-height:1.3;
  font-weight:400;
  color:#1c2b3a;
  margin:0 0 22px;
}
.team-header-title em{
  font-style:italic;
  color:#8aa392;
}
.team-header-subtitle{
  font-size:16px;
  line-height:1.7;
  color:#6b6f6c;
  margin:0;
}
 
@media (max-width:640px){
  .team-header-section{ padding:50px 16px 0; }
  .team-header-title{ font-size:30px; }
}
 
 
/* =========================================================
   TEAM SLIDER — STYLES
========================================================= */
.team-slider-section{
  padding:70px 20px;
  background:#f4f1ec;
  font-family:Arial, Helvetica, sans-serif;
}
.team-slider-wrap{
  position:relative;
  max-width:1400px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:20px;
}
.team-slider{
  flex:1;
  position:relative;
  overflow:hidden;
}
.team-slide{
  display:none;
  background:#ffffff;
  border-radius:20px;
  box-shadow:0 20px 50px rgba(0,0,0,.06);
  padding:36px;
  animation:teamFade .35s ease;
}
.team-slide.active{
  display:block;
}
@keyframes teamFade{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:translateY(0); }
}
.team-slider-section .team-card{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:48px;
  align-items:stretch;
  padding: 0;
}
.team-photo{
  width:100%;
  height:100%;
  border-radius:14px;
  overflow:hidden;
  background:#e3e6e3;
}
.team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.team-name{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:32px;
  font-weight:400;
  color:#1c2b3a;
  margin:0 0 10px;
}
.team-role{
  font-size:15px;
  font-weight:700;
  color:#c0613f;
  margin:0 0 18px;
}
.team-bio{
  font-size:15px;
  line-height:1.7;
  color:#5b6168;
  margin:0 0 16px;
}
.team-bio:last-child{
  margin-bottom:0;
}
 
/* Nav arrows */
.team-nav{
  flex-shrink:0;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid #cfd3d6;
  background:#ffffff;
  color:#1c2b3a;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.team-nav svg{
  width:18px;
  height:18px;
}
.team-nav:hover{
  background:#1c3a5e;
  border-color:#1c3a5e;
  color:#ffffff;
}
.team-nav-next{
  background:#1c3a5e;
  border-color:#1c3a5e;
  color:#ffffff;
}
.team-nav-next:hover{
  background:#16314f;
}
 
/* Dots */
.team-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:28px;
}
.team-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#c7cbc9;
  border:none;
  cursor:pointer;
  padding:0;
  transition:background .2s ease, transform .2s ease;
}
.team-dot.active{
  background:#1c3a5e;
  transform:scale(1.2);
}

@media (max-width:1200px){
    .team-photo{
        background:transparent;
    }
    .team-photo img{
        height: auto;
    }
    .team-slider-section .team-card{
        padding: 0;
    }
}
 
@media (max-width:900px){
  .team-slider-section .team-card{
    grid-template-columns:1fr;
    gap:28px;
  }
  .team-photo{
    max-width:100%;
    height:auto;
    margin:0 auto;
  }
}
@media (max-width:640px){
  .team-slider-wrap{ gap:10px; }
  .team-nav{ width:36px; height:36px; }
  .team-slide{ padding:22px; }
  .team-name{ font-size:26px; }
  .team-slider-section .team-card h3{
    font-size: 25px;
  }
  .ser-sub-inner{
    display: block;
  }
  .ser-sub-inner .story-quote{
    margin-top: 25px;
  }
}

@media (max-width:480px){
.hero-content{
        padding: 10rem 2.5rem 4rem;
}
}




 /* ===========================================================
     PAGE HEADER
  =========================================================== */
  .contact-hero{
    background:#1c3a5e;
    padding:180px 20px 70px;
    text-align:center;
  }
  .contact-hero-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
  }
  .contact-hero-tag span{
    font-size:13px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#8fd2ad;
  }
  .contact-hero-tag::before{
    content:"";
    width:28px;
    height:1px;
    background:#8fd2ad;
  }
  .contact-hero h1{
    font-size:42px;
    color:#ffffff;
    margin-bottom:14px;
    font-weight:700;
  }
  .contact-hero h1 em{
    color:#8fd2ad;
    font-style:normal;
  }
  .contact-hero p{
    color:#c7d2dd;
    font-size:16px;
    max-width:560px;
    margin:0 auto;
    line-height:1.7;
  }
 
  /* ===========================================================
     INFO CARDS
  =========================================================== */
  .contact-info-section{
    padding:60px 20px 0;
    max-width:1160px;
    margin:0 auto;
  }
  .contact-info-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .contact-info-card{
    background:#f7f8f6;
    border:1px solid #e8ece8;
    border-radius:16px;
    padding:32px 26px;
    text-align:center;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .contact-info-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(22,36,28,.08);
  }
  .contact-info-icon{
    width:52px;
    height:52px;
    border-radius:50%;
    background:#e6f0ea;
    color:#2f6b4f;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
  }
  .contact-info-icon svg{ width:22px; height:22px; }
  .contact-info-card h3{
    font-size:16px;
    margin-bottom:8px;
  }
  .contact-info-card p{
    font-size:14px;
    color:#5b6b62;
    line-height:1.6;
  }
  .contact-info-card a{
    color:#2f6b4f;
    font-weight:600;
  }
 
  /* ===========================================================
     FORM + MAP SECTION
  =========================================================== */
  .contact-main{
    max-width:1160px;
    margin:0 auto;
    padding:70px 20px 90px;
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:50px;
    align-items:start;
  }
 
  .contact-form-wrap h2{
    font-size:28px;
    margin-bottom:10px;
	font-family: var(--font-display);
  }
  .contact-form-wrap > p{
    color:#5b6b62;
    font-size:15px;
    margin-bottom:30px;
    line-height:1.6;
  }
 
  .contact-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .form-group{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .form-group.full{
    grid-column:1 / -1;
  }
  .form-group label{
    font-size:13px;
    font-weight:600;
    color:#1c2b3a;
  }
  .form-group input,
  .form-group textarea{
    border:1px solid #646464;
    border-radius:10px;
    padding:12px 14px;
    font-size:14px;
    font-family:inherit;
    color:#1c2b3a;
    background:#ffffff;
    transition:border-color .2s ease, box-shadow .2s ease;
	  width:100%;
  }
  .form-group input:focus,
  .form-group textarea:focus, .form-group select:focus{
    outline:none;
    border-color:#2f6b4f;
    box-shadow:0 0 0 3px rgba(47,107,79,.12);
  }
  .form-group textarea{
    resize:vertical;
    min-height:130px;
	  width:100%;
  }

.form-group select{
	 border:1px solid #646464;
    border-radius:10px;
    padding:12px 14px;
    font-size:14px;
    font-family:inherit;
    color:#1c2b3a;
    background:#ffffff;
    transition:border-color .2s ease, box-shadow .2s ease;
	  width:100%;
}
  .form-error{
    font-size:12px;
    color:#c0432f;
    min-height:14px;
  }
  .form-group.invalid input,
  .form-group.invalid textarea{
    border-color:#c0432f;
  }
 
  .contact-submit{
    grid-column:1 / -1;
    justify-self:start;
    background:#2f6b4f;
    color:#ffffff;
    border:none;
    border-radius:10px;
    padding:14px 32px;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
  }
  .contact-submit:hover{
    background:#255943;
    transform:translateY(-2px);
  }
 
  .form-success{
    display:none;
    grid-column:1 / -1;
    background:#e6f0ea;
    color:#255943;
    border-radius:10px;
    padding:14px 18px;
    font-size:14px;
    font-weight:600;
  }
  .form-success.show{
    display:block;
  }
 
  /* Map */
  .contact-map-wrap{
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .contact-map-wrap h2{
    font-size:24px;
	font-family: var(--font-display);
  }
  .contact-map{
    border-radius:16px;
    overflow:hidden;
    border:1px solid #e8ece8;
    box-shadow:0 16px 32px rgba(22,36,28,.06);
  }
  .contact-map iframe{
    width:100%;
    height:460px;
    border:0;
    display:block;
  }
  .contact-hours{
    background:#f7f8f6;
    border:1px solid #e8ece8;
    border-radius:16px;
    padding:24px 26px;
  }
  .contact-hours h3{
    font-size:15px;
    margin-bottom:14px;
  }
  .contact-hours-row{
    display:flex;
    justify-content:space-between;
    font-size:14px;
    color:#5b6b62;
    padding:8px 0;
    border-bottom:1px solid #e8ece8;
  }
  .contact-hours-row:last-child{
    border-bottom:none;
  }
  .contact-hours-row span:last-child{
    color:#1c2b3a;
    font-weight:600;
  }
 
  /* ===========================================================
     RESPONSIVE
  =========================================================== */
  @media (max-width:900px){
    .contact-info-grid{ grid-template-columns:1fr; }
    .contact-main{ grid-template-columns:1fr; }
  }
  @media (max-width:560px){
    .contact-hero h1{ font-size:30px; }
    .contact-form{ grid-template-columns:1fr; }
  }





  /* =========================================================
   MOBILE MENU — STYLES (slide down from top)
========================================================= */
.nav-mobile{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#27425a;
min-height: 0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease, opacity .25s ease;
  z-index:200;
  font-family:Arial, Helvetica, sans-serif;
}
.nav-mobile.open{
  opacity:1;
  display: block;
}
.nav-mobile ul{
  list-style:none;
  margin:0;
  padding:8px 20px;
}
.nav-mobile > ul > li{
  border-bottom:1px solid rgba(255,255,255,.1);
}
.nav-mobile > ul > li:last-child{
  border-bottom:none;
}
 
/* top-level row: link + optional arrow toggle */
.nav-mobile-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width: 100%;
}
.nav-mobile > ul > li > a{
  display:block;
  flex:1;
  padding:16px 0;
  color:#ffffff;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
}
.nav-mobile-arrow{
  flex-shrink:0;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:none;
  border:none;
  color:#ffffff;
  cursor:pointer;
  padding:0;
}
.nav-mobile-arrow svg{
  width:16px;
  height:16px;
  transition:transform .25s ease;
}
.nav-mobile-item.sub-open .nav-mobile-arrow svg{
  transform:rotate(180deg);
}
 
/* 
.sub-menu{
  max-height:0;
  overflow:hidden;
  padding:0 0 0 14px !important;
  transition:max-height .3s ease;
}
.nav-mobile-item.sub-open .sub-menu{
  max-height:300px;
}*/
.sub-menu li{
  border-bottom:none !important;
}
.sub-menu li a{
  display:block;
  padding:12px 15px;
  color:#000000;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
}
.sub-menu li a:hover{
  color:#1f8a55;
}
 
/* CTA */
.nav-mobile .nav-cta{
  display:block;
  background:#ffffff;

  font-size:14px;
  font-weight:700;
  text-decoration:none;
  margin:8px 20px 20px;
}

footer ul li{
    list-style: none;
    padding:5px 0;
}

/*footer #menu-footer-menu-3{
    display: flex;
    gap:15px;
}*/

 .top-bar {
    background-color: #111e2a;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 30px;
    flex-wrap: wrap;
  }
 
  .top-bar-left {
    display: flex;
    align-items: center;
    gap: 28px;
  }
 
  .contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    white-space: nowrap;
    font-weight: 700;
  }
 
  .contact-item svg {
    width: 16px;
    height: 16px;
    fill: #ffffff;
    flex-shrink: 0;
  }
 
  .top-bar-center {
    flex: 1;
    text-align: center;
    font-size: 15px;
    color: #ffffff;
    padding: 0 20px;
    font-weight: 700;
    text-transform: uppercase;
        position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
 
  .top-bar-right {
    display: flex;
    align-items: center;
    gap: 14px;
  }
 
  .social-icon {
    width: 30px;
    height: 30px;
    border: 1px solid #ffffff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }
 
  .social-icon svg {
    width: 14px;
    height: 14px;
    fill: #ffffff;
  }

.banner-servive-head {
    display: flex;
    align-items: center;
    gap: 14px;
    background-color: #111e2a;
    color: #ffffff;
    border-radius: 40px;
    padding: 18px 28px;
    max-width: 100%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	justify-content:center;
	margin-bottom:40px;
	
  }
 
  .banner-servive-head svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
  }
 
  .banner-servive-head p {
    margin: 0;
    font-size: 17px;
    line-height: 1.4;
  }


input[type="submit"]{
	    grid-column: 1 / -1;
    justify-self: start;
    background: #2f6b4f;
    color: #ffffff;
    border: none;
    border-radius: 10px;
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.contact-form{
   margin-bottom: 15px;
}

.service-card-body a{
	margin-top:15px;
	display:block;
	font-weight:700;
	color: #445643;
}

.service-card-body a:hover{
	text-decoration:underline;
}

.marquee {
    width: 100%;
    overflow: hidden;
    background: #1c2a4d;
    padding: 15px 0;
}

.marquee-track {
    display: flex;
    width: max-content;
    animation: scroll 60s linear infinite;
}

.marquee-content {
    display: flex;
    gap: 50px;
    padding-right: 50px;
    white-space: nowrap;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
}

@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}


/* yellow diagonal ribbon */
.ribbon{
    position:absolute;
    top:-15px;
    left:-40px;
    width:120px;
    height:180px;
    background: #7FA58A;
    transform:rotate(45deg);
}

.quick-card img{
    width:55px;
    height:55px;
    object-fit:contain;
    position:relative;
    z-index:2;
}

.quick-card .text{
    position:relative;
    z-index:2;
    line-height:1.1;
}

.quick-card .text span{
    display:block;
    font-size:16px;
}

.quick-card .text strong{
    display:block;
    font-size:20px;
    font-weight:700;
}

.quick-card:hover{
    transform:translateY(-4px);
    transition:.3s;
}

.carousel-wrapper{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
}

.quick-links{
    display:flex;
    gap:20px;
    overflow:hidden;
    scroll-behavior:smooth;
    width:100%;
}



.quick-card{
    position:relative;
    min-width:260px;
    height:120px;
    background: #1F3A5F;
    border-radius:18px;
    display:flex;
    align-items:center;
    gap:15px;
    padding:20px;
    text-decoration:none;
    color:#fff;
    overflow:hidden;
    box-shadow:0 4px 10px rgba(0,0,0,.15);
    flex-shrink:0;
}

.carousel-btn{
    width:45px;
    height:45px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    background:#1ec0df;
    color:#fff;
    font-size:20px;
}

.nav-logo-icon img{
	position:absolute;
	width:135px;
	top:60px;
	left:20px;
	-webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
	opacity: 0.6;
}

.nav.scrolled .nav-logo-icon img{
	    width: 85px;
    top: 51px;
    left: 20px;
	-webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
}

footer.footer .nav-logo-icon img{
	position:relative;
	top: 0;
    left: 0;
	width:100%;
	opacity:1;
}

footer.footer .nav-logo-icon{
	width:135px;
	height:135px;
}



/* ==========================================================================
   TYPOGRAPHY HELPERS
   ========================================================================== */
.eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  letter-spacing:0.16em;
  font-weight:600;
  text-transform:uppercase;
  margin-bottom:18px;
}
.eyebrow-dash{ width:26px; height:1px; background: currentColor; display:inline-block; }
.eyebrow-dash-right{ order:3; }
.eyebrow.center{ justify-content:center; }
.eyebrow-dark{ color: #82996f; }
.eyebrow-light{ color: #a9bb96; }
 
.display-h1{
  font-family: var(--font-display);
  font-weight:500;
  font-size: 56px;
  line-height:1.12;
  color: #ffffff;
  margin-bottom:22px;
}
.display-h2{
  font-family: var(--font-display);
  font-weight:500;
  font-size:42px;
  line-height:1.18;
  color: #1c2f47;
  margin-bottom:22px;
}
.display-h2.on-dark{ color: #ffffff; }
.display-h2.center, .eyebrow.center, .section-head-center{ text-align:center; }
.section-head-center{
  max-width: 760px;
  margin: 0 auto 48px;
}
 
.hero-sub{
  font-family: var(--font-display);
  font-style:italic;
  font-size:22px;
  color: #a9bb96;
  font-weight:400;
}
 
.lead-text{
  font-size:19px;
  line-height:1.6;
  color: #1c2a3a;
  margin-bottom:20px;
}
.body-text{
  font-size:16px;
  color: #54616c;
  margin-bottom:18px;
}
.body-text.on-dark{ color: rgba(255,255,255,0.78); }
.body-text.center{ margin-left:auto; margin-right:auto; }
.body-text-strong{
  font-size:16px;
  font-weight:600;
  color: #1c2f47;
  margin-bottom:14px;
}
.body-text-strong.on-dark{ color: #ffffff; }
 
.on-dark strong{ color: #ffffff; }
 
/* ==========================================================================
   SECTION BACKGROUNDS
   ========================================================================== */
.section{ padding: 96px 0; }
.section-white{ background: #ffffff; }
.section-cream{ background: #f7f5f0; }
.section-navy{ background: #1c2f47; }
.section-sage-tint{ background: linear-gradient(180deg, #f4f6f0, #eef1e8); }
 
/* ==========================================================================
   PAGE HERO
   ========================================================================== */
.page-hero{
  background: linear-gradient(120deg, #142233 0%, #1a2c44 55%, #20384f 100%);
  padding: 84px 0 100px;
  position:relative;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items:center;
  gap: 56px;
}
.hero-img-frame{
  border-radius: var(--radius-lg);
  overflow:hidden;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,0.45);
}
 
/* image placeholders: stand-in for photography referenced in the source pages */
.img-placeholder{
  width:100%;
  border-radius: var(--radius-lg);
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height: 360px;
  background-size: cover;
  background-position:center;
  overflow:hidden;
}
.img-placeholder.tall{ min-height: 460px; }
.img-placeholder::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(20,34,51,0) 40%, rgba(20,34,51,0.35) 100%);
}
.ph-warm{ background-image: linear-gradient(135deg, #e7ddc9 0%, #cdb792 45%, #a9bb96 100%); }
.ph-soft{ background-image: linear-gradient(135deg, #dfe6db 0%, #c3d2c4 50%, #9fb3a0 100%); }
.ph-navy-img{ background-image: linear-gradient(135deg, #2b3f5c 0%, #1c2f47 60%, #101c2c 100%); }
 
/* ==========================================================================
   INTRO SECTION
   ========================================================================== */
.intro-grid{ max-width: 820px; margin: 0 auto 40px; text-align:center; }
.intro-grid .lead-text{ font-size:21px; }
 
.quote-box{
  background: #efebe2;
  border-radius: var(--radius-md);
  padding: 36px 48px;
  text-align:center;
  font-family: var(--font-display);
  font-style:italic;
  font-size:19px;
  color: #1c2f47;
  max-width: 880px;
  margin: 0 auto;
}
.quote-box p{ margin:0; }
.quote-on-navy{
  background: rgba(255,255,255,0.06);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.1);
}
.quote-on-navy strong{ color: #ffffff; }
.quote-emphasis{
  background: #1c2f47;
  color: #ffffff;
  font-size:21px;
}
.quote-emphasis strong{ color: #ffffff; }
.center-text{ text-align:center; }
 
/* ==========================================================================
   TWO COLUMN SECTIONS (Person-centered, 24/7, Community, Transitions)
   ========================================================================== */
.two-col-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items:center;
}
.two-col-grid.reverse .col-media{ order:2; }
.two-col-grid.reverse .col-text{ order:1; }
 
.check-list{
  margin: 0 0 20px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.check-list li{
  position:relative;
  padding-left:30px;
  font-size:15.5px;
  color: #54616c;
}
.check-list.on-dark li{ color: rgba(255,255,255,0.82); }
.check-list li::before{
  content:"\2713";
  position:absolute;
  left:0; top:0;
  width:20px; height:20px;
  border-radius:50%;
  background: #d7e0cd;
  color: #82996f;
  font-size:11px;
  display:flex; align-items:center; justify-content:center;
}
.check-list.on-dark li::before{
  background: rgba(169,187,150,0.18);
  color: #a9bb96;
}
 
.side-quote{
  border-left: 3px solid #a9bb96;
  padding-left:20px;
  font-family: var(--font-display);
  font-style:italic;
  font-size:18px;
  color: #1c2f47;
  margin-top: 24px;
}
.side-quote strong{ color:#1c2f47; font-style:normal; }
 
/* ==========================================================================
   DAILY LIVING SUPPORT — TWO CARD GRID
   ========================================================================== */
.card-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 44px;
}
.info-card{
  background: #ffffff;
  border: 1px solid #e7e2d6;
  border-radius: var(--radius-md);
  padding: 36px;
}
.info-card-alt{ background: #fbf3ee; border-color:#f2e2d6; }
.card-icon{
  width:48px; height:48px;
  border-radius:12px;
  background: #d7e0cd;
  color: #82996f;
  display:flex; align-items:center; justify-content:center;
  font-size:20px;
  margin-bottom:20px;
}
.info-card-alt .card-icon{ background:#f4dcc9; color:#c98a63); }
.info-card h3{
  font-family: var(--font-display);
  font-weight:600;
  font-size:22px;
  color: #1c2f47;
  margin-bottom:18px;
}
.check-list-small{ display:flex; flex-direction:column; gap:10px; }
.check-list-small li{
  position:relative;
  padding-left:24px;
  font-size:15px;
  color: #54616c;
}
.check-list-small li::before{
  content:"\2713";
  position:absolute; left:0; top:1px;
  color:#82996f;
  font-size:13px;
  font-weight:700;
}
.info-card-alt .check-list-small li::before{ color: #c98a63; }
 
/* ==========================================================================
   PILL GRIDS (Skill building / True home)
   ========================================================================== */
.pill-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-bottom: 44px;
}
.pill{
  display:inline-flex;
  align-items:center;
  padding: 12px 24px;
  border-radius: var(--radius-pill);
  font-size:14.5px;
  font-weight:500;
}
.pill-dark{
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(169,187,150,0.35);
  color: #ffffff;
}
.pill-light{
  background: #ffffff;
  border: 1px solid #d7e0cd;
  color: #1c2f47;
}
 
/* ==========================================================================
   ICON GRID — Small Personalized Home Settings
   ========================================================================== */
.icon-grid-4{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-bottom: 44px;
}
.icon-card{
  background: #ffffff;
  border-radius: var(--radius-md);
  padding: 32px 22px;
  text-align:center;
  box-shadow: 0 12px 30px -18px rgba(28,42,58,0.25);
}
.icon-circle{
  width:52px; height:52px;
  margin: 0 auto 18px;
  border-radius:50%;
  background: #d7e0cd;
  color: #82996f;
  display:flex; align-items:center; justify-content:center;
  font-size:20px;
}
.icon-card p{
  font-size:15px;
  color: #1c2a3a;
  font-weight:500;
  margin:0;
}
 
/* ==========================================================================
   DARK CARD GRID — Accessibility, Safety & Compliance
   ========================================================================== */
.dark-card-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 44px;
}
.dark-card{
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-md);
  padding: 32px 28px;
  text-align:center;
}
.check-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px; height:40px;
  margin:0 auto 16px;
  border-radius:50%;
  background: rgba(169,187,150,0.18);
  color: #a9bb96;
  font-size:16px;
}
.dark-card p{
  color: rgba(255,255,255,0.85);
  font-size:16px;
  margin:0;
}

.HeroActionBtn .btn-outline{
	padding: 7px 15px;
    background: rgba(255, 255, 255, 0.2);
    text-align: center;
    display: block;
}

#bannerAction{
	gap: 10px 0;
	justify-content:space-between;
}

#bannerAction a{
	width:32%;
	padding:7px 0;
}


.HeroActionBtn{
	gap:10px;
}

.medication-grid.killDevelopment{
	    grid-template-columns: repeat(2, 1fr);
}

.core-values.promise .cv-grid{
	grid-template-columns: repeat(4, 1fr);
}
.imagewapfull{
	height:100%;
	margin-top:0 !important;
}

.cook-care .reveal.visible img{
	height:100% !important;
	object-fit:cover !important;
	border-radius: 25px;
}

.imagewapfull img{
	height:100% !important;
	object-fit:cover !important;
	border-radius:25px;
}

#searvice-head .hero-grid{
	padding-bottom:4rem;
}

.independence-grid-re{
	    display: flex !important;
    flex-direction: row-reverse;
	    align-items: flex-start !important;
}

/* ==========================================================================
   DAILY LIVING SUPPORT — TWO CARD GRID
   ========================================================================== */
.card-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 44px;
}
.info-card{
  background: #ffffff;
  border: 1px solid #e7e2d6;
  border-radius: 16px;
  padding: 36px;
}
.info-card-alt{ background: #fbf3ee; border-color:#f2e2d6; }
.card-icon{
  width:48px; height:48px;
  border-radius:12px;
  background: #d7e0cd;
  color: #82996f;
  display:flex; align-items:center; justify-content:center;
  font-size:20px;
  margin-bottom:20px;
}
.info-card-alt .card-icon{ background:#f4dcc9; color:#c98a63; }
.info-card h3{
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight:600;
  font-size:22px;
  color: #1c2f47;
  margin-bottom:18px;
}
.check-list-small{ display:flex; flex-direction:column; gap:10px; }
.check-list-small li{
  position:relative;
  padding-left:24px;
  font-size:15px;
  color: #54616c;
}
.check-list-small li::before{
  content:"\2713";
  position:absolute; left:0; top:1px;
  color: #82996f;
  font-size:13px;
  font-weight:700;
}
.info-card-alt .check-list-small li::before{ color: #c98a63; }
 
.info-card-dark{
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  padding: 36px;
}
.info-card-dark h3{
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight:600;
  font-size:22px;
  color: #ffffff;
  margin-bottom:18px;
}
.info-card-dark .card-icon{
  background: rgba(169,187,150,0.18);
  color: #a9bb96;
}
.check-list-small.on-dark li{ color: rgba(255,255,255,0.8); }
.check-list-small.on-dark li::before{ color: #a9bb96; }
 
.narrow-grid{
  grid-template-columns: 1fr;
  max-width: 640px;
  margin: 0 auto 44px;
}

/* ============================================================
   CLOSING SECTION — PATH TO INDEPENDENCE
   ============================================================ */
.closing-section {
  position: relative;
  overflow: hidden;
  background-color: var(--color-primary);
  background-image: linear-gradient(
    135deg,
    var(--color-primary-dark) 0%,
    var(--color-primary)      50%,
    var(--color-primary-mid)  100%
  );
  color: var(--color-text-light);
}

/* Decorative radial glow */
.closing-section::before {
  content: '';
  position: absolute;
  top: -30%;
  right: -8%;
  width: 680px;
  height: 680px;
  background: radial-gradient(
    circle,
    rgba(138, 171, 116, 0.14) 0%,
    transparent 68%
  );
  pointer-events: none;
}

/* Second decorative radial glow */
.closing-section::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(
    circle,
    rgba(196, 169, 107, 0.08) 0%,
    transparent 70%
  );
  pointer-events: none;
}

.closing-content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 800px;
  margin-inline: auto;
}

.closing-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-3xl);
  font-weight: 700;
  color: var(--color-text-light);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-lg);
}

.closing-title em {
  display: block;
  font-style: italic;
  font-weight: 400;
  color: var(--color-gold);
}

.closing-body {
  font-size: var(--font-size-md);
  color: rgba(255, 255, 255, 0.82);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-lg);
}

.closing-list {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.875rem;
  margin: 0 auto var(--space-xl);
  text-align: left;
}

.closing-list li {
  position: relative;
  padding-left: 2rem;
  font-size: var(--font-size-md);
  color: rgba(255, 255, 255, 0.90);
  line-height: var(--leading-normal);
}

.closing-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-accent);
  font-weight: 700;
}

.closing-quote {
  font-family: var(--font-heading);
  font-size: var(--font-size-xl);
  font-style: italic;
  color: var(--color-gold);
  line-height: var(--leading-relaxed);
  padding-top: var(--space-xl);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  max-width: 680px;
  margin-inline: auto;
}

.closing-section .closing-quote{
	padding:25px 0;
}
.closing-section h2.section-h2{
	padding-bottom:25px;
}

.closing-section h2.section-h2 em{
	color: var(--color-sagelight);
}


.closing-section .team-checks{
	width: 480px;
    margin: 25px auto;
}

.process-safety .process-steps{
	grid-template-columns: repeat(4, 1fr);
}


#ll250-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    z-index: 999998;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
  }
  #ll250-overlay.ll250-show {
    display: flex;
  }
  #ll250-modal {
    position: relative;
    max-width: 500px;
    width: 100%;
    max-height: 90vh;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
    animation: ll250-pop 0.25s ease-out;
  }
  #ll250-modal img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 90vh;
    object-fit: contain;
  }
  #ll250-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    border: none;
    font-size: 20px;
    line-height: 34px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  }
  #ll250-close:hover {
    background: #f2f2f2;
  }
  @keyframes ll250-pop {
    from { transform: scale(0.92); opacity: 0; }
    to   { transform: scale(1);    opacity: 1; }
  }
 
  #ll250-tab {
    display: none;
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 999997;
    background: #2b7314;
    color: #fff;
    border: none;
    padding: 12px 14px;
    border-radius: 8px 0 0 8px;
    box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
  #ll250-tab.ll250-tab-show {
    display: block;
  }
  #ll250-tab:hover {
    background: #8e1a25;
  }
 
  #ll250-fx {
    position: fixed;
    inset: 0;
    z-index: 999999;
    pointer-events: none;
    display: none;
  }
  #ll250-fx.ll250-fx-show {
    display: block;
  }



#half-col-service{
	    padding: 4rem 0;
}
.service-half-inner{
	display: flex;
    flex-flow: row wrap;
    width: 100%;
    justify-content: space-between;
}
.left-service-con{
	width:70%;
}
.right-service-con{
	width:27%;
	    position: sticky;
    top: 178px;
    align-self: flex-start;
}
.left-service-con .faq-section{
	padding:0;
}

#half-col-service .faq-section .faq-question{
	font-size:30px;
	font-family: var(--font-display);
	background: #e9f7ec;
}


#half-col-service .faq-item.active button{
	background: #112336;
    color: #fff;
}

#half-col-service .faq-item.active .faq-answer{
	padding:25px;
}

#half-col-service .faq-answer p{
	padding:0;
}

#half-col-service .person-model-checks{
	margin-top:20px;
}
#half-col-service  p.person-quote{
	padding-left:20px;
}

#half-col-service .faq-item button em{
	    color: var(--color-sage);
	font-weight:500;
}









.other-services-widget {
    max-width: 100%;
    background: #f6f3ec;
    border: 1px solid #e2ddcf;
    padding: 20px 20px 20px;
    border-radius: 15px;
  }

  .other-services-widget h3 {
    margin: 0 0 22px;
    font-family: 'Jost', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1.5px;
    color: #142845;
    text-transform: uppercase;
  }

  .other-services-widget ul {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
  }

  .other-services-widget li {
    border-bottom: 1px solid #e2ddcf;
  }

  .other-services-widget li:first-child a {
    padding-top: 0;
  }

  .other-services-widget a {
    display: block;
    padding: 14px 4px;
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 500;
    color: #3B5942;
    text-decoration: none;
    transition: color 0.2s ease, padding-left 0.2s ease;
  }

  .other-services-widget a:hover {
    color: #142845;
    padding-left: 10px;
  }

  .download-brochure-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 20px;
    background: #475940;
    color: #ffffff;
    border: none;
    border-radius: 40px;
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease;
	  margin-top:25px;
  }

  .download-brochure-btn:hover {
    background: #142845;
  }

  .download-brochure-btn svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
  }

#person-centered-wrap{
	padding-bottom:0 !important;
	background: #fcfcfa !important;
}

#half-col-service .faq-section .cv-grid{
	grid-template-columns: repeat(2, 1fr);
	margin:2rem 0;
}

#half-col-service .faq-section .cv-grid span.cv-word{
	    font-size: clamp(22px, 2.5vw, 20px);
}

#half-col-service .faq-section .cv-closing{
	padding: 1rem;
}


#half-col-service .faq-section .medication-grid{
	margin:2rem 0;
}

#half-col-service{
	padding-top:0 !important;
}

#bookingwrap{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#233a5a+0,233a5a+26,ffffff+26,ffffff+100 */
background: linear-gradient(to bottom,  rgba(35,58,90,1) 0%,rgba(35,58,90,1) 26%,rgba(255,255,255,1) 26%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

}

.bookingwrapInner{
	background:#fff;
	padding:4rem;
	
}
.bookingwrapInnercol{
	width:100%;
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
}

.bookingwrapInnerLeft{
	width:60%;
}
.bookingwrapInnerRight{
	width:37%;
}

#half-col-service .dark-card{
	    border: 1px solid #bfcbd9;
}

#half-col-service .dark-card-grid{
	margin:2rem 0;
}

.sidebarImage{
	    display: flex;
    flex-direction: column;
    gap: 25px;
	margin-top:25px;
}

.bookingwrapInnerRight img{
	object-fit: cover;
    height: 100%;
    border-radius: 15px;
}

.sidebarImage img{
	border-radius:15px;
}

.HeroActionBtn .btn-outline:hover{
	    background: rgb(118 161 129);
}

#half-col-service.half-col-gap{
	padding-top:80px !important;
}

.medication-grid.killDevelopment.medication-grid-one-col{
	grid-template-columns: repeat(1, 1fr);
}

.home-grid.home-grid-t-col{
	grid-template-columns: repeat(2, 1fr);
	margin-top:30px;
}

.med-card-b-gap{
	margin-bottom:20px;
}

.process-steps.process-steps-2col{
	    grid-template-columns: repeat(2, 1fr);
	margin-top:30px;
}


#menu-footer-menu-4{
	display:flex;
	gap:15px;
}

.closing-section .team-checks.team-checks-2col{
	display:flex;
	flex-flow:row wrap;
}
.closing-section .team-checks.team-checks-2col .check-row{
	width:48%;
}

.hero-left h2{
	font-family: var(--font-display);
    font-size: clamp(34px, 5.5vw, 36px);
    font-weight: 300;
    line-height: 1.05;
    color: white;
}

.hero-left h2 em{
	    font-style: italic;
    color: var(--color-eucalyptus);
}

.breadcrumb a{
	color: var(--color-eucalyptus);
	text-transform:uppercase;
}

.breadcrumb span{
	color:#fff;
}

.person-quote-glow{
	    background: #6f8c66;
    color: #fff !important;
    padding: 9px 10px !important;
    border-radius: 5px !important;
    box-shadow: 0 0 18px 5px rgb(48 235 14 / 19%);
	font-weight: 500;
}

.closing-content-mission p{
	    font-size: var(--font-size-md);
    color: rgba(255, 255, 255, 0.82);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-lg);
	    padding-bottom: 15px;
}

.head-no-gap{
	margin-bottom:0 !important;
}

.content-center{
	text-align:center;
	margin: 15px 0 40px 0;
}

.why-grid-om{
	margin-bottom:25px;
}

.head-b-gap{
	padding-bottom:15px;
}

.process-step p{
	    font-size: 16px;
    line-height: 1.6;
    color: #5b6b62;
    margin: 0;
}






.sub-menu li.current-menu-item a{
	background: #eef6f1;
    color: #1f8a55 !important;
}
input[type="submit"]{
    border-radius: 50px;
    font-family: 'Jost', sans-serif;
    text-transform: uppercase;
}
   
.footer-bottom-menu{
	display:flex;
	gap:15px;
}

button#heroCardTrigger{
	background: rgba(127, 165, 138, .25);
    border-color: rgba(127, 165, 138, .8);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(127, 165, 138, .25);
}

button#heroCardTrigger:hover{
	 background: linear-gradient(135deg, var(--color-sagelight), var(--color-eucalyptus));
	 color: var(--color-navy);
}
   
.process-steps-mission{
	    grid-template-columns: repeat(1, 1fr) !important;
}
.independence-items-mission{
	margin-top:25px;
}

.independence-items-mission .independence-item span{
	    color: rgb(17 35 54);
}

.independence-items-mission .independence-item{
	border: 1px solid rgb(34 63 94 / 25%);
}

.why-grid.why-grid-om-mission{
	margin-top:25px;
}

.why-grid.why-grid-om-mission{
	grid-template-columns: repeat(2, 1fr);
}
.Everything-We-Do p{
	padding-bottom:15px !important;
}

.hero-img-frame.hero-img-frame-mission{
	aspect-ratio: 1 / 1 !important;
}

.hero-img-frame.hero-img-frame-vision{
	aspect-ratio: 1 / 1 !important;
	background:#fff !important;
}
.faq-answer ul li{
	    color: var(--color-navy);
}

.faq-answer-gap p{
	padding-bottom:15px !important;
}

.contact-hero h1{
	    font-family: var(--font-display);
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.12;
    margin-top: .75rem;
}

.contact-hero h1 em{
	color: var(--color-sagelight);
}

.hero-left-mission h1, .hero-left-vision h1, .hero-left-value h1{
	display:none;
}

.value-image img{
	    width: 310px;
}
.vision-image img{
	    width: 240px;
}
.mission-image img{
	width: 240px;
}

.process-steps-service{
	margin-bottom:25px;
}

#half-col-service.half-col-gap-home p.about-p{
	padding-bottom:15px;
}

#half-col-service.half-col-gap-home h2.about-h2, #half-col-service.half-col-gap-home h2.services-h2{
	font-size:36px;
	padding-bottom:30px;
}

#half-col-service.half-col-gap-home p.services-sub{
	max-width:100%;
}

#half-col-service.half-col-gap-home .services-grid{
	margin-top:25px;
}

#half-col-service.half-col-gap-home .service-card{
	width:48%;
}


#half-col-service.half-col-gap-home .process-steps{
	margin-top:30px;
	grid-template-columns: repeat(1, 1fr);
}

#half-col-service.half-col-gap-home .why-grid{
	grid-template-columns: repeat(2, 1fr);
}
#half-col-service.half-col-gap-home .container{
	padding:0;
}

#half-col-service.half-col-gap-home .testimonials-layout{
	grid-template-columns: 1fr;
}

.blog-grid{
	    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
body.blog{
	padding:0 !important;
}

.blog-section.blog .container{
	padding:0;
}


.single-featured-image{
   
    position:relative;
    z-index:2;
}

.single-featured-image img{
    width:100%;
    border-radius:30px;
}

.single-blog{
    padding:80px 0;
}

.single-layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 360px;
    gap:60px;
    align-items:start;
}

.blog-sidebar{
   position:sticky;
    top:180px;
    align-self:start;
    max-height:calc(100vh - 140px);
    overflow-y:auto;
}

.single-content{
    font-size:18px;
    line-height:1.9;
}

.single-content img{
    max-width:100%;
    height:auto;
    border-radius:20px;
}
.blog-categories{
    list-style:none;
    padding:0;
}

.blog-categories li{
    display:flex;
    justify-content:space-between;
    padding:15px 0;
    border-bottom:1px solid #ececec;
}

.blog-categories a{
    text-decoration:none;
    color:#222;
}

.blog-categories .count{
    color:#888;
}

.single-content p{
	    color: var(--color-navy);
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
	padding-bottom:15px;
}

.single-content ul{
	margin-left:25px;
	margin-bottom:20px;
}

.single-content ul li{
	color: var(--color-navy);
    margin: 0;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
	padding:4px 0;
}

.single-content .single-featured-image{
	margin-bottom:30px;
}

.single-content  h2{
	    font-family: var(--font-display);
    font-size: 2.6vw;
    font-weight: 400;
    line-height: 1;
    color: var(--color-navy);
    margin-top: .75rem;
	padding-bottom:15px;
}

.single-content  h3{
	    font-family: var(--font-display);
    font-size: 2vw;
    font-weight: 400;
    line-height: 1;
    color: var(--color-navy);
    margin-top: .75rem;
	padding-bottom:15px;
}

.single-content  h4{
	    font-family: var(--font-display);
    font-size: 1.8vw;
    font-weight: 400;
    line-height: 1;
    color: var(--color-navy);
    margin-top: .75rem;
	padding-bottom:15px;
}


.single-content  h5{
	    font-family: var(--font-display);
    font-size: 1.5vw;
    font-weight: 400;
    line-height: 1;
    color: var(--color-navy);
    margin-top: .75rem;
	padding-bottom:15px;
}

.faq-answer-text-gap p{
	padding-bottom:15px !important;
}

.person-model-label-gap{
	padding:25px 0!important;
}

.home-quote-safe p{
	font-size:16px !important;
}

.right-service-con-home{
	    position: sticky;
    top: 178px;
    align-self: flex-start;
}

.entry-content{
	padding: 4rem 0;
}

.entry-content h2{
	font-family: var(--font-display);
    font-weight: 400;
    line-height: 1.15;
    margin-top: .75rem;
}

.entry-content h3{
	font-family: var(--font-display);
    font-weight: 400;
    line-height: 1.15;
    margin-top: .75rem;
}

.entry-content h4{
	font-family: var(--font-display);
    font-weight: 400;
    line-height: 1.15;
    margin-top: .75rem;
}

.entry-content h5{
	font-family: var(--font-display);
    font-weight: 400;
    line-height: 1.15;
    margin-top: .75rem;
}

.entry-content h6{
	font-family: var(--font-display);
    font-weight: 400;
    line-height: 1.15;
    margin-top: .75rem;
}

.entry-content p{
	    font-family: var(--font-body);
}

.download-brochure-btn.download-Appointment-btn{
	    background: #112336;
}

.download-brochure-btn.download-Appointment-btn:hover{
	background: #324764;
}

.error404 header, .error404 footer, .error404 #contact{
	display:none;
}

.navigation.pagination .screen-reader-text{
	display:none;
}

.navigation.pagination .nav-links{
	display:flex;
	gap:10px;
	margin-top:30px;
	justify-content: center;
}


.navigation.pagination .nav-links span{
	padding: 7px 15px;
    border: 1px solid #233a5a;
    border-radius: 5px;
	min-height:40px;
	min-width:40px;
	color:#233a5a;
	line-height:25px;
}
.navigation.pagination .nav-links a{
	padding: 7px 15px;
    border: 1px solid #233a5a;
    border-radius: 5px;
	min-height:40px;
	min-width:40px;
	color:#233a5a;
	line-height:25px;
}
.navigation.pagination .nav-links span.current{
	background:#233a5a;
	color:#fff;
}

.single.single-post .sidebar-widget{
	display: flex;
    flex-direction: column;
    gap: 15px;
	margin-bottom:25px;
}

.section-eyebrow-text.section-eyebrow-text-light{
	    color: #C2D0C9;
}








  @media (max-width:1440px){
    .hero-content{
            padding: 10rem 2.5rem 4rem;
    }
	  
  }

  @media (max-width:1366px){
	  .aboutuspage .hero-grid{
		  padding-top: 16rem !important;
	  }
	  .single-content h2{
		      font-size: 3.6vw;
	  }
}

@media (max-width:1279px){
	.service-card{
		width:31%;
	}
	.story-quote{
		width:64%;
	}
    .hero-content{
            padding: 15rem 2.5rem 4rem;
    }
    .top-bar-center{
            position: relative;
    left: 0%;
    transform: translateX(0%);
    }
	#half-col-service .faq-section .faq-question{
		font-size: 25px;
	}
	[id] {
    scroll-margin-top: 150px;
}
	.service-half-inner-home{
	  padding-left:15px;
		padding-right:15px;
}

}

@media (max-width:1080px){
	.nav-logo{
		width: 187px;
	}
	.nav.scrolled .nav-logo-icon img{
		    width: 100px;
    top: 61px;
    left: 20px;
	}
	.independence-grid-re{
		    flex-direction: column;
	}
	.core-2 .independence-grid{
		gap:0 !important;
	}
	.blog-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width:991px){
	.service-card{
		width:48%;
	}
	.story-quote{
		width:48%;
	}
	.nav-cta{
		    padding: 10px 13px;
	}
	.nav-cta a{
		    font-size: 13px;
	}
	.nav-list{
		gap:15px;
	}
	.process-safety .process-steps{
	grid-template-columns: repeat(2, 1fr);
}
	.card-grid-2{
		    grid-template-columns: 1fr;
	}
	.left-service-con{
		width:100%;
	}
	.right-service-con{
		width:100%;
		margin-top:30px;
	}
	.bookingwrapInnerLeft{
		width:100%;
		
	}
	.bookingwrapInnerRight{
		display:none;
	}
	.contact-hero{
		    padding: 250px 20px 70px;
	}
	.single-layout{
		gap:30px;
	}
}

@media (max-width:855px){
	.nav-logo-icon img{
		width: 131px;
    top: 92px;
    left: 20px;
	}
	.single-layout{
		display:flex;
		flex-flow:row wrap;
	}
	.single-content{
		width:100%;
	}
}

@media (max-width:768px){
    .top-bar {
      flex-direction: column;
      gap: 12px;
    }
    .top-bar-center {
      order: 3;
    }
 
    .top-bar-right {
      order: 2;
    }
    .nav-logo{
        width: auto;
    }
	.navwrap{
		    padding: 0 10px;
	}
	.nav.scrolled .nav-logo-icon img{
		         width: 100px;
        top: 113px;
        left: 20px;
	}
	
	.nav-logo-icon img{
		        width: 131px;
        top: 116px;
        left: 20px;
	}
	.core-values.promise .cv-grid{
		grid-template-columns: repeat(2, 1fr);
	}
		[id] {
    scroll-margin-top: 170px;
}
	  .single-content h2{
		      font-size: 7vw;
	  }
}
@media (max-width:767px){
	.nav-links a{
		font-size:12px;
	}
	.nav-list{
		gap:16px;
	}
	.bookingwrapInner{
		padding:2rem;
	}
	.independence .reveal-bottom{
		width:100% !important;
	}
	#half-col-service.half-col-gap-home .service-card{
		width: 47%;
	}
	#half-col-service.half-col-gap{
		    padding-top: 60px !important;
	}
}

/* show on mobile only */
@media (max-width:640px){

    .sub-menu{
        position: relative;
        opacity: 1;
        visibility:visible;
        background-color: transparent;
        display: none;
        width: 100%;
        top: 0;
        box-shadow: none;
        padding-top: 0;
    }
    .nav-mobile-item.sub-open .sub-menu{
        display: block;
         padding-top: 0;
                 background: #173149;
        padding-bottom: 0;
    }

    .nav-mobile-item .sub-menu a{
       color: #fff;
        width: 100%;
        padding: 10px 10px;
    }
    .nav-mobile-row a svg{
        display: none;
    }
    .nav-mobile a{
        padding-bottom: 0;
        border-bottom: none;
    }
    #menu-mobile-menu li{
        border-bottom: 1px solid rgba(255,255,255,0.4);
        min-height: 45px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-flow: row wrap;
    }
    .sub-menu li a{
        padding:12px 0;
    }
	
	.service-card{
		width:100%;
	}
	.story-quote{
		width:100%;
	}
	.nav-logo-icon img{
		width: 115px;
        top: 142px;
        left: 20px;
	}	
.medication-grid.killDevelopment{
	    grid-template-columns: repeat(1, 1fr);
}	
	.nav-logo-icon img{
	width: 92px;
        top: 130px;
        left: 20px;
}
	.nav-logo-icon{
		width:92px;
		height:92px;
	}
	.nav-logo{
		padding:0;
	}
	.nav.scrolled .nav-logo-icon img{
		        width: 80px !important;
        top: 135px;
        left: 20px;
	}	
	.contact-hero{
		    padding: 250px 20px 70px;
	}
	
	#stats .stats-grid{
		grid-template-columns: 1fr;
	}
	.sub-menu li.current-menu-item a{
		background: transparent !important;
	}
	#half-col-service.half-col-gap-home .service-card{
		width: 100%;
	}
	#half-col-service.half-col-gap-home .why-grid{
		grid-template-columns: repeat(1, 1fr);
	}
	.blog-grid{
		grid-template-columns: repeat(1, 1fr);
	}
	
	.home-grid.home-grid-home{
		grid-template-columns: repeat(1, 1fr);
	}
}

@media (max-width:626px){
	.nav.scrolled .nav-logo-icon img{
		        width: 100px;
        top: 135px;
        left: 20px;
	}
	.dark-card-grid{
		grid-template-columns: repeat(1, 1fr);
	}
	#bannerAction a{
	width:48%;
	padding:7px 0;
}
	.closing-section .team-checks{
		width:100%;
	}
	.closing-section .team-checks.team-checks-2col .check-row{
		width:100%;
	}
	.why-grid.why-grid-om-mission{
		grid-template-columns: repeat(1, 1fr);
	}
	
}

@media (max-width:480px){
    .top-bar{
            padding: 5px 15px;
    }
    .navwrap{
        padding: 5px 15px;
    }
	.HeroActionBtn .btn-outline{
		    padding: 7px 15px;
	}
	.HeroActionBtn{
		gap:10px;
	}
	.hero-content{
		padding: 15rem 1.5rem 4rem;
	}
	.hero-slider-btn{
		display:none;
	}
	.core-values.promise .cv-grid{
		grid-template-columns: repeat(1, 1fr);
	}
	.process-safety .process-steps{
	grid-template-columns: repeat(1, 1fr);
}
	#half-col-service .faq-section .cv-grid{
		    grid-template-columns: repeat(1, 1fr);
	}
		#bannerAction a{
	width:49%;
	padding:7px 0;
}
	.home-grid.home-grid-t-col{
		grid-template-columns: repeat(1, 1fr);
	}
	
	.process-steps.process-steps-2col{
	    grid-template-columns: repeat(1, 1fr);
}
	
	.cta-buttons a{
		width:100% !important;
		justify-content:center;
	}
	.hero-buttons.hero-anim-btns a{
		width:100%;
		justify-content:center;
	}
	
	#about .aboutbtnwrap a{
		width:100%;
		justify-content:center;
		margin-bottom:10px;
	}
	.allser a{
		width:100%;
		justify-content:center;
		display:block;
	}
	.story-quote a{
		width:100% !important;
		justify-content:center !important;
		display:block;
		text-align:center;
	}
	input[type="submit"]{
		    width: 100%;
    border-radius: 50px;
    font-family: 'Jost', sans-serif;
    text-transform: uppercase;
	}
	
	.stats, .about, .services, .why, .testimonials, .blog, .cta, .Introduction, .footer-main{
		padding: 4rem 1rem;
	}
	.top-bar-center{
		    padding: 0;
	}
	.nav-mobile{
		padding: 1.5rem 1rem;
	}
	.nav-mobile ul{
		padding: 8px 0;
	}
	.nav-mobile a.nav-cta{
		    padding: 12px 0px !important;
		    margin: 8px 0 20px;
		width:100%;
	}
	.cv-grid{
		grid-template-columns: repeat(1, 1fr);
	}
	
	#half-col-service.half-col-gap-home h2.about-h2, #half-col-service.half-col-gap-home h2.services-h2{
		font-size: 25px;
    padding-bottom: 25px;
	}
	
	.commitment-grid.commitment-grid-home{
		grid-template-columns: repeat(1, 1fr);
	}
	 .single-content h2{
		      font-size: 7vw;
	  }
}

@media (max-width:350px){
			#bannerAction a{
	width:100%;
	padding:7px 0;
}
}






























 











