:root {
    --navy-950: #041a2e;
    --navy-900: #082a4a;
    --navy-800: #0b385f;
    --navy-700: #14517d;
    --emerald: #16b878;
    --emerald-dark: #099661;
    --emerald-soft: #e9f8f2;
    --ink: #11283b;
    --muted: #607486;
    --line: #dbe5eb;
    --soft: #f3f7f9;
    --white: #fff;
    --shadow: 0 24px 70px rgba(6, 31, 53, .11);
    --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { color: var(--ink); font-family: "DM Sans", sans-serif; font-size: 16px; line-height: 1.65; overflow-x: hidden; }
h1, h2, h3, h4 { color: var(--navy-950); font-family: "Manrope", sans-serif; font-weight: 700; letter-spacing: -.035em; line-height: 1.12; }
h1 { font-size: clamp(2.75rem, 5.2vw, 5.2rem); font-weight: 800; }
h2 { font-size: clamp(2rem, 3.3vw, 3.35rem); }
h3 { font-size: 1.25rem; }
p { color: var(--muted); }
a { color: var(--emerald-dark); }
.container { max-width: 1220px; }
.section { padding: 110px 0; }
.section-soft { background: var(--soft); }
.skip-link { background: var(--emerald); color: var(--navy-950); left: 20px; padding: 10px 16px; position: fixed; top: -60px; z-index: 9999; }
.skip-link:focus { top: 10px; }
.eyebrow { color: var(--emerald-dark); display: block; font-size: .76rem; font-weight: 800; letter-spacing: .14em; margin-bottom: 16px; text-transform: uppercase; }
.eyebrow-light { color: #62e5ad; }
.btn { border-radius: 7px; font-weight: 700; letter-spacing: -.01em; padding: .74rem 1.25rem; }
.btn-lg { font-size: .98rem; padding: 1rem 1.5rem; }
.btn-primary { background: var(--emerald); border-color: var(--emerald); color: #042d23; }
.btn-primary:hover, .btn-primary:focus { background: #22ca88; border-color: #22ca88; color: #02261d; transform: translateY(-1px); }
.btn-outline-primary { border-color: var(--navy-800); color: var(--navy-800); }
.btn-outline-primary:hover { background: var(--navy-800); border-color: var(--navy-800); }
.btn-light { color: var(--navy-900); }
.btn span { margin-left: 8px; }

.trust-bar { background: var(--navy-950); color: #cde0eb; font-size: .73rem; letter-spacing: .025em; padding: 7px 0; }
.status-dot, .live-label i, .map-header i { animation: pulse 2s infinite; background: var(--emerald); border-radius: 50%; display: inline-block; height: 7px; margin-right: 7px; width: 7px; }
@keyframes pulse { 50% { box-shadow: 0 0 0 5px rgba(22,184,120,.13); } }
.site-header { background: rgba(255,255,255,.97); box-shadow: 0 1px 0 rgba(4,26,46,.08); backdrop-filter: blur(12px); z-index: 1030; }
.navbar { min-height: 78px; }
.navbar-brand { align-items: center; color: var(--navy-950); display: flex; font-family: "Manrope", sans-serif; font-size: 1.03rem; font-weight: 700; letter-spacing: -.035em; white-space: normal; }
.brand-text strong { color: var(--emerald-dark); }
.brand-mark { background: var(--navy-900); border-radius: 11px; display: inline-block; height: 40px; margin-right: 11px; position: relative; width: 40px; }
.brand-mark::before, .brand-mark::after { background: #fff; border-radius: 2px; content: ""; left: 11px; position: absolute; top: 18px; }
.brand-mark::before { height: 5px; width: 18px; }
.brand-mark::after { height: 18px; left: 18px; top: 11px; width: 5px; }
.brand-mark span { background: var(--emerald); border: 2px solid var(--navy-900); border-radius: 50%; bottom: 4px; height: 10px; position: absolute; right: 4px; width: 10px; z-index: 2; }
.navbar-nav { gap: 5px; }
.navbar .nav-link { color: #405568; font-size: .88rem; font-weight: 600; padding: .6rem .75rem !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--navy-950); }
.navbar .nav-link.active::after { background: var(--emerald); content: ""; display: block; height: 2px; margin: 4px auto -6px; width: 16px; }
.nav-cta { padding: .75rem 1rem; }

.hero { background: var(--navy-900); overflow: hidden; padding: 105px 0 90px; position: relative; }
.hero::after { background: radial-gradient(circle, rgba(22,184,120,.18), transparent 67%); content: ""; height: 600px; position: absolute; right: -170px; top: -150px; width: 600px; }
.hero-grid { background-image: linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px); background-size: 46px 46px; inset: 0; mask-image: linear-gradient(to right, #000, transparent); position: absolute; }
.hero h1 { color: white; margin: 25px 0 24px; }
.hero h1 span, .page-hero h1 span { color: #55daa2; }
.hero-lead { color: #c9d9e3; font-size: 1.13rem; line-height: 1.75; max-width: 730px; }
.trust-chip { align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 99px; color: #d6e5ed; display: inline-flex; font-size: .77rem; font-weight: 600; padding: 7px 12px 7px 7px; }
.shield-icon { align-items: center; background: var(--emerald); border-radius: 50%; color: #052e23; display: inline-flex; height: 23px; justify-content: center; margin-right: 8px; width: 23px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.btn-outline-light { border-color: rgba(255,255,255,.35); }
.hero-proof { display: flex; gap: 0; margin-top: 55px; }
.hero-proof div { border-right: 1px solid rgba(255,255,255,.17); margin-right: 30px; padding-right: 30px; }
.hero-proof div:last-child { border: 0; }
.hero-proof strong { color: white; display: block; font: 700 1.75rem/1 "Manrope"; }
.hero-proof span { color: #9db5c4; font-size: .73rem; }
.performance-card { background: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; box-shadow: 0 30px 80px rgba(0,0,0,.25); padding: 26px; transform: rotate(1.2deg); }
.card-topline { border-bottom: 1px solid var(--line); color: var(--navy-950); display: flex; font-size: .74rem; font-weight: 700; justify-content: space-between; padding-bottom: 16px; text-transform: uppercase; }
.live-label { color: var(--emerald-dark); font-size: .66rem; }
.clean-rate { align-items: center; display: flex; justify-content: space-between; padding: 24px 0 18px; }
.clean-rate span { color: var(--muted); font-size: .75rem; }
.clean-rate strong { color: var(--navy-950); display: block; font: 800 3.6rem/1 "Manrope"; letter-spacing: -.07em; }
.clean-rate small { color: var(--emerald-dark); font-size: 1.3rem; }
.radial-chart { align-items: center; background: conic-gradient(var(--emerald) 98.4%, #e4ecef 0); border-radius: 50%; display: flex; height: 82px; justify-content: center; width: 82px; }
.radial-chart::before { background: white; border-radius: 50%; content: ""; height: 62px; position: absolute; width: 62px; }
.radial-chart span { color: var(--emerald-dark); font-size: 1.2rem; font-weight: 800; position: relative; }
.metric-row { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.metric-row div { background: var(--soft); border-radius: 8px; padding: 12px; }
.metric-row span, .metric-row strong { display: block; font-size: .68rem; }
.metric-row strong { color: var(--navy-900); font-size: .76rem; margin-top: 3px; }
.chart-wrap { margin-top: 20px; }
.chart-label { color: var(--muted); font-size: .68rem; }
.chart-wrap svg { height: 100px; overflow: visible; width: 100%; }
.chart-wrap .area { fill: url(#area); }
.chart-wrap .line { fill: none; stroke: var(--emerald); stroke-width: 3; }
.chart-wrap circle { fill: var(--emerald); }
.performance-note { background: var(--emerald-soft); border-radius: 7px; color: #286c54; font-size: .68rem; margin: 0; padding: 9px; text-align: center; }

.platform-strip { border-bottom: 1px solid var(--line); padding: 76px 0 60px; }
.section-intro { margin: 0 auto 50px; max-width: 730px; }
.section-intro.centered { text-align: center; }
.section-intro.compact { margin-bottom: 32px; }
.section-intro h2 { margin-bottom: 16px; }
.section-intro p { font-size: 1.04rem; }
.platform-marquee { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; }
.platform-marquee > span { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 4px 15px rgba(6,31,53,.035); color: #334e61; display: flex; font-size: .76rem; font-weight: 700; padding: 9px 13px 9px 9px; }
.platform-marquee i { align-items: center; background: var(--soft); border-radius: 5px; color: var(--navy-700); display: flex; font-size: .54rem; font-style: normal; height: 25px; justify-content: center; margin-right: 8px; width: 25px; }
.platform-caption { color: #718593; font-size: .76rem; margin: 20px 0 0; }
.platform-caption span { color: var(--emerald-dark); margin-left: 15px; }

.pillars-section { background: #f7fafb; }
.split-heading { align-items: end; display: grid; gap: 10%; grid-template-columns: 1.15fr .85fr; margin-bottom: 48px; }
.split-heading h2 { margin: 0; }
.split-heading > p { font-size: 1.04rem; margin: 0 0 5px; }
.pillar-card { background: white; border: 1px solid var(--line); border-radius: var(--radius); height: 100%; overflow: hidden; padding: 35px; position: relative; transition: .25s ease; }
.pillar-card:hover { box-shadow: var(--shadow); transform: translateY(-5px); }
.pillar-card.featured { border-top: 4px solid var(--emerald); }
.pillar-number { color: #e1e9ed; font: 800 3.8rem/1 "Manrope"; position: absolute; right: 24px; top: 25px; }
.icon-box { align-items: center; background: var(--emerald-soft); border-radius: 10px; color: var(--emerald-dark); display: flex; font-size: 1.5rem; height: 52px; justify-content: center; margin-bottom: 26px; width: 52px; }
.pillar-card h3 { font-size: 1.35rem; }
.pillar-card > p { font-size: .91rem; }
.check-list { list-style: none; margin: 24px 0 0; padding: 0; }
.check-list li { border-top: 1px solid #edf1f3; color: #3e5668; font-size: .79rem; padding: 10px 0 10px 21px; position: relative; }
.check-list li::before { color: var(--emerald-dark); content: "✓"; font-weight: 800; left: 0; position: absolute; }

.specialties-section { background: #fff; }
.specialty-filter { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 34px; }
.specialty-filter button { background: white; border: 1px solid var(--line); border-radius: 99px; color: #587082; font-size: .75rem; font-weight: 700; padding: 9px 14px; }
.specialty-filter button span { background: var(--soft); border-radius: 50%; font-size: .62rem; margin-left: 5px; padding: 3px 6px; }
.specialty-filter button:hover, .specialty-filter button.active { background: var(--navy-900); border-color: var(--navy-900); color: white; }
.specialty-grid { display: grid; gap: 9px; grid-template-columns: repeat(3, 1fr); }
.specialty-item { align-items: center; border: 1px solid var(--line); border-radius: 10px; display: flex; min-height: 82px; padding: 14px; transition: .2s ease; }
.specialty-item:hover { border-color: #95d6bc; box-shadow: 0 8px 24px rgba(5,43,74,.07); transform: translateY(-2px); }
.specialty-symbol { align-items: center; background: var(--emerald-soft); border-radius: 7px; color: var(--emerald-dark); display: flex; font-size: 1.1rem; font-weight: 600; height: 38px; justify-content: center; margin-right: 12px; min-width: 38px; }
.specialty-item h3 { font-family: "DM Sans"; font-size: .87rem; letter-spacing: -.01em; margin: 0; }
.specialty-item p { font-size: .62rem; margin: 3px 0 0; }
.specialty-item .arrow { color: #a3b2bc; margin-left: auto; }
.specialty-item.filtered-out { display: none; }
.specialty-note { font-size: .82rem; margin: 25px 0 0; text-align: center; }

.footprint-section { background: var(--navy-950); overflow: hidden; position: relative; }
.footprint-section::before { background: radial-gradient(circle, rgba(22,184,120,.13), transparent 68%); content: ""; height: 700px; left: -300px; position: absolute; top: -200px; width: 700px; }
.footprint-section h2 { color: white; }
.footprint-section p { color: #adc1cf; }
.state-stats { display: flex; gap: 55px; margin: 35px 0; }
.state-stats strong { color: #50d99f; display: block; font: 800 2.5rem/1 "Manrope"; }
.state-stats span { color: #adc1cf; font-size: .76rem; }
.map-panel { background: #0c2e49; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; box-shadow: 0 25px 70px rgba(0,0,0,.2); overflow: hidden; }
.map-header { border-bottom: 1px solid rgba(255,255,255,.09); color: #cfdee7; display: flex; font-size: .71rem; justify-content: space-between; padding: 16px 20px; }
.map-header span:last-child { color: #62e5ad; }
.usa-map { min-height: 380px; padding: 30px; position: relative; }
.usa-map svg { width: 100%; }
.usa-map path { fill: #174666; stroke: #306580; stroke-width: 3; }
.usa-map circle { fill: #24cb8a; filter: drop-shadow(0 0 7px rgba(36,203,138,.6)); }
.map-callout { background: rgba(4,26,46,.9); border-left: 3px solid var(--emerald); bottom: 30px; color: white; left: 30px; padding: 12px 15px; position: absolute; }
.map-callout strong, .map-callout span { display: block; font-size: .72rem; }
.map-callout span { color: #9eb8c7; font-size: .63rem; }
.state-list { border-top: 1px solid rgba(255,255,255,.1); display: grid; gap: 3px 15px; grid-template-columns: repeat(4, 1fr); max-height: 240px; overflow: auto; padding: 20px; }
.state-list span { color: #b6c9d5; font-size: .66rem; }

.process-section { background: #f7fafb; }
.process-line { display: grid; grid-template-columns: repeat(3, 1fr); position: relative; }
.process-line::before { background: #cbdde5; content: ""; height: 1px; left: 16.6%; position: absolute; right: 16.6%; top: 25px; }
.process-step { padding: 0 35px; position: relative; text-align: center; }
.process-step > span { align-items: center; background: white; border: 2px solid var(--emerald); border-radius: 50%; color: var(--emerald-dark); display: inline-flex; font-weight: 800; height: 50px; justify-content: center; margin-bottom: 20px; position: relative; width: 50px; }
.process-step h3 { font-size: 1.05rem; }
.process-step p { font-size: .82rem; }
.closing-section { background: #f7fafb; padding: 0 0 110px; }
.closing-card { align-items: center; background: linear-gradient(120deg, var(--navy-800), var(--navy-950)); border-radius: 24px; display: grid; grid-template-columns: 1.15fr .85fr; min-height: 485px; overflow: hidden; padding: 65px; position: relative; }
.closing-card::after { border: 1px solid rgba(255,255,255,.05); border-radius: 50%; content: ""; height: 500px; position: absolute; right: -190px; top: -70px; width: 500px; }
.closing-copy { position: relative; z-index: 2; }
.closing-copy h2 { color: white; }
.closing-copy p { color: #b8cbd6; max-width: 620px; }
.closing-copy small { color: #8fa8b8; display: block; font-size: .68rem; margin-top: 14px; }
.audit-preview { height: 330px; margin-left: 30px; position: relative; z-index: 1; }
.report-sheet { background: white; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,.25); height: 320px; padding: 24px; position: absolute; transform: rotate(2deg); width: 330px; }
.report-sheet.back { background: #d9e7ec; left: 20px; top: 20px; transform: rotate(8deg); }
.report-head { align-items: center; border-bottom: 1px solid var(--line); display: flex; font-size: .53rem; font-weight: 800; justify-content: space-between; padding-bottom: 10px; text-transform: uppercase; }
.report-head i { color: var(--emerald-dark); font-size: .45rem; }
.report-score { align-items: center; display: flex; justify-content: space-between; padding: 26px 0; }
.report-score span { color: var(--muted); font-size: .68rem; }
.report-score strong { color: var(--navy-900); font: 800 2.7rem/1 "Manrope"; }
.report-bars div { margin-bottom: 14px; }
.report-bars span { color: #5e7484; display: block; font-size: .58rem; }
.report-bars i { background: #e8eff2; border-radius: 99px; display: block; height: 6px; margin-top: 4px; }
.report-bars b { background: var(--emerald); border-radius: 99px; display: block; height: 100%; }
.report-sheet > p { border-top: 1px solid var(--line); font-size: .56rem; margin-top: 22px; padding-top: 15px; }

.site-footer { background: #031522; color: #94abba; padding: 0 0 90px; }
.footer-cta { align-items: center; border-bottom: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; padding: 55px 0; }
.footer-cta h2 { color: white; font-size: 1.8rem; margin: 0; max-width: 690px; }
.footer-cta .eyebrow { margin-bottom: 8px; }
.footer-main { padding: 60px 0; }
.footer-brand { color: white; margin-bottom: 20px; }
.footer-summary { font-size: .82rem; max-width: 360px; }
.footer-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.footer-badges span { border: 1px solid rgba(255,255,255,.12); border-radius: 99px; color: #aac0cd; font-size: .58rem; padding: 5px 9px; text-transform: uppercase; }
.site-footer h3 { color: #d6e3ea; font-family: "DM Sans"; font-size: .7rem; letter-spacing: .08em; margin-bottom: 18px; text-transform: uppercase; }
.site-footer a:not(.navbar-brand):not(.btn) { color: #8fa7b6; display: block; font-size: .75rem; margin-bottom: 10px; text-decoration: none; }
.site-footer a:hover { color: white !important; }
.footer-legal { border-top: 1px solid rgba(255,255,255,.1); font-size: .62rem; padding-top: 25px; }
.footer-legal p { color: #718a99; font-size: .62rem; max-width: 1000px; }
.mobile-cta { background: white; bottom: 0; box-shadow: 0 -5px 25px rgba(0,0,0,.12); left: 0; padding: 9px 14px; position: fixed; right: 0; z-index: 1040; }
.mobile-cta a { background: var(--emerald); border-radius: 6px; color: #042d23; display: block; font-size: .83rem; font-weight: 800; padding: 12px; text-align: center; text-decoration: none; }

/* Interior pages */
.page-hero, .legal-hero { background: linear-gradient(125deg, var(--navy-900), var(--navy-950)); padding: 100px 0; position: relative; }
.page-hero::before, .legal-hero::before { background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 42px 42px; content: ""; inset: 0; position: absolute; }
.page-hero .container, .legal-hero .container { position: relative; }
.page-hero h1, .legal-hero h1 { color: white; font-size: clamp(2.65rem, 5vw, 4.8rem); }
.page-hero p, .legal-hero p { color: #b6cbd7; font-size: 1.07rem; }
.narrow { max-width: 930px; }
.about-hero p { border-left: 2px solid var(--emerald); font-size: 1.05rem; padding-left: 25px; }
.lead-copy { color: #354f61; font-size: 1.1rem; line-height: 1.75; }
.principle-card { background: var(--navy-900); border-radius: var(--radius); box-shadow: var(--shadow); color: white; padding: 45px; }
.principle-card > span { color: #68dcae; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.principle-card blockquote { font: 700 1.5rem/1.5 "Manrope"; margin: 25px 0 35px; }
.mini-stats { border-top: 1px solid rgba(255,255,255,.13); display: grid; grid-template-columns: 1fr 1fr; padding-top: 25px; }
.mini-stats strong, .mini-stats span { display: block; }
.mini-stats strong { color: #4ed59d; font: 800 1.8rem/1 "Manrope"; }
.mini-stats span { color: #9ab2c0; font-size: .65rem; margin-top: 5px; }
.value-card { background: white; border: 1px solid var(--line); border-radius: 14px; height: 100%; padding: 32px; }
.value-card > span { color: var(--emerald-dark); font: 800 .75rem "Manrope"; }
.value-card h3 { margin: 22px 0 12px; }
.value-card p { font-size: .85rem; margin: 0; }
.content-banner { align-items: center; background: var(--navy-900); border-radius: var(--radius); display: grid; gap: 35px; grid-template-columns: 1fr 1fr auto; padding: 45px; }
.content-banner h2 { color: white; font-size: 1.8rem; margin: 0; }
.content-banner p { color: #b5c9d5; font-size: .85rem; margin: 0; }
.deep-pillar { border-bottom: 1px solid var(--line); display: grid; gap: 50px; grid-template-columns: 50px 1.2fr .8fr; padding: 80px 0; }
.deep-pillar:first-child { padding-top: 0; }
.deep-pillar:last-child { border: 0; padding-bottom: 0; }
.deep-number { color: #c4d1d8; font: 800 .85rem "Manrope"; padding-top: 5px; }
.deep-copy h2 { font-size: 2.35rem; }
.feature-list { display: grid; gap: 10px 20px; grid-template-columns: 1fr 1fr; list-style: none; padding: 10px 0 0; }
.feature-list li { color: #3d5668; font-size: .8rem; padding-left: 20px; position: relative; }
.feature-list li::before { color: var(--emerald-dark); content: "✓"; font-weight: 800; left: 0; position: absolute; }
.deep-visual { align-self: center; background: var(--soft); border-radius: 16px; min-height: 310px; padding: 35px; }
.credential-visual { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; place-content: center; text-align: center; }
.credential-visual span { background: white; border: 1px solid var(--line); border-radius: 9px; color: var(--navy-700); font: 800 .76rem "Manrope"; padding: 20px 5px; }
.credential-visual strong { color: var(--emerald-dark); font: 800 4rem/1 "Manrope"; grid-column: 1 / -1; }
.credential-visual p { font-size: .7rem; grid-column: 1 / -1; margin: 0; }
.platform-cloud { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 20px; }
.platform-cloud span { background: var(--soft); border: 1px solid var(--line); border-radius: 5px; color: #557083; font-size: .6rem; padding: 5px 7px; }
.stack-visual { align-items: center; display: flex; justify-content: center; overflow: hidden; position: relative; }
.stack-center { align-items: center; background: white; border: 2px solid var(--emerald); border-radius: 50%; box-shadow: 0 0 0 20px rgba(22,184,120,.06), 0 0 0 40px rgba(22,184,120,.035); display: flex; flex-direction: column; height: 145px; justify-content: center; position: relative; text-align: center; width: 145px; z-index: 2; }
.stack-center strong { color: var(--navy-900); font-family: "Manrope"; }
.stack-visual i { border: 1px dashed #adc2cd; border-radius: 50%; height: 230px; position: absolute; width: 230px; }
.rate-visual { display: flex; flex-direction: column; justify-content: center; }
.rate-visual > span { color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.rate-visual strong { color: var(--navy-900); font: 800 5rem/1 "Manrope"; letter-spacing: -.07em; }
.rate-visual small { color: var(--emerald-dark); font-size: 1.7rem; }
.rate-visual div { background: #d9e5e9; border-radius: 99px; height: 9px; margin: 22px 0; }
.rate-visual i { background: var(--emerald); border-radius: 99px; display: block; height: 100%; }
.rate-visual p { font-size: .72rem; }

.pricing-overlap { padding-top: 0; }
.pricing-card { background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); display: grid; grid-template-columns: .75fr 1.25fr; margin-top: -55px; overflow: hidden; position: relative; z-index: 3; }
.price-panel { align-items: center; background: var(--emerald-soft); display: flex; flex-direction: column; justify-content: center; padding: 55px 35px; text-align: center; }
.price-panel > span { color: #507465; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.price-panel strong { color: var(--navy-900); font: 800 5rem/1.2 "Manrope"; letter-spacing: -.08em; }
.price-panel strong small { color: var(--emerald-dark); font-size: 1.7rem; }
.price-panel strong i { color: #9cb9ad; font-size: 2rem; font-style: normal; margin: 0 8px; }
.price-panel p { font-size: .75rem; }
.price-explanation { padding: 55px; }
.price-explanation h2 { font-size: 2.3rem; }
.risk-row { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 15px 25px; margin-top: 28px; padding-top: 22px; }
.risk-row span { color: #35624f; font-size: .75rem; font-weight: 700; }
.inclusion-grid { display: grid; gap: 15px; grid-template-columns: repeat(3, 1fr); }
.inclusion-grid article { border: 1px solid var(--line); border-radius: 12px; padding: 28px; }
.inclusion-grid article > span { color: var(--emerald-dark); font: 800 .66rem "Manrope"; }
.inclusion-grid h3 { font-size: 1.05rem; margin: 18px 0 9px; }
.inclusion-grid p { font-size: .78rem; margin: 0; }
.quote-box { background: white; border-left: 4px solid var(--emerald); box-shadow: var(--shadow); padding: 35px; }

.faq-layout { display: grid; gap: 8%; grid-template-columns: .65fr 1.35fr; }
.faq-aside { align-self: start; background: var(--soft); border-radius: 14px; padding: 35px; position: sticky; top: 135px; }
.faq-aside h2 { font-size: 1.7rem; }
.faq-aside p { font-size: .85rem; }
.faq-accordion .accordion-item { border: 0; border-bottom: 1px solid var(--line); }
.faq-accordion .accordion-button { background: white; box-shadow: none; color: var(--navy-950); font: 700 1rem/1.4 "Manrope"; padding: 27px 10px; }
.faq-accordion .accordion-button > span { color: var(--emerald-dark); font: 800 .67rem "Manrope"; margin-right: 18px; }
.faq-accordion .accordion-button:not(.collapsed) { color: var(--navy-800); }
.faq-accordion .accordion-body { color: var(--muted); font-size: .9rem; line-height: 1.8; padding: 0 45px 30px; }

/* Audit form */
.audit-hero { background: var(--navy-950); padding: 75px 0 90px; position: relative; }
.audit-copy { position: sticky; top: 145px; }
.audit-copy h1 { color: white; font-size: clamp(2.6rem, 4.6vw, 4.5rem); margin: 24px 0; }
.audit-copy > p { color: #b6c9d5; font-size: 1.05rem; }
.light-chip { background: rgba(22,184,120,.1); border-color: rgba(22,184,120,.24); color: #bcebd8; }
.audit-benefits { margin-top: 40px; }
.audit-benefits article { display: flex; margin-bottom: 25px; }
.audit-benefits article > span { align-items: center; background: rgba(22,184,120,.1); border: 1px solid rgba(22,184,120,.2); border-radius: 8px; color: #53d9a1; display: flex; font-size: 1.2rem; height: 42px; justify-content: center; margin-right: 14px; min-width: 42px; }
.audit-benefits h2 { color: white; font: 700 .95rem "DM Sans"; letter-spacing: 0; margin: 0 0 4px; }
.audit-benefits p { color: #8fa9b8; font-size: .76rem; margin: 0; }
.audit-trust { border-top: 1px solid rgba(255,255,255,.1); display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 30px; padding-top: 20px; }
.audit-trust span { color: #88a0af; font-size: .62rem; }
.audit-trust span::before { color: var(--emerald); content: "✓ "; }
.audit-form-card { background: white; border-radius: 18px; box-shadow: 0 30px 90px rgba(0,0,0,.28); min-height: 690px; overflow: hidden; }
.form-card-head { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: 17px 28px; }
.form-card-head span, .form-card-head strong { display: block; }
.form-card-head span { color: var(--navy-900); font-size: .74rem; font-weight: 800; }
.form-card-head strong { color: #80929e; font-size: .59rem; }
.secure-label { color: var(--emerald-dark); font-size: .66rem; font-weight: 700; }
.form-progress { padding: 28px 42px 5px; }
.progress-track { background: #e5ecef; height: 3px; margin: 0 10%; }
.progress-track i { background: var(--emerald); display: block; height: 100%; transition: width .3s ease; width: 0; }
.progress-labels { display: flex; justify-content: space-between; transform: translateY(-14px); }
.progress-labels button { background: transparent; border: 0; color: #91a1ab; font-size: .62rem; padding: 0; text-align: center; }
.progress-labels b { align-items: center; background: white; border: 2px solid #d9e3e7; border-radius: 50%; display: flex; font-size: .65rem; height: 28px; justify-content: center; margin: 0 auto 5px; width: 28px; }
.progress-labels .active, .progress-labels .complete { color: var(--navy-900); font-weight: 700; }
.progress-labels .active b, .progress-labels .complete b { background: var(--emerald); border-color: var(--emerald); color: #073c2d; }
.form-step { display: none; padding: 20px 48px 45px; }
.form-step.active { animation: stepIn .3s ease; display: block; }
@keyframes stepIn { from { opacity: 0; transform: translateX(10px); } }
.step-heading { margin-bottom: 28px; }
.step-heading > span { color: var(--emerald-dark); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.step-heading h2 { font-size: 1.55rem; margin: 6px 0; }
.step-heading p { font-size: .75rem; margin: 0; }
.field-group { margin-bottom: 20px; }
.field-group label { color: #294254; display: block; font-size: .73rem; font-weight: 700; margin-bottom: 7px; }
.form-control, .form-select { border: 1px solid #ccd9df; border-radius: 7px; color: var(--ink); font-size: .83rem; min-height: 49px; }
.form-control:focus, .form-select:focus { border-color: var(--emerald); box-shadow: 0 0 0 3px rgba(22,184,120,.12); }
.form-step > .btn { margin-top: 14px; }
.step-actions { align-items: center; display: flex; justify-content: space-between; margin-top: 15px; }
.step-actions .btn-link { color: #708592; font-size: .78rem; text-decoration: none; }
.consent-check { align-items: flex-start; color: #687d8b; display: flex; font-size: .68rem; gap: 9px; line-height: 1.5; margin: 8px 0; }
.consent-check input { accent-color: var(--emerald); margin-top: 3px; }
.submit-note { font-size: .61rem; margin: 15px 0 0; text-align: right; }
.form-alert { background: #fff1f1; border-left: 3px solid #d34b4b; color: #8a2b2b; font-size: .76rem; margin: 10px 48px 0; padding: 10px 13px; }
.form-success { padding: 90px 55px; text-align: center; }
.success-check { align-items: center; background: var(--emerald-soft); border-radius: 50%; color: var(--emerald-dark); display: flex; font-size: 2rem; font-weight: 800; height: 75px; justify-content: center; margin: 0 auto 30px; width: 75px; }
.form-success h2 { font-size: 2rem; }
.zero-disruption { background: var(--soft); padding: 95px 0; }
.promise-grid { display: grid; gap: 13px; grid-template-columns: repeat(3,1fr); }
.promise-grid div { background: white; border: 1px solid var(--line); border-radius: 10px; padding: 20px; }
.promise-grid span { color: var(--emerald-dark); font: 800 .62rem "Manrope"; }
.promise-grid strong { color: var(--navy-900); display: block; font-size: .8rem; margin: 10px 0 5px; }
.promise-grid p { font-size: .68rem; margin: 0; }

.legal-hero { padding: 75px 0; }
.legal-hero h1 { font-size: 3.5rem; }
.legal-copy { max-width: 860px; }
.legal-copy h2 { font-size: 1.35rem; margin: 38px 0 10px; }
.legal-copy p { font-size: .91rem; }
.legal-note { background: var(--soft); border-left: 4px solid var(--emerald); color: #4d6575; font-size: .8rem; margin-top: 40px; padding: 23px; }

@media (max-width: 1199.98px) {
    .navbar-collapse { background: white; border-top: 1px solid var(--line); margin: 15px -12px -8px; padding: 18px; }
    .navbar .nav-link.active::after { display: none; }
}
@media (max-width: 991.98px) {
    body { padding-bottom: 60px; }
    .section { padding: 80px 0; }
    .hero { padding: 75px 0; }
    .performance-card { margin: 20px auto 0; max-width: 560px; transform: none; }
    .split-heading, .closing-card, .content-banner, .deep-pillar, .pricing-card, .faq-layout { grid-template-columns: 1fr; }
    .specialty-grid, .inclusion-grid { grid-template-columns: repeat(2, 1fr); }
    .closing-card { padding: 50px; }
    .audit-preview { display: none; }
    .footer-cta { align-items: flex-start; flex-direction: column; gap: 25px; }
    .deep-pillar { gap: 25px; }
    .deep-number { display: none; }
    .deep-visual { max-width: 500px; width: 100%; }
    .pricing-card { margin-top: -40px; }
    .faq-aside, .audit-copy { position: static; }
    .audit-copy { margin-bottom: 30px; }
}
@media (max-width: 767.98px) {
    h1 { font-size: 2.7rem; }
    h2 { font-size: 2rem; }
    .navbar { min-height: 68px; }
    .navbar-brand { font-size: .88rem; max-width: 245px; }
    .brand-mark { height: 36px; width: 36px; }
    .brand-mark::before { left: 9px; top: 16px; }
    .brand-mark::after { left: 16px; top: 9px; }
    .hero-proof div { margin-right: 18px; padding-right: 18px; }
    .hero-proof strong { font-size: 1.45rem; }
    .split-heading { gap: 20px; }
    .specialty-filter { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; }
    .specialty-filter button { flex: 0 0 auto; }
    .specialty-grid, .inclusion-grid { grid-template-columns: 1fr; }
    .state-list { grid-template-columns: repeat(2, 1fr); }
    .process-line { gap: 25px; grid-template-columns: 1fr; }
    .process-line::before { bottom: 16%; height: auto; left: 25px; right: auto; top: 16%; width: 1px; }
    .process-step { padding: 0 0 0 75px; text-align: left; }
    .process-step > span { left: 0; position: absolute; top: 0; }
    .closing-card { border-radius: 15px; padding: 35px 25px; }
    .feature-list, .promise-grid { grid-template-columns: 1fr; }
    .price-explanation { padding: 35px 25px; }
    .faq-accordion .accordion-button { font-size: .88rem; }
    .audit-hero { padding: 55px 0; }
    .audit-form-card { min-height: auto; }
    .form-progress { padding: 25px 20px 0; }
    .progress-labels span { display: none; }
    .form-step { padding: 15px 24px 35px; }
    .form-alert { margin: 10px 24px 0; }
    .step-actions { align-items: stretch; flex-direction: column-reverse; gap: 8px; }
    .step-actions .btn-primary { width: 100%; }
    .form-success { padding: 65px 30px; }
    .zero-disruption { padding: 70px 0; }
    .site-footer { padding-bottom: 20px; }
}
