:root,
[data-bs-theme="light"] {
    color-scheme: light;
    --sd-bg: #f6f3ec;
    --sd-surface: #fffdf8;
    --sd-surface-2: #e9e5da;
    --sd-ink: #18211e;
    --sd-muted: #52605a;
    --sd-accent: #9f461f;
    --sd-accent-hover: #7f3517;
    --sd-gold: #c38a2d;
    --sd-olive: #52634a;
    --sd-line: #cfc9bb;
    --sd-focus: #0868ac;
    --sd-success: #28623f;
    --bs-body-bg: var(--sd-bg);
    --bs-body-color: var(--sd-ink);
    --bs-primary: var(--sd-accent);
    --bs-primary-rgb: 159, 70, 31;
    --bs-link-color: var(--sd-accent);
    --bs-link-hover-color: var(--sd-accent-hover);
    --bs-border-color: var(--sd-line);
    --bs-secondary-color: var(--sd-muted);
    --bs-tertiary-bg: var(--sd-surface-2)
}

[data-bs-theme="dark"] {
    color-scheme: dark;
    --sd-bg: #121815;
    --sd-surface: #1b231f;
    --sd-surface-2: #253029;
    --sd-ink: #f4f0e6;
    --sd-muted: #b9c2bb;
    --sd-accent: #e39a62;
    --sd-accent-hover: #f3b17c;
    --sd-gold: #d9ad5a;
    --sd-olive: #8ca081;
    --sd-line: #3d4942;
    --sd-focus: #78c6ff;
    --sd-success: #83c79a;
    --bs-body-bg: var(--sd-bg);
    --bs-body-color: var(--sd-ink);
    --bs-primary: var(--sd-accent);
    --bs-primary-rgb: 227, 154, 98;
    --bs-link-color: var(--sd-accent);
    --bs-link-hover-color: var(--sd-accent-hover);
    --bs-border-color: var(--sd-line);
    --bs-secondary-color: var(--sd-muted);
    --bs-tertiary-bg: var(--sd-surface-2)
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 6rem
}

body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    line-height: 1.65;
    text-rendering: optimizeLegibility
}

h1,
h2,
h3,
.display-type {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
    line-height: 1.08
}

h1 {
    font-size: clamp(2.45rem, 7vw, 5.7rem);
    max-width: 15ch
}

h2 {
    font-size: clamp(2rem, 4.5vw, 3.6rem);
    max-width: 19ch
}

h3 {
    font-size: clamp(1.25rem, 2vw, 1.65rem)
}

p {
    max-width: 68ch
}

.container {
    --bs-gutter-x: 2rem
}

.skip-link {
    position: fixed;
    z-index: 2000;
    left: 1rem;
    top: 1rem;
    transform: translateY(-180%);
    padding: .75rem 1rem;
    background: var(--sd-ink);
    color: var(--sd-bg);
    border-radius: .3rem
}

.skip-link:focus {
    transform: none
}

.site-header {
    background: color-mix(in srgb, var(--sd-bg) 92%, transparent);
    border-bottom: 1px solid var(--sd-line);
    backdrop-filter: blur(12px)
}

.navbar {
    min-height: 76px
}

.navbar-brand {
    display: flex;
    align-items: center;
    gap: .7rem;
    color: var(--sd-ink);
    font: 700 1.05rem/1 system-ui
}

.brand-mark {
    width: 32px;
    height: 32px
}

.nav-link {
    color: var(--sd-muted);
    font-weight: 600;
    text-decoration-thickness: 2px;
    text-underline-offset: .45rem
}

.nav-link:hover,
.nav-link:focus-visible {
    color: var(--sd-ink)
}

.nav-link[aria-current="page"] {
    color: var(--sd-ink);
    text-decoration: underline;
    text-decoration-color: var(--sd-accent)
}

.theme-toggle,
.navbar-toggler {
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--sd-line);
    color: var(--sd-ink);
    background: var(--sd-surface)
}

.theme-toggle:hover {
    border-color: var(--sd-accent)
}

.theme-icon {
    width: 20px;
    height: 20px;
    fill: currentColor
}

.hero {
    position: relative;
    overflow: hidden;
    padding: clamp(5rem, 11vw, 10rem) 0 clamp(4rem, 8vw, 7.5rem)
}

.hero .container {
    position: relative;
    z-index: 1
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: var(--sd-accent);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase
}

.eyebrow::before {
    content: "";
    width: 2.3rem;
    height: 2px;
    background: var(--sd-accent)
}

.lead {
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    color: var(--sd-muted);
    max-width: 63ch
}

.trust-line {
    padding-left: 1rem;
    border-left: 3px solid var(--sd-gold);
    color: var(--sd-muted);
    font-size: .95rem
}

.btn {
    min-height: 48px;
    padding: .72rem 1.15rem;
    border-radius: .25rem;
    font-weight: 750
}

.btn-primary {
    --bs-btn-bg: var(--sd-accent);
    --bs-btn-border-color: var(--sd-accent);
    --bs-btn-hover-bg: var(--sd-accent-hover);
    --bs-btn-hover-border-color: var(--sd-accent-hover);
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff
}

.btn-outline-primary {
    --bs-btn-color: var(--sd-accent);
    --bs-btn-border-color: var(--sd-accent);
    --bs-btn-hover-bg: var(--sd-accent);
    --bs-btn-hover-border-color: var(--sd-accent);
    --bs-btn-hover-color: #fff
}

.paired-actions .btn {
    flex: 1 1 230px
}

.section {
    padding: clamp(4rem, 8vw, 7.5rem) 0
}

.section-alt {
    background: var(--sd-surface)
}

.section-dark {
    background: #18211e;
    color: #f7f2e8
}

.section-dark .text-secondary {
    color: #c2ccc4 !important
}

.section-heading {
    margin-bottom: clamp(2rem, 5vw, 4rem)
}

.overline {
    color: var(--sd-accent);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase
}

.service-card,
.content-card,
.step-card {
    height: 100%;
    background: var(--sd-surface);
    border: 1px solid var(--sd-line);
    border-radius: .5rem
}

.service-card {
    display: flex;
    flex-direction: column;
    padding: clamp(1.5rem, 4vw, 3rem);
    border-top: 4px solid var(--sd-accent)
}

.service-card:nth-child(even) {
    border-top-color: var(--sd-olive)
}

.service-card .btn {
    margin-top: auto
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: 1.5rem 0 2rem
}

.tag {
    padding: .35rem .65rem;
    border: 1px solid var(--sd-line);
    border-radius: 99px;
    color: var(--sd-muted);
    font-size: .8rem
}

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

.problem-list li {
    position: relative;
    padding: 1rem 0 1rem 2rem;
    border-bottom: 1px solid var(--sd-line)
}

.problem-list li::before {
    content: "↗";
    position: absolute;
    left: 0;
    color: var(--sd-accent);
    font-weight: 800
}

.proof-card {
    padding: 1.5rem;
    border-left: 1px solid var(--sd-line)
}

.number {
    font: italic 1.1rem Georgia, serif;
    color: var(--sd-accent)
}

.process {
    counter-reset: steps
}

.step-card {
    position: relative;
    padding: 1.5rem 1.5rem 1.5rem 4.3rem;
    counter-increment: steps
}

.step-card::before {
    content: "0" counter(steps);
    position: absolute;
    left: 1.25rem;
    top: 1.4rem;
    color: var(--sd-accent);
    font-weight: 800
}

.founder-panel {
    position: relative;
    padding: clamp(2rem, 6vw, 5rem);
    background: var(--sd-surface-2);
    border-radius: .5rem;
    overflow: hidden
}

.quote-mark {
    font: 5rem/1 Georgia, serif;
    color: var(--sd-gold)
}

.cta-band {
    padding: clamp(2rem, 5vw, 4rem);
    border: 1px solid var(--sd-line);
    border-radius: .5rem;
    background: var(--sd-surface)
}

.capability {
    height: 100%;
    padding: 1.5rem;
    border-top: 1px solid var(--sd-line)
}

.check-list {
    list-style: none;
    padding: 0
}

.check-list li {
    position: relative;
    padding: .55rem 0 .55rem 1.8rem
}

.check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--sd-success);
    font-weight: 900
}

.page-hero {
    padding: clamp(4rem, 8vw, 7rem) 0;
    border-bottom: 1px solid var(--sd-line)
}

.page-hero h1 {
    font-size: clamp(2.5rem, 6vw, 5rem)
}

.form-control,
.form-select {
    min-height: 50px;
    background-color: var(--sd-surface);
    border-color: var(--sd-line);
    color: var(--sd-ink)
}

textarea.form-control {
    min-height: 160px
}

.form-control:focus,
.form-select:focus {
    border-color: var(--sd-focus);
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--sd-focus) 25%, transparent)
}

.form-label {
    font-weight: 700
}

.form-text {
    color: var(--sd-muted)
}

.required {
    color: var(--sd-accent)
}

.error-summary {
    padding: 1rem;
    border: 2px solid #a53b32;
    background: color-mix(in srgb, #a53b32 9%, var(--sd-surface));
    border-radius: .4rem
}

.success-summary {
    padding: 1rem;
    border: 2px solid var(--sd-success);
    background: color-mix(in srgb, var(--sd-success) 9%, var(--sd-surface));
    border-radius: .4rem
}

.contact-trap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden
}

.legal-copy {
    max-width: 850px
}

.paired-actions {
    max-width: 650px
}

.unavailable-note {
    border-left: 4px solid var(--sd-gold);
    padding: 1rem;
    background: var(--sd-surface-2)
}

.site-footer {
    padding: 4rem 0 2rem;
    background: #101613;
    color: #e8ece8
}

.site-footer a {
    color: #d8dfd9
}

.site-footer a:hover {
    color: #fff
}

.footer-title {
    font-family: Georgia, serif;
    font-size: 1.5rem
}

.legal-copy h2 {
    font-size: 1.6rem;
    margin-top: 2.5rem
}

.legal-copy h3 {
    font-size: 1.15rem;
    margin-top: 1.5rem
}

.not-found {
    min-height: 70vh;
    display: grid;
    place-items: center
}

.code-404 {
    font: 700 clamp(5rem, 18vw, 12rem)/.8 Georgia, serif;
    color: var(--sd-accent)
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--sd-focus) !important;
    outline-offset: 3px
}

.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important
}

@media (max-width:991.98px) {
    .navbar-collapse {
        padding: 1rem 0 1.5rem
    }

    .navbar-nav {
        gap: .25rem
    }

    .nav-link {
        min-height: 44px;
        display: flex;
        align-items: center
    }

    .header-cta {
        width: 100%;
        margin-top: .5rem
    }

    .proof-card {
        border-left: 0;
        border-top: 1px solid var(--sd-line)
    }
}

@media (max-width:575.98px) {
    .container {
        --bs-gutter-x: 1.35rem
    }

    .hero {
        padding-top: 4rem
    }

    .paired-actions {
        display: grid !important
    }

    .paired-actions .btn {
        width: 100%;
        flex-basis: auto
    }

    .service-card {
        padding: 1.35rem
    }

    .section {
        padding: 3.75rem 0
    }

    .founder-panel {
        padding: 1.5rem
    }

    .cta-band {
        padding: 1.5rem
    }

    .site-footer {
        text-align: left
    }
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important
    }
}
