/* Compact project builder and the review shown before submitting contact details. */
.faq-intro > .text-button { margin-top:32px; }
.calculator-live { padding-block:clamp(64px,7vw,104px); }
.calculator-live .calculator-layout { grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:clamp(32px,5vw,76px); align-items:start; }
.calculator-live .calculator-intro { position:static; padding-top:12px; min-width:0; }
.calculator-live .calculator-intro h2 { font-size:clamp(38px,4.2vw,64px); line-height:1.04; letter-spacing:-.055em; max-width:480px; }
.restored-home .calculator-live .calculator-intro > p:not(.section-kicker) { margin-top:24px; max-width:370px; font-size:16px; line-height:1.65; }
.calculator-live .calc-summary { margin-top:32px; padding:20px 0 0; border-bottom:0; gap:6px; }
.calculator-live .calc-summary > span { font-size:14px; letter-spacing:.12em; }
.calculator-live .calc-summary strong { margin:0; font-size:23px; font-weight:550; line-height:1.3; letter-spacing:-.03em; }
.calculator-live .calc-summary small { font-size:14px; }
.calculator-live .calculator-form { min-width:0; padding:24px; gap:20px; border:0; border-radius:32px; background:#ffffff04; }
.calculator-live .calculator-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.calculator-live .calculator-form legend { width:100%; padding:0; margin:0 0 10px; gap:10px; flex-wrap:wrap; font-size:15px; font-weight:600; }
.calculator-live .calculator-form legend > span { flex:none; width:28px; height:28px; display:grid; place-items:center; border:1px solid #ff8b694d; border-radius:50%; font-size:14px; letter-spacing:0; }
.calculator-live .calculator-form legend > small { margin-left:auto; font-size:14px; font-weight:400; color:#b9b0a6; }
.calculator-live .choice-pills { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.calculator-live .choice-pills button { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; padding:10px 9px; border:0; border-radius:999px; color:#e5dfd7; background:#24211d; font-size:14px; line-height:1.35; text-align:center; transition:color .2s ease,background .25s ease,transform .25s ease; }
.calculator-live [data-calc-group="type"] { grid-template-columns:repeat(4,minmax(0,1fr)); }
.calculator-live [data-calc-group="type"] button:last-child { grid-column:span 2; }
.calculator-live .choice-pills button:hover { background:#373129; color:#fff; }
.calculator-live .choice-pills button[aria-pressed="true"] { color:#fff; background:#aa3d20; box-shadow:none; }
.calculator-live .choice-pills button[aria-pressed="true"]:hover { background:#be4728; }
.calculator-live .choice-pills button:active { transform:scale(.97); }
.calculator-live .choice-pills button:focus-visible { outline:2px solid #ffac8e; outline-offset:3px; }
.calculator-live .brief-note-label { margin:0; display:block; }
.calculator-live .brief-note-label textarea { display:block; min-height:88px; padding:13px 18px; background:#211e1a; border:0; border-radius:24px; line-height:1.5; font-size:15px; }
.calculator-live .brief-note-label textarea:focus { outline:2px solid #ff8b69; outline-offset:2px; }
.calculator-live .brief-note-label textarea::placeholder { color:#afa69c; }
.calculator-live .builder-next { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:16px; border-top:1px solid #ffffff20; }
.calculator-live .builder-next > p { margin:0; color:#c4bab0; font-size:14px; line-height:1.5; }
.calculator-live .calc-submit { width:auto; min-width:168px; min-height:48px !important; margin:0; }
.lead-brief-review { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px; border:1px solid #c8b9a8; border-radius:24px; background:#ede6dc; }
.lead-brief-review[hidden], [data-lead-type-field][hidden] { display:none !important; }
.lead-brief-review > div { min-width:0; }
.lead-brief-review span { display:block; color:#71665b; font-size:14px; letter-spacing:.08em; text-transform:uppercase; }
.lead-brief-review strong { display:block; margin-top:7px; font-size:17px; font-weight:600; line-height:1.45; }
.lead-brief-review p { margin:8px 0 0; font-size:14px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.lead-brief-review button { flex:none; padding:4px 0; color:#a53f22; background:none; border:0; border-bottom:1px solid currentColor; font-size:14px; cursor:pointer; }
.lead-brief-review button:focus-visible { outline:2px solid #a53f22; outline-offset:4px; }
/* Fit the contact step comfortably; keep touch, wheel and keyboard scrolling
   available on short screens without a scrollbar cutting through the card. */
.lead-modal__dialog { padding:28px 32px; scrollbar-width:none; -ms-overflow-style:none; overscroll-behavior:contain; scroll-padding-block:20px; }
.lead-modal__dialog::-webkit-scrollbar { display:none; width:0; height:0; }
.lead-modal__dialog > .section-kicker { margin:0 56px 12px 0; font-size:14px; line-height:1.5; }
.lead-modal__dialog > h2 { padding-right:38px; font-size:clamp(32px,3.6vw,44px); line-height:1.06; }
.lead-modal__dialog > p:not(.section-kicker):not(.lead-form-error) { margin-top:12px; font-size:14px; line-height:1.5; }
.lead-modal__dialog .lead-form { margin-top:20px; gap:14px; }
.lead-modal__dialog .lead-form label:not(.form-consent) { gap:4px; font-size:14px; }
.lead-modal__dialog .lead-form input:not([type="checkbox"]), .lead-modal__dialog .lead-form select { min-height:44px; padding-block:8px; }
.lead-modal__dialog .lead-form textarea { height:76px; min-height:76px; padding-block:8px; }
.lead-modal__dialog .form-consent { font-size:14px; line-height:1.5; }
.lead-modal__dialog .lead-submit { min-height:48px; }
.lead-modal__dialog .lead-modal__phone { margin-top:16px; padding-top:12px; }
.lead-modal__dialog .lead-modal__phone span, .lead-modal__dialog .lead-modal__phone a { font-size:14px; }
@media(max-width:650px) {
 .lead-modal__dialog { padding:24px 20px; }
 .lead-modal__dialog > h2 { padding-right:20px; font-size:clamp(28px,7.5vw,36px); }
 .lead-modal__dialog .lead-form { gap:12px; }
 .lead-modal__dialog .lead-modal__phone { flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px 16px; }
}
@media(max-width:900px) {
 .calculator-live .calculator-layout { grid-template-columns:1fr; gap:30px; }
 .calculator-live .calculator-intro { padding:0; }
 .calculator-live .calculator-intro h2 { font-size:clamp(36px,6vw,48px); }
 .calculator-live .calc-summary { display:none; }
 .restored-home .calculator-live .calculator-intro > p:not(.section-kicker) { margin-top:18px; max-width:540px; }
}
@media(max-width:500px) {
 .calculator-live .calculator-form { padding:20px 16px; gap:22px; border-radius:28px; }
 .calculator-live .choice-pills, .calculator-live [data-calc-group="type"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .calculator-live [data-calc-group="type"] button:last-child { grid-column:1/-1; }
 .calculator-live [data-calc-group="context"] button:last-child { grid-column:1/-1; }
 .calculator-live .calculator-form legend { font-size:14px; }
 .calculator-live .calculator-form legend > small { font-size:14px; }
 .calculator-live .builder-next { gap:14px; }
 .calculator-live .calc-submit { min-width:125px; }
 .calculator-live .brief-note-label textarea { font-size:16px; }
 .lead-brief-review { flex-direction:column; gap:12px; padding:14px; }
 .faq-intro > .text-button { margin-top:28px; }
}
@media(prefers-reduced-motion:reduce) { .calculator-live .choice-pills button { transition:none; } }
