:root{--m2-brand-50:#eff6ff;--m2-brand-100:#dbeafe;--m2-brand-200:#bfdbfe;--m2-brand-300:#93c5fd;--m2-brand-400:#60a5fa;--m2-brand-500:#3b82f6;--m2-brand-600:#2563eb;--m2-brand-700:#1d4ed8;--m2-brand-800:#1e40af;--m2-brand-900:#1e3a8a;--m2-accent:#c42036;--m2-gray-0:#fff;--m2-gray-50:#f9fafb;--m2-gray-100:#f3f4f6;--m2-gray-200:#e5e7eb;--m2-gray-300:#d1d5db;--m2-gray-400:#9ca3af;--m2-gray-500:#6b7280;--m2-gray-600:#4b5563;--m2-gray-700:#374151;--m2-gray-800:#1f2937;--m2-gray-900:#111827;--m2-success:#059669;--m2-warning:#f59e0b;--m2-danger:#dc2626;--m2-info:#0284c7;--m2-text-primary:var(--m2-gray-900);--m2-text-secondary:var(--m2-gray-500);--m2-text-muted:var(--m2-gray-400);--m2-text-inverse:var(--m2-gray-0);--m2-border-default:var(--m2-gray-200);--m2-border-strong:var(--m2-gray-300);--m2-border-brand:var(--m2-brand-500);--m2-radius-xs:4px;--m2-radius-sm:6px;--m2-radius-md:8px;--m2-radius-lg:12px;--m2-radius-xl:16px;--m2-radius-2xl:20px;--m2-radius-pill:9999px;--m2-shadow-xs:0 1px 2px rgba(17,24,39,.04);--m2-shadow-sm:0 2px 4px rgba(17,24,39,.06);--m2-shadow-md:0 4px 12px rgba(17,24,39,.08);--m2-shadow-lg:0 10px 30px rgba(17,24,39,.12);--m2-shadow-xl:0 20px 40px rgba(17,24,39,.15);--m2-shadow-hero:0 24px 48px rgba(17,24,39,.18);--m2-space-1:4px;--m2-space-2:8px;--m2-space-3:12px;--m2-space-4:16px;--m2-space-5:20px;--m2-space-6:24px;--m2-space-8:32px;--m2-space-10:40px;--m2-space-12:48px;--m2-space-16:64px;--m2-container:1280px;--m2-container-wide:1440px;--m2-header-h:68px;--m2-font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--m2-fs-11:11px;--m2-fs-12:12px;--m2-fs-13:13px;--m2-fs-14:14px;--m2-fs-15:15px;--m2-fs-16:16px;--m2-fs-18:18px;--m2-fs-20:20px;--m2-fs-24:24px;--m2-fs-28:28px;--m2-fs-32:32px;--m2-fs-40:40px;--m2-fs-48:48px}.m2-container{max-width:var(--m2-container);margin:0 auto;padding-left:var(--m2-space-4);padding-right:var(--m2-space-4)}@media (min-width:1024px){.m2-container{padding-left:var(--m2-space-6);padding-right:var(--m2-space-6)}}.m2-card{background:var(--m2-gray-0);border:1px solid var(--m2-border-default);border-radius:var(--m2-radius-lg);overflow:hidden;transition:border-color .15s,box-shadow .15s}.m2-card:hover{border-color:var(--m2-border-strong);box-shadow:var(--m2-shadow-md)}.m2-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--m2-brand-600);color:var(--m2-text-inverse);border-radius:var(--m2-radius-md);font-size:var(--m2-fs-14);font-weight:600;border:1px solid var(--m2-brand-600);transition:background .15s}.m2-btn-primary:hover{background:var(--m2-brand-700);border-color:var(--m2-brand-700)}.m2-btn-primary:disabled{background:var(--m2-gray-300);border-color:var(--m2-gray-300);cursor:not-allowed}.m2-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;background:var(--m2-gray-0);color:var(--m2-gray-700);border-radius:var(--m2-radius-md);font-size:var(--m2-fs-14);font-weight:600;border:1px solid var(--m2-border-default);transition:all .15s}.m2-btn-outline:hover{border-color:var(--m2-brand-500);color:var(--m2-brand-700)}.m2-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--m2-gray-100);color:var(--m2-gray-700);border-radius:var(--m2-radius-pill);font-size:var(--m2-fs-12);font-weight:500;border:1px solid transparent}.m2-chip--active{background:var(--m2-brand-50);color:var(--m2-brand-700);border-color:var(--m2-brand-200)}.m2-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--m2-radius-sm);font-size:var(--m2-fs-11);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.m2-badge--building{background:#fef3c7;color:#92400e}.m2-badge--ready{background:#d1fae5;color:#065f46}.m2-badge--planning{background:#e0e7ff;color:#3730a3}.m2-price{font-size:var(--m2-fs-20);font-weight:700;color:var(--m2-gray-900);line-height:1.1}.m2-price-per-m{font-size:var(--m2-fs-12);color:var(--m2-text-secondary)}.m2-grid-3{display:grid;grid-template-columns:repeat(1,1fr);gap:16px}@media (min-width:768px){.m2-grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.m2-grid-3{grid-template-columns:repeat(3,1fr);gap:20px}}