/* Public quote journey: a bounded surface, regular type, progressive questions. */
#demande.enquiry {
  display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  align-items:start; gap:clamp(36px,7vw,110px); padding-block:clamp(48px,6vw,96px); background:#f2f7fa;
  /* The marketing header scrolls away. Cancel its reserved anchor offset here. */
  scroll-margin-top:calc(24px - 110px);
}
#demande .enquiry-copy { display:block; padding-top:22px; }
#demande .enquiry-copy .eyebrow { margin-bottom:16px; color:#51728a; font-size:10px; font-weight:500; letter-spacing:.15em; }
#demande .enquiry-copy h2 {
  margin-bottom:18px; font-family:Manrope,Arial,sans-serif; font-size:clamp(28px,2.6vw,36px);
  font-weight:350; line-height:1.25; letter-spacing:-.03em; text-transform:none;
}
#demande .enquiry-copy > p { max-width:33ch; color:#647689; font-size:14px; font-weight:400; line-height:1.75; }
#demande .form-promise { display:flex; gap:12px; margin-top:28px; align-items:start; }
#demande .form-promise > span { font-size:15px; line-height:1.8; color:#1680a3; }
#demande .form-promise p { font-size:12px; line-height:1.8; font-weight:400; color:#647689; }
[data-lead-form] {
  width:100%; max-width:560px; min-width:0; justify-self:center; margin:0; padding:clamp(22px,2.8vw,34px);
  border:1px solid #e0e8ee; border-radius:24px; background:#fff; box-shadow:0 14px 48px #103b5c05;
  font-size:14px; font-weight:400; line-height:1.5;
  scroll-margin-top:calc(24px - 110px);
}
[data-lead-form] fieldset { position:relative; min-width:0; margin:0; padding:0; border:0; }
[data-lead-form] legend, [data-lead-form] .field-label {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; border:0;
}
[data-lead-form] .form-progress {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:8px;
  margin:0 0 28px; padding:0; font-size:11px; line-height:1.4; font-weight:400;
}
[data-lead-form] .form-progress li {
  display:flex; align-items:baseline; gap:5px; min-width:0; padding-top:10px;
  border-top:2px solid #e8edf1; color:#788996; font-weight:400; overflow-wrap:normal;
}
[data-lead-form] .form-progress .active { color:#096e93; border-color:#1381a6; font-weight:500; }
[data-lead-form] .step-number { opacity:.7; font-variant-numeric:tabular-nums; font-size:10px; }
[data-lead-form] .form-question, [data-lead-form] .crack-scope-heading h3 {
  font-family:Manrope,Arial,sans-serif; font-size:20px; font-weight:400;
  line-height:1.4; letter-spacing:-.02em; margin:0 0 22px;
}
[data-lead-form] .compact-field { display:block; position:relative; margin:0 0 12px; min-width:0; }
[data-lead-form] .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
[data-lead-form] input, [data-lead-form] select {
  display:block; width:100%; max-width:100%; min-width:0; min-height:46px; margin:0;
  border:1px solid #dbe3e9; border-radius:10px; background:#fcfdfe; padding:11px 13px; box-shadow:none;
  font-family:Manrope,Arial,sans-serif; font-size:14px; font-weight:350; line-height:1.5;
  color:#183b54; letter-spacing:-.015em; transition:border-color .18s,background .18s;
}
[data-lead-form] select { padding-right:30px; cursor:pointer; }
[data-lead-form] input::placeholder { color:#718392; opacity:1; font-weight:400; }
[data-lead-form] select:invalid { color:#718392; }
[data-lead-form] input:hover, [data-lead-form] select:hover { border-color:#a8bbc9; }
[data-lead-form] input:focus, [data-lead-form] select:focus {
  background:#fff; outline:2px solid #a7d8ec; outline-offset:2px; border-color:#1680a3;
}
[data-lead-form] .optional-fields { margin:2px 0 18px; border:0; }
[data-lead-form] .optional-fields summary {
  display:flex; align-items:center; gap:7px; width:fit-content; max-width:100%; min-height:40px;
  padding:4px 0; color:#52758d; list-style:none; font-size:12px; font-weight:400; cursor:pointer;
}
[data-lead-form] .optional-fields summary::-webkit-details-marker { display:none; }
[data-lead-form] .optional-fields summary::before { content:'+'; font-size:16px; font-weight:400; }
[data-lead-form] .optional-fields[open] summary::before { content:'−'; }
[data-lead-form] .optional-fields summary span { color:#778b9a; font-size:10px; }
[data-lead-form] .optional-fields .compact-field { margin-top:5px; }
[data-lead-form] .form-actions {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-top:22px; padding-top:18px; border-top:1px solid #edf1f4;
}
[data-lead-form] .step-note { color:#748695; font-size:11px; font-weight:400; }
[data-lead-form] .button {
  display:inline-flex; align-items:center; justify-content:center; gap:20px; width:auto;
  min-width:120px; max-width:100%; min-height:46px; margin:0; padding:11px 18px;
  border:1px solid #087698; border-radius:10px; background:#087698; color:#fff; box-shadow:none;
  font-family:Manrope,Arial,sans-serif; font-size:13px; font-weight:500; line-height:1.4;
  letter-spacing:0; text-transform:none;
}
[data-lead-form] .button > span { font-size:18px; font-weight:400; }
[data-lead-form] .button:hover { background:#075f7e; border-color:#075f7e; box-shadow:none; transform:none; }
[data-lead-form] .back-link {
  min-height:44px; padding:10px 0; background:transparent; border:0;
  font:400 12px/1.5 Manrope,Arial,sans-serif; color:#617d91; text-decoration:none; white-space:nowrap;
}
[data-lead-form] .back-link:hover { color:#096e93; }
[data-lead-form] .crack-scope { margin:0; padding:0; border:0; min-width:0; }
[data-lead-form] .crack-scope-heading { display:block; margin:0; }
[data-lead-form] .crack-scope-heading > span { display:none; }
[data-lead-form] .count-choices { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; margin:0 0 14px; }
[data-lead-form] .count-choice {
  min-width:0; min-height:44px; padding:8px 4px; border:1px solid #dce5eb; border-radius:9px;
  background:#fff; color:#4e6b80; font:400 14px/1.4 Manrope,Arial,sans-serif;
  transition:border-color .18s,background .18s;
}
[data-lead-form] .count-choice:hover { border-color:#8db8cc; background:#f5fafc; }
[data-lead-form] .count-choice[aria-pressed=true] { border-color:#68abc6; background:#e9f5fa; color:#086c8f; font-weight:500; }
[data-lead-form] .rate-note { margin:0 0 22px; color:#718595; font-size:11px; line-height:1.6; font-weight:400; }
[data-lead-form] .crack-lines { display:block; }
[data-lead-form] .crack-line { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
[data-lead-form] .crack-line h4 { margin:0 0 12px; font-size:13px; line-height:1.5; font-weight:400; }
[data-lead-form] .crack-line-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
[data-lead-form] .crack-line .compact-field { margin:0; }
[data-lead-form] .crack-line > .compact-field { margin-top:12px; }
[data-lead-form] .crack-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }
[data-lead-form] .crack-navigation button {
  min-width:44px; min-height:44px; padding:8px 12px; border:1px solid #dce6ed; border-radius:9px;
  background:#fff; color:#277190; font:400 12px/1.5 Manrope,Arial,sans-serif;
}
[data-lead-form] .crack-navigation button:disabled { opacity:.35; cursor:default; }
[data-lead-form] .crack-navigation [data-crack-next] { background:#087698; border-color:#087698; color:#fff; font-weight:500; }
[data-lead-form] [data-crack-position] { color:#6b8192; font-size:12px; font-weight:400; }
[data-lead-form] .scope-error { font-size:12px; font-weight:400; line-height:1.6; }
[data-lead-form] .quote-address, [data-lead-form] .quote-ownership { font-size:12px; font-weight:400; line-height:1.6; }
[data-lead-form] .quote-line { padding:12px 0; font-size:12px; font-weight:400; }
[data-lead-form] .quote-line > span:first-child, [data-lead-form] .quote-line > strong { font-weight:450; }
[data-lead-form] .quote-measure, [data-lead-form] .quote-scope-total { font-size:11px; font-weight:400; }
[data-lead-form] .quote-total { padding:15px 0; border-color:#b7cbd7; font-size:12px; font-weight:400; }
[data-lead-form] .quote-total > strong { font-size:clamp(20px,2.5vw,25px); font-weight:450; letter-spacing:-.035em; }
[data-lead-form] .quote-disclaimer, [data-lead-form] .fineprint, [data-lead-form] [data-email-destination] {
  margin:15px 0; color:#6b8090; font-size:11px; font-weight:400; line-height:1.7;
}
[data-lead-form] .consent { display:flex; align-items:start; gap:10px; margin:18px 0 0; font-size:11px; font-weight:400; line-height:1.7; }
[data-lead-form] .consent input { width:18px; height:18px; min-height:18px; margin-top:2px; padding:0; flex:0 0 18px; accent-color:#087698; }
[data-lead-form] .consent a { text-decoration:underline; text-underline-offset:3px; }
[data-lead-form] .form-status { margin:14px 0 0; font-size:12px; font-weight:400; }
[data-lead-form] .form-status:empty { margin:0; }
[data-lead-form] .email-next-step h3 { font-size:20px; font-weight:450; letter-spacing:-.035em; }
[data-lead-form] .email-next-step p { font-size:13px; font-weight:400; }
[data-lead-form] .city-suggestions {
  position:absolute; top:calc(100% + 5px); inset-inline:0; z-index:12; max-height:230px; overflow-y:auto;
  overscroll-behavior:contain; background:#fff; border:1px solid #dce6ed; border-radius:12px;
  box-shadow:0 12px 30px #103b5c10; padding:5px;
}
[data-lead-form] .city-option {
  display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:44px;
  border:0; border-radius:7px; padding:10px; background:#fff; color:#34576d; text-align:start;
  font:400 13px/1.4 Manrope,Arial,sans-serif; cursor:pointer;
}
[data-lead-form] .city-option > span { min-width:0; flex:1; overflow-wrap:anywhere; }
[data-lead-form] .city-option small { flex:none; color:#738a9a; font-size:10px; }
[data-lead-form] .city-option:hover, [data-lead-form] .city-option[aria-selected=true] { background:#edf7fb; }
@media (max-width:1099px) {
  #demande.enquiry { grid-template-columns:minmax(0,1fr); gap:28px; }
  #demande .enquiry-copy { width:100%; max-width:560px; margin-inline:auto; padding-top:0; }
  #demande .enquiry-copy h2 { font-size:30px; margin-bottom:10px; }
  #demande .enquiry-copy h2 br { display:none; }
  #demande .enquiry-copy > p { max-width:46ch; font-size:13px; }
  #demande .form-promise { display:none; }
}
@media (max-width:600px) {
  #demande.enquiry { padding:40px 16px; gap:22px; scroll-margin-top:calc(24px - 88px); }
  #demande .enquiry-copy { padding-inline:4px; }
  #demande .enquiry-copy h2 { font-size:27px; line-height:1.25; }
  #demande .enquiry-copy .eyebrow { margin-bottom:10px; }
  [data-lead-form] { padding:22px 18px; border-radius:22px; scroll-margin-top:calc(24px - 88px); }
  [data-lead-form] .form-progress { gap:7px; font-size:11px; margin-bottom:24px; }
  [data-lead-form] .form-progress li { gap:4px; }
  [data-lead-form] .step-number { font-size:9px; }
  [data-lead-form] .form-question, [data-lead-form] .crack-scope-heading h3 { font-size:19px; margin-bottom:18px; }
  [data-lead-form] input, [data-lead-form] select { font-size:16px; padding:10px 11px; }
  [data-lead-form] select { padding-right:25px; }
  [data-lead-form] .form-grid, [data-lead-form] .crack-line-grid { gap:10px; }
  [data-lead-form] .form-actions { gap:12px; margin-top:18px; padding-top:15px; }
  [data-lead-form] .button { min-width:112px; padding-inline:14px; gap:13px; font-size:13px; }
  [data-lead-form] .button[type=submit] { min-width:0; flex:0 1 auto; max-width:75%; }
  [data-lead-form] .rate-note { font-size:11px; }
}
@media (max-width:380px) {
  [data-lead-form] .count-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
  [data-lead-form] .form-progress { gap:5px; font-size:10px; }
  [data-lead-form] .form-progress .step-number { display:none; }
  [data-lead-form] .step-note { max-width:13ch; line-height:1.6; }
}
