/* =====================================================================
   GET A QUOTE / CONTACT PAGE STYLES (/get-a-quote/)
   Page-specific styles, built on the shared flasher-v2.css design system
   and tokens. Load AFTER flasher-v2.css.
   ===================================================================== */

/* ---- intro ---- */
.gq-intro{background:var(--black);padding:90px 0 50px;}
.gq-intro__copy{
  font-family:'IBM Plex Mono','Courier New',monospace;font-weight:400;color:#fff;
  font-size:clamp(18px,2vw,26px);line-height:1.5;margin:0 0 22px;max-width:900px;
}
.gq-intro__copy:last-child{margin-bottom:0;}
.gq-intro__copy .hl{color:var(--yellow);}

/* ---- quote form ---- */
.gq-form-sec{
  position:relative;background-color:#000;padding:40px 24px 100px;
}
.gq-form-card{
  background:#fff;color:#000;width:100%;max-width:880px;margin:0 auto;
  padding:clamp(34px,5vw,60px) clamp(24px,4vw,56px);
}
.gq-form-card__title{
  font-family:'Inter',sans-serif;font-weight:900;color:#000;text-transform:uppercase;
  font-size:clamp(26px,3vw,40px);line-height:1.05;letter-spacing:-1px;margin:0 0 28px;
}
.gq-form .frow{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.gq-field{margin-bottom:22px;}
.gq-field.full{grid-column:1 / -1;}
.gq-field label{
  display:block;font-family:'IBM Plex Mono','Courier New',monospace;text-transform:uppercase;
  letter-spacing:1px;font-size:14px;color:#000;margin-bottom:8px;
}
.gq-field input,.gq-field select,.gq-field textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid #000;color:#000;
  padding:9px 2px;font-family:'IBM Plex Mono','Courier New',monospace;font-size:15px;transition:border-color .2s;
}
.gq-field input:focus,.gq-field select:focus,.gq-field textarea:focus{outline:none;border-bottom-width:2px;}
.gq-field textarea{min-height:130px;resize:vertical;}
.gq-form__submit{text-align:center;margin-top:18px;}
.gq-submit{
  background:#000;border:1px solid #000;color:#fff;cursor:pointer;border-radius:0;padding:16px 56px;
  font-family:'IBM Plex Mono','Courier New',monospace;letter-spacing:2px;text-transform:uppercase;
  font-size:14px;transition:.2s;
}
.gq-submit:hover{background:var(--red);border-color:var(--red);}
.gq-form__note{display:none;text-align:center;margin-top:16px;color:#0a7d32;font-weight:600;}
@media (max-width:680px){.gq-form .frow{grid-template-columns:1fr;}}

/* ---- direct contact info (both locations) ---- */
.gq-contact{background:var(--black-2);border-top:1px solid var(--line);padding:90px 0 110px;}
.gq-contact__head{text-align:center;margin:0 0 48px;}
.gq-contact__title{
  font-family:'Inter',sans-serif;font-weight:900;color:#fff;text-transform:uppercase;
  font-size:clamp(28px,3.4vw,48px);line-height:1;letter-spacing:-1px;margin:0;
}
.gq-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.gq-loc{
  background:var(--panel);border:1px solid var(--line);padding:36px 34px;
  transition:border-color .25s,transform .25s;
}
.gq-loc:hover{border-color:rgba(255,203,5,.5);transform:translateY(-4px);}
.gq-loc__state{
  font-family:'IBM Plex Mono','Courier New',monospace;text-transform:uppercase;
  color:var(--yellow);letter-spacing:3px;font-size:13px;margin:0 0 6px;
}
.gq-loc__city{
  font-family:'Inter',sans-serif;font-weight:900;color:#fff;text-transform:uppercase;
  font-size:clamp(26px,3vw,38px);line-height:1;letter-spacing:-.5px;margin:0 0 20px;
}
.gq-loc__row{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 0;border-top:1px solid var(--line);
}
.gq-loc__row svg{width:20px;height:20px;color:var(--yellow);flex:none;margin-top:2px;}
.gq-loc__row a,.gq-loc__row span{
  font-family:'IBM Plex Mono','Courier New',monospace;color:#dcdcdc;
  font-size:16px;line-height:1.4;
}
.gq-loc__row a:hover{color:var(--yellow);}
@media (max-width:760px){.gq-contact__grid{grid-template-columns:1fr;}}
