:root{--color-bg: #FAFBFC;--color-surface: #FFFFFF;--color-surface-alt: #F0FDFB;--color-surface-muted: #F8FAFC;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-focus: #0D9488;--color-text: #0F172A;--color-text-secondary: #64748B;--color-text-muted: #94A3B8;--color-text-faint: #CBD5E1;--color-accent: #0D9488;--color-accent-hover: #0F766E;--color-accent-light: #CCFBF1;--color-accent-bg: #F0FDFB;--color-excellent: #059669;--color-excellent-bg: #D1FAE5;--color-excellent-text: #065F46;--color-good: #059669;--color-good-bg: #D1FAE5;--color-good-text: #065F46;--color-moderate: #D97706;--color-moderate-bg: #FEF3C7;--color-moderate-text: #92400E;--color-poor: #DC2626;--color-poor-bg: #FEE2E2;--color-poor-text: #991B1B;--font-heading: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 12px;--radius-sm: 8px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 100px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:15px;line-height:1.55;background:var(--color-bg);color:var(--color-text);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.15;letter-spacing:-.3px}a{color:var(--color-accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-accent-hover);text-decoration:underline}button{cursor:pointer;font-family:var(--font-body);border:none;background:none;color:inherit}input,textarea{font-family:var(--font-body);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 22px;height:48px;background:var(--color-accent);color:#fff;font-family:var(--font-heading);font-weight:600;font-size:15px;border-radius:var(--radius);transition:background .15s ease;white-space:nowrap}.btn-primary:hover{background:var(--color-accent-hover)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-text{display:inline-flex;align-items:center;gap:6px;color:var(--color-accent);font-family:var(--font-heading);font-weight:600;font-size:13px;padding:6px 10px;border-radius:var(--radius-sm);transition:background .15s ease}.btn-text:hover{background:var(--color-accent-bg)}.input-field{width:100%;padding:0 14px;height:44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.input-field::placeholder{color:var(--color-text-muted)}input::placeholder{text-transform:none}.input-field:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #0d948814}.section-label{font-family:var(--font-heading);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-muted);margin-bottom:14px}.content-container{max-width:480px;margin:0 auto;padding:0 16px}@media(min-width:640px){.content-container{padding:0 24px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes fade-out{to{opacity:0;pointer-events:none}}.fade-in{animation:fadeIn .35s ease forwards}.spin{animation:spin .7s linear infinite}.pulse{animation:pulse 1.5s ease-in-out infinite}.legal-content h2{font-family:var(--font-heading);font-weight:600;font-size:20px;color:var(--color-text);margin-top:36px;margin-bottom:12px;letter-spacing:-.2px}.legal-content h2:first-child{margin-top:0}.legal-content p{font-size:15px;line-height:1.7;color:var(--color-text);margin-bottom:16px}.legal-content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.legal-content a:hover{color:var(--color-accent-hover)}.legal-content strong{font-weight:600}.property-pin{position:relative;display:flex;align-items:flex-end;justify-content:center;width:32px;height:42px;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.property-pin-icon{position:relative;z-index:3;transition:transform .2s ease}.property-pin:hover .property-pin-icon{transform:translateY(-2px) scale(1.05)}.property-pin-halo{position:absolute;bottom:-8px;left:50%;width:56px;height:56px;margin-left:-28px;border-radius:50%;background:#0d948826;z-index:1;pointer-events:none}.property-pin-pulse{position:absolute;bottom:-8px;left:50%;width:56px;height:56px;margin-left:-28px;border-radius:50%;border:2px solid #0D9488;z-index:2;pointer-events:none;animation:pin-pulse 2.4s ease-out infinite}@keyframes pin-pulse{0%{transform:scale(.6);opacity:.9}80%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.map-style-toggle{position:absolute;top:12px;right:12px;display:flex;background:#fffffff2;border-radius:8px;border:1px solid rgba(0,0,0,.06);overflow:hidden;z-index:10;box-shadow:0 1px 3px #00000014}.map-style-toggle button{border:none;background:transparent;padding:7px 14px;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:12px;color:#64748b;cursor:pointer;transition:all .15s ease}.map-style-toggle button:hover{color:#0f172a;background:#00000008}.map-style-toggle button.active{background:#0d9488;color:#fff}.map-style-toggle button.active:hover{background:#0f766e;color:#fff}.mapboxgl-ctrl-attrib{font-size:9px!important;opacity:.6}.mapboxgl-ctrl-group{border-radius:var(--radius-sm)!important;box-shadow:var(--shadow)!important;border:1px solid rgba(0,0,0,.06)!important;overflow:hidden}.mapboxgl-ctrl-group button{width:32px!important;height:32px!important}.article-body{font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--color-text)}.article-body p{margin-bottom:20px}.article-body h2{font-family:var(--font-heading);font-weight:700;font-size:22px;margin-top:36px;margin-bottom:14px;color:var(--color-text);letter-spacing:-.2px}.article-body h3{font-family:var(--font-heading);font-weight:600;font-size:18px;margin-top:28px;margin-bottom:10px;color:var(--color-text)}.article-body ul{margin-bottom:20px;padding-left:24px}.article-body ul li{margin-bottom:8px;line-height:1.6}.article-body a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.article-body a:hover{color:var(--color-accent-hover)}.article-callout{background:var(--color-accent-bg);border-left:3px solid var(--color-accent);padding:16px 20px;margin:24px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:15px;line-height:1.6;color:var(--color-text-secondary)}.article-faq{margin:20px 0;padding:18px 20px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius)}.article-faq h3{font-family:var(--font-heading);font-weight:600;font-size:16px;margin:0 0 8px;color:var(--color-text)}.article-faq p{margin:0;font-size:14px;color:var(--color-text-secondary);line-height:1.6}.article-cta-card{background:var(--color-accent-bg);border:1px solid var(--color-accent-light);border-radius:var(--radius-lg);padding:28px 24px;margin:36px 0;text-align:center}.article-cta-card h3{font-family:var(--font-heading);font-weight:700;font-size:18px;margin:0 0 8px;color:var(--color-text)}.article-cta-card p{font-size:14px;color:var(--color-text-secondary);margin:0 0 18px}.article-cta-card a{display:inline-block;background:var(--color-accent);color:#fff;padding:12px 28px;border-radius:var(--radius);font-family:var(--font-heading);font-weight:600;font-size:15px;text-decoration:none;transition:background .15s}.article-cta-card a:hover{background:var(--color-accent-hover);text-decoration:none;color:#fff}.wordmark-link{display:inline-flex;align-items:center;text-decoration:none;color:inherit;border-radius:var(--radius-sm);transition:opacity .15s ease}.wordmark-link:hover{opacity:.75;text-decoration:none;color:inherit}.wordmark-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.nav-links{display:flex;align-items:center;gap:4px}.nav-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-muted);font-family:var(--font-heading);font-weight:600;font-size:13px;padding:6px 10px;border-radius:var(--radius-sm);text-decoration:none;background:transparent;border:none;cursor:pointer;transition:background .15s ease,color .15s ease}.nav-link:hover{background:var(--color-surface-muted);color:var(--color-text);text-decoration:none}.nav-link-accent{color:var(--color-accent)}.nav-link-accent:hover{background:var(--color-accent-bg);color:var(--color-accent-hover)}.landing-guides{margin-top:40px;padding-top:32px;border-top:1px solid var(--color-border-light)}.landing-guides-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.landing-guides-eyebrow{font-family:var(--font-heading);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-muted);margin-bottom:6px}.landing-guides-title{font-family:var(--font-heading);font-weight:700;font-size:22px;color:var(--color-text);letter-spacing:-.3px;margin:0}.landing-guides-link{font-family:var(--font-heading);font-weight:600;font-size:13px;color:var(--color-accent);padding:6px 10px;border-radius:var(--radius-sm);text-decoration:none;transition:background .15s ease}.landing-guides-link:hover{background:var(--color-accent-bg);text-decoration:none}.landing-guides-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:700px){.landing-guides-grid{grid-template-columns:repeat(3,1fr)}}.blog-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,transform .18s ease}.blog-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);text-decoration:none;color:inherit}.blog-card-image{width:100%;aspect-ratio:16 / 9;background:var(--color-surface-muted);overflow:hidden}.blog-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.blog-card:hover .blog-card-image img{transform:scale(1.03)}.blog-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}.blog-card-title{font-family:var(--font-heading);font-weight:700;font-size:17px;line-height:1.3;color:var(--color-text);margin:0 0 10px;letter-spacing:-.2px;transition:color .15s ease;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card:hover .blog-card-title{color:var(--color-accent)}.blog-card-excerpt{font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--color-text-secondary);margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.blog-card-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--color-text-muted);margin-top:auto}.blog-card-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--color-text-faint)}.article-hero{margin:0 0 24px;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-muted);aspect-ratio:16 / 9}.article-hero img{width:100%;height:100%;object-fit:cover;display:block}.article-image{margin:28px 0}.article-image img{width:100%;height:auto;border-radius:var(--radius);display:block;background:var(--color-surface-muted)}.article-image figcaption{margin-top:10px;font-size:13px;color:var(--color-text-muted);text-align:center;line-height:1.5}.landing{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-accent-bg) 100%)}.landing-header{background:transparent;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.landing-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 24px 48px;text-align:center;min-height:60vh}.landing-hero-mark{margin-bottom:20px}.landing-title{font-family:var(--font-heading);font-weight:800;font-size:40px;letter-spacing:-.5px;color:var(--color-text);margin-bottom:10px;line-height:1.15;max-width:440px}.landing-sub{color:var(--color-text-secondary);font-size:17px;max-width:400px;margin-bottom:32px;line-height:1.5}@media(max-width:640px){.landing-hero{justify-content:flex-start;padding:24px 16px 48px;min-height:auto}.landing-title{font-size:28px}.landing-sub{font-size:15px}}.landing-guides-list{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--color-border-light);display:grid;gap:4px 24px}@media(min-width:700px){.landing-guides-list{grid-template-columns:1fr 1fr}}.landing-guides-list a{display:block;padding:6px 0;font-size:14px;line-height:1.4;color:var(--color-text-secondary);text-decoration:none}.landing-guides-list a:hover{color:var(--color-accent)}.pc-submit{padding:0 20px}@media(max-width:400px){.pc-submit{padding:0 14px}.pc-submit-label{display:none}}.map-placeholder{margin:0 16px;height:280px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-muted)}@media(max-width:640px){.map-placeholder{height:220px}}
