.calc-hero{text-align:center;background:#0a1128;padding:3.5rem 0 2rem;position:relative;overflow:hidden}.calc-hero:before{content:"";pointer-events:none;background:radial-gradient(80% 60% at 30% 20%,#bfa06a1a 0%,#0000 70%),radial-gradient(60% 50% at 80% 80%,#3764e612 0%,#0000 70%);position:absolute;inset:0}.calc-hero-inner{z-index:1;max-width:720px;margin:0 auto;padding:0 1.25rem;position:relative}.calc-eyebrow{letter-spacing:.38em;text-transform:uppercase;color:#bfa06a;font-size:.625rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;align-items:center;gap:.5rem;margin-bottom:1rem;display:inline-flex}.calc-eyebrow-line{background:linear-gradient(90deg,#bfa06acc,#0000);width:1.5rem;height:1px}.calc-hero h1{color:#fff;letter-spacing:-.02em;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:700;line-height:1.15;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin:0 0 .75rem}.calc-hero h1 .gold{background:linear-gradient(120deg,#bfa06a 0%,#f0d898 40%,#bfa06a 80%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:4s linear infinite shimmer-calc}@keyframes shimmer-calc{0%{background-position:200%}to{background-position:-200%}}.calc-hero-sub{color:#ffffff6b;max-width:520px;font-size:.85rem;line-height:1.6;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin:0 auto}.calc-body{max-width:1200px;margin:0 auto;padding:2rem 1rem 4rem}.calc-grid{grid-template-columns:1fr;align-items:start;gap:2rem;display:grid}@media (min-width:1024px){.calc-grid{grid-template-columns:1fr 400px;gap:2.5rem}}.calc-card{background:#fff;border:1px solid #0000000f;border-radius:1rem;padding:1.75rem;transition:box-shadow .3s;box-shadow:0 2px 20px #0000000a}.calc-card:hover{box-shadow:0 4px 30px #00000012}.calc-card-title{color:#0a1128;font-size:1.1rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin:0 0 1.25rem}.calc-card-label{color:#475569;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-bottom:.5rem}.calc-screen{animation:.45s cubic-bezier(.16,1,.3,1) both calcFadeIn}@keyframes calcFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calc-input{color:#0a1128;width:100%;font-size:.95rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif;background:#fff;border:1.5px solid #e2e8f0;border-radius:.625rem;outline:none;padding:.65rem .85rem;transition:border-color .2s,box-shadow .2s}.calc-input:focus{border-color:#bfa06a;box-shadow:0 0 0 3px #bfa06a26}.calc-input::placeholder{color:#94a3b8;font-weight:400}.tier-grid{flex-direction:column;gap:.625rem;margin-bottom:1.5rem;display:flex}.tier-card{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;align-items:center;gap:.75rem;padding:.875rem 1rem;transition:all .2s;display:flex}.tier-card:hover{background:#bfa06a08;border-color:#bfa06a}.tier-card.active{background:linear-gradient(135deg,#bfa06a0f,#bfa06a05);border-color:#bfa06a;box-shadow:0 0 0 3px #bfa06a1f}.tier-radio{border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex}.tier-card.active .tier-radio{border-color:#bfa06a}.tier-radio-dot{background:#bfa06a;border-radius:50%;width:8px;height:8px;transition:transform .2s;transform:scale(0)}.tier-card.active .tier-radio-dot{transform:scale(1)}.tier-info{flex:1;min-width:0}.tier-name{color:#0a1128;font-size:.9rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif}.tier-meta{color:#64748b;font-size:.75rem;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-top:1px}.add-req-list{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.add-req-item{align-items:center;gap:.625rem;padding:.5rem 0;display:flex}.add-req-cb{accent-color:#bfa06a;cursor:pointer;flex-shrink:0;width:18px;height:18px}.add-req-label{color:#1e293b;cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif}.add-req-label.checked{color:#bfa06a}.calc-select{color:#0a1128;cursor:pointer;width:100%;font-size:.875rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right .75rem center no-repeat;border:1.5px solid #e2e8f0;border-radius:.625rem;outline:none;padding:.65rem 2.25rem .65rem .85rem;transition:border-color .2s,box-shadow .2s}.calc-select:focus{border-color:#bfa06a;box-shadow:0 0 0 3px #bfa06a26}.hybrid-slider-wrap{margin-bottom:1.5rem}.hybrid-slider-row{align-items:center;gap:.75rem;display:flex}.hybrid-slider{appearance:none;background:#e2e8f0;border-radius:3px;outline:none;flex:1;height:6px}.hybrid-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:linear-gradient(135deg,#bfa06a,#d4b876);border-radius:50%;width:20px;height:20px;transition:transform .15s;box-shadow:0 2px 8px #bfa06a66}.hybrid-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.hybrid-value{text-align:center;color:#bfa06a;min-width:3rem;font-size:.9rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif}.calc-cta{letter-spacing:.03em;color:#0a1128;cursor:pointer;width:100%;font-size:.95rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;background:linear-gradient(135deg,#c9ab72,#bfa06a);border:none;border-radius:.75rem;padding:.9rem 1.5rem;transition:box-shadow .3s,transform .2s;position:relative;overflow:hidden}.calc-cta:hover{transform:translateY(-1px);box-shadow:0 0 40px #bfa06a73,0 0 80px #bfa06a26}.calc-cta:active{transform:translateY(0)}.calc-cta:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.calc-cta-outline{color:#bfa06a;cursor:pointer;width:100%;font-size:.875rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;background:0 0;border:1.5px solid #bfa06a;border-radius:.75rem;padding:.8rem 1.25rem;transition:all .25s}.calc-cta-outline:hover{background:#bfa06a14;box-shadow:0 0 20px #bfa06a26}.essential-section{background:#fafbfc;border:1px solid #f1f5f9;border-radius:.875rem;margin-bottom:1rem;padding:1.25rem}.essential-section-title{color:#0a1128;font-size:.95rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.essential-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.essential-row:last-child{border-bottom:none}.essential-left{flex:1;min-width:0}.essential-name{color:#0f172a;font-size:.85rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif}.essential-sub{color:#94a3b8;font-size:.72rem;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-top:1px}.essential-mid{align-items:center;gap:.375rem;display:flex}.stepper-btn{color:#475569;cursor:pointer;width:28px;height:28px;font-size:1rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.stepper-btn:hover{color:#bfa06a;background:#bfa06a0d;border-color:#bfa06a}.stepper-val{text-align:center;color:#0a1128;width:3rem;font-size:.85rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;border:1.5px solid #e2e8f0;border-radius:6px;padding:.3rem 0}.essential-sqft{color:#64748b;text-align:right;min-width:5rem;font-size:.8rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif}.essential-hint{color:#94a3b8;font-size:.7rem;font-style:italic;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-top:.5rem}.add-edit-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.add-edit-row:last-child{border-bottom:none}.add-edit-label{color:#bfa06a;font-size:.85rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif;flex:1}.add-edit-input{color:#0a1128;text-align:center;width:5.5rem;font-size:.85rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif;border:1.5px solid #e2e8f0;border-radius:.5rem;outline:none;padding:.375rem .5rem;transition:border-color .2s}.add-edit-input:focus{border-color:#bfa06a}.add-edit-unit{color:#94a3b8;font-size:.75rem;font-family:var(--font-montserrat),"Montserrat",sans-serif}.donut-wrap{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.donut-svg-wrap{width:200px;height:200px;position:relative}.donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center-val{color:#0a1128;font-size:1.4rem;font-weight:800;line-height:1.1;font-family:var(--font-montserrat),"Montserrat",sans-serif}.donut-center-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif}.legend-list{flex-direction:column;gap:.375rem;width:100%;display:flex}.legend-item{font-size:.78rem;font-family:var(--font-montserrat),"Montserrat",sans-serif;align-items:center;gap:.5rem;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.legend-label{color:#475569;flex:1;font-weight:500}.legend-val{color:#0f172a;font-weight:700}.cost-card{color:#fff;background:linear-gradient(135deg,#0a1128 0%,#132043 100%);border-radius:1rem;margin-top:1rem;padding:1.5rem}.cost-card-title{text-transform:uppercase;letter-spacing:.1em;color:#bfa06a;font-size:.7rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-bottom:.75rem}.cost-range{font-size:1.6rem;font-weight:800;line-height:1.2;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-bottom:.25rem}.cost-range .gold{background:linear-gradient(120deg,#bfa06a,#f0d898);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.cost-sub{color:#ffffff73;font-size:.72rem;font-family:var(--font-montserrat),"Montserrat",sans-serif}.cost-table{border-collapse:collapse;width:100%;font-size:.72rem;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-top:1rem}.cost-table th{text-align:left;color:#ffffff80;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #ffffff14;padding:.4rem .5rem;font-size:.65rem;font-weight:600}.cost-table td{color:#ffffffbf;border-bottom:1px solid #ffffff0d;padding:.4rem .5rem}.cost-table tr:last-child td{border-bottom:none}.prefs-bar{background:#f8fafc;border:1px solid #f1f5f9;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.875rem 1rem;display:flex}.prefs-summary{color:#475569;font-size:.8rem;font-weight:500;font-family:var(--font-montserrat),"Montserrat",sans-serif}.prefs-summary strong{color:#0a1128;font-weight:700}.prefs-edit-btn{color:#bfa06a;cursor:pointer;text-underline-offset:2px;font-size:.75rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif;white-space:nowrap;background:0 0;border:none;text-decoration:underline;transition:opacity .2s}.prefs-edit-btn:hover{opacity:.7}.props-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.props-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.props-grid{grid-template-columns:repeat(3,1fr)}}.prop-card{background:#fff;border:1px solid #f1f5f9;border-radius:.875rem;flex-direction:column;gap:.625rem;padding:1.25rem;transition:all .25s;display:flex}.prop-card:hover{border-color:#bfa06a4d;transform:translateY(-2px);box-shadow:0 4px 24px #0000000f}.prop-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.prop-name{color:#0a1128;font-size:.9rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif}.prop-badge{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:.6rem;font-weight:800;font-family:var(--font-montserrat),"Montserrat",sans-serif;border-radius:999px;padding:.2rem .5rem}.prop-badge.premium{color:#0a1128;background:linear-gradient(135deg,#bfa06a,#d4b876)}.prop-badge.grade-a{color:#fff;background:#0a1128}.prop-badge.grade-b{color:#475569;background:#e2e8f0}.prop-market{color:#94a3b8;font-size:.72rem;font-weight:500;font-family:var(--font-montserrat),"Montserrat",sans-serif}.prop-details{justify-content:space-between;gap:.5rem;margin-top:auto;display:flex}.prop-detail-item{flex-direction:column;display:flex}.prop-detail-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:.6rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif}.prop-detail-val{color:#0f172a;font-size:.82rem;font-weight:700;font-family:var(--font-montserrat),"Montserrat",sans-serif}.empty-state{text-align:center;color:#94a3b8;font-size:.9rem;font-family:var(--font-montserrat),"Montserrat",sans-serif;padding:3rem 1.5rem}.empty-state strong{color:#475569;margin-bottom:.5rem;font-size:1rem;display:block}.calc-note{color:#94a3b8;font-size:.7rem;line-height:1.5;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-top:.75rem}.calc-note strong{color:#64748b}@media (min-width:1024px){.calc-sidebar{position:sticky;top:90px}}.calc-back{color:#475569;cursor:pointer;font-size:.8rem;font-weight:600;font-family:var(--font-montserrat),"Montserrat",sans-serif;background:0 0;border:none;align-items:center;gap:.375rem;margin-bottom:1.25rem;padding:0;transition:color .2s;display:inline-flex}.calc-back:hover{color:#bfa06a}.props-count{color:#94a3b8;font-size:.8rem;font-family:var(--font-montserrat),"Montserrat",sans-serif;margin-bottom:1rem}.props-count strong{color:#0a1128}.calc-divider{background:#f1f5f9;height:1px;margin:1.25rem 0}.calc-section{margin-bottom:1.5rem}.lead-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0a112899;justify-content:center;align-items:center;padding:1rem;animation:.25s ease-out both calcFadeIn;display:flex;position:fixed;inset:0}.lead-modal-card{width:100%;max-width:440px;animation:.35s cubic-bezier(.16,1,.3,1) both calcFadeIn}
