/* Explicit contrast overrides: the site-wide light text must not leak into forms. */
.planner-layout,.planner-layout h1,.planner-layout h2,.planner-layout h3,.planner-layout p,.planner-layout label,.planner-layout strong{color:#171715}
.planner-form{background:#f7f3eb}
.planner-fields label, .planner-form fieldset{background:#fff;border-color:#8f8a80;color:#171715}
.planner-fields input,.planner-fields select{color:#171715!important;background:#fff!important}
.dimension-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:4px}
.dimension-inputs input{width:100%;font-size:15px!important}
.dimension-inputs em{font:500 10px "DM Mono",monospace;color:#514d46;font-style:normal}
.planner-fields input::placeholder{color:#5b5750;opacity:1}
.planner-fields label span,.plan-details small,.planner-result-head span,.planner-estimate small,.planner-note{color:#514d46!important}
.planner-check{color:#171715!important}
.planner-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.planner-form legend{grid-column:1/-1}
.planner-check{border:1px solid #d4cdc0!important;padding:14px!important;min-height:74px;cursor:pointer;background:#fff;display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:start!important;gap:11px!important;box-sizing:border-box;overflow:hidden}
.planner-check:has(input:checked){border-color:#ed6a2c;background:#fff4ed}
.priority-help{grid-column:1/-1;margin:0 0 3px;color:#514d46!important;font-size:12px!important;line-height:1.4}
.planner-check input{appearance:auto!important;width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;margin:2px 0 0!important;padding:0!important;align-self:start!important;box-sizing:border-box!important}
.planner-check span{min-width:0!important;max-width:100%!important;overflow-wrap:break-word}
.planner-check b{display:block;font-size:13px;line-height:1.25}
.planner-check small{display:block;margin-top:3px;color:#514d46;font-size:10px;line-height:1.3}
.seat-row{flex-direction:column;align-items:center;gap:9px}
.seat-line{display:flex;justify-content:center;gap:10px}
.room-visual{height:auto;min-height:350px;aspect-ratio:var(--room-ratio);}
.projector{left:50%;right:auto;transform:translateX(-50%)}
@media(max-width:520px){.planner-form fieldset{grid-template-columns:1fr}}
.planner-result{background:#e5ded0}
.plan-details{background:#fff;border-color:#8f8a80}
.plan-details article{border-color:#8f8a80}
.planner-estimate p{color:#171715!important}
.planner-recommendations{margin-top:24px;border-top:1px solid #8f8a80;padding-top:20px}
.planner-recommendations article{padding:13px 0;border-bottom:1px solid #c9c1b5}
.planner-recommendations small{display:block;font:500 10px "DM Mono",monospace;letter-spacing:.08em;color:#514d46}
.planner-recommendations strong{font-size:15px;line-height:1.45;display:block;margin-top:6px}
.planner-recommendations p{font-size:13px;line-height:1.55;margin:6px 0 0;color:#171715!important}
.planner-disclaimer{margin-top:14px;line-height:1.5!important;font-size:10px!important}
.planner-client-step{margin-top:46px}
.planner-client-fields{margin-bottom:22px}
.planner-quote{width:100%;margin-top:20px;border:1px solid #171715;background:#fff;color:#171715;padding:16px;font:800 14px Manrope,sans-serif;display:flex;justify-content:space-between;cursor:pointer}
.planner-quote:hover{background:#171715;color:#fff}
.speaker.rear{bottom:12%;top:auto}.speaker.rear.left{left:12%}.speaker.rear.right{right:12%}
.speaker.height{top:37%;width:20px;height:20px;border-radius:50%;font-size:7px}.speaker.height-one{left:25%}.speaker.height-two{right:25%}.speaker.height-three{top:67%;left:25%}.speaker.height-four{top:67%;right:25%}
.subwoofer{position:absolute;width:36px;height:28px;background:#121212;border:1px solid #ed6a2c;color:#ed6a2c;display:grid;place-items:center;font:500 7px "DM Mono",monospace}.sub-one{top:34%;left:6%}.sub-two{top:34%;right:6%}.optional-speaker{display:none}
.seat{position:relative}.seat i{position:absolute;right:5px;bottom:5px;color:#ed6a2c;font-size:10px;font-style:normal}.seat i::after{content:' 6A';font:500 6px "DM Mono",monospace;color:#d5c5ae}
