/* Compact general inquiry. Allow natural scrolling on small screens and at zoom. */
body.es-general-quote{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--es-paper);color:var(--es-ink);font:400 15px/1.5 var(--font)}
.es-general-quote *{box-sizing:border-box}
.es-quote-skip{position:fixed;left:16px;top:-100px;z-index:1100;padding:12px 18px;background:#fff;color:var(--es-ink)}
.es-quote-skip:focus{top:12px}
.es-quote-main{flex:1;display:grid;place-items:center;padding:24px}
.es-quote-card{width:min(100%,1040px);display:grid;grid-template-columns:minmax(0,1fr) 280px;background:#fff;border:1px solid #dcdedb;border-top:3px solid var(--es-red);border-radius:5px;box-shadow:0 12px 36px #18242c08;overflow:hidden}
.es-quote-primary{padding:26px 32px 28px;min-width:0}
.es-quote-intro{margin-bottom:20px}
.es-quote-intro h1{margin:0 0 6px;font:700 42px/1.08 var(--es-display);letter-spacing:0;color:var(--es-ink)}
.es-quote-intro p{margin:0;color:var(--es-muted);font-size:14px;line-height:1.5}
.es-quote-form{margin:0}
.es-quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.es-quote-fields .form-field{min-width:0;margin:0}
.es-quote-wide{grid-column:1/-1}
.es-quote-fields label{display:block;margin:0 0 6px;font-size:13px;line-height:1.5;font-weight:700;color:var(--es-ink)}
.es-quote-fields label>span:not(.es-quote-optional){color:#b71d2a}
.es-quote-fields .es-quote-optional{color:var(--es-muted);font-size:11px;font-weight:500}
.es-quote-fields input,.es-quote-fields textarea{display:block;width:100%;min-width:0;margin:0;border:1px solid #a9b1b5;border-radius:3px;background:#fff;padding:10px 12px;font:400 16px/1.4 var(--font);color:var(--es-ink);box-shadow:none;transition:border-color .15s,box-shadow .15s}
.es-quote-fields input{height:44px}
.es-quote-fields textarea{height:82px;min-height:82px;resize:vertical}
.es-quote-fields :is(input,textarea)::placeholder{color:#69747b;opacity:1;font-size:13px}
.es-quote-fields :is(input,textarea):hover{border-color:#667b86}
.es-quote-fields :is(input,textarea):focus{border-color:#24658e;box-shadow:0 0 0 2px #24658e18}
.es-quote-actions{display:flex;align-items:center;gap:18px;margin-top:20px}
.es-quote-actions button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:12px 20px;border:1px solid var(--es-red);border-radius:3px;background:var(--es-red);color:#fff;font:700 13px/1.4 var(--font);cursor:pointer;transition:background .15s,border-color .15s}
.es-quote-actions button:hover{background:#a51e2a;border-color:#a51e2a}
.es-quote-actions button:disabled{opacity:.75;cursor:wait}
.es-quote-actions button>span{font-size:20px;line-height:1}
.es-quote-actions p{margin:0;font-size:12px;line-height:1.6;color:var(--es-muted)}
.es-quote-actions p>span{font-size:10px}
.es-quote-aside{display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:32px 28px;background:#f7f8f6;border-left:1px solid #e1e5df}
.es-quote-aside h2{margin:0 0 10px;font:700 22px/1.2 var(--es-display);color:var(--es-ink)}
.es-quote-aside p{margin:12px 0;color:var(--es-muted);font-size:12px;line-height:1.7}
.es-quote-contact-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d7ded9;border-radius:50%;color:var(--es-red);margin-bottom:20px}
.es-quote-contact-icon svg{width:22px;height:22px}
.es-quote-phone{display:inline-block;color:var(--es-ink);font-weight:700;font-size:18px;text-decoration:none;white-space:nowrap}
.es-quote-email{display:inline-block;color:#a51e2a;font-size:12px;text-underline-offset:3px}
.es-quote-project{padding-top:23px;border-top:1px solid #d6ded8}
.es-quote-project h2{font-size:20px}
.es-quote-project p{margin:0 0 12px}
.es-quote-project a{display:inline-flex;align-items:center;gap:10px;min-height:36px;color:#a51e2a;font-size:12px;font-weight:700;text-underline-offset:4px}
.es-quote-project a span{font-size:18px;text-decoration:none}
.es-quote-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(calc(100% - 48px),1040px);margin-inline:auto;padding:0 0 16px;color:var(--es-muted);font-size:11px;line-height:1.5}
.es-quote-footer p{margin:0}.es-quote-footer p span{margin-inline:5px}
.es-quote-footer a{color:var(--es-ink);text-decoration:none;min-height:28px;display:inline-flex;align-items:center;gap:9px}
.es-quote-footer a:hover,.es-quote-phone:hover{text-decoration:underline;text-underline-offset:4px}
.es-quote-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.es-quote-form .form-errors{padding:14px 16px;border:1px solid #c91f2d;border-left-width:3px;border-radius:3px;background:#fff4f4;color:#78202a;margin:0 0 18px;font-size:13px;line-height:1.6}
.es-quote-form .form-errors h2{font:700 16px/1.4 var(--font);margin:0 0 6px;color:inherit}
.es-quote-form .form-errors p{margin:6px 0}
.es-quote-form .form-errors ul{margin:0;padding-left:19px}
.es-quote-form .form-errors a{color:inherit;text-underline-offset:3px}
.es-quote-fields [aria-invalid=true]{border-color:#b3141c}
.es-quote-fields .field-error{font-size:12px;color:#a51e2a;line-height:1.5;margin:5px 0 0}
@media(max-width:800px){
  .es-quote-main{padding:24px 20px}
  .es-quote-card{grid-template-columns:minmax(0,1fr)}
  .es-quote-primary{padding:25px 26px 28px}
  .es-quote-aside{border-left:0;border-top:1px solid #e1e5df;display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 26px}
  .es-quote-contact-icon{display:none}
  .es-quote-project{border-top:0;border-left:1px solid #d6ded8;padding:0 0 0 24px}
  .es-quote-footer{width:calc(100% - 40px)}
}
@media(max-width:520px){
  .es-quote-main{padding:20px 14px}
  .es-quote-primary{padding:22px 20px 24px}
  .es-quote-intro h1{font-size:36px}
  .es-quote-intro p{font-size:13px}
  .es-quote-fields{grid-template-columns:minmax(0,1fr)}
  .es-quote-fields textarea{height:100px}
  .es-quote-actions{gap:14px}
  .es-quote-actions button{gap:16px;padding-inline:16px}
  .es-quote-actions p{font-size:11px}
  .es-quote-aside{grid-template-columns:1fr;padding:24px 20px;gap:22px}
  .es-quote-project{border-left:0;border-top:1px solid #d6ded8;padding:20px 0 0}
  .es-quote-footer{width:calc(100% - 28px);align-items:flex-start;flex-direction:column;gap:5px}
}
@media(prefers-reduced-motion:reduce){.es-quote-fields :is(input,textarea),.es-quote-actions button{transition:none}}
