@font-face { font-family: "Instrument Sans"; src: url("/assets/fonts/instrument-sans-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("/assets/fonts/instrument-sans-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("/assets/fonts/instrument-sans-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/assets/fonts/ibm-plex-mono-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/assets/fonts/ibm-plex-mono-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }

:root {
  --ink: #07111f;
  --ink-2: #102039;
  --paper: #f7f9fc;
  --white: #fff;
  --tint: #eef4ff;
  --blue: #315cff;
  --blue-dark: #1839bd;
  --cyan: #55d6ff;
  --amber: #ff9b42;
  --mint: #25b88a;
  --muted: #5e6b7d;
  --line: color-mix(in srgb, var(--ink) 13%, transparent);
  --line-strong: color-mix(in srgb, var(--ink) 22%, transparent);
  --shadow: 0 30px 90px rgba(27, 50, 88, .14);
  --shadow-soft: 0 16px 50px rgba(27, 50, 88, .09);
  --radius: 1.35rem;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: "Instrument Sans", Inter, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { display: block; max-width: 100%; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid color-mix(in srgb, var(--cyan) 72%, white); outline-offset: 3px; }

.skip-link { position: fixed; z-index: 999; left: 1rem; top: -5rem; padding: .8rem 1rem; border-radius: .5rem; background: var(--ink); color: white; }
.skip-link:focus { top: 1rem; }
.mono { font-family: var(--mono); }

.site-header { position: sticky; z-index: 50; top: 0; width: 100%; height: 4.75rem; padding: 0 max(1.5rem, calc((100vw - 1460px) / 2)); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid color-mix(in srgb, var(--ink) 8%, transparent); background: color-mix(in srgb, var(--paper) 86%, white); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: .75rem; width: max-content; color: inherit; text-decoration: none; font-size: 1.12rem; font-weight: 700; letter-spacing: -.035em; }
.brand-mark { position: relative; display: grid; place-items: center; width: 2rem; height: 2rem; background: linear-gradient(145deg, var(--blue) 5%, var(--cyan) 95%); clip-path: polygon(25% 7%, 75% 7%, 100% 50%, 75% 93%, 25% 93%, 0 50%); }
.brand-mark i:first-child { width: 1.13rem; height: 1.13rem; background: var(--ink); clip-path: inherit; }
.brand-mark i:last-child { position: absolute; width: .45rem; height: .45rem; border: 2px solid var(--cyan); transform: rotate(45deg); }
.site-header nav { display: flex; align-items: center; gap: 2rem; }
.site-header nav a, .nav-popover-trigger { padding: .4rem 0; border: 0; background: transparent; color: #314056; text-decoration: none; font-size: .88rem; cursor: pointer; }
.nav-popover-trigger span { margin-left: .25rem; color: var(--blue); }
.site-header nav a:hover, .nav-popover-trigger:hover { color: var(--blue); }
.site-header > .button { justify-self: end; }

.mobile-nav { display: none; position: relative; justify-self: end; margin-right: .8rem; }
.mobile-nav summary { list-style: none; cursor: pointer; color: #314056; font-size: .88rem; font-weight: 600; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav[open] summary { color: var(--blue); }
.mobile-nav div { position: absolute; right: 0; top: calc(100% + .8rem); z-index: 60; display: grid; min-width: min(320px, calc(100vw - 2rem)); max-height: min(80vh, 34rem); overflow: auto; padding: .6rem; border: 1px solid var(--line); border-radius: .8rem; background: white; box-shadow: var(--shadow); }
.mobile-nav small { padding: .55rem .75rem .15rem; color: var(--muted); font: 500 .7rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.mobile-nav .button { width: calc(100% - .5rem); margin: .25rem .25rem .55rem; }
.mobile-nav a { padding: .55rem .75rem; border-radius: .45rem; color: var(--ink); text-decoration: none; font-size: .88rem; }
.mobile-nav a:hover { background: var(--tint); }
.products-popover { display: none; position: fixed; inset: 4.85rem auto auto 50%; width: min(920px, calc(100vw - 2rem)); margin: 0; padding: 1.2rem; transform: translateX(-50%); border: 1px solid var(--line); border-radius: 1rem; background: white; box-shadow: var(--shadow); color: var(--ink); }
.products-popover:popover-open, .products-popover.is-open { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
.products-popover::backdrop { background: transparent; }
.products-popover > div { display: grid; gap: .35rem; align-content: start; }
.products-popover small { padding: .45rem .65rem; color: var(--muted); font: 500 .7rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.products-popover a { display: grid; gap: .2rem; padding: .7rem; border-radius: .6rem; text-decoration: none; }
.products-popover a:hover { background: var(--tint); }
.products-popover b { font-size: .86rem; }
.products-popover span { color: var(--muted); font-size: .72rem; }
.products-popover-help { grid-column: 1 / -1; margin: .4rem 0 0; padding: .85rem .7rem 0; border-top: 1px solid var(--line); }
.products-popover-help a { display: inline-flex; align-items: center; gap: .4rem; padding: 0; color: var(--blue); font-weight: 600; text-decoration: none; }
.products-popover-help a:hover { background: transparent; text-decoration: underline; }
a[aria-current="page"] { color: var(--blue); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 1.2rem; min-height: 3.45rem; padding: .82rem 1.25rem; border: 1px solid var(--blue); border-radius: .45rem; background: var(--blue); color: white; text-decoration: none; font-weight: 600; cursor: pointer; box-shadow: 0 14px 32px color-mix(in srgb, var(--blue) 27%, transparent); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { background: #264ee6; box-shadow: 0 18px 40px color-mix(in srgb, var(--blue) 38%, transparent); transform: translateY(-2px); }
.button:active { transform: none; }
.button-small { min-height: 2.65rem; padding: .58rem 1rem; font-size: .83rem; box-shadow: none; }
.button-light { border-color: white; background: white; color: var(--ink); box-shadow: 0 16px 44px rgba(0,0,0,.2); }
.button-light:hover { border-color: var(--cyan); background: var(--cyan); }
.site-header nav a[aria-current="page"], .footer-links a[aria-current="page"], .mobile-nav a[aria-current="page"] { color: var(--blue); font-weight: 600; }
.text-link { display: inline-flex; align-items: center; gap: .7rem; border: 0; background: transparent; color: inherit; cursor: pointer; text-underline-offset: .35rem; font-weight: 600; }

.section { padding: clamp(4.5rem, 8vw, 7.5rem) max(1.5rem, calc((100vw - 1340px) / 2)); content-visibility: auto; contain-intrinsic-size: auto 900px; }
.section-tint { background: linear-gradient(145deg, #f2f6fd, #eaf2ff 90%); }
.section-ink { background: var(--ink); color: white; }
.eyebrow { display: flex; align-items: center; gap: .72rem; margin: 0 0 1.4rem; font: 500 .78rem/1.45 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.hero .eyebrow { font-size: .85rem; color: var(--ink-2); }
.eyebrow > span { width: 1.5rem; height: 1px; background: var(--blue); box-shadow: 0 0 10px color-mix(in srgb, var(--blue) 50%, transparent); }
.section-ink .eyebrow > span { background: var(--cyan); }
.section-heading { margin-bottom: 4.5rem; }
.split-heading { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: clamp(3rem, 8vw, 8rem); }
.section-heading h2 { max-width: 900px; margin: 0; font-size: clamp(2.1rem, 3.2vw, 3rem); line-height: 1.08; letter-spacing: -.04em; font-weight: 600; }
.section-heading > p, .split-heading > p { max-width: 43rem; margin: 0 0 .3rem; color: var(--muted); font-size: 1.04rem; line-height: 1.65; }
.section-ink .section-heading > p, .section-ink .split-heading > p { color: #95a6bd; }

.hero { position: relative; padding: 4.5rem max(1.5rem, calc((100vw - 1460px) / 2)) 6rem; background: radial-gradient(circle at 82% 9%, rgba(85,214,255,.23), transparent 28%), radial-gradient(circle at 13% 45%, rgba(49,92,255,.08), transparent 30%), var(--paper); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none; background-image: linear-gradient(rgba(49,92,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(49,92,255,.045) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, black, transparent 88%); }
.hero-grid { display: grid; grid-template-columns: minmax(360px, .73fr) minmax(660px, 1.27fr); align-items: center; gap: clamp(3rem, 5vw, 6.5rem); }
.hero-copy { position: relative; z-index: 3; }
.hero h1 { margin: 0; font-size: clamp(2.5rem, 3.8vw, 3.6rem); line-height: 1.02; letter-spacing: -.045em; font-weight: 600; }
.hero h1 em { color: var(--blue); font-style: normal; }
.hero-lead { max-width: 40rem; margin: 2rem 0 0; color: #536176; font-size: clamp(1.05rem, 1.4vw, 1.3rem); line-height: 1.58; }
.hero-actions { display: flex; align-items: center; gap: 2rem; margin-top: 2.2rem; }
.hero-actions .text-link { font-size: .9rem; }
.resolution-title { margin: 3.2rem 0 0; color: var(--muted); font: 500 .68rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.resolution-progress { display: grid; grid-template-columns: repeat(4, 1fr); margin: 4rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.resolution-title + .resolution-progress { margin-top: 1rem; }
.resolution-progress li { min-width: 0; }
.resolution-progress button { width: 100%; padding: .8rem .25rem .2rem 0; border: 0; background: transparent; color: var(--muted); text-align: left; font-size: .7rem; cursor: pointer; }
.resolution-progress button::before { content: ""; display: block; width: 0; height: 2px; margin: -.87rem 0 .65rem; background: var(--blue); transition: width .3s ease; }
.resolution-progress button span { display: block; margin-bottom: .3rem; font: .7rem var(--mono); }
.resolution-progress li.active button { color: var(--ink); font-weight: 600; }
.resolution-progress li.active button::before { width: 100%; }

.property-console { position: relative; z-index: 2; container-type: inline-size; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius); background: white; box-shadow: 0 38px 110px rgba(40, 73, 127, .19); }
.console-topline, .console-caption { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.65rem; padding: .7rem .9rem; }
.console-topline { border-bottom: 1px solid var(--line); }
.property-switch { display: flex; gap: .35rem; }
.property-switch button { padding: .5rem .72rem; border: 1px solid transparent; border-radius: .4rem; background: transparent; color: var(--muted); font: 500 .7rem var(--mono); cursor: pointer; }
.property-switch button[aria-selected="true"] { border-color: #cddaff; background: var(--tint); color: var(--blue); }
.property-visual { --tx: 53%; --ty: 49%; position: relative; aspect-ratio: 1.48; overflow: hidden; background: #dce6ef; }
.property-photo, .property-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.property-photo-parcel, .property-photo-annotated { z-index: 1; }
.property-residential { opacity: 0; visibility: hidden; transition: opacity .4s ease, visibility .4s; }
[data-property-type="residential"] .property-commercial { opacity: 0; visibility: hidden; }
[data-property-type="residential"] .property-residential { opacity: 1; visibility: visible; }
.property-console .property-photo-parcel, .property-console .property-photo-annotated { opacity: 0; visibility: hidden; }
[data-property-type="commercial"][data-stage="1"] .property-commercial.property-photo-parcel,
[data-property-type="residential"][data-stage="1"] .property-residential.property-photo-parcel,
[data-property-type="commercial"][data-stage="2"] .property-commercial.property-photo-annotated,
[data-property-type="commercial"][data-stage="3"] .property-commercial.property-photo-annotated,
[data-property-type="residential"][data-stage="2"] .property-residential.property-photo-annotated,
[data-property-type="residential"][data-stage="3"] .property-residential.property-photo-annotated { opacity: 1; visibility: visible; }
.building-dots { position: absolute; inset: 0; z-index: 6; width: 100%; height: 100%; pointer-events: none; transition: opacity .35s ease, visibility .35s; }
.property-console .building-dots { opacity: 0; visibility: hidden; }
[data-property-type="commercial"][data-stage="2"] .building-dots.property-commercial,
[data-property-type="commercial"][data-stage="3"] .building-dots.property-commercial,
[data-property-type="residential"][data-stage="2"] .building-dots.property-residential,
[data-property-type="residential"][data-stage="3"] .building-dots.property-residential { opacity: 1; visibility: visible; }
.building-dots circle { fill: var(--cyan); stroke: white; stroke-width: .28; cursor: pointer; pointer-events: auto; transition: fill .25s ease; }
.building-dots circle:hover { fill: white; }
.building-dots circle.active { fill: var(--amber); animation: dot-pulse 1.8s ease-in-out infinite; }
@keyframes dot-pulse { 0%, 100% { stroke-width: .28; } 50% { stroke-width: .75; } }
.photo-wash { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(90deg, rgba(7,17,31,.05), transparent 58%, rgba(7,17,31,.16)); }
.address-target { pointer-events: none; position: absolute; z-index: 8; left: var(--tx); top: var(--ty); display: flex; align-items: center; gap: .65rem; padding: .55rem .8rem; border: 1px solid white; border-radius: .6rem; background: rgba(7,17,31,.85); color: white; box-shadow: 0 10px 30px rgba(0,0,0,.25); font: .62rem var(--mono); transition: opacity .35s ease, transform .35s ease; }
.address-target i { flex: none; width: .65rem; height: .65rem; border: 2px solid var(--cyan); border-radius: 50%; box-shadow: 0 0 0 5px rgba(85,214,255,.22); }
[data-stage="0"] .address-target i { animation: geo-lock 1.7s ease-in-out infinite; }
@keyframes geo-lock { 0%, 100% { box-shadow: 0 0 0 4px rgba(85,214,255,.3); } 50% { box-shadow: 0 0 0 10px rgba(85,214,255,.08); } }
.address-target small { display: block; margin-bottom: .2rem; color: #9fb3cf; font-size: .56rem; }
.address-target b { display: block; font-weight: 500; white-space: nowrap; }
.geo-candidates { pointer-events: none; position: absolute; inset: 0; z-index: 6; opacity: 0; transition: opacity .3s ease; }
[data-stage="0"] .geo-candidates { opacity: 1; }
.geo-candidates i { position: absolute; width: .55rem; height: .55rem; margin: -.28rem 0 0 -.28rem; border: 1.5px solid var(--amber); border-radius: 50%; background: rgba(7,17,31,.45); opacity: 0; }
[data-stage="0"] .geo-candidates i { animation: geo-converge 3.6s ease-in-out infinite; }
.geo-candidates i:nth-child(2) { animation-delay: .45s; }
@keyframes geo-converge { 0% { left: var(--fx); top: var(--fy); opacity: 0; } 18% { opacity: .95; } 62% { opacity: .85; } 88%, 100% { left: var(--tx); top: var(--ty); opacity: 0; } }
.geo-dot-a { --fx: 16%; --fy: 14%; }
.geo-dot-b { --fx: 82%; --fy: 78%; }
.parcel-card { pointer-events: none; position: absolute; z-index: 7; left: 1rem; bottom: 1rem; width: min(52%, 300px); padding: .95rem 1.05rem; border: 1px solid rgba(255,255,255,.7); border-radius: .6rem; background: rgba(7,17,31,.86); color: white; opacity: 0; transform: translateY(10px); transition: opacity .35s ease, transform .35s ease; }
.parcel-card small { display: block; margin-bottom: .5rem; color: var(--cyan); font: 500 .56rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.parcel-card dl { display: grid; gap: .42rem; margin: 0; }
.parcel-card dl > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .68rem; }
.parcel-card dt { color: #9fb3cf; }
.parcel-card dd { margin: 0; text-align: right; font: 500 .62rem/1.5 var(--mono); }
[data-stage="1"] .parcel-card { opacity: 1; transform: none; }
.parcel-area-tag { position: absolute; z-index: 6; left: 58%; top: 16%; padding: .42rem .6rem; border: 1px solid rgba(255,255,255,.75); border-radius: .35rem; background: rgba(7,17,31,.78); color: white; font: .6rem var(--mono); opacity: 0; transition: opacity .35s ease; }
[data-stage="1"] .parcel-area-tag { opacity: 1; }
.building-card { pointer-events: none; position: absolute; z-index: 7; left: 1rem; top: 1rem; width: min(52%, 300px); padding: .95rem 1.05rem; border: 1px solid rgba(255,255,255,.7); border-radius: .6rem; background: rgba(7,17,31,.86); color: white; opacity: 0; transform: translateY(10px); transition: opacity .35s ease, transform .35s ease, left .3s ease, top .3s ease; }
.building-card small { display: block; margin-bottom: .5rem; color: var(--cyan); font: 500 .56rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.building-card dl { display: grid; gap: .42rem; margin: 0; }
.building-card dl > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .68rem; }
.building-card dt { color: #9fb3cf; }
.building-card dd { margin: 0; text-align: right; font: 500 .62rem/1.5 var(--mono); }
[data-stage="2"] .building-card, .property-console.building-open[data-stage="3"] .building-card { opacity: 1; transform: none; }
.source-signals { pointer-events: none; position: absolute; z-index: 6; left: 1rem; top: 1rem; opacity: 0; transition: opacity .4s ease; }
.source-signals span { display: block; padding: .6rem .75rem; border: 1px solid rgba(255,255,255,.8); border-radius: .35rem; background: rgba(7,17,31,.82); color: white; font: .68rem var(--mono); }
.source-signals b { display: block; font-weight: 500; }
.source-signals em { display: block; margin-top: .3rem; color: #9fb3cf; font-style: normal; font-size: .58rem; }
.profile-card { position: absolute; z-index: 9; right: 1rem; bottom: 1rem; width: min(310px, 37%); opacity: 0; transform: translateX(22px); border: 1px solid rgba(255,255,255,.8); background: rgba(255,255,255,.94); box-shadow: 0 20px 60px rgba(7,17,31,.2); backdrop-filter: blur(14px); transition: opacity .4s ease, transform .4s ease; }
.profile-card > div { padding: .8rem; border-bottom: 1px solid var(--line); }
.profile-card small, .profile-card b, .profile-card span { display: block; }
.profile-card small { margin-bottom: .25rem; color: var(--blue); font: .7rem var(--mono); text-transform: uppercase; }
.profile-card b { font-size: .86rem; }
.profile-card span { margin-top: .2rem; color: var(--muted); font-size: .7rem; }
.profile-card dl { margin: 0; padding: .35rem .8rem; }
.profile-card dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .38rem 0; border-bottom: 1px solid var(--line); font-size: .7rem; }
.profile-card dl > div:last-child { border: 0; }
.profile-card dt { color: var(--muted); }
.profile-card dd { margin: 0; font-weight: 600; text-align: right; }
.console-caption { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); color: var(--muted); font: .7rem var(--mono); }
.console-caption small { letter-spacing: .08em; text-transform: uppercase; }
.console-caption b { color: #304157; font-weight: 500; }
[data-stage="1"] .address-target, [data-stage="2"] .address-target, [data-stage="3"] .address-target { opacity: 0; transform: translateY(-10px); }
[data-stage="3"] .source-signals { opacity: 1; }
[data-stage="3"] .profile-card { opacity: 1; transform: none; }
.proof-strip { min-height: 5.4rem; padding: 1.2rem max(1.5rem, calc((100vw - 1340px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-block: 1px solid var(--line); background: white; color: var(--muted); font: .7rem var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.proof-strip i { width: 4px; height: 4px; border-radius: 50%; background: var(--blue); }
.proof-metrics { align-items: stretch; text-transform: none; letter-spacing: 0; }
.proof-metrics a, .proof-metrics > span { flex: 1; display: grid; gap: .35rem; padding: 1.1rem 0; color: inherit; text-decoration: none; }
.proof-metrics strong { color: var(--blue); font: 700 clamp(1.8rem, 2.4vw, 2.5rem)/1.1 "Instrument Sans", sans-serif; letter-spacing: -.045em; text-transform: none; }
.proof-metrics span { max-width: 34ch; color: var(--muted); font: .85rem/1.5 "Instrument Sans", sans-serif; letter-spacing: 0; text-transform: none; }
.proof-heritage { flex: 1.45; max-width: none; }
.proof-heritage strong { color: var(--ink); font-size: clamp(1.9rem, 3vw, 2.8rem); }
.proof-metrics a:hover strong { color: var(--blue-dark); }
.source-band { display: grid; grid-template-columns: .85fr 1.15fr; gap: 2rem; align-items: center; padding: 2rem max(1.5rem, calc((100vw - 1340px) / 2)) 2.4rem; border-bottom: 1px solid var(--line); background: var(--ink); color: white; }
.source-band h2 { margin: .45rem 0 .7rem; font-size: clamp(1.7rem, 3vw, 2.5rem); letter-spacing: -.04em; }
.source-band p { margin: 0; color: #8797ae; font-size: .85rem; }
.source-band .source-lead { margin: .2rem 0 .7rem; color: #c8d3e0; font-size: .95rem; line-height: 1.55; }
.source-band .source-note { font-size: .72rem; }
.source-band ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; }
.source-band li { display: flex; align-items: center; gap: .5rem; padding: .62rem .85rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #d3dce8; font: .78rem var(--mono); }
.source-band li svg { flex: none; width: 1rem; height: 1rem; color: var(--cyan); }
.stack-flow { display: grid; grid-template-columns: 1fr auto 1.3fr auto 1.15fr; gap: 1.1rem; align-items: stretch; }
.stack-col { display: grid; align-content: start; gap: 1.1rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: .9rem; background: white; box-shadow: var(--shadow-soft); }
.stack-col > small { color: var(--blue); font: 500 .68rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.stack-engine { background: linear-gradient(160deg, #f4f8ff, #e9f1ff); border-color: #cdd9f0; }
.stack-arrow { display: grid; place-items: center; }
.stack-arrow span { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border: 1px solid #cdd9f0; border-radius: 50%; background: white; color: var(--blue); font-size: .95rem; }
.stack-inputs { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.stack-inputs li { padding: .9rem 1rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--paper); font-size: .92rem; font-weight: 600; }
.stack-inputs li a { display: block; margin-top: .35rem; color: var(--blue); text-decoration: none; font-size: .78rem; font-weight: 500; }
.stack-inputs li a:hover { text-decoration: underline; }
.stack-pipeline { margin: 0; padding: 0; list-style: none; }
.stack-pipeline li { position: relative; padding: 0 0 1.15rem 1.55rem; }
.stack-pipeline li::before { content: ""; position: absolute; left: 0; top: .28rem; width: .55rem; height: .55rem; border: 2px solid var(--blue); border-radius: 50%; background: white; }
.stack-pipeline li::after { content: ""; position: absolute; left: .3rem; top: 1.15rem; bottom: .1rem; width: 2px; background: #c3d2ee; }
.stack-pipeline li:last-child { padding-bottom: 0; }
.stack-pipeline li:last-child::after { display: none; }
.stack-pipeline b { display: block; font-size: .92rem; letter-spacing: -.015em; }
.stack-pipeline b a { color: inherit; text-decoration: none; }
.stack-pipeline b a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: .25rem; }
.stack-pipeline li > span { display: block; margin-top: .25rem; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.stack-pipeline b a span { color: var(--blue); }
.stack-addons { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; padding-top: 1.1rem; border-top: 1px dashed #b9caea; }
.stack-addons small { flex-basis: 100%; color: var(--muted); font: 500 .62rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.stack-addons a { padding: .48rem .75rem; border: 1px solid #cdd9f0; border-radius: 999px; background: white; color: var(--blue-dark); text-decoration: none; font-size: .78rem; font-weight: 600; }
.stack-addons a:hover { border-color: var(--blue); }
.stack-outputs { display: grid; gap: .7rem; }
.stack-outputs a { display: grid; gap: .3rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--paper); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.stack-outputs a:hover { border-color: var(--blue); background: white; transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.stack-outputs b { font-size: .92rem; color: var(--ink); }
.stack-outputs b::after { content: " →"; color: var(--blue); }
.stack-outputs span { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.stack-event { margin: 0; padding-top: 1.1rem; border-top: 1px dashed var(--line); color: var(--muted); font-size: .78rem; line-height: 1.55; }
.stack-event a { color: var(--blue-dark); font-weight: 600; text-decoration: none; }
.stack-event a:hover { text-decoration: underline; }
@media (max-width: 980px) {
  .stack-flow { grid-template-columns: 1fr; gap: .8rem; }
  .stack-arrow { padding: .1rem 0; }
  .stack-arrow span { transform: rotate(90deg); }
}


.page-hero { padding: 4rem max(1.5rem, calc((100vw - 1340px) / 2)) 1.5rem; }
.page-hero h1 { max-width: 22ch; margin: 0; font-size: clamp(2.3rem, 3.9vw, 3.7rem); line-height: 1.02; letter-spacing: -.045em; }
.page-hero > p:not(.eyebrow) { max-width: 42rem; margin: 1.4rem 0 0; color: var(--muted); font-size: 1.08rem; line-height: 1.6; }
.page-hero-ink { background: var(--ink); color: white; }
.page-hero-ink > p:not(.eyebrow) { color: #95a6bd; }
.page-hero-ink .text-link { color: white; }
.related-title { margin: 0 0 1.5rem; font-size: 1.5rem; letter-spacing: -.03em; }
.attribute-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.attribute-grid article { min-height: 200px; padding: 1.4rem; border-right: 1px solid var(--line); background: white; }
.attribute-grid article:last-child { border-right: 0; }
.attribute-grid small { color: var(--blue); font: .7rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.attribute-grid h3 { margin: .8rem 0 .6rem; font-size: 1.15rem; letter-spacing: -.03em; }
.attribute-grid p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.attribute-grid-five { grid-template-columns: repeat(5, 1fr); }
.attribute-grid-five h3 { font-size: 1.02rem; }
.returns-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); background: white; }
.returns-grid article { padding: 1.6rem 1.5rem 1.9rem; border-right: 1px solid var(--line); }
.returns-grid article:last-child { border-right: 0; }
.returns-grid small { color: var(--blue); font: 500 .72rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.returns-grid ul { margin: 1.1rem 0 0; padding: 0; list-style: none; }
.returns-grid li { padding: .6rem 0; border-top: 1px solid var(--line); font-size: .95rem; font-weight: 500; letter-spacing: -.01em; line-height: 1.4; }
.plain-list { margin: 1.5rem 0 0; padding: 0 0 0 1.1rem; color: #3f4f64; line-height: 1.7; }
.fact-list > div { display: grid; gap: .25rem; padding: .85rem 0; border-top: 1px solid var(--line); }
.fact-list b { font-size: .8rem; }
.fact-list span { color: var(--muted); font-size: .72rem; }
.dashboard-sov { grid-template-columns: 1.2fr .8fr; }
.sov-comparison-full table { font-size: .78rem; }
.enterprise-compact article { min-height: 200px; }
.enterprise-compact h3 { margin: 1.5rem 0 .5rem; }
.enterprise-strip { display: flex; flex-wrap: wrap; gap: .6rem; max-width: 1000px; }
.enterprise-strip span { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem .9rem; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--ink-2); font-size: .82rem; font-weight: 600; }
.enterprise-strip i { color: var(--blue); font: 500 .58rem var(--mono); font-style: normal; letter-spacing: .06em; }
.enterprise-note { max-width: 56rem; margin: 1.6rem 0 0; color: var(--muted); font-size: .85rem; line-height: 1.55; }

.profile-pills { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.profile-pills span { padding: .45rem .6rem; border: 1px solid #cfdaee; border-radius: 999px; background: var(--tint); color: var(--blue-dark); font: .7rem var(--mono); }
.product-groups { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-top: 0; }
.product-groups-two { grid-template-columns: 1fr 1fr; }
.related-all { margin: 1.2rem 0 0; }
.fine-print { margin: 1.2rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.deliver-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 0 0 2rem; }
.deliver-grid article { padding: 1.4rem; border: 1px solid var(--line); background: white; }
.deliver-grid small { color: var(--blue); font: 500 .7rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.deliver-grid h3 { margin: .7rem 0 .5rem; font-size: 1.2rem; letter-spacing: -.03em; }
.deliver-grid p { margin: 0; color: var(--muted); line-height: 1.55; }
.deliver-grid a { color: var(--blue); }
.site-visual { max-width: 620px; margin: 0 auto 2.5rem; }
.site-visual img { width: 100%; height: auto; border: 1px solid var(--line); }
.site-visual figcaption { margin-top: .7rem; color: var(--muted); font-size: .78rem; }
.about-copy { max-width: 42rem; margin: 0; color: var(--muted); font-size: 1.08rem; line-height: 1.65; }
.about-copy .text-link { color: var(--blue); padding: 0; min-height: 0; font-size: inherit; }
.api-flow { padding: 1.5rem; border: 1px solid var(--line-strong); background: white; box-shadow: var(--shadow); }
.api-flow ol { display: grid; grid-template-columns: 1fr auto 1.3fr auto 1fr; gap: 1rem; align-items: stretch; margin: 0; padding: 0; list-style: none; }
.api-flow li { padding: 1.2rem; border: 1px solid var(--line); background: var(--paper); }
.api-flow li[aria-hidden="true"] { display: grid; place-items: center; border: 0; background: transparent; color: var(--blue); font-size: 1.4rem; }
.flow-kicker, .api-flow small { color: var(--blue); font: 500 .7rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.api-flow b { display: block; margin: .55rem 0 .4rem; font-size: 1.2rem; letter-spacing: -.03em; }
.api-flow span, .api-flow li > span { color: var(--muted); font-size: .82rem; line-height: 1.5; }
.api-flow ul { margin: .8rem 0 0; padding: 0; list-style: none; }
.api-flow li li { padding: .45rem 0; border: 0; border-top: 1px solid var(--line); background: transparent; font-size: .8rem; }
.review-workspace { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 1rem; background: white; box-shadow: var(--shadow); }
.review-tabs { display: flex; gap: .3rem; padding: .6rem 1rem; border-bottom: 1px solid var(--line); background: #f4f7fb; }
.review-tabs button { padding: .5rem .8rem; border: 1px solid transparent; border-radius: .4rem; background: transparent; color: var(--muted); cursor: pointer; font-size: .82rem; font-weight: 600; }
.review-tabs button[aria-selected="true"] { border-color: #cddaff; background: white; color: var(--blue); }
.review-body { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 520px; }
.review-image { position: relative; min-height: 420px; overflow: hidden; background: #dce7f0; }
.review-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.review-compare { display: none; }
.review-image .compare-stage { position: absolute; inset: 0; min-height: 0; }
.review-workspace[data-review="changes"] .review-compare { display: block; }
.review-workspace[data-review="changes"] .review-photo { display: none; }
.deliver-grid a { color: var(--blue); }
.review-side { padding: 1.5rem; }
.review-side small { color: var(--blue); font: 500 .7rem var(--mono); text-transform: uppercase; }
.review-side h3 { margin: .6rem 0 .5rem; font-size: 1.5rem; letter-spacing: -.04em; }
.review-side p { margin: 0; color: var(--muted); line-height: 1.55; }
.review-side dl { margin: 1rem 0 0; }
.review-side dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-top: 1px solid var(--line); font-size: .8rem; }
.review-side dt { color: var(--muted); }
.review-side dd { margin: 0; font-weight: 600; }
.review-panel p + p { margin-top: .8rem; }
.review-side .panel-note { margin-top: 1rem; font-size: .78rem; }
.workspace-features { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 2rem; border: 1px solid var(--line); background: white; }
.workspace-features article { padding: 1.5rem; border-right: 1px solid var(--line); }
.workspace-features article:last-child { border-right: 0; }
.workspace-features small { color: var(--blue); font: 500 .7rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.workspace-features h3 { margin: .7rem 0 .5rem; font-size: 1.1rem; letter-spacing: -.03em; }
.workspace-features p { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.55; }
.change-examples { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.change-examples article { padding: 1rem 1rem 1.5rem; border: 1px solid var(--line); background: white; box-shadow: var(--shadow-soft); }
.example-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.example-pair figure { margin: 0; }
.example-pair img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--line); }
.example-pair figcaption { margin-top: .4rem; color: var(--muted); font: .68rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.change-examples h3 { margin: 1rem 0 .4rem; font-size: 1.15rem; letter-spacing: -.03em; }
.change-examples article > p { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.55; }
.parcel-map .parcel-photo, .parcel-map .parcel-photo img, .geo-photo picture, .geo-photo picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.parcel-map, .geo-photo { min-height: 430px; }
.geo-photo picture img { object-position: center 30%; }
.geo-photo .label-building { right: auto; left: 40%; top: 8%; }
.geo-photo .label-parcel { left: 5%; bottom: 12%; }
.final-cta-ink { background: var(--ink); }
.product-groups > div { padding: 1.5rem; border-right: 1px solid var(--line); }
.product-groups > div:last-child { border: 0; }
.product-groups small { display: block; margin-bottom: 1rem; color: var(--muted); font: .7rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.product-groups a { display: grid; gap: .25rem; padding: .85rem 0; border-top: 1px solid var(--line); text-decoration: none; }
.product-groups a:hover b { color: var(--blue); }
.product-groups b { font-size: .92rem; }
.product-groups span { color: var(--muted); font-size: .78rem; }
.product-index { border-top: 1px solid var(--line); }


.pricing-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 1.5rem; }
.profile-selector { display: grid; align-content: start; gap: .8rem; }
.profile-selector button { display: grid; gap: .75rem; padding: 1.4rem; border: 1px solid var(--line); border-radius: .75rem; background: rgba(255,255,255,.55); color: var(--ink); text-align: left; cursor: pointer; }
.profile-selector button[aria-selected="true"] { border-color: var(--blue); background: white; box-shadow: var(--shadow-soft); }
.profile-selector span { font-size: 1.25rem; font-weight: 600; letter-spacing: -.03em; }
.profile-selector small { color: var(--muted); line-height: 1.5; }
.profile-selector b { display: flex; justify-content: space-between; padding-top: .75rem; border-top: 1px solid var(--line); color: var(--blue); font-size: .72rem; }
.profile-selector i { font-style: normal; }
.workspace-window { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 1rem; background: white; box-shadow: var(--shadow); }
.workspace-bar { min-height: 3.5rem; padding: .7rem 1rem; display: flex; align-items: center; gap: 1rem; border-bottom: 1px solid var(--line); color: var(--muted); font: .7rem var(--mono); }
.workspace-bar > span { display: flex; gap: .35rem; }
.workspace-bar i { width: .5rem; height: .5rem; border-radius: 50%; background: #cbd5e3; }
.workspace-bar i:nth-child(2) { background: #9fb0c6; }.workspace-bar i:nth-child(3) { background: var(--cyan); }
.workspace-bar b { color: #2e3c51; font-weight: 500; }
.workspace-bar em { margin-left: auto; padding: .35rem .5rem; border-radius: .3rem; background: #e7f8f3; color: #168465; font-style: normal; }
.workspace-body { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 540px; }
.workspace-image { position: relative; min-height: 450px; overflow: hidden; background: #dce7f0; }
.workspace-image img { width: 100%; height: 100%; object-fit: cover; }
.workspace-image::after { content: ""; position: absolute; inset: 10% 9%; border: 2px solid var(--cyan); clip-path: polygon(5% 15%, 65% 0, 98% 30%, 90% 88%, 28% 100%, 0 70%); background: rgba(49,92,255,.08); }
.workspace-image > i { position: absolute; z-index: 2; left: 47%; top: 47%; width: .8rem; height: .8rem; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 8px rgba(85,214,255,.23); }
.workspace-image > span { position: absolute; z-index: 3; left: 1rem; bottom: 1rem; padding: .55rem .7rem; border-radius: .3rem; background: rgba(7,17,31,.84); color: white; font: .7rem var(--mono); }
.workspace-details { padding: 1.5rem; display: flex; flex-direction: column; }
.workspace-heading small { color: var(--blue); font: .7rem var(--mono); text-transform: uppercase; }
.workspace-heading h3 { margin: .6rem 0; font-size: 1.65rem; letter-spacing: -.04em; }
.workspace-heading p { margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.5; }
.workspace-details dl { margin: 1.5rem 0; }
.workspace-details dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .72rem 0; border-top: 1px solid var(--line); font-size: .72rem; }
.workspace-details dt { color: var(--muted); }.workspace-details dd { margin: 0; font-weight: 600; }
.complete-only { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .35s ease, opacity .35s ease; }
.complete-only span { padding: .55rem; border-radius: .35rem; background: var(--tint); color: var(--blue-dark); font: .7rem var(--mono); }
[data-workspace-profile="complete"] .complete-only { max-height: 220px; opacity: 1; }

.geocoding-layout { display: grid; grid-template-columns: 1.12fr .88fr; gap: 1.5rem; }
.geocode-console, .benchmark-card { border: 1px solid var(--line); background: white; box-shadow: var(--shadow-soft); }
.geo-query { padding: 1.15rem; border-bottom: 1px solid var(--line); }
.geo-query small, .geo-query b, .geo-query span { display: block; }
.geo-query small { color: var(--muted); font: .7rem var(--mono); text-transform: uppercase; }.geo-query b { margin: .35rem 0; font-size: 1.08rem; }.geo-query span { color: var(--muted); font-size: .7rem; }
.geo-map { position: relative; min-height: 330px; overflow: hidden; background: #eaf0f6; }
.geo-roads { position: absolute; inset: -20%; opacity: .75; background: linear-gradient(23deg, transparent 43%, white 44% 49%, #cbd6e2 50% 51%, white 52% 57%, transparent 58%), linear-gradient(117deg, transparent 46%, white 47% 53%, transparent 54%), linear-gradient(#dfe6ee 1px, transparent 1px), linear-gradient(90deg,#dfe6ee 1px,transparent 1px); background-size: auto, auto, 28px 28px, 28px 28px; transform: rotate(-5deg); }
.geo-parcel { position: absolute; left: 17%; top: 14%; width: 67%; height: 70%; border: 3px solid var(--cyan); background: rgba(85,214,255,.13); transform: skewY(-6deg); }
.geo-building { position: absolute; left: 31%; top: 28%; width: 42%; height: 38%; border: 3px solid var(--blue); background: repeating-linear-gradient(45deg,rgba(49,92,255,.2) 0 8px,rgba(49,92,255,.08) 8px 16px); transform: skewY(-6deg); box-shadow: 16px 16px 0 rgba(7,17,31,.12); }
.geo-pin { position: absolute; left: 52%; top: 42%; width: 1.2rem; height: 1.2rem; border: 4px solid white; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 7px rgba(49,92,255,.18), 0 12px 25px rgba(7,17,31,.25); }
.geo-label { position: absolute; padding: .45rem .55rem; border-radius: .3rem; background: var(--ink); color: white; font: .7rem var(--mono); }
.label-parcel { left: 17%; bottom: 10%; }.label-building { right: 13%; top: 15%; }
.geocode-levels { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.geocode-levels > div { min-height: 125px; padding: .9rem; display: grid; grid-template-columns: auto 1fr; align-content: start; gap: .6rem; border-right: 1px solid var(--line); }
.geocode-levels > div:last-child { border: 0; }
.geocode-levels i { width: .55rem; height: .55rem; margin-top: .2rem; border: 1px solid #91a0b4; border-radius: 50%; }
.geocode-levels .active i { border-color: var(--blue); background: var(--blue); box-shadow: 0 0 0 4px rgba(49,92,255,.14); }
.geocode-levels span b, .geocode-levels span small { display: block; }
.geocode-levels span b { font-size: .68rem; }.geocode-levels span small { margin-top: .3rem; color: var(--muted); font-size: .58rem; line-height: 1.4; }
.geocode-levels strong { grid-column: 2; color: var(--blue); font: .7rem var(--mono); }
.benchmark-card { padding: clamp(1.7rem, 4vw, 3rem); display: flex; flex-direction: column; justify-content: center; }
.benchmark-card > small:first-child { color: var(--blue); font: .7rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.benchmark-card > strong { display: flex; align-items: baseline; gap: .8rem; margin: 1rem 0; font-size: 1.15rem; }
.benchmark-card > strong span { font-size: clamp(3.8rem, 6vw, 6.5rem); line-height: .9; letter-spacing: -.07em; color: var(--blue); }
.benchmark-card > p { color: #3f4f64; line-height: 1.6; }
.benchmark-bars { display: grid; gap: 1rem; margin: 1.7rem 0; }
.benchmark-bars span { display: grid; gap: .45rem; }
.benchmark-bars b { display: flex; justify-content: space-between; color: #48576b; font: 500 .7rem var(--mono); }
.benchmark-bars em { font-style: normal; }
.bar-track { display: block; width: 100%; height: .55rem; overflow: hidden; border-radius: 999px; background: #e4ebf3; }
.bar-track i { display: block; width: var(--bar); height: 100%; border-radius: 999px; background: linear-gradient(90deg,var(--blue),var(--cyan)); }
.benchmark-bars > span:nth-child(1) .bar-track i { --bar: 83.33%; }
.benchmark-bars > span:nth-child(2) .bar-track i { --bar: 50%; background: #9ba9bb; }
.top-zips li:nth-child(1) i { --bar: 100%; }
.top-zips li:nth-child(2) i { --bar: 83%; }
.top-zips li:nth-child(3) i { --bar: 66%; }
.top-zips li:nth-child(4) i { --bar: 52%; }
.source-fusion { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 2rem; margin-top: 0; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--line); background: var(--ink); color: white; box-shadow: var(--shadow); }
.source-fusion h3 { margin: 0; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: .98; letter-spacing: -.055em; }
.source-fusion > div:first-child > p:last-child { color: #8797ae; font-size: .7rem; }
.source-fusion ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .55rem; list-style: none; }
.source-fusion li { padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.05); color: #c0ccdb; font: .7rem var(--mono); }
.fusion-output { position: relative; min-height: 190px; display: grid; place-items: center; border: 1px solid rgba(85,214,255,.4); background: rgba(49,92,255,.1); text-align: center; }
.fusion-output > i { position: absolute; width: 115px; height: 115px; border: 1px solid var(--cyan); border-radius: 50%; box-shadow: 0 0 70px rgba(85,214,255,.18); }
.fusion-output span { position: relative; z-index: 2; }.fusion-output small,.fusion-output b,.fusion-output em { display:block; }.fusion-output small { color: var(--cyan); font: .7rem var(--mono); text-transform: uppercase; }.fusion-output b { margin: .45rem 0; font-size: 1rem; }.fusion-output em { color: #8394aa; font: .7rem var(--mono); font-style: normal; }
.data-addons { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-top: 0; }
.data-addons article { padding: 1.5rem; border-right: 1px solid var(--line); background: white; }.data-addons article:last-child{border:0}.data-addons small{color:var(--blue);font:.7rem var(--mono);text-transform:uppercase}.data-addons h3{margin:.8rem 0;font-size:1.3rem;letter-spacing:-.035em}.data-addons p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}

.scale-proof { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; padding: 1.2rem; border-left: 3px solid var(--blue); background: rgba(255,255,255,.7); }
.scale-proof strong { color: var(--blue); font-size: clamp(2.5rem,4vw,4.5rem); line-height: 1; letter-spacing: -.06em; }.scale-proof span { color: #445368; line-height: 1.45; }
.sov-flow { display: flex; align-items: stretch; margin-bottom: 1.3rem; border: 1px solid var(--line); background: white; }
.sov-flow > span { flex: 1; display: flex; align-items: center; gap: .65rem; padding: 1rem; font-size: .72rem; font-weight: 600; }.sov-flow > span i { color: var(--blue); font: .7rem var(--mono); font-style: normal; }.sov-flow > b { display:grid;place-items:center;color:#a1aec0;font-weight:400; }
.portfolio-dashboard { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 1rem; background: white; box-shadow: var(--shadow); }
.dashboard-bar { min-height: 3.6rem; padding: .8rem 1rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }.dashboard-bar > div { display:flex;align-items:center;gap:.6rem }.dashboard-bar > div span { width:.6rem;height:.6rem;border-radius:50%;background:var(--mint) }.dashboard-bar b { font-size:.75rem }.dashboard-bar small { color:var(--muted);font:.7rem var(--mono) }
.dashboard-kpis { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--line); }.dashboard-kpis > div{padding:1.2rem;border-right:1px solid var(--line)}.dashboard-kpis > div:last-child{border:0}.dashboard-kpis small,.dashboard-kpis b,.dashboard-kpis span{display:block}.dashboard-kpis small{color:var(--muted);font:.7rem var(--mono);text-transform:uppercase}.dashboard-kpis b{margin:.55rem 0;font-size:1.35rem;letter-spacing:-.04em}.dashboard-kpis span{color:var(--muted);font-size:.7rem}
.dashboard-main { display:grid;grid-template-columns:1.15fr .85fr; }.dashboard-main > div{min-height:310px;padding:1.3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.portfolio-map { position:relative;overflow:hidden;background:#edf2f7 }.map-lines{position:absolute;inset:-10%;opacity:.8;background:linear-gradient(25deg,transparent 45%,white 46% 50%,transparent 51%),linear-gradient(110deg,transparent 47%,white 48% 53%,transparent 54%),linear-gradient(#dce4ed 1px,transparent 1px),linear-gradient(90deg,#dce4ed 1px,transparent 1px);background-size:auto,auto,35px 35px,35px 35px;transform:rotate(-5deg)}.density{position:absolute;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,var(--amber),rgba(255,155,66,.3) 35%,transparent 70%);filter:blur(.2px)}.d1{left:18%;top:25%;transform:scale(1.7)}.d2{left:54%;top:33%;transform:scale(2.2)}.d3{left:68%;top:70%}.d4{left:32%;top:63%;transform:scale(1.4)}.d5{right:10%;top:18%;transform:scale(.8)}.portfolio-map > span{position:absolute;left:1rem;bottom:1rem;padding:.5rem .65rem;background:var(--ink);color:white;font:.7rem var(--mono)}
.top-zips small,.distribution > small,.sov-comparison > small,.fact-list > small{display:block;margin-bottom:1.2rem;color:var(--muted);font:.7rem var(--mono);text-transform:uppercase}.top-zips ol{margin:0;padding:0;list-style:none}.top-zips li{display:grid;grid-template-columns:50px 1fr 35px;align-items:center;gap:.7rem;padding:.7rem 0;border-top:1px solid var(--line);font:.7rem var(--mono)}.top-zips .bar-track{height:.45rem}.top-zips li b{text-align:right}
.distribution > div{display:grid;grid-template-columns:95px 1fr;align-items:center;gap:.8rem;padding:.75rem 0;border-top:1px solid var(--line);font-size:.7rem}.distribution > div > span{display:flex;height:1rem}.distribution > div i{display:block;width:var(--slice);background:var(--tone)}
.distribution > div:nth-of-type(1) i:nth-child(1){--slice:42%;--tone:var(--blue)}.distribution > div:nth-of-type(1) i:nth-child(2){--slice:31%;--tone:var(--cyan)}.distribution > div:nth-of-type(1) i:nth-child(3){--slice:27%;--tone:#b9c5d6}
.distribution > div:nth-of-type(2) i:nth-child(1){--slice:51%;--tone:var(--blue)}.distribution > div:nth-of-type(2) i:nth-child(2){--slice:29%;--tone:var(--amber)}.distribution > div:nth-of-type(2) i:nth-child(3){--slice:20%;--tone:#dce3ed}
.distribution > div:nth-of-type(3) i:nth-child(1){--slice:58%;--tone:#1d3dc4}.distribution > div:nth-of-type(3) i:nth-child(2){--slice:24%;--tone:var(--cyan)}.distribution > div:nth-of-type(3) i:nth-child(3){--slice:18%;--tone:#cbd4e1}
.sov-comparison table{width:100%;border-collapse:collapse;font-size:.7rem}.sov-comparison th,.sov-comparison td{padding:.75rem .5rem;border-top:1px solid var(--line);text-align:left}.sov-comparison th{color:var(--muted);font-weight:400}.sov-comparison td b{color:var(--blue)}

.change-layout { display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--line);background:white;box-shadow:var(--shadow) }.compare-stage{--compare-position:52%;position:relative;min-height:590px;overflow:hidden}.compare-image,.compare-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-after{clip-path:inset(0 0 0 var(--compare-position))}.compare-divider{position:absolute;z-index:4;top:0;bottom:0;left:var(--compare-position);width:2px;background:white;transform:translateX(-1px);box-shadow:0 0 16px rgba(7,17,31,.4)}.compare-divider span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:2.6rem;height:2.6rem;border:2px solid white;border-radius:50%;background:var(--blue);color:white;transform:translate(-50%,-50%);font-size:.8rem}.compare-range{position:absolute;z-index:5;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare-stage:focus-within{outline:3px solid color-mix(in srgb, var(--cyan) 72%, white);outline-offset:3px}.image-label{position:absolute;z-index:3;top:1rem;padding:.5rem .65rem;border-radius:.3rem;background:rgba(7,17,31,.82);color:white;font:.7rem var(--mono)}.label-before{left:1rem}.label-after{right:1rem}.change-summary{padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center}.event-label{display:flex;align-items:center;gap:.6rem;color:#b45a0b;font:.6rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.event-label i{width:.55rem;height:.55rem;border-radius:50%;background:var(--amber);box-shadow:0 0 12px rgba(255,155,66,.7)}.change-summary h3{margin:1.4rem 0 .7rem;font-size:clamp(2.4rem,4vw,4rem);letter-spacing:-.055em}.change-summary > p{margin:0;color:var(--muted);line-height:1.55}.change-summary dl{margin:2rem 0}.change-summary dl > div{padding:1.1rem 0;border-top:1px solid var(--line)}.change-summary dt{margin-bottom:.55rem;color:var(--muted);font-size:.7rem}.change-summary dd{margin:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;font:500 .85rem var(--mono)}.change-summary dd span{color:var(--muted)}.change-summary dd i{color:var(--amber);font-style:normal}.change-summary dd b{color:#168465;text-align:right}.change-summary > small{margin-top:auto;color:var(--muted);font: .7rem/1.55 var(--mono)}

.disaster-layout { display:grid;grid-template-columns:.9fr 1.1fr;gap:1.5rem }.event-map{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#12233b}.event-grid{position:absolute;inset:-10%;opacity:.32;background:linear-gradient(26deg,transparent 44%,#52637b 45% 47%,transparent 48%),linear-gradient(120deg,transparent 46%,#52637b 47% 50%,transparent 51%),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:auto,auto,34px 34px,34px 34px;transform:rotate(-6deg)}.event-footprint{position:absolute;left:7%;top:10%;width:78%;height:73%;border:2px solid var(--amber);border-radius:50% 33% 56% 40%;background:radial-gradient(circle at 48% 55%,rgba(255,155,66,.3),rgba(255,155,66,.05) 60%,transparent 70%);transform:rotate(-12deg)}.event-name{position:absolute;left:1rem;top:1rem;padding:.55rem .7rem;border:1px solid rgba(255,155,66,.6);color:#ffc38b;background:rgba(7,17,31,.8);font:.7rem var(--mono)}.event-property{position:absolute;width:.8rem;height:.8rem;border:2px solid white;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(49,92,255,.25)}.p1{left:26%;top:31%}.p2{left:59%;top:39%}.p3{left:47%;top:66%}.p4{right:19%;top:55%;background:var(--amber);box-shadow:0 0 0 6px rgba(255,155,66,.25)}.event-result{position:absolute;left:1rem;bottom:1rem;padding:1rem;border:1px solid rgba(255,255,255,.14);background:rgba(7,17,31,.84)}.event-result span,.event-result small{display:block}.event-result span{font-size:2rem;letter-spacing:-.05em}.event-result small{margin-top:.3rem;color:#91a2b8;font:.7rem var(--mono)}.activation-paths{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.14)}.activation-paths article{min-height:620px;padding:2rem;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.14)}.activation-paths article:last-child{border:0}.activation-paths article > span{color:var(--cyan);font:.7rem var(--mono)}.activation-paths small{margin-top:auto;color:#8092aa;font:.7rem var(--mono);text-transform:uppercase}.activation-paths h3{margin:1rem 0;font-size:clamp(2rem,3vw,3.5rem);line-height:1;letter-spacing:-.055em}.activation-paths p{color:#93a3b8;line-height:1.6}.activation-paths b{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14);color:#c8d4e2;font: .7rem/1.5 var(--mono)}

.enterprise-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.enterprise-grid article{min-height:260px;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.55)}.enterprise-grid article:nth-child(3n){border-right:0}.enterprise-grid article:nth-last-child(-n+3){border-bottom:0}.enterprise-grid i{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid #c7d5ff;background:var(--tint);color:var(--blue);font:.7rem var(--mono);font-style:normal}.enterprise-grid h3{margin:3rem 0 .7rem;font-size:1.35rem;letter-spacing:-.035em}.enterprise-grid p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}

.final-cta{position:relative;min-height:680px;padding:7rem 1.5rem;display:grid;place-content:center;justify-items:center;overflow:hidden;background:var(--blue);color:white;text-align:center}.final-cta-ink{background:var(--ink)}.final-cta > *{position:relative;z-index:2}.final-cta .eyebrow > span{background:white;box-shadow:none}.final-cta h2{max-width:900px;margin:0;font-size:clamp(2.3rem,3.6vw,3.4rem);line-height:1.06;letter-spacing:-.045em}.final-cta > p:not(.eyebrow){max-width:600px;margin:1.5rem auto;color:#d8e0ff;font-size:1.05rem;line-height:1.6}.final-cta .button{margin-top:1rem}.cta-grid{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle,black,transparent 73%)}
footer{padding:4rem max(1.5rem,calc((100vw - 1340px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;background:#050c16;color:#8a99ad}footer > div:first-child p{max-width:300px;line-height:1.5;font-size:.88rem}footer .brand{color:white}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.footer-links > span{display:grid;align-content:start;gap:.8rem}.footer-links b{margin-bottom:.3rem;color:white;font-size:.82rem}.footer-links a{color:#95a4b8;text-decoration:none;font-size:.84rem}.footer-links a:hover{color:var(--cyan)}.footer-links small{font-size:.72rem}

.demo-dialog{width:min(880px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:1px solid #d2dceb;border-radius:var(--radius);background:white;color:var(--ink);box-shadow:0 40px 130px rgba(7,17,31,.34)}.demo-dialog::backdrop{background:rgba(7,17,31,.65);backdrop-filter:blur(7px)}.dialog-close{position:absolute;z-index:3;right:1rem;top:1rem;width:2.3rem;height:2.3rem;border:1px solid var(--line);border-radius:.35rem;background:white;color:var(--ink);cursor:pointer;font-size:1.35rem}.dialog-intro{padding:2.3rem 2.3rem 1.8rem;border-bottom:1px solid var(--line);background:linear-gradient(125deg,var(--tint),white 70%)}.dialog-intro .eyebrow{margin-bottom:1rem}.dialog-intro h2{max-width:700px;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.055em}.dialog-intro > p:last-child{max-width:650px;margin-bottom:0;color:var(--muted);line-height:1.5}#lead-form{padding:1.8rem 2.3rem 2.3rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#lead-form label{display:grid;gap:.45rem;margin-bottom:1rem;color:#445267;font-size:.76rem;font-weight:600}#lead-form label > span{color:var(--muted);font-weight:400}#lead-form input,#lead-form select,#lead-form textarea{width:100%;padding:.78rem .85rem;border:1px solid #cad4e2;border-radius:.35rem;outline:0;background:#fbfcfe;color:var(--ink)}#lead-form input:focus,#lead-form select:focus,#lead-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(49,92,255,.1)}#lead-form textarea{resize:vertical}.consent{grid-template-columns:auto 1fr;align-items:start;gap:.7rem!important;font-weight:400!important;line-height:1.45}.consent input{width:1rem!important;margin-top:.1rem;accent-color:var(--blue)}.consent a{color:var(--blue)}.honeypot{position:absolute;left:-9999px}.turnstile-slot{min-height:0;margin-bottom:.8rem}.form-submit{width:100%}.form-status{min-height:1.4rem;margin:.9rem 0 0;color:#667487;text-align:center;font-size:.78rem}.form-status.error{color:#b32323}.form-status.success{color:#147859}.form-status .text-link{color:var(--blue)}

.legal-page{min-height:100vh;background:var(--paper);color:var(--ink)}.legal-page .site-header{position:relative}.legal-page main{padding:5rem 1.5rem 8rem}.legal-content{max-width:760px;margin:auto}.legal-content h1{margin:0 0 1rem;font-size:clamp(3rem,7vw,5.7rem);line-height:.95;letter-spacing:-.06em}.legal-content h2{margin:2.5rem 0 .6rem;font-size:1.25rem}.legal-content p{color:var(--muted);line-height:1.7}.legal-updated{font-family:var(--mono);font-size:.7rem}.legal-content a{color:var(--blue)}

@supports (animation-timeline: view()) { .product-card,.enterprise-grid article,.activation-paths article{animation:reveal both linear;animation-timeline:view();animation-range:entry 5% cover 32%}@keyframes reveal{from{opacity:.25;transform:translateY(24px)}to{opacity:1;transform:none}} }
@container (max-width:680px){.profile-card{width:44%}.profile-card dl>div:nth-child(n+6){display:none}}

@media (max-width:1180px){
  .hero{min-height:auto}.hero-grid{position:relative;top:auto;grid-template-columns:1fr}.hero-copy{max-width:850px}.property-console{width:100%}
  .pricing-layout,.geocoding-layout,.change-layout,.disaster-layout,.review-body,.deliver-grid{grid-template-columns:1fr}.api-flow ol{grid-template-columns:1fr}.api-flow li[aria-hidden="true"]{display:none}.source-fusion{grid-template-columns:1fr 1.2fr}.fusion-output{grid-column:1/-1}.workspace-body{min-height:500px}.compare-stage{min-height:600px}.activation-paths article{min-height:500px}.core-products{grid-template-columns:1fr 1fr}.product-card:first-child{grid-column:1/-1}.product-card:nth-child(2){border-top:1px solid var(--line)}.product-card:last-child{border-top:1px solid var(--line)}.solutions-grid,.attribute-grid,.attribute-grid-five,.returns-grid,.workspace-features{grid-template-columns:repeat(2,1fr)}.solutions-grid article:nth-child(2n),.attribute-grid article:nth-child(2n),.returns-grid article:nth-child(2n),.workspace-features article:nth-child(2n){border-right:0}.solutions-grid article:nth-child(n+3),.attribute-grid article:nth-child(n+3),.returns-grid article:nth-child(n+3),.workspace-features article:nth-child(n+3){border-top:1px solid var(--line)}.change-examples{grid-template-columns:1fr}.products-popover:popover-open,.products-popover.is-open{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .site-header{width:100%;grid-template-columns:1fr auto auto}.site-header nav{display:none}.mobile-nav{display:block}.hero{padding:3rem 1rem 4rem}.hero h1{font-size:clamp(2.1rem,7.5vw,2.9rem);letter-spacing:-.04em}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.resolution-progress{margin-top:3rem}.resolution-progress button{font-size:.7rem}.property-visual{aspect-ratio:1.05}.property-photo img{object-position:center}.profile-card{width:56%;right:.5rem;bottom:.5rem}.profile-card dl>div:nth-child(n+5){display:none}.console-topline{align-items:flex-start}.property-switch button{padding:.45rem;font-size:.7rem}.proof-strip{flex-direction:column;align-items:flex-start}.source-band,.product-map{grid-template-columns:1fr}.product-map>div{border-right:0;border-bottom:1px solid var(--line)}.product-map>div:last-child{border-bottom:0}
  .page-hero{padding:3.5rem 1rem 1.5rem}.page-hero h1{font-size:clamp(2rem,8.5vw,2.7rem)}.dashboard-sov{grid-template-columns:1fr}.section{padding:6rem 1rem}.split-heading{grid-template-columns:1fr;gap:1.5rem}.section-heading{margin-bottom:3rem}.section-heading h2{font-size:clamp(1.8rem,7vw,2.3rem)}.core-products,.product-groups,.data-addons,.enterprise-grid,.solutions-grid,.attribute-grid,.attribute-grid-five,.returns-grid,.workspace-features{grid-template-columns:1fr}.product-card,.product-card:first-child{grid-column:auto;min-height:360px;border-right:0;border-bottom:1px solid var(--line)}.solutions-grid a,.solutions-grid article,.solutions-grid a:nth-child(3),.solutions-grid article:nth-child(3),.attribute-grid article{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.product-groups>div:last-child,.data-addons article:last-child,.solutions-grid a:last-child,.solutions-grid article:last-child,.attribute-grid article:last-child{border-bottom:0}.workspace-body{grid-template-columns:1fr}.workspace-image{min-height:390px}.geocode-levels{grid-template-columns:1fr 1fr}.geocode-levels>div:nth-child(2){border-right:0}.geocode-levels>div{border-bottom:1px solid var(--line)}.source-fusion{grid-template-columns:1fr;padding:2rem}.fusion-output{grid-column:auto}.sov-flow{display:grid}.sov-flow>b{display:none}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-kpis>div:nth-child(2){border-right:0}.dashboard-main{grid-template-columns:1fr}.dashboard-main>div{border-right:0}.change-layout{display:block}.compare-stage{min-height:450px}.change-summary{min-height:480px}.event-map{min-height:480px}.activation-paths{grid-template-columns:1fr}.activation-paths article{min-height:440px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.activation-paths article:last-child{border-bottom:0}.enterprise-grid article,.enterprise-grid article:nth-child(3n),.enterprise-grid article:nth-last-child(-n+3){min-height:230px;border-right:0;border-bottom:1px solid var(--line)}.enterprise-grid article:last-child{border-bottom:0}.final-cta{min-height:560px}.final-cta h2{font-size:clamp(2rem,8.5vw,2.7rem)}footer{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.field-row{grid-template-columns:1fr;gap:0}.dialog-intro,#lead-form{padding-left:1.2rem;padding-right:1.2rem}
}
@media (max-width:520px){
  .brand{font-size:1rem}.site-header{grid-template-columns:1fr auto}.site-header > .button{display:none}.hero h1{font-size:clamp(1.85rem,8vw,2.3rem)}.button-small{min-height:2.45rem;font-size:.72rem}.hero-lead{font-size:1rem}.property-visual{--tx:35%;--ty:45%;aspect-ratio:.86}.property-photo img{object-position:center}.parcel-card{width:72%}.building-card{width:72%}.profile-card{width:68%}.profile-card dl>div:nth-child(n+4){display:none}.console-caption{font-size:.7rem}.workspace-image{min-height:310px}.complete-only{grid-template-columns:1fr}.geo-map{min-height:270px}.geocode-levels{grid-template-columns:1fr}.geocode-levels>div{border-right:0}.benchmark-card>strong{display:block}.benchmark-card>strong span{display:block}.dashboard-kpis{grid-template-columns:1fr}.dashboard-kpis>div{border-right:0}.compare-stage{min-height:380px}.image-label{top:auto;bottom:1rem}.footer-links{grid-template-columns:1fr}.products-popover:popover-open,.products-popover.is-open{grid-template-columns:1fr}.products-popover{top:4.7rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media (prefers-contrast:more){:root{--muted:#394658;--line:#6e7989;--line-strong:#344155}.button,input,select,textarea{border-width:2px!important}.property-console,.product-card,.geocode-console,.benchmark-card{box-shadow:none}}
