/* Shared compact fields for the page and callback dialog. */
.request-layout{grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:24px 48px;align-items:start}
.request-copy{grid-column:1/-1;grid-row:1;padding:8px 0 0}.request-layout>.lead-form{grid-column:1;grid-row:2;width:100%;align-self:start}.request-layout>.contact-card{grid-column:2;grid-row:2;max-width:560px;width:100%;justify-self:end}
.lead-form,#request-dialog .lead-form{gap:14px;padding:24px;border-radius:14px;min-width:0;text-align:left}
.field-label{font-size:14px;font-weight:600;line-height:1.4;margin-bottom:6px}
.lead-form input:not([type=checkbox]),.lead-form select,#request-dialog .lead-form input:not([type=checkbox]),#request-dialog .lead-form select,.equipment-trigger{height:48px;min-height:48px;width:100%;padding:11px 14px;font-size:16px;line-height:24px;border:1px solid #d7e1ec;border-radius:8px;background:#f8fafc;color:#34445d}
.lead-form input::placeholder{color:#788599;opacity:1}.lead-form input[type=tel]{font-variant-numeric:tabular-nums}
.lead-form .consent,#request-dialog .lead-form .consent{font-size:12px;line-height:1.5;gap:9px;margin:0;align-items:flex-start}.lead-form .consent input{appearance:none;width:18px;height:18px;margin:1px 0 0;border:1px solid #aebdce;border-radius:4px;background:#fff;flex-shrink:0;cursor:pointer;display:grid;place-content:center}.lead-form .consent input:checked{background:var(--blue);border-color:var(--blue)}.lead-form .consent input:checked:after{content:'';width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}.lead-form .consent input:focus-visible{outline:3px solid #0360da;outline-offset:3px}
.lead-form .button,#request-dialog .lead-form .button{min-height:48px;border-radius:8px;padding:11px 16px;font-size:16px;gap:10px}.lead-form .button .icon{width:21px;height:21px}.lead-form .form-status{font-size:14px}
.equipment-field{position:relative;min-width:0}.equipment-field.is-enhanced select{position:absolute;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}
.equipment-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;font-weight:400;transition:border-color .18s,box-shadow .18s}.equipment-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-trigger.is-placeholder{color:#788599}.equipment-trigger:after{content:'';width:8px;height:8px;border-right:1.5px solid #536781;border-bottom:1.5px solid #536781;transform:translateY(-2px) rotate(45deg);flex-shrink:0;margin-right:3px}.equipment-trigger[aria-expanded=true]:after{transform:translateY(2px) rotate(225deg)}.equipment-trigger:focus-visible,.equipment-trigger[aria-expanded=true]{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #0360da14;background:#fff}
.equipment-options{position:absolute;z-index:10;top:calc(100% + 6px);left:0;right:0;margin:0;padding:5px;list-style:none;background:#fff;border:1px solid #d7e1ec;border-radius:10px;box-shadow:0 12px 32px #10263b24;max-height:250px;overflow:auto;overscroll-behavior:contain}.equipment-options[hidden]{display:none}.equipment-options [role=option]{position:relative;padding:10px 32px 10px 10px;font-size:15px;line-height:22px;border-radius:6px;cursor:pointer;color:#34445d}.equipment-options [role=option].is-active{background:#edf5ff;color:#0360da}.equipment-options [aria-selected=true]{font-weight:600}.equipment-options [aria-selected=true]:after{content:'✓';position:absolute;right:11px;color:var(--blue)}
#request-dialog{max-width:820px;border-radius:16px;scrollbar-gutter:auto}.request-dialog-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);min-height:0}.request-master{display:none}.request-pitch{padding:32px 26px}.request-eyebrow{font-size:11px;margin-bottom:18px}#request-dialog h2{font-size:29px;margin-bottom:14px}#request-intro{font-size:15px;line-height:1.6}.request-assurances{gap:18px;margin-top:24px}.request-assurances i{width:36px;height:36px;border-radius:10px}.request-assurances .icon{width:21px;height:21px}.request-assurances strong{font-size:14px}.request-assurances span{font-size:13px}.request-signature{font-size:12px;margin-top:22px;padding-top:16px}.request-form-panel{padding:32px 26px}.request-form-panel h3{font-size:23px}.request-form-caption{font-size:14px;margin:6px 0 20px}#request-dialog .lead-form{padding:0}.request-secure{font-size:12px;line-height:1.5;margin-top:16px}
@media(max-width:900px){.request-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.request-copy{grid-column:1/-1;grid-row:auto}.request-layout>.lead-form{grid-column:1;grid-row:2}.request-layout>.contact-card{grid-column:2;grid-row:2}}
@media(max-width:600px){.request-layout{grid-template-columns:minmax(0,1fr);gap:18px}.request-layout>.lead-form,.request-layout>.contact-card{grid-column:1;grid-row:auto;max-width:none}.lead-form,#request-dialog .lead-form{padding:20px;gap:13px}.field-label{font-size:14px}.request-dialog-layout{grid-template-columns:minmax(0,1fr)}#request-dialog{width:calc(100% - 24px)}.request-pitch{padding:26px 20px 0;background:#fff}.request-eyebrow{padding-right:36px;margin-bottom:12px}#request-dialog h2{font-size:26px;margin-bottom:10px}#request-intro{font-size:14px}.request-form-panel{padding:20px}.request-form-panel h3,.request-form-caption{display:none}#request-dialog .lead-form{padding:0}.request-secure{margin-top:14px}.equipment-options{max-height:220px}}

/* Match the two section cards and anchor contacts to the container edge. */
.request-layout>.lead-form,.request-layout>.contact-card{border-radius:0}

/* Desktop: introduction, form and contacts share one row. */
@media(min-width:1024px){
 .request-layout{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
 .request-copy{grid-column:1;grid-row:1;padding:8px 8px 0 0;min-width:0}
 .request-copy h2{font-size:clamp(30px,2.8vw,38px);line-height:1.18;letter-spacing:-.7px}
 .request-copy>p{font-size:18px;line-height:1.5;margin-top:16px;max-width:none}
 .request-points{gap:14px;margin-top:24px;font-size:12px;flex-wrap:wrap}
 .request-points>span{gap:7px}.request-points .icon{width:23px;height:23px}
 .request-layout>.lead-form{grid-column:2;grid-row:1;padding:16px;gap:10px;min-width:0}
 .request-layout>.lead-form .field-label{font-size:12px;margin-bottom:5px}
 .request-layout>.lead-form input:not([type=checkbox]),.request-layout>.lead-form select,.request-layout .equipment-trigger{height:42px;min-height:42px;padding:9px 10px;font-size:14px;line-height:22px}
 .request-layout>.lead-form .consent{font-size:11px;line-height:1.45;gap:7px}
 .request-layout>.lead-form .consent input{width:16px;height:16px}
 .request-layout>.lead-form .button{font-size:14px;min-height:42px;padding:9px 10px;gap:8px}
 .request-layout>.lead-form .button .icon{width:19px;height:19px}
 .request-layout>.contact-card{grid-column:3;grid-row:1;max-width:none;min-width:0}
 .request-layout>.contact-card>div{padding:17px 16px;gap:12px;min-width:0}
 .request-layout>.contact-card .icon{width:22px;height:22px}
 .request-layout>.contact-card p{min-width:0;font-size:14px;line-height:1.45}
 .request-layout>.contact-card p>a:first-child,.request-layout>.contact-card strong{font-size:16px;line-height:1.4}
 .request-layout>.contact-card span{font-size:13px;line-height:1.5}
 .request-layout>.contact-card a:not([data-phone]),.request-layout>.contact-card button{font-size:13px;min-height:0;line-height:1.5;margin-top:5px}
}

/* In-field captions match the compact reference without duplicate labels. */
.request-layout>.lead-form .name-field{position:relative}
.request-layout>.lead-form .name-field>.field-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.request-layout>.lead-form .phone-field{position:relative;display:block}
.request-layout>.lead-form .phone-field>.field-label{position:absolute;z-index:1;left:12px;top:50%;transform:translateY(-50%);font-size:13px;line-height:20px;font-weight:400;margin:0;pointer-events:none}
.request-layout>.lead-form .phone-field input{padding-left:89px}
.request-layout>.lead-form .equipment-field>.field-label{position:absolute;z-index:1;left:12px;top:7px;font-size:11px;font-weight:400;line-height:15px;margin:0;pointer-events:none}
.request-layout>.lead-form .equipment-trigger,.request-layout>.lead-form .equipment-field:not(.is-enhanced) select{height:54px;min-height:54px;padding:22px 12px 6px;line-height:24px}
.request-layout>.lead-form .equipment-trigger:after{position:absolute;right:15px;top:23px}
.request-layout>.lead-form .equipment-trigger>span{padding-right:18px}
@media(min-width:601px){
 .request-layout{align-items:stretch}
 .request-layout>.lead-form{align-self:stretch}
 .request-layout>.contact-card{align-self:stretch;display:grid;grid-template-rows:auto 1fr 1fr}
 .request-layout>.contact-card>div{align-items:center}
}
@media(min-width:1024px){
 .request-layout{align-items:stretch}
 .request-copy{align-self:stretch;display:flex;flex-direction:column;padding:6px 8px 8px 0}
 .request-copy .request-points{margin-top:30px;padding-top:0;gap:12px;justify-content:space-between;font-size:14px}
 .request-copy .request-points>span{white-space:nowrap;gap:6px}
 .request-layout>.lead-form{align-self:stretch;gap:10px}
 .request-layout>.lead-form .name-field input,.request-layout>.lead-form .phone-field input{height:44px;min-height:44px}
 .request-layout>.lead-form .phone-field input{padding-left:85px}
 .request-layout>.lead-form .equipment-field>.field-label{font-size:11px;top:7px;margin:0}
 .request-layout>.lead-form .equipment-trigger{height:54px;min-height:54px;padding:22px 12px 6px}
 .request-layout>.contact-card>div{padding:15px 16px}
}
@media(min-width:1024px) and (max-width:1150px){
 .request-copy .request-points{font-size:12px;gap:7px}
 .request-copy .request-points .icon{width:20px;height:20px}
}

/* Filled blue contact icons with a tighter inset, as in the reference. */
.request-layout>#contacts>div{padding-left:12px;padding-right:16px;gap:12px}
#contacts .contact-solid-icon{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;color:#0360da;font-style:normal}
#contacts .contact-filled-icon{display:block;width:24px;height:24px;fill:currentColor;stroke:none}
.request-layout>#contacts{grid-template-columns:minmax(0,1fr);justify-content:stretch}
.request-layout>#contacts>div{width:100%;min-width:0}
#contacts p{min-width:0}

/* Give contact icons a little more room from the card edge. */
.request-layout>#contacts>div{padding-left:24px}
