.budget-calculator{position:relative;padding:100px 0;background:#0c0d12;color:#f5f4fc;scroll-margin-top:92px}
.budget-calculator [hidden]{display:none!important}
.budget-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:64px;margin-bottom:44px}
.budget-heading h2,.budget-editorial h2{font-size:clamp(34px,4.5vw,58px);font-weight:500;line-height:1.12;letter-spacing:-.045em;margin:24px 0 0}
.budget-heading h2 em,.budget-editorial h2 em{color:#a7a0f6;font-weight:400}
.budget-heading>p{font-size:18px;line-height:1.75;color:#c3c1d2;max-width:410px;margin:0 0 5px}
.budget-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:20px;align-items:stretch}
.budget-form{background:#171820;border:1px solid #333440;border-radius:24px;overflow:hidden;min-width:0}
.budget-preview{display:grid;grid-template-columns:160px 1fr;min-height:170px;border-bottom:1px solid #333440;background:#1d1e28}
.budget-preview img{width:100%;height:100%;min-height:170px;object-fit:cover}
.budget-preview-copy{padding:24px;display:flex;flex-direction:column;justify-content:center}
.budget-preview-label,.budget-result-kicker,.budget-preview-copy .budget-visual-note{font-size:11px;line-height:1.4;letter-spacing:.12em}
.budget-preview-label{color:#b6afff}
.budget-preview-copy p{font-size:17px;line-height:1.55;margin:10px 0;color:#eeedf8}
.budget-preview-copy .budget-visual-note{color:#a5a3b9;font-size:9px}
.budget-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 18px;padding:30px}
.budget-field{min-width:0}
.budget-field-wide{grid-column:1/-1}
.budget-field>label{display:block;font-size:16px;font-weight:500;line-height:1.45;margin-bottom:10px;color:#f3f1ff;min-height:46px}
.budget-field-wide>label{min-height:0}
.budget-select,.budget-area-input{position:relative}
.budget-field select,.budget-field input{width:100%;min-height:58px;border:1px solid #494957;border-radius:10px;background:#242530;color:#fff;padding:14px 40px 14px 16px;font-size:17px;font-family:inherit;line-height:1.4;outline-offset:4px;box-sizing:border-box}
.budget-field select{appearance:none;cursor:pointer}
.budget-field select option{background:#252630;color:#fff}
.budget-select>svg{position:absolute;right:15px;top:20px;width:18px;height:18px;pointer-events:none;color:#c4c0e9}
.budget-area-input>span{position:absolute;right:16px;top:17px;color:#bab7d0;font-size:16px;pointer-events:none}
.budget-field input::placeholder{color:#a19eb4;opacity:1}
.budget-field input[aria-invalid=true],.budget-field select[aria-invalid=true]{border-color:#ffb19d}
.budget-field-help{font-size:14px;line-height:1.65;color:#bcb9ce;margin:10px 0 0}
.budget-form-foot{padding:0 30px 28px;display:flex;flex-direction:column;gap:12px}
.budget-submit,.budget-quote{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;border:0;border-radius:10px;padding:16px 20px;font-size:18px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s}
.budget-submit{background:#b2a8ff;color:#161225}
.budget-submit:hover{background:#c5bdff}
.budget-submit svg,.budget-quote svg{width:22px;height:22px;flex-shrink:0}
.budget-form-foot>span{font-size:13px;color:#b8b5cb;text-align:center}
.budget-error{font-size:15px;line-height:1.6;color:#ffb6a6;margin:0}
.budget-result{position:relative;min-width:0;border:1px solid #514a72;border-radius:24px;background:radial-gradient(ellipse at top right,#5e507f55,transparent 68%),#24212f;padding:38px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.budget-result:before{content:'+';position:absolute;right:24px;top:12px;color:#a395d51a;font-size:160px;line-height:1;pointer-events:none;font-weight:200}
.budget-result-kicker{color:#c7bfff;display:block;position:relative}
.budget-result-symbol{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid #6f638b;border-radius:18px;color:#d5cdff;margin-bottom:32px;transform:rotate(-8deg)}
.budget-result-symbol svg{width:30px;height:30px}
.budget-placeholder h3{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:18px 0}
.budget-placeholder>p{font-size:17px;line-height:1.8;color:#c9c4d9}
.budget-placeholder-steps{display:flex;flex-direction:column;gap:0;margin-top:35px}
.budget-placeholder-steps span{font-size:15px;padding:15px 0;border-top:1px solid #4e465f;color:#dcd6eb}
.budget-result-title{font-size:23px;font-weight:500;line-height:1.45;margin:18px 0 12px}
.budget-range{font-size:clamp(29px,3.1vw,43px);font-weight:500;letter-spacing:-.045em;line-height:1.24;color:#fff;margin:0 0 16px;text-wrap:balance;overflow-wrap:break-word}
.budget-unit{font-size:15px;color:#cbc3e2;line-height:1.7;margin:0}
.budget-inputs{display:inline-flex;align-self:flex-start;flex-wrap:wrap;padding:9px 13px;border:1px solid #655979;border-radius:8px;color:#f0eafb;font-size:14px;line-height:1.6;margin:20px 0 8px}
.budget-result-scope,.budget-exclusions{padding-top:18px}
.budget-result-scope h4,.budget-exclusions h4{font-size:14px;letter-spacing:.025em;font-weight:600;color:#e8e1f6;margin:0 0 7px}
.budget-result-scope p,.budget-exclusions p{font-size:15px;line-height:1.65;color:#c9c2da;margin:0}
.budget-quote{background:#eee9ff;color:#231a3e;margin-top:26px}
.budget-quote:hover{background:#fff}
.budget-result-note{font-size:13px;line-height:1.65;color:#c4bcd5;margin:14px 0 0}
.budget-method{display:flex;align-items:flex-start;gap:15px;padding:23px 0 16px}
.budget-method-icon{width:23px;color:#aaa1e8;flex-shrink:0;margin-top:2px}
.budget-method-icon svg{width:23px;height:23px}
.budget-method p{font-size:15px;line-height:1.8;color:#bbb8cc;margin:0;max-width:1040px}
.budget-method strong{color:#ebe7f7;font-weight:500}
.budget-source{border-top:1px solid #30303c;padding-top:17px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;font-size:12px;line-height:1.7;color:#a7a3bc}
.budget-source p{margin:0}
.budget-source a{color:#c9c1ff;text-decoration:underline;text-underline-offset:4px;display:inline-flex;gap:5px;align-items:center}
.budget-source svg{width:13px;height:13px}
.budget-source>.budget-details-link{margin-left:auto;min-height:44px;font-size:14px;text-decoration:none}
.budget-products{border-top:1px solid #30303c;margin-top:24px;padding-top:25px}
.budget-products h3{font-size:20px;font-weight:500;margin:0 0 14px}
.budget-products>div{display:flex;flex-wrap:wrap;gap:9px}
.budget-products a{font-size:14px;padding:12px 15px;min-height:44px;box-sizing:border-box;border:1px solid #41404d;border-radius:7px;text-decoration:none;color:#d6d1e8;transition:border-color .2s}
.budget-products a:hover{border-color:#b4a9ed;color:white}
.budget-noscript{padding:20px;font-size:16px;background:#26212e}
.budget-anchor{display:block;position:relative;top:-90px;visibility:hidden}
.budget-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}
.budget-page-intro{padding:62px 0 0;background:#0c0d12}
.budget-page-intro .breadcrumbs{font-size:14px;color:#aba6c1;display:flex;gap:10px;align-items:center;margin-bottom:42px}
.budget-page-intro .breadcrumbs svg{width:16px;height:16px}
.budget-page-intro h1{font-size:clamp(36px,5.8vw,72px);font-weight:500;letter-spacing:-.055em;line-height:1.08;margin:20px 0}
.budget-page-intro-copy{font-size:20px;color:#c2bdd4;max-width:720px;line-height:1.65;margin:0}
.budget-page .budget-calculator{padding-top:42px}
.budget-page-next{padding-top:30px;padding-bottom:70px}
.budget-editorial{background:#efeff6;color:#252435;padding:90px 0}
.budget-editorial .v3-eyebrow{color:#62617c}
.budget-editorial h2 em{color:#76718e}
.budget-editorial-heading{max-width:850px;margin-bottom:38px}
.budget-editorial-heading>p{font-size:18px;line-height:1.85;color:#646277;margin-top:24px}
.budget-rate-table-wrap{overflow-x:auto;margin-bottom:48px;border:1px solid #d6d4e2;border-radius:15px;background:white}
.budget-rate-table{border-collapse:collapse;width:100%;min-width:690px;font-size:15px;text-align:left}
.budget-rate-table caption{text-align:left;font-size:16px;font-weight:500;padding:20px 24px;background:#e3e0f0;color:#353044}
.budget-rate-table th,.budget-rate-table td{padding:18px 24px;border-top:1px solid #e2e0eb;line-height:1.6}
.budget-rate-table thead th{font-size:12px;letter-spacing:.05em;color:#726b83;font-weight:500;text-transform:uppercase}
.budget-rate-table tbody th{font-weight:500}
.budget-rate-table td a{color:#625292;text-decoration:underline;text-underline-offset:4px}
.budget-rate-table td svg{width:14px;height:14px;display:inline}
.budget-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.budget-guide-grid article{background:white;border:1px solid #dddae8;border-radius:14px;padding:27px}
.budget-guide-number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#e9e3ff;color:#66538d;border-radius:50%;font-size:12px;margin-bottom:20px}
.budget-guide-grid h3{font-size:22px;font-weight:500;line-height:1.35;margin:0 0 15px;letter-spacing:-.025em}
.budget-guide-grid p{font-size:16px;line-height:1.8;color:#6a6479;margin:0}
.budget-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding:76px 0 54px}
.budget-faq h2{font-size:clamp(30px,3.7vw,46px)}
.budget-faq-list details{border-top:1px solid #cecbdc;padding:22px 0}
.budget-faq-list details:last-child{border-bottom:1px solid #cecbdc}
.budget-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:19px;font-weight:500;list-style:none;cursor:pointer;line-height:1.5}
.budget-faq-list summary::-webkit-details-marker{display:none}
.budget-faq-list svg{width:20px;flex-shrink:0}
.budget-faq-list details p{font-size:16px;line-height:1.85;color:#6a6479;margin:16px 0 0}
.budget-related{border-top:1px solid #cecbdc;padding-top:32px;display:flex;gap:50px;justify-content:space-between}
.budget-related h3{font-size:24px;font-weight:500;margin:14px 0}
.budget-related-links{display:flex;flex-direction:column;gap:5px}
.budget-related-links a{display:flex;gap:20px;align-items:center;justify-content:space-between;color:#5c4c8b;font-size:16px;min-height:44px}
.budget-related-links svg{width:17px;height:17px}
@media(min-width:1300px){.budget-fields{padding:34px}.budget-form-foot{padding:0 34px 30px}}
@media(max-width:1000px){.budget-heading{gap:30px}.budget-result{padding:28px}.budget-fields{padding:24px;gap:20px 14px}.budget-form-foot{padding:0 24px 24px}.budget-preview{grid-template-columns:120px 1fr}.budget-preview-copy{padding:20px}.budget-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-faq{gap:35px}}
@media(max-width:760px){.budget-calculator{padding:65px 0}.budget-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.budget-heading h2{font-size:38px}.budget-heading>p{font-size:17px;max-width:none}.budget-layout{grid-template-columns:1fr;gap:16px}.budget-form,.budget-result{border-radius:18px}.budget-preview{grid-template-columns:110px 1fr;min-height:145px}.budget-preview img{min-height:145px}.budget-preview-copy{padding:18px}.budget-preview-copy p{font-size:15px}.budget-preview-label{font-size:9px}.budget-result{padding:28px}.budget-range{font-size:38px;max-width:460px}.budget-placeholder{padding:10px 0}.budget-placeholder h3{font-size:32px}.budget-result-symbol{width:52px;height:52px;margin-bottom:24px}.budget-placeholder-steps{margin-top:22px}.budget-source{display:block;font-size:12px}.budget-source p{margin-bottom:9px}.budget-source>.budget-details-link{margin-left:0}.budget-method p{font-size:14px}.budget-page-intro{padding-top:35px}.budget-page-intro .breadcrumbs{margin-bottom:28px}.budget-page-intro-copy{font-size:18px}.budget-editorial{padding:60px 0}.budget-editorial h2{font-size:36px}.budget-editorial-heading>p{font-size:17px}.budget-guide-grid{grid-template-columns:1fr}.budget-guide-grid article{padding:24px}.budget-faq{grid-template-columns:1fr;gap:28px;padding:55px 0 35px}.budget-related{flex-direction:column;gap:20px}.budget-rate-table{font-size:14px}.budget-rate-table th,.budget-rate-table td{padding:15px}.budget-page-next{padding-bottom:45px}}
@media(max-width:420px){.budget-fields{grid-template-columns:1fr;padding:22px}.budget-field>label{min-height:0;font-size:16px}.budget-field select,.budget-field input{font-size:16px}.budget-field-help{font-size:14px}.budget-heading h2{font-size:34px}.budget-preview{grid-template-columns:95px 1fr}.budget-preview-copy{padding:15px}.budget-form-foot{padding:0 22px 22px}.budget-result{padding:25px}.budget-range{font-size:33px}.budget-products a{font-size:13px}.budget-result-title{font-size:21px}}
@media(prefers-reduced-motion:reduce){.budget-calculator *{transition:none!important;scroll-behavior:auto!important}}
