/* A calm, readable request surface and a single visual closing chapter. */
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--action);outline-offset:3px}
.comparison:has(input:focus-visible){outline:2px solid var(--action);outline-offset:4px}
.contact-footer :focus-visible,.estimate-panel :focus-visible{outline-color:#fff}
input,textarea{caret-color:var(--action)}
textarea{scrollbar-width:thin;scrollbar-color:#7890b0 #edf3fc}
::selection{background:#cbdafa;color:var(--ink)}
.contact-menu{padding:14px}
.contact-menu>p{padding:6px 10px 2px}
.contact-menu>a,.contact-menu>button{border:0;border-radius:10px;padding:16px 10px;min-height:76px}
.contact-menu small{font-size:14px}
.contact-menu>a:hover,.contact-menu>button:hover{background:#edf3fc}
.contact-menu :focus-visible{outline-offset:0}
.project-request{margin-top:18px;border-top:1px solid #c7d3e0;padding:20px 0 0;display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;text-align:left;font-size:15px;color:var(--blue);line-height:1.5}
.project-request small{display:block;font-size:14px;color:var(--muted);margin-top:3px}
.project-request svg{width:26px;flex:none}
.project-request:hover small{color:var(--blue)}
.request-dialog{width:min(1020px,calc(100% - 48px));max-height:calc(100svh - 48px);padding:0;border-radius:24px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7890b0 #edf3fc}
.request-dialog::backdrop{background:#071a3e80;backdrop-filter:blur(5px)}
.request-topbar{position:sticky;top:0;height:0;z-index:3}
.dialog-close{z-index:2;top:16px;right:16px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--ink)}
.dialog-close svg{width:24px;height:24px;transition:transform .18s}
.dialog-close:hover{background:#edf3fc}
.request-layout{display:grid;grid-template-columns:.84fr 1.16fr;min-height:630px}
.request-brief{padding:48px 36px;background:#edf3fc;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.request-brief h3{font-weight:400;font-size:32px;letter-spacing:-.035em;line-height:1.15;margin:0 0 22px;text-wrap:balance}
.request-brief .request-total{font-size:clamp(36px,5vw,64px);line-height:1.1;letter-spacing:-.035em;color:var(--blue);margin:8px 0 28px;font-variant-numeric:tabular-nums}
.request-summary{font-size:16px;line-height:1.8;white-space:pre-line;margin:0;overflow-wrap:anywhere}
.request-note{padding-top:24px;border-top:1px solid #c4d1e3;margin:28px 0 0;color:#405677;font-size:14px;line-height:1.65}
.request-brief-copy{font-size:16px;line-height:1.7;color:#405677;margin:0 0 32px;text-wrap:pretty}
.request-dialog:not([data-kind=estimate]){width:min(680px,calc(100% - 48px))}
.request-dialog:not([data-kind=estimate]) .request-layout{display:block;min-height:0}
.request-dialog[data-kind=direct] .request-brief{display:none}
.request-dialog:not([data-kind=estimate]) .request-fields{padding:60px 48px 36px}
.request-dialog[data-kind=project] .request-brief,.request-dialog[data-kind=organization] .request-brief{padding:54px 48px 24px}
.request-dialog[data-kind=project] .request-fields,.request-dialog[data-kind=organization] .request-fields{padding-top:28px}
.request-dialog:not([data-kind=estimate]) .request-brief-copy{margin:0}
#requestTitle:focus{outline:none}
.request-fields{padding:64px 40px 30px;min-width:0}
.request-fields h2{font-size:32px;font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:0 0 12px;text-wrap:balance}
.request-intro{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 28px;text-wrap:pretty}
.request-dialog label{font-size:14px;font-weight:500;margin-top:20px;line-height:1.5}
.request-dialog input,.request-dialog textarea{font-size:16px;font-weight:400;line-height:1.5;padding:12px 14px;margin-top:8px;border-radius:8px;border:1px solid #adbfd4;background:#fff}
.request-dialog input:focus,.request-dialog textarea:focus,#calculatorComment:focus{border-color:var(--action);outline:1px solid var(--action);outline-offset:0}
.request-dialog input:disabled,.request-dialog textarea:disabled{opacity:.7;background:#f3f7fb}
.request-dialog textarea{min-height:132px;resize:vertical}
.request-dialog textarea::placeholder{color:#586981;opacity:1}
.request-dialog .form-privacy{font-size:14px;font-weight:400;line-height:1.6;margin:18px 0 0}
.request-dialog .button{min-height:56px;margin-top:22px;border-radius:8px;font-size:16px}
.request-dialog #formStatus{font-size:14px;margin:14px 0 0;line-height:1.6}
#formStatus:empty{display:none}
#formStatus[data-state=error]{color:#ab2828}
#formStatus[data-state=success]{color:#076147}
.contact-footer{border-radius:32px 32px 0 0}
.closing-cta{padding:72px 0 48px;text-align:left}
.closing-copy{display:block;margin-bottom:36px}
.closing-copy h2{font-size:clamp(42px,4.4vw,70px);margin:0;max-width:none;text-wrap:balance}
.closing-copy>p{font-size:18px;line-height:1.65;text-wrap:pretty;max-width:830px;margin:20px 0 0}
.closing-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}
.closing-image{margin:0;min-width:0;align-self:stretch;display:flex;flex-direction:column}
.closing-image img{width:100%;height:410px;flex:none;object-fit:cover;object-position:45% 50%;border-radius:18px}
.closing-image figcaption{font-size:12px;color:#bdcfea;margin-top:12px}
.closing-connect{padding:12px 0 24px;min-width:0}
.closing-connect h3{font-weight:400;font-size:30px;letter-spacing:-.03em;line-height:1.25;margin:0 0 16px;text-wrap:balance}
.closing-connect>p{font-size:16px;line-height:1.7;color:#cbdcf3;margin:0 0 26px;max-width:50ch}
.contact-footer .contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none;margin:0}
.contact-footer .contact-actions .button{grid-column:1/-1;width:100%;min-width:0;min-height:60px;padding:17px 24px;font-size:18px}
.contact-footer .channel-button{min-width:0;min-height:58px;padding:15px 16px;font-size:16px;justify-content:flex-start}
.contact-footer .channel-button>svg:last-child{margin-left:auto;width:20px}
.closing-phone{display:block;text-align:left;margin:26px 0 0}
.closing-phone .phone-number{font-size:29px;color:white;margin:0 0 8px;letter-spacing:-.025em;line-height:1.3;user-select:all;font-variant-numeric:tabular-nums}
.phone-actions{display:flex;align-items:center;gap:26px}
.closing-phone .phone-actions a,.phone-actions button{display:inline-flex;gap:9px;align-items:center;font-size:14px;line-height:1.5;min-height:40px;padding:0;text-decoration:none;color:#d9e6fa}
.phone-actions svg{width:18px;height:18px}
.phone-actions a:hover,.phone-actions button:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
#phoneCopyStatus{font-size:14px;line-height:1.5;color:#d9e6fa;margin:2px 0 0;min-height:21px}
@media(max-width:1100px){.closing-copy,.closing-grid{gap:36px;grid-template-columns:1fr 1fr}.closing-connect h3{font-size:27px}.closing-copy h2{font-size:54px}.closing-copy>p{font-size:17px}.closing-image img{height:420px}.request-fields{padding-inline:32px}.request-brief{padding-inline:28px}}
@media(max-width:760px){
 .request-dialog:not([data-kind=estimate]){width:calc(100% - 24px)}
 .request-dialog:not([data-kind=estimate]) .request-fields{padding:60px 24px 28px}
 .request-dialog[data-kind=project] .request-brief,.request-dialog[data-kind=organization] .request-brief{padding:56px 24px 24px}
 .request-dialog[data-kind=project] .request-fields,.request-dialog[data-kind=organization] .request-fields{padding-top:24px}
 .request-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);border-radius:18px}
 .request-dialog[data-kind=direct] .request-brief{display:none}
 .request-dialog[data-kind=direct] .request-fields{padding-top:66px}
 .request-layout{grid-template-columns:1fr;min-height:0}.request-brief{padding:32px 24px 26px}.request-brief h3{font-size:25px;margin-bottom:14px;max-width:calc(100% - 36px);text-align:left;text-wrap:pretty}
 .request-brief>img,.request-brief>small{display:none}.request-brief-copy{font-size:16px;margin:0}.request-brief .request-total{font-size:44px;margin:0 0 18px}.request-note{margin-top:20px;padding-top:18px}.request-summary{font-size:15px;line-height:1.7}
 .request-fields{padding:28px 24px}.request-fields h2{font-size:27px}.request-intro{font-size:16px;margin-bottom:22px}.dialog-close{top:12px;right:12px}.request-dialog .form-privacy{font-size:14px}
 .closing-cta{padding:48px 0 32px}.closing-copy{display:block;margin-bottom:30px}.closing-copy h2{font-size:clamp(38px,7.4vw,54px);margin:0 0 20px}.closing-copy>p{font-size:17px;margin:0;max-width:100%}
 .closing-grid{grid-template-columns:1fr;gap:28px}.closing-image img{height:270px;max-height:270px;flex:auto}.closing-connect{padding:0}.closing-connect h3{font-size:28px}.closing-connect>p{max-width:100%}.contact-footer .channel-button>svg:last-child{display:block}.closing-phone .phone-number{font-size:29px}.phone-actions{gap:24px}
}
@media(prefers-reduced-motion:reduce){.dialog-close svg{transition:none}}
