:root {
    /* Palette ---------------------------------------------------------- */
    --sod-bg: #e5e7eb;
    --sod-shell: #f9fafb;
    --sod-ink: #0f172a;
    --sod-muted: #6b7280;

    --sod-brandA: #2F524A;   /* SOD green (core brand) */
    --sod-brandB: #1f2937;   /* deep slate */
    --sod-accent: #C29B4A;   /* wheat/gold */
    --sod-accent-soft: #f5ebe0;

    /* Logo-inspired additions ----------------------------------------- */
    --sod-logo-green: #224c42;
    --sod-logo-green-soft: #28574a;
    --sod-logo-gold: #f1d58a;
    --sod-logo-gold-soft: #f6e5b5;
}

/* Base ---------------------------------------------------------------- */

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Helvetica, Arial, sans-serif;
    background-color: var(--sod-bg);
    color: var(--sod-ink);
    margin: 0;
}

/* Layout width: ~85% on desktop -------------------------------------- */
@media (min-width: 992px) {
    .container {
        max-width: 85vw;
    }
}

/* Top navbar / header ------------------------------------------------ */

.sod-navbar {
    background-color: #020617;
    box-shadow:
            0 8px 30px rgba(15, 23, 42, 0.6),
            0 0 0 1px rgba(15, 23, 42, 0.9);
    border-bottom: 2px solid rgba(34, 76, 66, 0.85); /* logo green accent */
}

.sod-logo {
    height: 60px; /* visually matches 3-line title block */
    width: auto;
    object-fit: contain;
}

.navbar-brand-title {
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.navbar-brand-sub {
    font-size: 0.78rem;
    color: #e5e7eb;
}

.navbar-brand-doc {
    font-size: 0.75rem;
    color: #cbd5f5;
}

.sod-navbar .nav-link {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: #e5e7eb;
    opacity: 0.8;
}

.sod-navbar .nav-link:hover,
.sod-navbar .nav-link:focus {
    opacity: 1;
    color: #ffffff;
}

.sod-navbar .btn-cta {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border-radius: 999px;
    padding: 0.35rem 0.9rem;
    background: linear-gradient(135deg, var(--sod-logo-gold), var(--sod-accent));
    color: #111827;
    border: none;
    box-shadow: none;
}

/* Generic section styles --------------------------------------------- */

main {
    background-color: var(--sod-shell);
    box-shadow: 0 -4px 15px rgba(15, 23, 42, 0.12);
}

section.sod-section {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    position: relative;
}

/* Alternating backgrounds for brochure flow */
section.sod-section:nth-of-type(odd) {
    background: #f9fafb;
    border-bottom: 1px solid rgba(209, 213, 219, 0.7);
}

section.sod-section:nth-of-type(even) {
    background: #f3f4f6;
    border-bottom: 1px solid rgba(209, 213, 219, 0.8);
}

.sod-section-label {
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--sod-brandA);
    margin-bottom: 0.4rem;
}

.sod-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
}

.sod-section-lead {
    font-size: 0.98rem;
    color: #374151;
}

/* HERO --------------------------------------------------------------- */

#hero {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
    background:
            radial-gradient(circle at top left, rgba(241, 213, 138, 0.20), transparent 52%),
            radial-gradient(circle at bottom right, rgba(34, 76, 66, 0.22), transparent 60%),
            radial-gradient(circle at top right, rgba(194, 155, 74, 0.15), transparent 55%),
            #f9fafb;
}

.sod-hero-title {
    font-size: clamp(2.1rem, 2.8vw + 1.3rem, 2.8rem);
    line-height: 1.08;
    font-weight: 700;
}

.sod-hero-title .highlight {
    color: var(--sod-accent);
}

.sod-hero-sub {
    font-size: 0.98rem;
    color: #374151;
}

.sod-hero-visual-wrapper {
    position: relative;
    height: 100%;
}

/* Hero “sheet” visual */

.sod-hero-card-shell {
    position: relative;
    border-radius: 1.1rem;
    background: #ffffff;
    box-shadow:
            0 22px 55px rgba(15, 23, 42, 0.28),
            0 0 0 1px rgba(148, 163, 184, 0.55);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sod-hero-accent-band {
    position: absolute;
    inset: 0;
    height: 2.6rem;
    background: linear-gradient(
            135deg,
            var(--sod-logo-green-soft),
            var(--sod-brandB)
    );
    opacity: 0.95;
}

.sod-hero-card-inner {
    position: relative;
    padding: 3.1rem 1.35rem 1.3rem;
    flex: 1 1 auto;
}

.sod-hero-card-label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #9ca3af;
}

.sod-hero-card-title {
    font-size: 0.98rem;
    font-weight: 600;
}

.sod-hero-card-subtitle {
    font-size: 0.82rem;
    color: #6b7280;
}

.sod-hero-card-figure {
    margin: 0;
    margin-top: 0.75rem;
}

.sod-hero-card-image {
    width: 100%;
    display: block;
    border-radius: 0.7rem;
    border: 1px solid rgba(209, 213, 219, 0.9);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.14);
    object-fit: cover;
}

.sod-hero-ribbon {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    padding: 0.2rem 0.7rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--sod-logo-gold), var(--sod-accent));
    color: #111827;
    box-shadow: 0 4px 10px rgba(194, 155, 74, 0.4);
}

/* Buttons ------------------------------------------------------------ */

.sod-btn-service {
    font-size: 0.86rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border-radius: 999px;
    padding: 0.55rem 1.4rem;
    background-image: linear-gradient(135deg, var(--sod-logo-green), var(--sod-brandA));
    color: #f9fafb;
    border: 1px solid rgba(12, 148, 136, 0.1);
    box-shadow:
            0 6px 14px rgba(15, 23, 42, 0.35),
            0 0 0 1px rgba(15, 23, 42, 0.55);
}

.sod-btn-service:hover {
    filter: brightness(1.03);
    color: #ffffff;
}

.sod-btn-outline {
    font-size: 0.86rem;
    border-radius: 999px;
    padding: 0.5rem 1.2rem;
    border: 1px solid rgba(34, 76, 66, 0.7);
    color: var(--sod-logo-green);
    background-color: rgba(250, 250, 249, 0.9);
}

.sod-btn-outline:hover {
    background-color: var(--sod-logo-green);
    color: #f9fafb;
}

/* Cards -------------------------------------------------------------- */

.sod-card {
    background-color: #ffffff;
    border-radius: 0.9rem;
    border: 1px solid rgba(209, 213, 219, 0.9);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.12);
}

.sod-card-header-label {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #6b7280;
}

.sod-card-header-tag {
    font-size: 0.72rem;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(156, 163, 175, 0.7);
    color: #4b5563;
    background-color: #f9fafb;
    white-space: nowrap;
}

.sod-card-title {
    font-size: 1.05rem;
    font-weight: 700;
}

.sod-card-body-text {
    font-size: 0.9rem;
    color: #374151;
}

.sod-card-note {
    font-size: 0.8rem;
    color: var(--sod-muted);
}

/* Plain list style (other sections) ---------------------------------- */

.sod-list-plain {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    font-size: 0.9rem;
}

.sod-list-plain li {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.35rem;
    color: #374151;
}

.sod-list-plain li::before {
    content: "•";
    color: var(--sod-brandA);
    margin-top: 0.1rem;
}

/* Pills, steps ------------------------------------------------------- */

.sod-pill-row .badge {
    border-radius: 999px;
    border: 1px solid rgba(156, 163, 175, 0.7);
    background-color: var(--sod-accent-soft);
    color: #4b5563;
    font-size: 0.78rem;
    padding: 0.35rem 0.7rem;
}

.sod-step-number {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 600;
    background-color: rgba(47, 82, 74, 0.12);
    color: var(--sod-brandA);
    border: 1px solid rgba(34, 76, 66, 0.4);
}

/* Chat example ------------------------------------------------------- */

.sod-chat-card {
    background-color: #020617;
    color: #e5e7eb;
    border-radius: 1rem;
    box-shadow:
            0 18px 40px rgba(15, 23, 42, 0.9),
            0 0 0 1px rgba(15, 23, 42, 0.9);
}

.sod-chat-title {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: #9ca3af;
}

.sod-chat-pill {
    font-size: 0.75rem;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    border: 1px solid rgba(241, 213, 138, 0.8);
    background-color: rgba(34, 76, 66, 0.25);
}

.sod-bubble {
    max-width: 85%;          /* message cards no wider than 80% of messenger */
    border-radius: 0.7rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.86rem;
    line-height: 1.5;
}

.sod-bubble-label {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #9ca3af;
    margin-bottom: 0.15rem;
}

.sod-bubble.me {
    background-color: rgba(15, 23, 42, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.6);
    align-self: flex-end;
}

.sod-bubble.estimator {
    background-color: rgba(31, 41, 55, 0.95);
    border: 1px solid rgba(55, 65, 81, 0.9);
    align-self: flex-start;
}

/* Bottom CTA --------------------------------------------------------- */

.sod-cta-bottom {
    background:
            radial-gradient(circle at top left, rgba(241, 213, 138, 0.22), transparent 55%),
            linear-gradient(135deg, var(--sod-logo-green), #020617);
    border-radius: 1.1rem;
    color: #e5e7eb;
    box-shadow:
            0 24px 60px rgba(15, 23, 42, 0.9),
            0 0 0 1px rgba(15, 23, 42, 0.9);
}

.sod-cta-bottom-title {
    font-size: 1.4rem;
    font-weight: 700;
}

.sod-cta-bottom-text {
    font-size: 0.96rem;
    color: #e5e7eb;
}

.sod-footer-note {
    font-size: 0.75rem;
    color: #9ca3af;
}

/* --------------------------------------------------------------------
   SERVICE SECTION
   ------------------------------------------------------------------ */

#service {
    background:
            radial-gradient(circle at top left, rgba(241, 213, 138, 0.16), transparent 55%),
            radial-gradient(circle at bottom right, rgba(34, 76, 66, 0.14), transparent 55%),
            #f3f4f6;
}

.sod-section-microcopy {
    font-size: 0.85rem;
    color: var(--sod-muted);
    max-width: 23rem;
}

/* Title with subtle rule line on desktop */
@media (min-width: 992px) {
    #service .sod-section-title {
        display: flex;
        align-items: center;
        gap: 0.6rem;
    }

    #service .sod-section-title::after {
        content: "";
        flex: 1;
        height: 1px;
        background: linear-gradient(to right, rgba(148, 163, 184, 0.7), transparent);
        opacity: 0.8;
    }
}

/* Generic icon wrapper (SVG) ----------------------------------------- */

.sod-icon {
    width: 1.4rem;
    height: 1.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--sod-brandA);
}

.sod-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

/* Quick flow strip (three-beat visual) ------------------------------- */

.sod-service-strip {
    --strip-border: rgba(148, 163, 184, 0.5);
}

.sod-strip-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.9rem;
    border-radius: 0.9rem;
    background-color: #f9fafb;
    border: 1px solid var(--strip-border);
}

.sod-strip-item--center {
    border-color: rgba(34, 76, 66, 0.4);
}

.sod-strip-icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sod-strip-text {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.sod-strip-label {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #4b5563;
}

.sod-strip-body {
    font-size: 0.8rem;
    color: #4b5563;
}

/* Chips inside cards ------------------------------------------------- */

.sod-chip-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem 0.6rem;
}

@media (min-width: 1200px) {
    .sod-chip-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.sod-chip {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.55rem;
    border-radius: 0.75rem;
    background-color: #f9fafb;
    border: 1px solid rgba(209, 213, 219, 0.9);
    font-size: 0.8rem;
}

.sod-chip-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sod-chip-label {
    flex: 1 1 auto;
    white-space: normal;
}

/* Card tweaks in service section ------------------------------------- */

#service .sod-card {
    position: relative;
    overflow: hidden;
    transition:
            transform 150ms ease-out,
            box-shadow 150ms ease-out;
}

#service .sod-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    border-top: 3px solid transparent;
}

/* Logo-tied accent bars */
#service .sod-card--service::before {
    border-top-color: rgba(34, 76, 66, 0.9);
}

#service .sod-card--deliverables::before {
    border-top-color: rgba(241, 213, 138, 0.95);
}

#service .sod-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
}

#service .sod-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.6rem;
}

#service .sod-card-divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, rgba(148, 163, 184, 0.85), transparent);
    opacity: 0.9;
}

/* Responsive tweaks -------------------------------------------------- */

@media (max-width: 767.98px) {
    section.sod-section {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    #hero {
        padding-top: 2.8rem;
        padding-bottom: 2.8rem;
    }

    #service .sod-section-title::after {
        display: none;
    }

    .sod-section-microcopy {
        margin-top: 0.5rem;
    }

    .sod-chip-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

/* --------------------------------------------------------------------
   HOW IT WORKS
   ------------------------------------------------------------------ */

#how-it-works {
    /* keep alternating background behaviour, but soften shadows here */
}

.sod-how-layout {
    margin-top: 0.25rem;
}

/* Left visual card --------------------------------------------------- */

.sod-how-visual-card {
    padding: 0.75rem;
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.sod-how-visual-img {
    border-radius: 0.75rem;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Right step grid ---------------------------------------------------- */

.sod-how-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

@media (min-width: 992px) {
    .sod-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)); /* 1–2 top, 3–4 bottom */
    }
}

.sod-step-card {
    position: relative;
}

/* Tighten step number spacing slightly in this section */
#how-it-works .sod-step-number {
    margin-bottom: 0.35rem;
}

/* HOW-IT-WORKS equal-height layout ----------------------------- */

/* Force the right-side grid cards to equal height */
.sod-how-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    height: 100%;
}

/* Make every card fill its grid cell */
.sod-step-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
}

/* Step header row: number + title inline */
.sod-step-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.25rem;
}

/* Step number cosmetic alignment tweak */
.sod-step-number {
    margin: 0;
    flex-shrink: 0;
}

/* Body text spacing */
.sod-step-body {
    margin-top: 0.35rem;
}

/* Match full right-side height to the left image */
.sod-how-layout {
    align-items: stretch;
}






/* Icon spacing for cards in this section */
.sod-card--with-icon .sod-icon svg {
    stroke-width: 1.6;
    opacity: 0.85;
}

/* Slight shadow lift on hover (same feel as other SOD cards) */
#pricing .sod-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.15);
}


.sod-footer {
    background-color: #020617;
    border-top: 1px solid rgba(15, 23, 42, 0.9);
    box-shadow: 0 -6px 18px rgba(15, 23, 42, 0.4);
}

.sod-footer .sod-footer-note {
    color: #9ca3af;
}





/* --------------------------------------------------------------------
   SUBSCRIPTION SECTION
   ------------------------------------------------------------------ */

/* Turn off vertical gutter on the two-column row so cols stay aligned */
#subscription .sod-subscription-row {
    --bs-gutter-y: 0;
    align-items: stretch;
}

/* Image behaves as its own “card” */
.sod-subscription-img {
    display: block;
    width: 100%;
    height: auto;  /* intrinsic height; no stretch */
    border-radius: 0.9rem;
    border: 1px solid rgba(209, 213, 219, 0.9);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.12);
}

/* Desktop: equalize left card heights */
@media (min-width: 992px) {
    /* each left column is a flex container… */
    .sod-subscription-card-col {
        display: flex;
    }

    /* …and the card fills its column, so both match height */
    .sod-subscription-card-col .sod-card {
        flex: 1 1 auto;
    }
}


@media (min-width: 992px) {
    section.sod-section {
        scroll-margin-top: 5rem; /* offset ≈ header height */
    }
}




/*:root {*/
/*    !* Existing palette ------------------------------------------------ *!*/
/*    --sod-bg: #e5e7eb;*/
/*    --sod-shell: #f9fafb;*/
/*    --sod-ink: #0f172a;*/
/*    --sod-muted: #6b7280;*/

/*    --sod-brandA: #2F524A;   !* SOD green (core brand) *!*/
/*    --sod-brandB: #1f2937;   !* deep slate *!*/
/*    --sod-accent: #C29B4A;   !* wheat/gold *!*/
/*    --sod-accent-soft: #f5ebe0;*/

/*    !* Logo-inspired additions ----------------------------------------- *!*/
/*    --sod-logo-green: #224c42;       !* deep green from logo background *!*/
/*    --sod-logo-green-soft: #28574a;  !* softened variant for gradients *!*/
/*    --sod-logo-gold: #f1d58a;        !* bright circuit-gold from logo *!*/
/*    --sod-logo-gold-soft: #f6e5b5;*/
/*}*/

/*body {*/
/*    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Helvetica, Arial, sans-serif;*/
/*    background-color: var(--sod-bg);*/
/*    color: var(--sod-ink);*/
/*}*/

/*!* Top navbar / header *!*/
/*.sod-navbar {*/
/*    background-color: #020617;*/
/*    box-shadow:*/
/*            0 8px 30px rgba(15, 23, 42, 0.6),*/
/*            0 0 0 1px rgba(15, 23, 42, 0.9);*/
/*    border-bottom: 2px solid rgba(34, 76, 66, 0.85); !* logo green accent *!*/
/*}*/

/*.sod-logo {*/
/*    height: 60px;         !* tall enough to visually match the 3-line text block *!*/
/*    width: auto;*/
/*    object-fit: contain;*/
/*}*/

/*.sod-navbar .navbar-brand-title {*/
/*    font-size: 0.9rem;*/
/*    font-weight: 700;*/
/*    letter-spacing: 0.16em;*/
/*    text-transform: uppercase;*/
/*}*/

/*.sod-navbar .navbar-brand-sub {*/
/*    font-size: 0.78rem;*/
/*    color: #e5e7eb;*/
/*}*/

/*.sod-navbar .navbar-brand-doc {*/
/*    font-size: 0.75rem;*/
/*    color: #cbd5f5;*/
/*}*/

/*.sod-navbar .nav-link {*/
/*    font-size: 0.8rem;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 0.16em;*/
/*    color: #e5e7eb;*/
/*    opacity: 0.8;*/
/*}*/

/*.sod-navbar .nav-link:hover,*/
/*.sod-navbar .nav-link:focus {*/
/*    opacity: 1;*/
/*    color: #ffffff;*/
/*}*/

/*.sod-navbar .btn-cta {*/
/*    font-size: 0.78rem;*/
/*    font-weight: 600;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 0.12em;*/
/*    border-radius: 999px;*/
/*    padding: 0.35rem 0.9rem;*/
/*    background: linear-gradient(135deg, var(--sod-logo-gold), var(--sod-accent));*/
/*    color: #111827;*/
/*    border: none;*/
/*    box-shadow: none; !* no blur/glow on header button *!*/
/*}*/

/*!* Generic section styles *!*/
/*main {*/
/*    background-color: var(--sod-shell);*/
/*    box-shadow: 0 -4px 15px rgba(15,23,42,0.12);*/
/*}*/

/*section.sod-section {*/
/*    padding-top: 3.5rem;*/
/*    padding-bottom: 3.5rem;*/
/*    position: relative;*/
/*}*/

/*!* Alternating backgrounds to feel like a brochure *!*/
/*section.sod-section:nth-of-type(odd) {*/
/*    background: #f9fafb;*/
/*    border-bottom: 1px solid rgba(209, 213, 219, 0.7);*/
/*}*/

/*section.sod-section:nth-of-type(even) {*/
/*    background: #f3f4f6;*/
/*    border-bottom: 1px solid rgba(209, 213, 219, 0.8);*/
/*}*/

/*.sod-section-label {*/
/*    font-size: 0.76rem;*/
/*    font-weight: 600;*/
/*    letter-spacing: 0.22em;*/
/*    text-transform: uppercase;*/
/*    color: var(--sod-brandA);*/
/*    margin-bottom: 0.4rem;*/
/*}*/

/*.sod-section-title {*/
/*    font-size: 1.5rem;*/
/*    font-weight: 700;*/
/*    margin-bottom: 0.4rem;*/
/*}*/

/*.sod-section-lead {*/
/*    font-size: 0.98rem;*/
/*    color: #374151;*/
/*}*/

/*!* HERO -------------------------------------------------------------- *!*/
/*#hero {*/
/*    padding-top: 3.75rem;*/
/*    padding-bottom: 3.75rem;*/
/*    background:*/
/*            radial-gradient(circle at top left, rgba(241, 213, 138, 0.20), transparent 52%),   !* logo gold *!*/
/*            radial-gradient(circle at bottom right, rgba(34, 76, 66, 0.22), transparent 60%),  !* logo green *!*/
/*            radial-gradient(circle at top right, rgba(194,155,74,0.15), transparent 55%),*/
/*            #f9fafb;*/
/*}*/

/*.sod-hero-title {*/
/*    font-size: clamp(2.1rem, 2.8vw + 1.3rem, 2.8rem);*/
/*    line-height: 1.08;*/
/*    font-weight: 700;*/
/*}*/

/*.sod-hero-title .highlight {*/
/*    color: var(--sod-accent);*/
/*}*/

/*.sod-hero-sub {*/
/*    font-size: 0.98rem;*/
/*    color: #374151;*/
/*}*/

/*.sod-hero-visual-wrapper {*/
/*    position: relative;*/
/*    height: 100%;*/
/*}*/

/*!* Hero “sheet” visual *!*/
/*.sod-hero-card-shell {*/
/*    position: relative;*/
/*    border-radius: 1.1rem;*/
/*    background: #ffffff;*/
/*    box-shadow:*/
/*            0 22px 55px rgba(15,23,42,0.28),*/
/*            0 0 0 1px rgba(148,163,184,0.55);*/
/*    overflow: hidden;*/
/*    height: 100%;                !* match text column height *!*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*}*/

/*.sod-hero-accent-band {*/
/*    position: absolute;*/
/*    inset: 0;*/
/*    height: 2.6rem;*/
/*    background: linear-gradient(*/
/*            135deg,*/
/*            var(--sod-logo-green-soft),*/
/*            var(--sod-brandB)*/
/*    );*/
/*    opacity: 0.95;*/
/*}*/

/*.sod-hero-card-inner {*/
/*    position: relative;*/
/*    padding: 3.1rem 1.35rem 1.3rem;*/
/*    flex: 1 1 auto;*/
/*}*/

/*.sod-hero-card-label {*/
/*    font-size: 0.7rem;*/
/*    font-weight: 600;*/
/*    letter-spacing: 0.2em;*/
/*    text-transform: uppercase;*/
/*    color: #9ca3af;*/
/*}*/

/*.sod-hero-card-title {*/
/*    font-size: 0.98rem;*/
/*    font-weight: 600;*/
/*}*/

/*.sod-hero-card-list {*/
/*    font-size: 0.86rem;*/
/*    color: #4b5563;*/
/*}*/

/*.sod-hero-card-list li + li {*/
/*    margin-top: 0.4rem;*/
/*}*/

/*.sod-hero-ribbon {*/
/*    position: absolute;*/
/*    top: 0.5rem;*/
/*    right: 0.75rem;*/
/*    padding: 0.2rem 0.7rem;*/
/*    font-size: 0.7rem;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 0.16em;*/
/*    border-radius: 999px;*/
/*    background: linear-gradient(135deg, var(--sod-logo-gold), var(--sod-accent));*/
/*    color: #111827;*/
/*    box-shadow: 0 4px 10px rgba(194,155,74,0.4);*/
/*}*/

/*!* Buttons tied to logo palette ------------------------------------- *!*/
/*.sod-btn-service {*/
/*    font-size: 0.86rem;*/
/*    font-weight: 600;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 0.12em;*/
/*    border-radius: 999px;*/
/*    padding: 0.55rem 1.4rem;*/
/*    background-image: linear-gradient(135deg, var(--sod-logo-green), var(--sod-brandA));*/
/*    color: #f9fafb;*/
/*    border: 1px solid rgba(12, 148, 136, 0.1);*/
/*    box-shadow:*/
/*            0 6px 14px rgba(15,23,42,0.35),*/
/*            0 0 0 1px rgba(15,23,42,0.55);*/
/*}*/

/*.sod-btn-service:hover {*/
/*    filter: brightness(1.03);*/
/*    color: #ffffff;*/
/*}*/

/*.sod-btn-outline {*/
/*    font-size: 0.86rem;*/
/*    border-radius: 999px;*/
/*    padding: 0.5rem 1.2rem;*/
/*    border: 1px solid rgba(34, 76, 66, 0.7);*/
/*    color: var(--sod-logo-green);*/
/*    background-color: rgba(250, 250, 249, 0.9);*/
/*}*/

/*.sod-btn-outline:hover {*/
/*    background-color: var(--sod-logo-green);*/
/*    color: #f9fafb;*/
/*}*/

/*!* Cards ------------------------------------------------------------- *!*/
/*.sod-card {*/
/*    background-color: #ffffff;*/
/*    border-radius: 0.9rem;*/
/*    border: 1px solid rgba(209, 213, 219, 0.9);*/
/*    box-shadow: 0 10px 26px rgba(15,23,42,0.12);*/
/*}*/

/*.sod-card-header-label {*/
/*    font-size: 0.78rem;*/
/*    font-weight: 600;*/
/*    letter-spacing: 0.22em;*/
/*    text-transform: uppercase;*/
/*    color: #6b7280;*/
/*}*/

/*.sod-card-header-tag {*/
/*    font-size: 0.72rem;*/
/*    padding: 0.25rem 0.7rem;*/
/*    border-radius: 999px;*/
/*    border: 1px solid rgba(156,163,175,0.7);*/
/*    color: #4b5563;*/
/*    background-color: #f9fafb;*/
/*    white-space: nowrap;*/
/*}*/

/*.sod-card-title {*/
/*    font-size: 1.05rem;*/
/*    font-weight: 700;*/
/*}*/

/*.sod-card-body-text {*/
/*    font-size: 0.9rem;*/
/*    color: #374151;*/
/*}*/

/*.sod-list-plain {*/
/*    list-style: none;*/
/*    padding-left: 0;*/
/*    margin-bottom: 0;*/
/*    font-size: 0.9rem;*/
/*}*/

/*.sod-list-plain li {*/
/*    display: flex;*/
/*    gap: 0.4rem;*/
/*    margin-bottom: 0.35rem;*/
/*    color: #374151;*/
/*}*/

/*.sod-list-plain li::before {*/
/*    content: "•";*/
/*    color: var(--sod-brandA);*/
/*    margin-top: 0.1rem;*/
/*}*/

/*.sod-card-note {*/
/*    font-size: 0.8rem;*/
/*    color: var(--sod-muted);*/
/*}*/

/*.sod-pill-row .badge {*/
/*    border-radius: 999px;*/
/*    border: 1px solid rgba(156,163,175,0.7);*/
/*    background-color: var(--sod-accent-soft);*/
/*    color: #4b5563;*/
/*    font-size: 0.78rem;*/
/*    padding: 0.35rem 0.7rem;*/
/*}*/

/*!* Steps *!*/
/*.sod-step-number {*/
/*    width: 1.8rem;*/
/*    height: 1.8rem;*/
/*    border-radius: 999px;*/
/*    display: inline-flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    font-size: 0.85rem;*/
/*    font-weight: 600;*/
/*    background-color: rgba(47, 82, 74, 0.12);*/
/*    color: var(--sod-brandA);*/
/*    border: 1px solid rgba(34, 76, 66, 0.4);*/
/*}*/

/*!* Chat example *!*/
/*.sod-chat-card {*/
/*    background-color: #020617;*/
/*    color: #e5e7eb;*/
/*    border-radius: 1rem;*/
/*    box-shadow:*/
/*            0 18px 40px rgba(15,23,42,0.9),*/
/*            0 0 0 1px rgba(15,23,42,0.9);*/
/*}*/

/*.sod-chat-title {*/
/*    font-size: 0.8rem;*/
/*    font-weight: 600;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 0.22em;*/
/*    color: #9ca3af;*/
/*}*/

/*.sod-chat-pill {*/
/*    font-size: 0.75rem;*/
/*    padding: 0.25rem 0.7rem;*/
/*    border-radius: 999px;*/
/*    border: 1px solid rgba(241, 213, 138, 0.8); !* logo gold accent *!*/
/*    background-color: rgba(34, 76, 66, 0.25);*/
/*}*/

/*.sod-bubble {*/
/*    max-width: 100%;*/
/*    border-radius: 0.7rem;*/
/*    padding: 0.5rem 0.75rem;*/
/*    font-size: 0.86rem;*/
/*    line-height: 1.5;*/
/*}*/

/*.sod-bubble-label {*/
/*    display: block;*/
/*    font-size: 0.7rem;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 0.14em;*/
/*    color: #9ca3af;*/
/*    margin-bottom: 0.15rem;*/
/*}*/

/*.sod-bubble.me {*/
/*    background-color: rgba(15,23,42,0.9);*/
/*    border: 1px solid rgba(148,163,184,0.6);*/
/*    align-self: flex-end;*/
/*}*/

/*.sod-bubble.estimator {*/
/*    background-color: rgba(31,41,55,0.95);*/
/*    border: 1px solid rgba(55,65,81,0.9);*/
/*    align-self: flex-start;*/
/*}*/

/*!* Bottom CTA *!*/
/*.sod-cta-bottom {*/
/*    background: radial-gradient(circle at top left, rgba(241, 213, 138, 0.22), transparent 55%),*/
/*    linear-gradient(135deg, var(--sod-logo-green), #020617);*/
/*    border-radius: 1.1rem;*/
/*    color: #e5e7eb;*/
/*    box-shadow:*/
/*            0 24px 60px rgba(15,23,42,0.9),*/
/*            0 0 0 1px rgba(15,23,42,0.9);*/
/*}*/

/*.sod-cta-bottom-title {*/
/*    font-size: 1.4rem;*/
/*    font-weight: 700;*/
/*}*/

/*.sod-cta-bottom-text {*/
/*    font-size: 0.96rem;*/
/*    color: #e5e7eb;*/
/*}*/

/*.sod-footer-note {*/
/*    font-size: 0.75rem;*/
/*    color: #9ca3af;*/
/*}*/

/*!* Responsive tweaks *!*/
/*@media (max-width: 767.98px) {*/
/*    section.sod-section {*/
/*        padding-top: 2.5rem;*/
/*        padding-bottom: 2.5rem;*/
/*    }*/

/*    #hero {*/
/*        padding-top: 2.8rem;*/
/*        padding-bottom: 2.8rem;*/
/*    }*/
/*}*/
