:root {
    --refine-bg: #0f1418;
    --refine-bg-soft: #141b20;
    --refine-grid: rgba(141,157,178,.026);
    --refine-module-1: #cec6ba;
    --refine-module-2: #c1b8ac;
    --refine-module-3: #b3aa9e;
    --refine-module-text: #12181d;
    --refine-module-soft: #45515a;
    --refine-module-muted: #62707a;
    --refine-contact-bg: #10161a;
    --refine-contact-card: #171f24;
    --refine-contact-card-soft: #1d262c;
    --refine-contact-text: #edf1f3;
    --refine-contact-soft: #9da8b2;
}
body.site-home {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(920px 300px at 50% -4%, rgba(255,255,255,.022), transparent 56%),
        linear-gradient(180deg, #12181d 0%, #10161a 48%, #0f1418 100%);
}
body.site-home::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(1120px 420px at 10% 8%, rgba(141,157,178,.062), transparent 56%),
        radial-gradient(980px 380px at 84% 16%, rgba(255,255,255,.016), transparent 62%),
        linear-gradient(90deg, rgba(141,157,178,.024), transparent 16%, transparent 84%, rgba(141,157,178,.022)),
        radial-gradient(circle at 24% 30%, rgba(255,255,255,.010) 0 1px, transparent 1.1px),
        radial-gradient(circle at 72% 66%, rgba(141,157,178,.008) 0 .9px, transparent 1px);
    background-size: auto, auto, 100% 100%, 30px 30px, 42px 42px;
    background-position: 0 0, 0 0, 0 0, 0 0, 12px 14px;
    opacity: .20;
}
.site-header {
    background: linear-gradient(180deg, rgba(13,18,22,.94), rgba(13,18,22,.78));
}
.site-header[data-scrolled="true"] {
    border-bottom-color: rgba(255,255,255,.08);
    box-shadow: 0 12px 30px rgba(0,0,0,.22);
}
.nav-row {
    min-height: 84px;
    gap: 1.35rem;
    border-radius: 30px;
    padding-inline: 16px;
}
.brand-logo { transform: translateY(-1px); }
.site-nav {
    padding: .24rem;
    background: rgba(255,255,255,.026);
    border-color: rgba(255,255,255,.085);
}
.site-nav a {
    padding: .60rem .90rem;
    font-size: .92rem;
}
.hero {
    background:
        radial-gradient(840px 280px at 12% 8%, rgba(141,157,178,.11), transparent 58%),
        radial-gradient(620px 180px at 86% 14%, rgba(255,255,255,.020), transparent 60%),
        linear-gradient(180deg, #12191e 0%, #10161a 66%, #0f1418 100%);
}
.hero::before {
    background:
        linear-gradient(var(--refine-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--refine-grid) 1px, transparent 1px);
    opacity: .34;
}
.hero-panel,
.panel-note,
.panel-card,
.practice-card,
.experience-card,
.timeline-step,
.principle-card,
.issue-card,
.faq-item {
    background: linear-gradient(180deg, var(--refine-module-1), var(--refine-module-2) 62%, var(--refine-module-3)) !important;
    border-color: rgba(17,22,26,.08) !important;
    color: var(--refine-module-text) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.11), inset 0 1px 0 rgba(255,255,255,.32) !important;
}
.panel-note {
    background: linear-gradient(180deg, #c4bcb1, #b7aea2 62%, #a9a092) !important;
}
.panel-card-muted {
    background: linear-gradient(180deg, #beb6ab, #b1a79c 62%, #a39a8e) !important;
}
.hero-panel::before,
.panel-note::before,
.panel-card::before,
.practice-card::before,
.experience-card::before,
.timeline-step::before,
.principle-card::before,
.issue-card::before {
    opacity: .38 !important;
}
.hero-panel *:not(.button),
.panel-note *:not(.button),
.panel-card *:not(.button),
.practice-card *:not(.button),
.experience-card *:not(.button),
.timeline-step *:not(.button),
.principle-card *:not(.button),
.issue-card *:not(.button),
.faq-item *:not(.button) {
    color: var(--refine-module-text) !important;
}
.hero-panel p,
.panel-note p,
.panel-card p,
.card-copy,
.card-copy p,
.experience-note,
.experience-list,
.experience-list li,
.timeline-content,
.timeline-content p,
.faq-answer,
.faq-answer p,
.panel-steps,
.panel-steps li,
.practice-card li,
.experience-card li,
.timeline-step li,
.principle-card li,
.issue-card li {
    color: var(--refine-module-soft) !important;
}
.panel-label,
.metric-label,
.card-index,
.timeline-number,
.issue-index,
.principle-number,
.card-chip,
.brand-pill,
.faq-icon,
.panel-steps li::before,
.faq-item .faq-icon,
.practice-card .card-chip,
.experience-card .card-chip {
    color: var(--refine-module-muted) !important;
}
.card-chip,
.brand-pill {
    background: rgba(17,22,26,.04) !important;
    border-color: rgba(17,22,26,.07) !important;
}
.faq-icon::before,
.faq-icon::after { background: var(--refine-module-muted) !important; }
.contact-section,
.site-footer {
    background: var(--refine-contact-bg) !important;
    color: var(--refine-contact-text) !important;
}
.contact-section .section-frame::before {
    background: linear-gradient(90deg, rgba(237,241,243,.74), transparent 88%) !important;
}
.contact-copy,
.contact-copy :is(h2,p,span,strong,a),
.contact-section .section-kicker,
.contact-section .section-copy,
.contact-section .section-copy p,
.contact-section h2,
.contact-card,
.contact-card :is(h3,p,li,strong,span,div,a,ul,ol,button),
.contact-action-card,
.contact-action-card :is(h3,p,li,strong,span,div,a,ul,ol,button),
.contact-card-meta,
.contact-card-head,
.contact-card-head p,
.contact-card-label,
.contact-action-label,
.contact-action-meta,
.contact-meta-label,
.contact-phone-box,
.contact-phone-box a,
.contact-phone-reveal,
.site-footer p,
.footer-meta,
.footer-brand p {
    color: inherit !important;
}
.contact-copy,
.contact-card,
.site-footer { color: var(--refine-contact-text) !important; }
.contact-card-head p,
.contact-card-label,
.contact-action-label,
.contact-action-meta,
.contact-meta-label,
.contact-card-meta,
.site-footer p,
.footer-meta,
.footer-brand p { color: var(--refine-contact-soft) !important; }
.contact-card {
    background: linear-gradient(180deg, var(--refine-contact-card), #131a1f) !important;
    border-color: rgba(255,255,255,.10) !important;
    box-shadow: 0 22px 52px rgba(0,0,0,.26) !important;
}
.contact-action-card {
    background: var(--refine-contact-card-soft) !important;
    border-color: rgba(255,255,255,.10) !important;
}
.contact-action-card:hover,
.contact-action-card:focus-visible {
    background: color-mix(in srgb, var(--refine-contact-card-soft) 86%, white 3%) !important;
}
.contact-phone-reveal {
    background: rgba(255,255,255,.055) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: var(--refine-contact-text) !important;
}
.contact-secondary-button {
    color: var(--refine-contact-text) !important;
    border-color: rgba(255,255,255,.12) !important;
}
.contact-secondary-button:hover,
.contact-secondary-button:focus-visible,
.contact-phone-reveal:hover {
    background: rgba(255,255,255,.085) !important;
}
.contact-card .button-primary {
    background: #f4f1eb !important;
    color: #12181d !important;
}
.mobile-nav-toggle {
    color: #f6f8f9 !important;
    border-color: rgba(255,255,255,.16) !important;
    background: linear-gradient(180deg, rgba(40,48,54,.98), rgba(23,30,36,.96)) !important;
}
.mobile-nav-toggle span { background: currentColor !important; }
.mobile-nav-panel {
    background: linear-gradient(180deg, rgba(25,33,39,.985), rgba(16,22,27,.97)) !important;
    border-color: rgba(255,255,255,.10) !important;
}
.mobile-nav-panel a {
    color: var(--text) !important;
    background: rgba(255,255,255,.04) !important;
}
@media (max-width: 860px) {
    body.site-home::before { opacity: .17; background-size: auto, auto, 100% 100%, 24px 24px, 34px 34px; }
    .nav-row { min-height: 78px; }
}
@media (max-width: 640px) {
    body.site-home::before { opacity: .14; background-size: auto, auto, 100% 100%, 22px 22px, 30px 30px; }
    .nav-row { min-height: 74px; }
}


/* === overlay polish pass 3 === */
.nav-row {
    min-height: 82px;
    gap: 1.2rem;
    border-radius: 28px;
}
.site-nav {
    padding: .22rem;
    background: rgba(255,255,255,.024);
}
.site-nav a {
    padding: .58rem .88rem;
    font-size: .91rem;
}
.hero {
    padding-top: 4.7rem;
    padding-bottom: 2.9rem;
}
.hero h1 { letter-spacing: -.058em; }
.lead {
    margin-top: 1.5rem;
    max-width: 38rem;
}
.support {
    max-width: 37rem;
    color: #9ca7b1;
}
.hero-signals { gap: .58rem; }
.button { letter-spacing: -.01em; }
.button-primary { box-shadow: 0 14px 28px rgba(0,0,0,.22); }
.section {
    padding-top: 4.45rem;
    padding-bottom: 4.45rem;
}
.section-head { margin-bottom: 1.6rem; }
.section-title-block,
.section-head { gap: .5rem; }
.section-copy,
.section-copy p { line-height: 1.72; }
.split-grid,
.principles-layout,
.issues-layout { padding-top: .95rem; }
.premise-band {
    padding-top: .45rem;
    padding-bottom: 1.7rem;
}
.premise-row {
    padding-top: 1.1rem;
    gap: 1.3rem;
}
.contact-section { padding-top: 4.6rem; }
@media (max-width: 860px) {
    .section { padding-top: 3.95rem; padding-bottom: 3.95rem; }
    .hero { padding-top: 4rem; padding-bottom: 2.55rem; }
}
@media (max-width: 640px) {
    .section { padding-top: 3.6rem; padding-bottom: 3.6rem; }
    .hero { padding-top: 3.82rem; padding-bottom: 2.3rem; }
    .premise-band { padding-bottom: 1.4rem; }
}


/* === overlay polish pass 4 === */
.section-frame::before {
    width: 88px;
    opacity: .56;
}
.section-kicker,
.panel-label,
.metric-label {
    letter-spacing: .15em;
}
.practice-card,
.experience-card,
.timeline-step,
.principle-card,
.issue-card,
.faq-item,
.contact-action-card {
    border-radius: 22px;
}
.practice-card h3,
.experience-card h3,
.timeline-step h3,
.faq-item summary {
    letter-spacing: -.028em;
}
.practice-card-top,
.experience-card-top {
    margin-bottom: .9rem;
}
.card-copy,
.experience-list,
.timeline-content,
.faq-answer {
    font-size: .985rem;
}
.contact-card {
    border-radius: 30px;
}
.contact-card-head {
    padding-bottom: 1.15rem;
    margin-bottom: 1.15rem;
}
.contact-actions-grid {
    gap: .9rem;
}
@media (max-width: 640px) {
    .practice-card,
    .experience-card,
    .timeline-step,
    .principle-card,
    .issue-card,
    .faq-item,
    .contact-action-card {
        border-radius: 20px;
    }
    .contact-card {
        border-radius: 26px;
    }
}


/* === overlay polish pass 5 === */
.nav-row {
    min-height: 80px;
    gap: 1.1rem;
    border-radius: 26px;
}
.brand-logo {
    transform: translateY(0);
}
.site-nav a {
    padding: .56rem .84rem;
    font-size: .90rem;
}
.hero {
    padding-top: 4.55rem;
    padding-bottom: 2.8rem;
}
.hero-layout {
    gap: 2rem;
}
.hero-copy {
    padding-top: .35rem;
}
.lead p {
    line-height: 1.56;
}
.support {
    margin-top: 1rem;
    line-height: 1.68;
}
.hero-panel,
.practice-card,
.experience-card,
.timeline-step,
.principle-card,
.issue-card,
.faq-item {
    box-shadow: 0 12px 28px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.31) !important;
}
.panel-note,
.panel-card {
    box-shadow: 0 10px 22px rgba(0,0,0,.09), inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.faq-item summary {
    padding-top: 1.22rem;
    padding-bottom: 1.22rem;
}
.contact-card {
    box-shadow: 0 20px 46px rgba(0,0,0,.24) !important;
}
@media (max-width: 860px) {
    .nav-row {
        min-height: 76px;
        border-radius: 24px;
    }
    .hero {
        padding-top: 3.95rem;
        padding-bottom: 2.45rem;
    }
    .hero-layout {
        gap: 1.35rem;
    }
}
@media (max-width: 640px) {
    .nav-row {
        min-height: 72px;
        border-radius: 22px;
    }
    .hero {
        padding-top: 3.72rem;
        padding-bottom: 2.18rem;
    }
    .hero-layout {
        gap: 1.12rem;
    }
    .hero-panel,
    .practice-card,
    .experience-card,
    .timeline-step,
    .principle-card,
    .issue-card,
    .faq-item,
    .contact-card {
        border-radius: 22px;
    }
}


/* === overlay polish pass 6 === */
.site-header {
    backdrop-filter: blur(16px);
}
.nav-row {
    min-height: 78px;
    gap: 1rem;
    border-radius: 24px;
}
.brand-logo {
    transform: translateY(1px);
}
.site-nav {
    padding: .2rem;
}
.site-nav a {
    padding: .54rem .8rem;
    font-size: .89rem;
}
.hero {
    padding-top: 4.42rem;
    padding-bottom: 2.72rem;
}
.hero-layout {
    gap: 1.85rem;
}
.hero-panel,
.practice-card,
.experience-card,
.timeline-step,
.principle-card,
.issue-card,
.faq-item {
    box-shadow: 0 10px 24px rgba(0,0,0,.09), inset 0 1px 0 rgba(255,255,255,.30) !important;
}
@media (max-width: 860px) {
    .nav-row {
        min-height: 74px;
        border-radius: 22px;
    }
    .brand-logo {
        transform: translateY(0);
    }
    .hero {
        padding-top: 3.88rem;
        padding-bottom: 2.38rem;
    }
}
@media (max-width: 640px) {
    .nav-row {
        min-height: 70px;
        border-radius: 20px;
    }
    .hero {
        padding-top: 3.64rem;
        padding-bottom: 2.12rem;
    }
    .practice-card,
    .experience-card,
    .timeline-step,
    .principle-card,
    .issue-card,
    .faq-item,
    .contact-card {
        border-radius: 20px;
    }
}


/* === overlay polish pass 7 === */
.hero-layout {
    gap: 1.72rem;
}
.lead {
    max-width: 37rem;
}
.support {
    max-width: 36rem;
}
.button {
    min-height: 54px;
}
.contact-actions-grid {
    gap: .82rem;
}
@media (max-width: 640px) {
    .hero-panel,
    .practice-card,
    .experience-card,
    .timeline-step,
    .principle-card,
    .issue-card,
    .faq-item,
    .contact-card {
        padding: 1.18rem;
        border-radius: 18px;
    }
    .contact-action-card {
        padding: .95rem 1rem;
        border-radius: 18px;
    }
    .contact-card-head {
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }
    .button {
        min-height: 50px;
    }
}
