/* Compact form: fit normal phone/laptop viewports without scrolling. */
.lead-drawer__panel { width:clamp(480px,42vw,720px); max-width:100%; max-height:100dvh; }
.lead-drawer__rail { width:48px; }
.lead-drawer__close { top:12px; right:14px; width:36px; height:36px; }
.lead-drawer__content { margin-left:48px; padding:52px 24px 14px; overflow-y:auto; }
.lead-drawer__heading { flex:0 0 auto; }
.lead-drawer__heading p { margin-bottom:6px; font-size:10px; }
.lead-drawer__heading h2 { max-width:none; font-size:clamp(26px,2.4vw,34px); line-height:1; }
.lead-drawer__heading > span { margin-top:8px; font-size:12px; line-height:1.25; }
.lead-drawer__form { flex:1 0 auto; min-height:auto; gap:6px; margin-top:12px; }
.lead-drawer__form > * { flex-shrink:0; }
.lead-drawer__field { min-height:38px; grid-template-columns:104px minmax(0,1fr); }
.lead-drawer__field input { padding:7px 0; font-size:16px; }
.lead-drawer__methods { margin-top:0; }
.lead-drawer__methods legend { margin-bottom:5px; }
.lead-drawer__methods span { min-height:36px; padding:5px 3px; font-size:10px; }
.lead-drawer__callback-tools { gap:5px; padding:7px; }
.lead-drawer__callback-time > span { margin-bottom:4px; }
.lead-drawer__callback-time label { gap:3px; }
.lead-drawer__callback-time select { min-height:32px; font-size:12px; }
.lead-drawer__call-note { grid-template-columns:minmax(0,1fr) auto; gap:8px; padding-top:5px; }
.lead-drawer__call-note p { font-size:10px; line-height:1.2; }
.lead-drawer__call-note button { min-height:30px; padding:0 6px; font-size:8px; }
.lead-drawer__consent { grid-template-columns:22px minmax(0,1fr); gap:8px; margin-top:2px; font-size:11px; line-height:1.2; }
.lead-drawer__consent button { display:inline; text-align:left; }
.lead-drawer__legal-links { gap:4px 10px; }
.lead-drawer__legal-links button { font-size:8px; }
.lead-drawer__submit { position:static; min-height:44px; width:100%; flex-shrink:0; margin-top:auto; box-shadow:none; }
.lead-drawer__success { overflow-y:auto; }
@media(max-width:600px) {
 .lead-drawer__panel { width:100%; height:100dvh; max-height:100dvh; }
 .lead-drawer__rail { width:auto; height:44px; }
 .lead-drawer__content { margin-left:0; padding:48px 16px max(10px,env(safe-area-inset-bottom)); }
 .lead-drawer__heading h2 { font-size:26px; }
 .lead-drawer__heading > span { font-size:11px; line-height:1.2; margin-top:6px; }
 .lead-drawer__form { gap:5px; margin-top:10px; }
 .lead-drawer__field { grid-template-columns:88px minmax(0,1fr); }
 .lead-drawer__call-note button { width:auto; }
 .lead-drawer__consent { font-size:10px; }
}
@media(max-height:700px) {
 .lead-drawer__heading h2 { font-size:25px; }
 .lead-drawer__heading > span { font-size:11px; line-height:1.2; }
 .lead-drawer__form { gap:4px; margin-top:8px; }
 .lead-drawer__consent { font-size:10px; }
 .lead-drawer__call-note p { font-size:9px; }
}
@media(max-height:650px) {
 .lead-drawer__content { padding-top:44px; padding-bottom:8px; }
 .lead-drawer__heading p { margin-bottom:4px; }
 .lead-drawer__heading h2 { font-size:22px; }
 .lead-drawer__heading > span { margin-top:4px; font-size:10px; line-height:1.15; }
 .lead-drawer__form { margin-top:6px; gap:3px; }
 .lead-drawer__field { min-height:34px; }
 .lead-drawer__field input { padding-block:5px; }
 .lead-drawer__methods legend { margin-bottom:3px; }
 .lead-drawer__methods span { min-height:32px; }
 .lead-drawer__callback-tools { padding:5px; gap:3px; }
 .lead-drawer__callback-time select { min-height:30px; }
 .lead-drawer__consent { line-height:1.1; margin-top:0; }
 .lead-drawer__legal-links { gap:2px 8px; }
}
@media(max-width:360px) and (max-height:650px) {
 .lead-drawer__methods span { line-height:1.1; }
 .lead-drawer__call-note button { max-width:88px; white-space:normal; line-height:1.15; }
 .lead-drawer__consent--optional { font-size:9px; }
}
/* The finish tooltip extends above the rounded facts card on phones. */
@media(max-width:767px) {
 .project-hero-dock__facts:has(.project-price-switch__info:is(:hover,:focus-within,.is-open)) {
   overflow:visible;
 }
 .project-price-switch__info .project-finish-info__tooltip {
   width:min(21rem,calc(100vw - 40px));
   max-height:calc(100dvh - 180px);
   overflow-y:auto;
   overscroll-behavior:contain;
   pointer-events:auto;
 }
 .project-price-switch__info:not(:hover):not(:focus-within):not(.is-open) .project-finish-info__tooltip {
   pointer-events:none;
 }
}
@media(max-width:767px) and (max-height:650px) {
 .project-hero-layer:has(.project-price-switch__info:is(:hover,:focus-within,.is-open)),
 .project-hero-fs:has(.project-price-switch__info:is(:hover,:focus-within,.is-open)) {
   overflow:visible;
   z-index:20;
 }
 .project-price-switch__info .project-finish-info__tooltip {
   top:calc(100% + 9px);
   bottom:auto;
   max-height:calc(35dvh - 8px);
 }
}
