/* New Studio workspace design. Existing hero and CRM forms are deliberately untouched. */
.builder-page{background:#10161b;color:#f1f2f2}
.studio-workspace-intro{padding:62px 0 25px}
.studio-workspace-heading h2{font-family:Arial,sans-serif;font-weight:800;font-size:clamp(30px,4.3vw,55px);letter-spacing:-.045em}
.studio-workspace-heading h2 span{color:#d4b478}
.studio-workspace-heading p{font-size:15px;max-width:720px}
.studio-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,.42fr);gap:26px;align-items:start;padding:20px 0 100px}
.studio-config{display:grid;gap:20px;min-width:0}
.studio-stage{background:#e8e7e3;color:#20282b;padding:clamp(23px,3vw,43px);border-radius:2px;min-width:0}
.studio-stage:nth-child(even){background:#dce1e2}
.stage-tag{display:block;font-size:10px;font-weight:800;letter-spacing:.19em;color:#87652d;margin-bottom:19px}
.stage-head h2{font:800 clamp(26px,3.4vw,42px)/1.1 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 12px;color:#1d252a}
.stage-head p{font-size:14px;line-height:1.7;color:#525d63;max-width:620px;margin:0 0 25px}
.vehicle-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.vehicle-select-grid label{display:grid;gap:9px;color:#38454a;font-size:10px;font-weight:800;letter-spacing:.13em;min-width:0}
.vehicle-select-grid select{width:100%;min-width:0;background:#fff;color:#18252c;border:1px solid #b6bec0;border-radius:2px;padding:15px 12px;font-size:14px;font-weight:600;letter-spacing:0}
.vehicle-profile{background:#f6f5f2;border-left:3px solid #bb9254;padding:17px 20px;margin:23px 0 15px;font-size:13px;line-height:1.7;color:#38454a}
.vehicle-profile strong{display:block;font-size:16px;color:#19252c}
.studio-roof-confirm{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:700;line-height:1.5;color:#263338}
.studio-roof-confirm input{width:18px;height:18px;accent-color:#8e6c37;flex-shrink:0}
.studio-helper{font-size:12px;line-height:1.7;color:#606b70;margin:16px 0 0}
.studio-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.studio-option-list .builder-choice{display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:94px;padding:19px;background:#f8f8f5;color:#17252b;border:1px solid #b9c0c2;border-radius:2px;box-shadow:none;transform:none}
.studio-option-list .builder-choice strong{font-size:14px;line-height:1.4}
.studio-option-list .builder-choice small{font-size:14px;color:#87652d}
.studio-option-list .builder-choice[aria-pressed=true]{background:#23343e;color:#fff;border-color:#23343e;box-shadow:inset 0 0 0 1px #23343e}
.studio-option-list .builder-choice[aria-pressed=true] small{color:#f0cc8a}
.studio-option-list .builder-choice[aria-pressed=true]::after{background:#d7b777;color:#1b282e}
.studio-option-list .builder-choice:not(:disabled):hover{border-color:#87652d;transform:none;background:#f0eee7}
.studio-option-list .builder-choice[aria-pressed=true]:hover{background:#23343e}
.studio-option-list .builder-choice:disabled{opacity:.5}
.studio-estimate{position:sticky;top:100px;min-width:0}
.estimate-card{background:#213039;border:1px solid #536068;padding:30px 27px;color:#fff;border-radius:2px;box-shadow:0 20px 40px #0002}
.estimate-card .stage-tag{color:#d6b97f}
.estimate-vehicle{font-size:18px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.estimate-price{font:800 clamp(37px,4vw,57px)/1.2 Arial,sans-serif;letter-spacing:-.06em;margin:15px 0 8px;color:#e9c783}
.estimate-count{font-size:10px;letter-spacing:.13em;color:#aebec3;margin-bottom:25px}
.estimate-row{display:flex;justify-content:space-between;gap:14px;padding:17px 0;border-top:1px solid #566169}
.estimate-row span{font-size:10px;letter-spacing:.08em;color:#c1c9cc}
.estimate-row strong{font-size:12px;text-align:right;max-width:62%;line-height:1.5}
.estimate-card .studio-helper{color:#b8c4c8;border-top:1px solid #566169;padding-top:18px}
.studio-complexity-notice{padding:13px;background:#374650;color:#f0d9ac;font-size:12px;line-height:1.6;margin-top:15px}
.studio-submit{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px;padding:18px 17px;background:#d3ad6b;color:#172229;border:0;border-radius:2px;font-size:11px;font-weight:900;letter-spacing:.07em;cursor:pointer}
.studio-submit span{font-size:18px}
.studio-submit:hover{background:#e9c98e}
@media(max-width:900px){.studio-shell{grid-template-columns:minmax(0,1fr)}.studio-estimate{position:static}}
@media(max-width:540px){.studio-shell{gap:16px;padding-bottom:65px}.studio-workspace-intro{padding-top:40px}.studio-stage{padding:23px 18px}.vehicle-select-grid{grid-template-columns:1fr;gap:13px}.studio-option-list{grid-template-columns:1fr}.studio-option-list .builder-choice{min-height:76px}.estimate-card{padding:26px 20px}.builder-page,.builder-page main{max-width:100%;overflow-x:clip}}
/* Editorial configuration recap, distinct from legacy calculator */
.estimate-v3{background:#e9e6df!important;color:#171b1d!important;border:0!important;border-radius:0!important;box-shadow:12px 12px 0 #bdab89!important;padding:clamp(22px,3vw,39px)!important}
.estimate-v3-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #aaa49b;padding-bottom:18px;gap:12px}
.estimate-v3-kicker{font-size:10px;font-weight:800;letter-spacing:.16em;color:#5b5650}
.estimate-v3-dot{width:9px;height:9px;background:#ad8643;border-radius:50%;flex-shrink:0}
.estimate-v3-title{font-family:'DM Sans',sans-serif!important;font-size:clamp(37px,4vw,62px)!important;letter-spacing:-.065em!important;line-height:.99!important;margin:27px 0 34px!important;font-weight:900!important;color:#171b1d!important}
.estimate-v3-title span{color:#a47a34}
.estimate-v3-vehicle{background:#d9d3c8;padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.estimate-v3-vehicle span,.estimate-v3-total>div>span{font-size:10px;letter-spacing:.12em;font-weight:800;color:#666058}
.estimate-v3-vehicle strong{font-size:18px;line-height:1.35;color:#171b1d;overflow-wrap:anywhere}
.estimate-v3-services{padding:19px 0}
.estimate-v3 .estimate-row{border-top:0!important;border-bottom:1px solid #c5c0b8;padding:15px 0!important}
.estimate-v3 .estimate-row span{font-size:10px!important;color:#6a6258!important;letter-spacing:.1em!important;font-weight:800}
.estimate-v3 .estimate-row strong{font-size:12px!important;color:#1e2527!important}
.estimate-v3-total{display:flex;align-items:end;justify-content:space-between;gap:12px;border-top:3px solid #1e2527;padding:20px 0 10px}
.estimate-v3 .estimate-price{font-size:clamp(43px,5vw,65px)!important;color:#1e2527!important;line-height:1!important}
.estimate-v3 .estimate-count{font-size:10px!important;letter-spacing:.05em;color:#666058!important;margin-top:8px}
.estimate-v3 .studio-helper{color:#68645e!important;font-size:12px!important;line-height:1.65!important}
.estimate-v3 .studio-complexity-notice{background:#d7c5a5!important;color:#473b27!important}
.estimate-v3 .studio-submit{background:#1b2428!important;color:#fff!important;border-radius:0!important;letter-spacing:.08em!important}
@media(max-width:600px){.estimate-v3{box-shadow:6px 6px 0 #bdab89!important}.estimate-v3-total{flex-wrap:wrap}.estimate-v3-title{font-size:44px!important}}

/* Distinct, rounded recap: mobile safe and unlike the former squared calculator. */
.studio-estimate,.studio-estimate *{min-width:0;box-sizing:border-box}
.estimate-v3{border-radius:28px!important;background:#f1eee8!important;color:#182124!important;box-shadow:0 18px 50px #0002!important;max-width:100%!important;overflow:hidden!important}
.estimate-v3 .estimate-v3-title{font-size:clamp(28px,3.1vw,42px)!important;letter-spacing:-.045em!important;overflow-wrap:break-word!important;line-height:1.06!important}
.estimate-v3 .estimate-v3-title span{display:block;font-size:.85em!important}
.estimate-v3 .estimate-v3-vehicle{border-radius:16px!important;background:#e0d9cc!important}
.estimate-v3 .estimate-v3-services{border-radius:18px!important;background:#fffaf2!important;padding:8px 16px!important;margin:20px 0!important}
.estimate-v3 .estimate-row{gap:12px!important;flex-wrap:wrap!important}
.estimate-v3 .estimate-row strong{overflow-wrap:anywhere!important;text-align:right!important;max-width:65%!important}
.estimate-v3 .estimate-v3-total{gap:16px!important;flex-wrap:wrap!important}
.estimate-v3 .studio-submit{border-radius:100px!important}
.studio-stage{border-radius:22px!important;overflow:hidden!important}
.studio-option-list .builder-choice{border-radius:14px!important}
@media(max-width:700px){.studio-shell,.studio-config,.studio-estimate{min-width:0!important;max-width:100%!important}.estimate-v3{padding:23px!important;border-radius:22px!important}.estimate-v3 .estimate-v3-title{font-size:clamp(29px,8vw,40px)!important}.estimate-v3 .estimate-price{font-size:clamp(38px,12vw,55px)!important}}

/* Empire warranty information: separate editorial layout, not pricing controls. */
.empire-warranty{padding-top:clamp(65px,8vw,125px);padding-bottom:clamp(65px,8vw,125px);color:#f2eee7}
.empire-warranty-heading{max-width:740px;margin-bottom:38px}
.empire-warranty-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.2em;color:#c3a16b;margin-bottom:15px}
.empire-warranty-heading h2{font-family:"DM Sans",sans-serif;font-weight:850;letter-spacing:-.055em;line-height:1.03;font-size:clamp(36px,5vw,70px);margin:0 0 20px}
.empire-warranty-heading p{max-width:640px;color:#b8b7b3;line-height:1.75}
.empire-warranty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.empire-warranty-item{background:#eae7df;border-radius:18px;padding:clamp(19px,2.2vw,31px);color:#242526;min-width:0}
.empire-warranty-type{font-size:10px;font-weight:800;letter-spacing:.12em;color:#8b704a}
.empire-warranty-item h3{font-size:clamp(26px,2.7vw,39px);font-weight:850;letter-spacing:-.055em;margin:22px 0 13px;color:#202528}
.empire-warranty-item p{font-size:13px;line-height:1.65;color:#5b5b59;margin:0}
.empire-craftsmanship{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:35px;align-items:center;margin-top:18px;padding:clamp(23px,4vw,49px);border:1px solid #947e5b;border-radius:24px;background:linear-gradient(115deg,#282927,#171a1d)}
.empire-craftsmanship h3{font-size:clamp(27px,3.5vw,49px);line-height:1.08;letter-spacing:-.04em;margin:0}
.empire-craftsmanship p{color:#d4d1ca;font-size:14px;line-height:1.8;margin:0}
.empire-warranty-care{font-size:12px;color:#aeb0b0;line-height:1.8;max-width:950px;margin:24px 0 0}
.empire-warranty-care strong{color:#e4d6bb}
@media(max-width:900px){.empire-warranty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.empire-craftsmanship{grid-template-columns:1fr;gap:16px}}
@media(max-width:540px){.empire-warranty-grid{grid-template-columns:1fr}.empire-warranty-item{padding:24px}.empire-warranty-item h3{margin-top:14px}.empire-craftsmanship{border-radius:18px}}

.ppf-dialog{width:min(740px,calc(100vw - 24px));max-height:min(88vh,850px);overflow:auto;background:#f0ede7;color:#202426;border:1px solid #bdb5a9;border-radius:22px;padding:0;box-shadow:0 30px 100px #0009}
.ppf-dialog::backdrop{background:rgba(9,12,14,.82);backdrop-filter:blur(5px)}
.ppf-dialog-inner{padding:clamp(20px,4vw,36px)}.ppf-dialog-head h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.05em;margin:8px 0}.ppf-dialog-head p{font-size:13px;line-height:1.6;color:#656461}
.ppf-dialog fieldset{border:0;padding:0;margin:22px 0}.ppf-dialog legend{font-weight:800;font-size:12px;letter-spacing:.07em;margin-bottom:12px}
.ppf-finish-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ppf-finish-choices legend{grid-column:1/-1}.ppf-finish-choices label,.ppf-package-card{cursor:pointer;border:1px solid #c9c4bb;background:#fff;border-radius:13px;padding:15px;display:flex;gap:11px;align-items:center}
.ppf-dialog input{accent-color:#8c6b3e}.ppf-dialog label:has(input:checked){border-color:#8c6b3e;background:#f7efe2;box-shadow:inset 0 0 0 1px #8c6b3e}
.ppf-dialog label strong,.ppf-dialog label small{display:block}.ppf-dialog label strong{font-size:14px}.ppf-dialog label small{font-size:11px;color:#656461;line-height:1.5;margin-top:4px}
.ppf-packages{display:grid;gap:10px}.ppf-package-card{justify-content:space-between;min-height:114px}.ppf-package-copy{flex:1}.ppf-car-art{width:160px;flex:0 0 160px}.ppf-car-art svg{width:100%;height:auto}.ppf-car-art .ppf-body{fill:#d7d9d8;stroke:#4c5254;stroke-width:2}.ppf-car-art .ppf-glass{fill:#747f83;stroke:#4c5254;stroke-width:1}.ppf-car-art .ppf-highlight{fill:#b99760;stroke:#8c6b3e;stroke-width:1.2}.ppf-car-art circle{fill:#34383a;stroke:#bbb;stroke-width:3}
.ppf-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.ppf-dialog-actions button{border-radius:10px;padding:14px 18px;font-weight:800;font-size:12px;cursor:pointer}.ppf-secondary{border:1px solid #aaa;background:transparent;color:#333}.ppf-primary{border:1px solid #202426;background:#202426;color:white}
@media(max-width:560px){.ppf-finish-choices{grid-template-columns:1fr}.ppf-package-card{flex-wrap:wrap}.ppf-car-art{width:130px;flex-basis:130px}.ppf-dialog-actions{flex-direction:column-reverse}.ppf-dialog-actions button{width:100%}}

/* Photo-based PPF coverage selector: real customer-supplied Model 3 references. */
.ppf-package-card{min-height:146px}
.ppf-package-card .ppf-car-art{display:block;flex:0 0 205px;width:205px;max-width:44%;background:#fff;border-radius:9px;overflow:hidden}
.ppf-package-card .ppf-car-art img{display:block;width:100%;height:125px;object-fit:contain;object-position:center;background:#fff}
@media(max-width:560px){.ppf-package-card{gap:10px}.ppf-package-card .ppf-car-art{flex:0 0 135px;width:135px;max-width:100%;margin-left:auto}.ppf-package-card .ppf-car-art img{height:100px}}
