:root { --navy:#102d4c; --ink:#17324d; --muted:#61768a; --coral:#f26e61; --coral-dark:#df594e; --sky:#eef7fb; --line:#dbe8ee; --white:#fff; --shadow:0 18px 50px rgba(16,45,76,.09); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; height:100%; }
html, body { height:100%; }
body { margin:0; color:var(--ink); background:#fff; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing:antialiased; }
.site-shell { overflow-x:hidden; min-height:100vh; display:flex; flex-direction:column; }
.first-screen { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
.topbar { flex:none; height:84px; width:100%; display:flex; align-items:center; justify-content:center; max-width:none; margin:0; padding:0 28px; background:rgba(255,255,255,.65); backdrop-filter:blur(8px); position:relative; z-index:2; }
.brand { display:flex; align-items:center; justify-content:center; gap:11px; color:var(--navy); text-decoration:none; }
.brand-mark { width:52px; height:52px; flex:none; }
.wordmark { font-size:28px; font-weight:900; letter-spacing:-.7px; white-space:nowrap; }.wordmark span { color:var(--coral); }
.hero { background:linear-gradient(117deg,#f2faff 0%,#edf8fc 56%,#fff8f5 100%); flex:1; min-height:0; padding:24px 24px 40px; position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box; }.hero:before { content:""; position:absolute; width:410px; height:410px; border:1px solid rgba(242,110,97,.12); border-radius:50%; right:-190px; top:-150px; z-index:-1; }.hero:after { content:""; position:absolute; width:530px; height:530px; border:1px solid rgba(41,127,158,.09); border-radius:50%; left:-300px; bottom:-330px; z-index:-1; }
.hero-copy, .zip-card, .preview-section, .how-section { max-width:1060px; margin-left:auto; margin-right:auto; }.hero-copy { text-align:center; width:100%; } .hero .zip-card { width:100%; }.eyebrow { color:var(--coral-dark); font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; margin:0 0 16px; }.eyebrow-dot { width:7px; height:7px; display:inline-block; border-radius:50%; background:var(--coral); margin:0 6px 1px 0; }.hero h1 { max-width:720px; margin:0 auto 20px; color:var(--navy); font-size:clamp(42px, 7vw, 72px); line-height:.99; letter-spacing:-3.8px; font-weight:850; }.hero-subtitle { max-width:550px; color:var(--muted); margin:0 auto; font-size:17px; line-height:1.6; }
.zip-card { background:rgba(255,255,255,.94); border:1px solid rgba(219,232,238,.9); border-radius:20px; box-shadow:var(--shadow); max-width:650px; margin-top:42px; padding:25px 27px 20px; }.zip-card-heading { display:flex; align-items:center; gap:14px; margin-bottom:20px; }.step-badge { display:grid; place-items:center; width:33px; height:33px; border-radius:50%; background:#fff1ee; color:var(--coral-dark); font-size:11px; font-weight:850; }.card-kicker { margin:0 0 3px; color:var(--muted); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:1px; }.zip-card h2 { margin:0; color:var(--navy); font-size:22px; letter-spacing:-.6px; }.input-row { display:flex; gap:10px; }.input-row input, .waitlist-form input { min-width:0; flex:1; border:1.5px solid #cadde5; border-radius:11px; padding:0 16px; height:54px; color:var(--navy); background:#fbfdfe; font-size:17px; outline:none; }.input-row input:focus, .waitlist-form input:focus { border-color:var(--coral); box-shadow:0 0 0 4px rgba(242,110,97,.12); }.input-row input::placeholder, .waitlist-form input::placeholder { color:#9aabb7; }.primary-button, .secondary-button { border:0; border-radius:11px; background:var(--coral); color:#fff; height:54px; padding:0 22px; font-size:15px; font-weight:800; cursor:pointer; white-space:nowrap; transition:.2s ease; }.primary-button:hover, .secondary-button:hover { background:var(--coral-dark); transform:translateY(-1px); }.primary-button span { font-size:20px; line-height:0; margin-left:7px; }.input-help { color:var(--muted); font-size:12px; margin:10px 1px 0; }.error-message { color:#c3443a; font-size:12px; margin:10px 1px 0; }.trust-row { color:#6d8291; font-size:11px; margin-top:19px; }.mini-check { display:inline-grid; place-items:center; width:17px; height:17px; margin-right:5px; background:#e8f5f0; color:#429d7b; border-radius:50%; font-weight:900; }.trust-separator { margin:0 7px; color:#c6d4da; }

.field-label { display:block; margin:16px 0 8px; color:var(--muted); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:1px; }
.radius-fieldset { border:0; margin:0; padding:0; }
.radius-fieldset .field-label, .radius-fieldset legend.field-label { margin-top:16px; }
.radius-row { display:flex; flex-wrap:wrap; gap:8px; }
.radius-option { display:inline-flex; align-items:center; gap:7px; padding:10px 14px; border:1.5px solid #cadde5; border-radius:999px; background:#fbfdfe; color:var(--navy); font-size:13px; font-weight:700; cursor:pointer; user-select:none; transition:.15s ease; }
.radius-option:has(input:checked) { border-color:var(--coral); background:#fff5f3; box-shadow:0 0 0 3px rgba(242,110,97,.12); }
.radius-option input { accent-color:var(--coral); margin:0; }
.search-input { display:block; width:100%; border:1.5px solid #cadde5; border-radius:11px; padding:0 16px; height:50px; color:var(--navy); background:#fbfdfe; font-size:16px; outline:none; }
.search-input:focus { border-color:var(--coral); box-shadow:0 0 0 4px rgba(242,110,97,.12); }
.search-input::placeholder { color:#9aabb7; }
.banner-meta { display:block; color:#acc2d2; font-size:12px; margin-top:3px; font-weight:600; }
.preview-section { padding:78px 24px 30px; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:25px; }.section-heading h2 { margin:0; color:var(--navy); font-size:clamp(29px,4vw,43px); line-height:1.05; letter-spacing:-1.8px; }.change-zip { border:0; background:transparent; color:var(--coral-dark); cursor:pointer; font-weight:800; font-size:13px; padding:8px 0; }.zip-banner { display:flex; align-items:center; gap:12px; background:var(--navy); color:white; padding:14px 17px; border-radius:14px; margin-bottom:18px; }.pin-bubble { display:grid; place-items:center; width:33px; height:33px; background:rgba(242,110,97,.2); color:#ff9b8f; border-radius:10px; font-size:22px; }.banner-label { display:block; color:#acc2d2; font-size:11px; margin-bottom:2px; }.zip-banner strong { font-size:17px; letter-spacing:.4px; }.live-pill { margin-left:auto; color:#bce6d3; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }.live-pill i { display:inline-block; width:6px; height:6px; background:#69d29e; border-radius:50%; margin:0 5px 1px 0; }
.empty-feed { color:var(--muted); font-size:14px; padding:18px 4px; margin:0; }.listing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.listing-card { border:1px solid var(--line); border-radius:15px; overflow:hidden; background:#fff; box-shadow:0 7px 23px rgba(16,45,76,.05); }.listing-image { display:grid; place-items:center; height:155px; font-size:53px; }.listing-card:nth-child(1) .listing-image { background:#fce8df; }.listing-card:nth-child(2) .listing-image { background:#e9f3e6; }.listing-card:nth-child(3) .listing-image { background:#eaf0fa; }.listing-body { padding:14px 15px 16px; }.listing-body h3 { margin:0 0 5px; color:var(--navy); font-size:15px; }.listing-meta { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.listing-price { display:block; margin-top:12px; color:var(--coral-dark); font-size:14px; font-weight:850; }.coming-card { display:flex; align-items:center; gap:15px; padding:20px; margin-top:18px; border:1px dashed #efb4aa; border-radius:15px; background:#fff9f7; }.sparkle { display:grid; place-items:center; flex:none; width:38px; height:38px; color:var(--coral); background:#fff; border-radius:12px; font-size:21px; }.coming-card h3 { margin:0 0 4px; color:var(--navy); font-size:15px; }.coming-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.waitlist-form { display:flex; gap:7px; margin-left:auto; }.waitlist-form input { height:43px; width:180px; flex:none; font-size:13px; border-radius:9px; }.secondary-button { height:43px; padding:0 14px; font-size:12px; border-radius:9px; }.form-note { color:#399170 !important; font-weight:700; white-space:nowrap; }
.how-section { padding:64px 24px 88px; margin-top:0; background:#fff; border-top:1px solid #edf2f4; }.centered { justify-content:center; text-align:center; }.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:35px; }.step { border-top:2px solid #e1edf1; padding-top:18px; }.step-number { color:var(--coral); font-size:11px; font-weight:850; letter-spacing:1px; }.step h3 { margin:10px 0 7px; color:var(--navy); font-size:17px; }.step p { max-width:250px; color:var(--muted); font-size:13px; line-height:1.55; margin:0; }
footer { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1160px; margin:auto; padding:25px 28px 35px; border-top:1px solid #edf2f4; color:#8698a5; font-size:11px; }.footer-brand { color:var(--navy); font-size:13px; font-weight:800; text-decoration:none; }.footer-mark { display:inline-grid; place-items:center; width:20px; height:20px; margin-right:4px; border-radius:50%; background:var(--navy); color:var(--coral); font-size:11px; }.footer-soon { color:#a1afb8; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
[hidden] { display:none !important; }
@media (max-width:700px) { .topbar { height:76px; padding:0 18px; justify-content:center; } .hero { flex:1; padding:18px 18px 28px; }.brand-mark { width:46px; height:46px; }.wordmark { font-size:24px; }.hero h1 { font-size:47px; letter-spacing:-2.7px; }.hero-subtitle { font-size:15px; line-height:1.55; }.zip-card { margin-top:32px; padding:22px 18px 18px; } .radius-row { gap:7px; }.radius-option { flex:1 1 auto; justify-content:center; padding:11px 10px; font-size:12px; }.search-input { height:52px; }.input-row { flex-direction:column; gap:9px; }.input-row input, .primary-button { width:100%; height:56px; }.primary-button { flex:none; }.preview-section, .how-section { padding-left:18px; padding-right:18px; }.preview-section { padding-top:55px; }.how-section { padding-top:48px; padding-bottom:64px; }.steps { grid-template-columns:1fr; gap:25px; }.step p { max-width:none; }.section-heading h2 { font-size:32px; }.listing-grid { grid-template-columns:1fr; gap:12px; }.listing-card { display:flex; height:112px; }.listing-image { width:112px; height:auto; flex:none; font-size:39px; }.listing-body { padding:14px; }.listing-price { margin-top:8px; }.coming-card { align-items:flex-start; flex-wrap:wrap; }.coming-card > div:nth-child(2) { flex:1; min-width:210px; }.waitlist-form { width:100%; margin-left:0; }.waitlist-form input { flex:1; width:auto; }.waitlist-form button { flex:none; }.how-section { padding:64px 24px 88px; margin-top:8px; }.centered { justify-content:center; text-align:center; }.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:35px; }.step { border-top:2px solid #e1edf1; padding-top:18px; }.step-number { color:var(--coral); font-size:11px; font-weight:850; letter-spacing:1px; }.step h3 { margin:10px 0 7px; color:var(--navy); font-size:17px; }.step p { max-width:250px; color:var(--muted); font-size:13px; line-height:1.55; margin:0; }
footer { flex-wrap:wrap; padding:22px 18px 29px; }.footer-soon { width:100%; order:3; } }
@media (max-width:370px) { .wordmark { font-size:22px; }.hero h1 { font-size:42px; }.waitlist-form { flex-direction:column; }.waitlist-form input, .waitlist-form button { width:100%; } }
