:root {
 --hp-bg: #f3f5f8;
 --hp-card: #ffffff;
 --hp-surface: #e9eef5;
 --hp-line: #e2e8f0;
 --hp-ink: #232a2f;
 --hp-muted: #5e6b76;
 --hp-brand: #01669d;
 --hp-brand-fg: #ffffff;
 --hp-accent: #6d5bd0;
 --hp-accent-soft: #efecff;
 --hp-data-2: #50abfe;
 --hp-data-soft: #dcebf8;
 --hp-sky: #7ec8ff;
 --hp-navy: #052b45;
 --hp-good-bg: #e6f7ef;
 --hp-good-fg: #047857;
 --hp-warn-bg: #fff6df;
 --hp-warn-fg: #9a6512;
 --hp-bad-bg: #fff0ee;
 --hp-bad-fg: #b42318;
 --hp-unknown-bg: #e9eef5;
 --hp-unknown-fg: #6f7b87;
 --hp-font-sans: Urbanist, 'Open Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
 --hp-font-eyebrow: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
 --hp-shadow-card: 0 1px 2px rgba(35, 42, 47, 0.05), 0 10px 28px -16px rgba(35, 42, 47, 0.16);
 --hp-shadow-pop: 0 2px 6px rgba(35, 42, 47, 0.07), 0 24px 48px -24px rgba(1, 102, 157, 0.22);
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--hp-bg); color: var(--hp-ink); font-family: var(--hp-font-sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

.hpWrap { max-width: 1152px; margin: 0 auto; padding: 0 24px; }
.hpWrapNarrow { max-width: 768px; margin: 0 auto; padding: 0 20px; }
.hpSection { padding: 64px 0; }
.hpBorderY { border-top: 1px solid var(--hp-line); border-bottom: 1px solid var(--hp-line); }
.hpCenter { text-align: center; }
.hpMuted { color: var(--hp-muted); }
.hpBrandText { color: var(--hp-brand); }
.hpSkyText { color: var(--hp-sky); }

.hpEyebrow { font-family: var(--hp-font-eyebrow); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.7rem; font-weight: 400; color: var(--hp-muted); }
.hpDisplay { font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; }
.hpSectionHead { max-width: 640px; margin: 0 auto; text-align: center; }
.hpSectionHead h2 { font-size: 2.4rem; margin: 12px 0 0; }
.hpSectionHead p { margin-top: 16px; font-size: 1.05rem; color: var(--hp-muted); }

.hpCard { background: var(--hp-card); border: 1px solid var(--hp-line); border-radius: 16px; box-shadow: var(--hp-shadow-card); padding: 24px; }
.hpCardLg { border-radius: 24px; }

.hpBtn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 24px; border-radius: 12px; border: 1px solid transparent; font: inherit; font-weight: 600; cursor: pointer; }
.hpBtnAccent { background: var(--hp-accent); color: #fff; box-shadow: var(--hp-shadow-card); }
.hpBtnAccent:hover { filter: brightness(1.08); }
.hpBtnGhost { background: transparent; color: var(--hp-ink); border-color: var(--hp-line); }
.hpBtnGhost:hover { background: color-mix(in srgb, var(--hp-surface) 60%, transparent); }

.hpPill { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 4px 12px; font-size: 0.75rem; font-weight: 700; }
.hpPillBrand { background: var(--hp-data-soft); color: var(--hp-brand); }
.hpToneGood { background: var(--hp-good-bg); color: var(--hp-good-fg); }
.hpToneWarn { background: var(--hp-warn-bg); color: var(--hp-warn-fg); }
.hpToneBad { background: var(--hp-bad-bg); color: var(--hp-bad-fg); }
.hpToneUnknown { background: var(--hp-unknown-bg); color: var(--hp-unknown-fg); }
.hpToneAccent { background: var(--hp-accent); color: #fff; }
.hpToneNeutral { background: var(--hp-surface); color: var(--hp-muted); }

.hpHeroSurface { position: relative; overflow: hidden; color: #fff; background-color: var(--hp-navy); background-image: linear-gradient(180deg, rgba(5, 43, 69, 0.94) 0%, rgba(1, 102, 157, 0.82) 54%, rgba(47, 134, 196, 0.54) 100%), url('/lib.images/blue-hero-background.png'); background-position: center top; background-repeat: no-repeat; background-size: cover; }
.hpCtaSurface { position: relative; overflow: hidden; color: #fff; background-color: var(--hp-navy); background-image: linear-gradient(180deg, rgba(5, 43, 69, 0.9) 0%, rgba(1, 102, 157, 0.78) 58%, rgba(22, 104, 160, 0.9) 100%), url('/lib.images/blue-hero-background.png'); background-position: center bottom; background-repeat: no-repeat; background-size: cover; }
.hpBlueprintSurface { background-color: #f7faff; background-image: linear-gradient(180deg, rgba(247, 250, 255, 0.9) 0%, rgba(243, 247, 252, 0.86) 100%), url('/lib.images/light-blueprint-pattern.png'); background-position: center top; background-repeat: no-repeat; background-size: cover; }
.hpDataSurface { background-color: #f2f6fb; background-image: linear-gradient(180deg, rgba(246, 249, 253, 0.86) 0%, rgba(238, 245, 251, 0.9) 100%), url('/lib.images/neutral-data-texture.png'); background-position: center; background-repeat: no-repeat; background-size: cover; }
.hpPanelTexture { background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0.82)), url('/lib.images/neutral-data-texture.png'); background-position: center; background-repeat: no-repeat; background-size: cover; }

.hpNav { position: relative; display: flex; align-items: center; justify-content: space-between; max-width: 1152px; margin: 0 auto; padding: 24px; }
.hpBrand { display: flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -0.02em; }
.hpBrandDot { width: 30px; height: 30px; border-radius: 8px; background: var(--hp-brand); color: #fff; display: grid; place-items: center; }
.hpHeroBrandDot { background: rgba(255, 255, 255, 0.14); }
.hpNavLinks { display: flex; align-items: center; gap: 8px; }
.hpNavLink { padding: 8px 16px; border-radius: 999px; font-size: 0.9rem; font-weight: 500; color: rgba(255, 255, 255, 0.85); }
.hpNavLink:hover { color: #fff; }
.hpNavSignin { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; font-weight: 600; }

.hpHero { position: relative; max-width: 768px; margin: 0 auto; padding: 40px 24px 0; text-align: center; }
.hpHeroBadge { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); padding: 6px 14px; font-size: 0.78rem; color: rgba(255, 255, 255, 0.9); }
.hpDot { width: 6px; height: 6px; border-radius: 999px; background: var(--hp-accent); }
.hpHeroTitle { font-size: 3.8rem; line-height: 1.02; letter-spacing: -0.03em; margin: 24px 0 0; color: #fff; }
.hpHeroSub { max-width: 576px; margin: 20px auto 0; font-size: 1.1rem; color: rgba(255, 255, 255, 0.9); }
.hpHeroSpacer { height: 160px; }

.hpScanForm { max-width: 576px; margin: 32px auto 0; }
.hpScanRow { display: flex; gap: 10px; align-items: center; background: #fff; padding: 10px; border-radius: 16px; box-shadow: 0 24px 70px -24px rgba(0, 0, 0, 0.6); }
.hpScanInput { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; padding: 12px; font: inherit; font-size: 1rem; color: var(--hp-ink); }
.hpScanErr { margin: 10px 0 0; padding: 10px 12px; border: 1px solid #ffb7b7; border-radius: 10px; background: #fff5f5; color: #a11111; font-size: 0.88rem; font-weight: 700; text-align: left; }
.hpScanErr.hznAddressConfirmHost { border-color: #b9d8ef; background: #f2f9fd; color: var(--hp-ink); font-weight: 400; }
.hznWaitlistDetails { display: grid; gap: 12px; margin-top: 12px; border-radius: 16px; background: #fff; padding: 16px; box-shadow: 0 24px 70px -32px rgba(0, 0, 0, 0.55); text-align: left; }
.hznWaitlistDetails[hidden], .hpWaitlistMessage[hidden], .hznWaitlistEmailRow[hidden] { display: none; }
.hznWaitlistFieldGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hznWaitlistDetails label { display: grid; gap: 6px; color: var(--hp-ink); font-size: 0.78rem; font-weight: 700; }
.hznWaitlistDetails input { width: 100%; border: 1px solid var(--hp-line); border-radius: 10px; background: #fff; padding: 11px 12px; color: var(--hp-ink); font: inherit; font-weight: 500; outline: none; }
.hznWaitlistDetails input:focus { border-color: var(--hp-brand); box-shadow: 0 0 0 3px rgba(1, 102, 157, 0.12); }
.hpWaitlistMessage { margin-top: 12px; border: 1px solid transparent; border-radius: 12px; padding: 13px 14px; font-size: 0.92rem; font-weight: 700; text-align: center; }
.hpWaitlistMessageSuccess { border-color: #9fd9c7; background: #eefaf6; padding: 20px 24px; color: #0c674f; font-size: 1.2rem; line-height: 1.45; box-shadow: 0 18px 50px -32px rgba(0, 0, 0, 0.5); }
.hpWaitlistMessageError { border-color: #ffb7b7; background: #fff5f5; color: #a11111; text-align: left; }
.hznAddressConfirm { display: grid; gap: 12px; }
.hznAddressConfirmCopy { display: grid; justify-items: center; gap: 4px; min-width: 0; text-align: center; }
.hznAddressConfirmCopy strong { color: var(--hp-ink); }
.hznAddressConfirmCopy span { color: var(--hp-muted); overflow-wrap: anywhere; }
.hznAddressConfirmChoice { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 8px; width: 100%; text-align: left; }
.hznAddressConfirmChoice b { color: var(--hp-muted); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; }
.hznAddressConfirmChoice span { color: var(--hp-ink); }
.hznAddressConfirmActions { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }

@media (max-width: 680px) {
 .hznAddressConfirmActions > * { flex: 1 1 150px; }
 .hznWaitlistFieldGrid { grid-template-columns: 1fr; }
}
.hpScanNote { margin-top: 12px; text-align: center; font-size: 0.9rem; color: rgba(255, 255, 255, 0.85); }

.hpAuditFloat { position: relative; z-index: 10; max-width: 768px; margin: -96px auto 0; padding: 0 24px; }
.hpAuditCard { overflow: hidden; border-radius: 16px; background: var(--hp-card); box-shadow: 0 30px 80px -30px rgba(4, 36, 58, 0.55); border: 1px solid rgba(0, 0, 0, 0.05); }
.hpAuditHead { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--hp-line); padding: 14px 20px; }
.hpGaugeRow { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 24px; }
.hpGaugeCell { display: flex; flex-direction: column; align-items: center; text-align: center; }
.hpGauge { --hp-gauge-size: 138px; --hp-gauge-pct: 0; --hp-gauge-color: var(--hp-brand); flex: none; width: var(--hp-gauge-size); height: var(--hp-gauge-size); min-width: var(--hp-gauge-size); aspect-ratio: 1 / 1; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--hp-gauge-color) calc(var(--hp-gauge-pct) * 1%), var(--hp-surface) 0); }
.hpGaugeInner { width: calc(var(--hp-gauge-size) - 22px); height: calc(var(--hp-gauge-size) - 22px); border-radius: 50%; background: var(--hp-card); display: grid; place-items: center; }
.hpGaugeScore { font-weight: 800; font-size: 2.2rem; }
.hpGaugeGrade { font-size: 0.8rem; font-weight: 700; }
.hpScoreStrip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--hp-line); text-align: center; }
.hpScoreStrip > div { padding: 16px 12px; border-left: 1px solid var(--hp-line); }
.hpScoreStrip > div:first-child { border-left: 0; }
.hpScoreStripV { font-weight: 800; font-size: 1.4rem; }

.hpFeatureGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px; }
.hpFeatureCard { display: flex; flex-direction: column; }
.hpFeatureImg { margin-bottom: 20px; overflow: hidden; border-radius: 12px; border: 1px solid var(--hp-line); background: #f7faff; aspect-ratio: 16 / 10; }
.hpFeatureImg img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.hpFeatureImgCurrent { aspect-ratio: 1140 / 833; background: #eef3f8; }
.hpFeatureImgCurrent img { object-fit: cover; object-position: center top; }
.hpFeatureImgReport { aspect-ratio: 1034 / 352; }
.hpFeatureImgReport img { object-fit: contain; }
.hpFeatureLegend { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.hpProofGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.hpProofCard h3 { margin: 6px 0 0; font-size: 1.35rem; }
.hpProofCard > .hpMuted { margin-top: 8px; font-size: 0.95rem; }
.hpProofCard .hpFeatureImg { aspect-ratio: 16 / 10; }
.hpProofCard .hpFeatureImgReport img { object-fit: contain; }

.hpProductHeroFloat { max-width: 1080px; margin-top: -112px; }
.hpProductWindow { overflow: hidden; margin: 0; border: 1px solid var(--hp-line); border-radius: 20px; background: var(--hp-card); box-shadow: var(--hp-shadow-pop); }
.hpProductWindow img { width: 100%; height: auto; background: #eef2f7; }
.hpProductWindowBar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; min-height: 48px; padding: 10px 16px; border-bottom: 1px solid var(--hp-line); background: #fff; color: var(--hp-muted); font-size: 0.78rem; font-weight: 700; }
.hpWindowDots { display: inline-flex; align-items: center; gap: 5px; }
.hpWindowDots i { width: 8px; height: 8px; border-radius: 50%; background: var(--hp-surface); }
.hpWindowDots i:first-child { background: #ff9e9a; }
.hpWindowDots i:nth-child(2) { background: #ffd27a; }
.hpWindowDots i:nth-child(3) { background: #91d5bd; }
.hpProductWindowHero img { aspect-ratio: 1920 / 889; object-fit: cover; object-position: top; }
.hpProductWindowWide { margin-top: 36px; }
.hpProductWindowWide img { aspect-ratio: 1920 / 889; object-fit: cover; object-position: top; }

.hpScoreStoryGrid { align-items: stretch; }
.hpScoreStory { position: relative; overflow: hidden; }
.hpScoreStory::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--hp-brand); }
.hpScoreStoryCoverage::before { background: #fbb040; }
.hpScoreStoryQuality::before { background: var(--hp-good-fg); }
.hpScoreStoryHead { display: flex; align-items: center; gap: 14px; }
.hpScoreStoryHead h3 { margin: 2px 0 0; font-size: 1.55rem; }
.hpScoreStoryList { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--hp-line); }
.hpScoreStoryList li { display: grid; grid-template-columns: minmax(180px, 0.8fr) 1.2fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--hp-line); }
.hpScoreStoryList li > span { display: flex; align-items: center; gap: 9px; color: var(--hp-brand); font-weight: 800; }
.hpScoreStoryList li > strong { color: var(--hp-muted); font-size: 0.9rem; font-weight: 600; }
.hpDecisionGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }

.hpGrowthGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px; }
.hpGrowthPath { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 30px; }
.hpGrowthPath::before { position: absolute; inset: 0 0 auto; height: 5px; content: ""; background: var(--hp-brand); }
.hpGrowthPathRetain::before { background: var(--hp-accent); }
.hpGrowthHead { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; }
.hpGrowthHead h3 { margin: 5px 0 0; font-size: 1.55rem; line-height: 1.2; }
.hpGrowthIcon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--hp-data-soft); color: var(--hp-brand); font-size: 1.25rem; }
.hpGrowthPathRetain .hpGrowthIcon { background: var(--hp-accent-soft); color: var(--hp-accent); }
.hpGrowthSteps { list-style: none; margin: 28px 0 0; padding: 0; }
.hpGrowthStep { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 14px; padding: 0 0 22px; }
.hpGrowthStep:last-child { padding-bottom: 0; }
.hpGrowthStep:not(:last-child)::before { position: absolute; top: 30px; bottom: 0; left: 14px; width: 1px; content: ""; background: var(--hp-line); }
.hpGrowthStepNum { position: relative; z-index: 1; width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; background: var(--hp-data-soft); color: var(--hp-brand); font-family: var(--hp-font-eyebrow); font-size: 0.66rem; font-weight: 700; }
.hpGrowthPathRetain .hpGrowthStepNum { background: var(--hp-accent-soft); color: var(--hp-accent); }
.hpGrowthStep strong { display: block; font-size: 1rem; }
.hpGrowthStep p { margin: 4px 0 0; color: var(--hp-muted); font-size: 0.9rem; }
.hpGrowthSupport { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 12px; margin-top: 24px; border-top: 1px solid var(--hp-line); padding-top: 20px; }
.hpGrowthSupport > i { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: var(--hp-data-soft); color: var(--hp-brand); }
.hpGrowthSupport strong { display: block; font-size: 0.92rem; }
.hpGrowthSupport p { margin: 4px 0 0; color: var(--hp-muted); font-size: 0.86rem; }
.hpGrowthOutcome { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; margin-top: 28px; border-radius: 14px; background: color-mix(in srgb, var(--hp-data-soft) 72%, #fff); padding: 15px 16px; color: var(--hp-brand); }
.hpGrowthPathRetain .hpGrowthOutcome { background: color-mix(in srgb, var(--hp-accent-soft) 72%, #fff); color: var(--hp-accent); }
.hpGrowthOutcome i { font-size: 1.15rem; }
.hpGrowthOutcome span { color: var(--hp-ink); font-size: 0.9rem; }
.hpGrowthOutcome strong { margin-right: 5px; }

.hpWorkflowFacts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 32px; text-align: center; }
.hpWorkflowFacts > div { display: grid; gap: 2px; border-radius: 12px; background: rgba(255,255,255,0.1); padding: 12px 8px; }
.hpWorkflowFacts strong { font-size: 1.35rem; }
.hpWorkflowFacts span { color: rgba(255,255,255,0.78); font-size: 0.72rem; }
.hpWorkflowTime { width: fit-content; margin-top: 14px; border-radius: 999px; background: rgba(255,255,255,0.1); padding: 6px 12px; color: rgba(255,255,255,0.8); font-size: 0.75rem; font-weight: 700; }

.hpImportOptions { display: grid; gap: 0; margin-top: 16px; }
.hpImportOptions > div { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; padding: 15px 0; border-top: 1px solid var(--hp-line); }
.hpImportOptions > div:first-child { border-top: 0; }
.hpImportOptions .hpBrandDot { grid-row: 1 / 3; }
.hpImportOptions strong { align-self: end; }
.hpImportOptions p { margin: 2px 0 0; color: var(--hp-muted); font-size: 0.88rem; }

.hpReportGrid { grid-template-columns: 1.1fr 0.9fr; }
.hpReportWindow img { aspect-ratio: 1034 / 352; object-fit: cover; object-position: center top; }
.hpReportPoints { margin-top: 28px; }
.hpReportPoints > div { border-top: 1px solid var(--hp-line); padding: 18px 0; }
.hpReportPoints h3 { margin: 0; font-size: 1.1rem; }
.hpReportPoints p { margin: 6px 0 0; color: var(--hp-muted); font-size: 0.9rem; }

.hpCtaBenefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; max-width: 960px; margin: 34px auto 0; }
.hpCtaBenefits > div { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 70px; border: 1px solid rgba(255,255,255,0.18); border-radius: 14px; background: rgba(255,255,255,0.08); padding: 12px; color: rgba(255,255,255,0.9); font-size: 0.85rem; font-weight: 700; text-align: left; }
.hpCtaBenefits i { color: var(--hp-sky); font-size: 1.1rem; }

.hpGrid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px; }
.hpGrid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }

.hpSurfaceNode { border-radius: 16px; border: 1px solid var(--hp-line); background: var(--hp-card); box-shadow: var(--hp-shadow-card); padding: 16px; }
.hpSurfaceHead { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.hpSurfaceMetric { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.01em; margin: 4px 0 0; }
.hpSurfaceList { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.hpSurfaceChip { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-radius: 12px; border: 1px solid var(--hp-line); background: rgba(255, 255, 255, 0.9); padding: 10px 12px; }
.hpSurfaceChipName { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 0.9rem; }
.hpSurfaceIcon { width: 32px; height: 32px; border-radius: 8px; background: color-mix(in srgb, var(--hp-surface) 75%, transparent); display: grid; place-items: center; }
.hpStatusPill { border-radius: 999px; padding: 4px 10px; font-size: 0.68rem; font-weight: 700; }
.hpSurfaceWhy { margin-top: 16px; font-size: 0.9rem; color: var(--hp-muted); }

.hpScanCenter { position: relative; max-width: 304px; margin: 0 auto; overflow: hidden; border-radius: 22px; border: 1px solid var(--hp-line); background: #fff; padding: 16px; box-shadow: 0 24px 70px -32px rgba(1, 102, 157, 0.5); }
.hpScanMeter { margin-top: 16px; height: 8px; border-radius: 999px; background: var(--hp-surface); overflow: hidden; }
.hpScanMeterFill { height: 100%; width: 66%; border-radius: 999px; background: linear-gradient(90deg, var(--hp-brand), var(--hp-data-2), var(--hp-accent)); }

.hpDimGrid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 12px; border: 1px solid var(--hp-line); border-radius: 24px; overflow: hidden; background: var(--hp-card); }
.hpDim { padding: 32px; border-left: 1px solid var(--hp-line); }
.hpDim:first-child { border-left: 0; }
.hpDimHead { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.hpDimQ { margin-top: 20px; font-size: 1.25rem; line-height: 1.3; }
.hpCheckRow { display: flex; align-items: flex-start; gap: 12px; border-radius: 12px; background: color-mix(in srgb, var(--hp-surface) 45%, transparent); border: 1px solid var(--hp-line); padding: 10px 12px; margin-top: 12px; font-size: 0.9rem; color: var(--hp-muted); }
.hpCheckDot { margin-top: 6px; width: 6px; height: 6px; border-radius: 999px; background: var(--hp-brand); flex: none; }

.hpSteps { list-style: none; margin: 0; padding: 0; }
.hpStep { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 24px 32px; border-top: 1px solid var(--hp-line); }
.hpStep:first-child { border-top: 0; }
.hpStepNum { width: 48px; height: 48px; border-radius: 999px; background: var(--hp-data-soft); color: var(--hp-brand); font-family: var(--hp-font-eyebrow); font-weight: 700; display: grid; place-items: center; }

.hpChip { display: inline-flex; align-items: center; gap: 8px; border-radius: 12px; background: var(--hp-card); border: 1px solid var(--hp-line); padding: 10px 16px; font-size: 0.9rem; font-weight: 600; }
.hpChipWrap { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.hpChipHero { background: var(--hp-brand); color: var(--hp-brand-fg); border-color: var(--hp-brand); font-weight: 700; box-shadow: var(--hp-shadow-card); }
.hpChipHero img { border-radius: 4px; }

.hpPriceGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.hpPriceCard { display: flex; flex-direction: column; }
.hpPriceFeatured { border: 2px solid var(--hp-brand); box-shadow: var(--hp-shadow-pop); }
.hpPriceCapacity { display: inline-flex; align-items: center; width: fit-content; margin: 14px 0 0; padding: 7px 10px; border-radius: 999px; background: var(--hp-data-soft); color: var(--hp-brand); font-size: 0.78rem; font-weight: 700; line-height: 1.2; }
.hpPriceAmt { display: flex; align-items: baseline; gap: 4px; border-top: 1px solid var(--hp-line); padding-top: 20px; margin-top: 20px; }
.hpPriceNum { font-weight: 800; font-size: 2.4rem; }
.hpPriceUpgrade { display: grid; gap: 5px; margin-top: auto; border-radius: 14px; background: var(--hp-data-soft); padding: 14px 16px; color: var(--hp-brand); font-size: 0.86rem; line-height: 1.45; }
.hpPriceUpgrade > span { color: var(--hp-ink); }
.hpPriceScaleUpgrade { gap: 10px; }
.hpPriceStepRows { display: grid; }
.hpPriceStep { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid color-mix(in srgb, var(--hp-brand) 16%, transparent); padding: 8px 0; }
.hpPriceStep:first-child { border-top: 0; padding-top: 0; }
.hpPriceStep:last-child { padding-bottom: 0; }
.hpPriceStep strong { color: var(--hp-ink); }
.hpPriceStep span { color: var(--hp-muted); text-align: right; }
.hpPriceScaleUpgrade small { color: var(--hp-muted); font-size: 0.76rem; line-height: 1.4; }
.hpPriceFootnote { margin-top: 20px; font-size: 0.82rem; }
.hpCheckList { list-style: none; margin: 24px 0 22px; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 0.9rem; }
.hpCheckList li { display: flex; align-items: flex-start; gap: 10px; }
.hpCheckMark { margin-top: 2px; color: var(--hp-brand); font-weight: 800; flex: none; }

.hpBlankGauge { width: 100%; max-width: 140px; margin: 0 auto; }

.hpFaqWrap { max-width: 768px; margin: 48px auto 0; border: 1px solid var(--hp-line); border-radius: 24px; background: var(--hp-card); box-shadow: var(--hp-shadow-pop); padding: 0 32px; overflow: hidden; }
.hpFaqGroup + .hpFaqGroup { border-top: 8px solid color-mix(in srgb, var(--hp-brand) 6%, var(--hp-surface)); }
.hpFaqGroupHead { margin: 0; padding: 20px 0 8px; color: var(--hp-brand); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.hpFaq { border-bottom: 1px solid var(--hp-line); }
.hpFaqGroup:last-child .hpFaq:last-child { border-bottom: 0; }
.hpFaq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; padding: 20px 0; }
.hpFaq summary::-webkit-details-marker { display: none; }
.hpFaqQ { font-weight: 800; letter-spacing: -0.01em; font-size: 1.15rem; transition: color 150ms ease; }
.hpFaq summary:hover .hpFaqQ, .hpFaq[open] .hpFaqQ { color: var(--hp-brand); }
.hpFaqSign { width: 28px; height: 28px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--hp-brand) 24%, var(--hp-line)); background: color-mix(in srgb, var(--hp-brand) 4%, var(--hp-card)); color: var(--hp-brand); display: grid; place-items: center; font-weight: 700; flex: none; }
.hpFaq[open] .hpFaqSign { background: var(--hp-brand); color: #fff; border-color: var(--hp-brand); }
.hpFaqA { padding: 0 40px 24px 0; color: var(--hp-muted); font-size: 1rem; line-height: 1.7; }
.hpFaq ul.hpFaqA { margin: 0; padding: 0 40px 24px 22px; list-style: disc; }
.hpFaq ul.hpFaqA li { margin: 0 0 10px; padding-left: 4px; }
.hpFaq ul.hpFaqA li:last-child { margin-bottom: 0; }
.hpFaq ul.hpFaqA li::marker { color: var(--hp-brand); }
.hpFaqMore { margin-top: 24px; }

.hpFooter { border-top: 1px solid var(--hp-line); background: color-mix(in srgb, var(--hp-surface) 30%, transparent); }
.hpFooterTop { display: flex; flex-direction: column; gap: 32px; padding: 56px 0; }
.hpFooterNav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 48px; font-size: 0.9rem; }
.hpFooterNav a { color: var(--hp-muted); }
.hpFooterNav a:hover { color: var(--hp-ink); }
.hpFooterBottom { display: flex; flex-direction: column; align-items: center; gap: 12px; border-top: 1px solid var(--hp-line); padding: 24px 0; font-size: 0.9rem; color: var(--hp-muted); }

@media (min-width: 900px) {
 .hpFooterTop { flex-direction: row; align-items: flex-start; justify-content: space-between; }
 .hpFooterBottom { flex-direction: row; justify-content: space-between; }
}

@media (max-width: 1180px) {
 .hpPriceGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
 .hpHeroTitle { font-size: 2.65rem; }
 .hpSectionHead h2 { font-size: 2rem; }
 .hpFeatureGrid, .hpProofGrid, .hpGrid2, .hpGrid3, .hpDimGrid, .hpPriceGrid, .hpDecisionGrid, .hpGrowthGrid, .hpReportGrid { grid-template-columns: 1fr; }
 .hpScanRow { flex-direction: column; align-items: stretch; }
 .hpNavLink { display: none; }
 .hpProductHeroFloat { margin-top: -88px; }
 .hpScoreStoryList li { grid-template-columns: 1fr; gap: 6px; }
 .hpCtaBenefits { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
 input, textarea, select { font-size: 16px; }
 .hpGaugeRow { grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px; }
 .hpHeroTitle { font-size: 2.3rem; }
 .hpFaqWrap { margin-top: 32px; border-radius: 18px; padding: 0 18px; }
 .hpFaq summary { padding: 18px 0; }
 .hpFaqQ { font-size: 1.03rem; }
 .hpFaqA { padding-right: 0; }
 .hpFaq ul.hpFaqA { padding-right: 0; }
 .hpProductWindowBar { grid-template-columns: auto 1fr; }
 .hpProductWindowBar .hpStatusPill { display: none; }
 .hpWorkflowFacts { grid-template-columns: 1fr; }
 .hpCtaBenefits { grid-template-columns: 1fr; }
 .hpGrowthPath { padding: 24px 20px; }
}

.hpSetupWrap { max-width: 560px; margin: 0 auto; padding: 48px 20px; }
.hpSetupCenter { min-height: 70vh; display: grid; place-items: center; }
.hpSetupIntro { margin-bottom: 20px; }
.hpSetupH1 { font-size: 2rem; margin: 8px 0 6px; }
.hpSetupForm { display: flex; flex-direction: column; padding: 24px; }
.hpSetupErr { margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; background: var(--hp-bad-bg); color: var(--hp-bad-fg); font-size: 0.9rem; }
.hpSetupRow2 { display: flex; gap: 12px; }
.hpSetupRow2 > div { flex: 1; }
.hpSetupRow3 { display: flex; gap: 12px; }
.hpSetupRow3 > div { min-width: 0; }
.hpSetupCity { flex: 1 1 auto; }
.hpSetupState { flex: 0 0 76px; }
.hpSetupZip { flex: 0 0 112px; }
.hpSetupLabel { display: block; font-size: 0.8rem; font-weight: 600; color: var(--hp-muted); margin: 12px 0 4px; }
.hpSetupInput { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid var(--hp-line); border-radius: 10px; background: var(--hp-surface); color: var(--hp-ink); font: inherit; }
.hpSetupInput:focus { outline: none; border-color: var(--hp-brand); background: var(--hp-card); }
.hpSetupReadonly { color: var(--hp-muted); background: var(--hp-bg); cursor: not-allowed; }
.hpSetupManagement { margin: 18px 0 2px; padding: 0; border: 0; }
.hpSetupManagement legend { padding: 0; color: var(--hp-ink); font-size: 0.9rem; font-weight: 800; }
.hpSetupManagement > p { margin: 4px 0 10px; color: var(--hp-muted); font-size: 0.82rem; line-height: 1.4; }
.hpSetupManagementOptions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hpSetupManagementOption { display: flex; align-items: flex-start; gap: 8px; min-width: 0; padding: 10px 11px; border: 1px solid var(--hp-line); border-radius: 10px; background: var(--hp-surface); color: var(--hp-ink); font-size: 0.82rem; line-height: 1.3; cursor: pointer; }
.hpSetupManagementOption input { flex: none; margin-top: 1px; accent-color: var(--hp-brand); }
.hpSetupCheck { display: flex; align-items: flex-start; gap: 8px; margin: 18px 0 0; font-size: 0.9rem; color: var(--hp-muted); }
.hpSetupCheck a { color: var(--hp-brand); }
.hpSetupContact { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; font-size: 0.9rem; color: var(--hp-muted); }
.hpSetupContact label { display: flex; align-items: flex-start; gap: 8px; }
.hpSetupBtn { margin-top: 20px; width: 100%; justify-content: center; padding: 13px 18px; }
.hpSetupCard { padding: 32px; text-align: center; }
.hpSetupIcon { width: 56px; height: 56px; margin: 0 auto 8px; border-radius: 50%; background: var(--hp-good-bg); color: var(--hp-good-fg); display: grid; place-items: center; font-size: 1.8rem; font-weight: 800; }
.hpConfirmSurface { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: var(--hp-bg); }
.hpConfirmCard { max-width: 460px; }

@media (max-width: 560px) {
 .hpSetupRow2,
 .hpSetupRow3 { flex-direction: column; gap: 0; }
 .hpSetupState,
 .hpSetupZip { flex-basis: auto; }
 .hpSetupManagementOptions { grid-template-columns: 1fr; }
}
