/* Energy Fave quote form ([efm_quote]) and full quote page ([efm_quote layout="page"]) */
.efq,.efq-page{--navy:#0B2F4E;--navy2:#123e63;--cy:#08ACF2;--line:#d9e6ef;--soft:#f4f8fb;--mut:#5a6a7a;--ink:#1d2b3a;--ok:#0f7f4f;--bad:#b5472f}
.efq{font-family:Raleway,Arial,sans-serif;color:var(--ink);max-width:760px;box-sizing:border-box}
.efq *,.efq-page *{box-sizing:border-box}

/* ---------- page layout ---------- */
.efq-page{font-family:Raleway,Arial,sans-serif;color:var(--ink);margin:0 0 64px;container-type:inline-size;container-name:efq}
.efq{container-type:inline-size;container-name:efqf}
.efq-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 62%,#0e5a86 100%);color:#e6f1f8;padding:64px 20px 120px;position:relative;overflow:hidden}
.efq-hero:after{content:"";position:absolute;right:-120px;top:-140px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(8,172,242,.28),rgba(8,172,242,0) 68%);pointer-events:none}
.efq-hero-in{max-width:1140px;margin:0 auto;padding:0 20px;position:relative;z-index:1}
.efq-eyebrow{display:inline-block;margin:0 0 14px;padding:6px 12px;border-radius:99px;background:rgba(8,172,242,.18);color:#bfe9fc;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.efq-hero h1{font-family:Merriweather,Georgia,serif;color:#fff;font-size:clamp(30px,4.2vw,46px);line-height:1.15;margin:0 0 14px;max-width:760px}
.efq-sub{font-size:18px;line-height:1.6;max-width:680px;margin:0 0 22px;color:#d4e6f3}
.efq-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px}
.efq-trust li{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#fff;margin:0}
.efq-trust li:before{content:"\2713";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--cy);color:#fff;font-size:12px;font-weight:800}
.efq-body{max-width:1140px;margin:-80px auto 0;padding:0 20px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;position:relative;z-index:2}
.efq-main{min-width:0}
.efq.efq-card{max-width:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 34px;box-shadow:0 18px 50px rgba(11,47,78,.12)}
.efq-aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:110px}
.efq-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;box-shadow:0 10px 30px rgba(11,47,78,.07)}
.efq-box h2{font-family:Merriweather,Georgia,serif;font-size:19px;color:var(--navy);margin:0 0 14px;line-height:1.3}
.efq-steps{list-style:none;margin:0;padding:0;counter-reset:s}
.efq-steps li{counter-increment:s;position:relative;padding:0 0 16px 44px;margin:0}
.efq-steps li:before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:#e7f6fe;color:#0a7fb5;display:grid;place-items:center;font-weight:800;font-size:14px}
.efq-steps li:not(:last-child):after{content:"";position:absolute;left:14px;top:34px;bottom:4px;width:2px;background:#e3eef5}
.efq-steps b{display:block;color:var(--navy);font-size:15px;margin:3px 0 3px}
.efq-steps span{display:block;font-size:14px;line-height:1.5;color:var(--mut)}
.efq-talk p{margin:0 0 8px;font-size:15px;line-height:1.7}
.efq-talk a{color:var(--navy);font-weight:700;text-decoration:none}
.efq-talk a:hover{color:#0a7fb5}
.efq-muted{color:var(--mut);font-size:13.5px!important}

/* ---------- form ---------- */
.efq-promo{border-radius:12px;padding:14px 16px;margin:0 0 22px;font-size:15px;line-height:1.5}
.efq-promo.active{background:#e8f7ef;border:1px solid #b9e4cc}
.efq-promo.ended{background:#fff3df;border:1px solid #f1d3a1}
.efq-sec{border:0;padding:0;margin:0 0 26px;min-width:0}
.efq-sec>legend{display:flex;align-items:center;gap:10px;padding:0;margin:0 0 14px;font-family:Merriweather,Georgia,serif;font-size:18px;font-weight:700;color:var(--navy)}
.efq-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font:800 13px Raleway,Arial,sans-serif}
.efq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:0 0 4px}
.efq-grid label{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.efq-grid label.wide{grid-column:1/-1}
.efq-grid label>span{font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.01em}
.efq input,.efq select,.efq textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font:15px Raleway,Arial,sans-serif;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;margin:0}
.efq select{appearance:auto}
.efq input:focus,.efq select:focus,.efq textarea:focus{outline:none;border-color:var(--cy);box-shadow:0 0 0 3px rgba(8,172,242,.15)}
.efq .efq-code{text-transform:uppercase;letter-spacing:.04em}
.efq small{font-size:12.5px;color:var(--mut);line-height:1.45}
.efq small a{color:#0a7fb5}
.efq small.ok{color:var(--ok);font-weight:700}
.efq small.bad{color:var(--bad);font-weight:700}
.efq-svc{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
.efq-tile{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px 13px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s;margin:0}
.efq-tile:hover{border-color:#a9d8f0}
.efq-tile input{width:18px;height:18px;padding:0;margin:2px 0 0;flex:none;accent-color:var(--cy)}
.efq-tile span{display:flex;flex-direction:column;gap:2px}
.efq-tile b{font-size:14.5px;color:var(--navy);line-height:1.3}
.efq-tile small{font-size:12.5px}
.efq-tile:has(input:checked){border-color:var(--cy);background:#f1faff;box-shadow:0 0 0 1px var(--cy) inset}
.efq-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.efq-submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:6px 0 0;padding-top:20px;border-top:1px solid #edf3f7}
.efq .efq-btn{display:inline-flex;align-items:center;gap:10px;background:var(--navy);color:#fff;border:0;border-radius:11px;padding:15px 28px;font:700 16px Raleway,Arial,sans-serif;text-transform:none;letter-spacing:0;cursor:pointer;transition:background .15s,transform .15s;box-shadow:0 8px 20px rgba(11,47,78,.18)}
.efq .efq-btn:hover{background:#0a7fb5;color:#fff;transform:translateY(-1px)}
.efq .efq-btn:disabled{opacity:.6;cursor:default;transform:none}
.efq-fine{margin:0;font-size:13px;color:var(--mut);max-width:330px;line-height:1.5}
.efq-msg{margin:10px 0 0;font-size:14px}
.efq-msg.bad{color:var(--bad)}
.efq-done{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:30px 26px;text-align:center}
.efq-check{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e8f7ef;color:var(--ok);font-size:26px;font-weight:800;margin:0 0 10px}
.efq-done h3{font-family:Merriweather,Georgia,serif;color:var(--navy);margin:0 0 8px;font-size:22px}
.efq-done p{margin:0 auto;max-width:460px;line-height:1.6}

@container efq (max-width:980px){
  .efq-body{grid-template-columns:1fr;margin-top:-70px}
  .efq-aside{position:static;display:grid;grid-template-columns:1fr 1fr}
}
@container efq (max-width:640px){
  .efq-hero{padding:40px 16px 96px}
  .efq-sub{font-size:16px}
  .efq-body{padding:0 12px}
  .efq.efq-card{padding:22px 16px;border-radius:14px}
  .efq-aside{grid-template-columns:1fr}
}
@container efqf (max-width:560px){
  .efq-grid,.efq-svc{grid-template-columns:1fr}
  .efq .efq-btn{width:100%;justify-content:center}
}
/* browsers without container queries */
@supports not (container-type:inline-size){
  @media (max-width:1024px){.efq-body{grid-template-columns:1fr}.efq-aside{position:static}}
  @media (max-width:640px){.efq-grid,.efq-svc{grid-template-columns:1fr}}
}
/* address suggestions + chosen program */
.efq-addr{position:relative}
.efq-sug{display:none;position:absolute;left:0;right:0;top:100%;z-index:30;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(11,47,78,.16);max-height:320px;overflow:auto}
.efq-sug.on{display:block}
.efq-sug li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;margin:0;font-size:15px}
.efq-sug li small{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);flex:none}
.efq-sug li:hover,.efq-sug li.act{background:#eef7fd}
.efq-sug li.efq-gattr{cursor:default;justify-content:flex-end;font-size:11px;color:var(--mut);padding:4px 10px}
.efq-sug li.efq-gattr:hover{background:none}
.efq small.efq-where{display:block;background:#eef7fd;border:1px solid #cfe8f7;border-radius:10px;padding:9px 12px;color:var(--navy);font-size:13.5px;line-height:1.5}
.efq small.efq-where b{color:var(--navy)}
.efq select.efq-flash{border-color:var(--cy);box-shadow:0 0 0 3px rgba(8,172,242,.25)}
