/* Leatherback Lighting - /request-quote/ page layer.
   Tokens, the fixture CTA, .wrap, .eyebrow, .ribbon, .caption, .skip and the
   nav, ratebar and footer components come from leatherback.css. Everything here
   carries the rq- prefix so no later shared class can restyle it by accident.

   No board exists for /request-quote/. The header, the open answer blocks and
   the closing band reuse the rhythm approved on /contact/ (contact.css), and
   the form card takes its ground and rule colour from the estimate calculator
   (.calc in leatherback.css) so the two boxes a visitor types into look like
   the same object. Flagged for design sign-off, like /contact/ was.

   FLOORS. Nothing under 11px. Every field, checkbox row, link and the submit
   button reaches 44px. Mobile follows Home's 375 pattern: single column, the
   .wrap gutters, breakpoints at 900 and 820, each written as the exact
   complement of its max-width rule. */

main p{text-wrap:pretty}

.rq-eyebrow{font-size:12px;letter-spacing:3.4px;margin:0 0 16px}

/* ---------- header ---------- */
.rq-head{padding:72px 0 0}
.rq-crumbs ol{display:flex;align-items:center;gap:10px;list-style:none;margin:0 0 26px;padding:0;
  font-size:13px;line-height:1.4;color:var(--ink-60)}
.rq-crumbs a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding-right:4px;text-decoration:none}
.rq-crumbs-sep{color:rgba(244,247,255,.35)}
.rq-head h1{font-size:clamp(31px,3.5vw,52px);line-height:1.05;letter-spacing:-1.6px;max-width:22ch;margin:0 0 6px}

.rq-ribbon{display:block;width:250px;max-width:70%;height:15px;margin:18px 0 22px;overflow:visible;
  filter:drop-shadow(0 2px 8px rgba(217,164,65,.45))}
.rq-ribbon path{fill:none;stroke-linecap:round}
.rq-ribbon .a{stroke-width:2.6}
.rq-ribbon .b{stroke:var(--gold-pale);stroke-opacity:.5;stroke-width:1}
.rq-ribbon .s-edge{stop-color:var(--gold)}
.rq-ribbon .s-deep{stop-color:var(--gold-deep)}
.rq-ribbon .s-sheen{stop-color:var(--gold-pale)}

.rq-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;max-width:62ch;margin:0 0 14px;color:var(--ink-82)}
.rq-sub{font-size:16px;line-height:1.65;max-width:62ch;margin:0 0 16px;color:var(--ink-60)}
.rq-updated{margin:0 0 40px}

.rq-tel-inline,.rq-more{display:inline-flex;align-items:center;min-height:44px;color:var(--gold-pale);
  text-decoration:none;font-weight:600;position:relative}
.rq-tel-inline::after,.rq-more::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;
  background:currentColor;opacity:.45}
.rq-tel-inline:hover,.rq-more:hover{color:var(--gold)}
.rq-more-row{display:flex;flex-wrap:wrap;gap:6px 24px;margin:6px 0 0}

/* ---------- form band ---------- */
.rq-form-band{padding:8px 0 var(--pad-section)}
.rq-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start}
.rq-form-h,.rq-aside-h{font-size:clamp(24px,2.4vw,34px);line-height:1.12;letter-spacing:-.8px;margin:0 0 22px}

.rq-form{background:rgba(5,13,32,.72);border:1px solid rgba(217,164,65,.28);border-radius:var(--r-card);
  padding:28px;box-shadow:0 18px 44px rgba(0,0,0,.35)}
.rq-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.rq-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.rq-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.rq-field-wide{grid-column:1/-1}
.rq-field label{font-size:12px;font-weight:800;letter-spacing:3.4px;text-transform:uppercase;color:var(--gold-pale)}
.rq-field input,.rq-field textarea{width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:16px;line-height:1.4;
  color:var(--ink);background:rgba(244,247,255,.06);border:1px solid rgba(244,247,255,.22);border-radius:var(--r-btn);
  outline:none;transition:border-color var(--t-fast),background var(--t-fast)}
.rq-field textarea{min-height:96px;resize:vertical}
.rq-field input::placeholder,.rq-field textarea::placeholder{color:rgba(244,247,255,.38)}
.rq-field input:focus-visible,.rq-field textarea:focus-visible{border-color:var(--gold);background:rgba(244,247,255,.09)}
.rq-field input[aria-invalid="true"]{border-color:var(--warn)}
.rq-hint{font-size:12.5px;line-height:1.5;color:var(--ink-60);margin:0}

.rq-options{margin:18px 0 0;padding:18px 0 0;border-top:1px solid rgba(217,164,65,.18)}
.rq-check{display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:15px;line-height:1.5;cursor:pointer;color:var(--ink-82)}
.rq-check input{flex:0 0 auto;width:20px;height:20px;margin-top:3px;accent-color:var(--gold);cursor:pointer}

.rq-est{margin:18px 0 0;font-size:14px;line-height:1.55;color:var(--ink-60)}
.rq-est strong{color:var(--gold-pale);font-weight:800}

.rq-submit-row{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.rq-submit{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:14px 30px;
  font:inherit;font-size:16px;font-weight:800;letter-spacing:.2px;color:var(--gold-ink);background:var(--gold);
  border:0;border-radius:var(--r-pill);cursor:pointer;transition:transform var(--t-fast),filter var(--t-fast),opacity var(--t-fast)}
.rq-submit:hover{filter:brightness(1.06)}
.rq-submit:active{transform:translateY(1px)}
.rq-submit[aria-disabled="true"]{opacity:.42;cursor:not-allowed}
.rq-submit:focus-visible{outline:2px solid var(--gold-pale);outline-offset:3px}
.rq-lead-hint{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-60)}
.rq-lead-hint.is-hidden{display:none}

.rq-done,.rq-fail{background:rgba(5,13,32,.72);border:1px solid rgba(217,164,65,.28);border-radius:var(--r-card);
  padding:28px;margin:0 0 22px}
.rq-fail{border-color:rgba(232,111,84,.55)}
.rq-done-k{font-size:22px;font-weight:800;letter-spacing:-.4px;margin:0 0 10px;color:var(--gold-pale)}
.rq-done-p{margin:0 0 8px;font-size:16px;line-height:1.6;color:var(--ink-82)}
.rq-done-p:last-child{margin:0}

.rq-aside{padding-top:6px}
.rq-get{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.rq-get li{padding:18px 0 0;border-top:1px solid rgba(217,164,65,.22)}
.rq-get h3{font-size:16px;line-height:1.3;margin:0 0 6px;color:var(--gold-pale)}
.rq-get p{font-size:14.5px;line-height:1.6;margin:0;color:var(--ink-60)}

/* ---------- answers ---------- */
.rq-answers{padding:0 0 var(--pad-section)}
.rq-q{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px 40px;padding:36px 0;border-top:1px solid rgba(217,164,65,.18)}
.rq-q:last-child{border-bottom:1px solid rgba(217,164,65,.18)}
.rq-q-topic{font-size:12px;font-weight:800;letter-spacing:3.4px;text-transform:uppercase;color:var(--gold);margin:6px 0 0}
.rq-q-body{max-width:68ch}
.rq-q h2{font-size:clamp(22px,2vw,28px);line-height:1.18;letter-spacing:-.6px;margin:0 0 10px}
.rq-rule{display:block;width:112px;height:12px;margin:0 0 16px;overflow:visible}
.rq-answer{font-size:17px;line-height:1.6;color:var(--ink-82);margin:0 0 12px}
.rq-detail{font-size:15.5px;line-height:1.65;color:var(--ink-60);margin:0 0 6px}
.rq-q-body > :last-child{margin-bottom:0}

/* ---------- close ---------- */
.rq-section{padding:0 0 var(--pad-section)}
.rq-close-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:center;
  background:var(--blue-card);border-radius:var(--r-band);padding:36px 40px}
.rq-close-band h2{font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.6px;margin:0 0 8px}
.rq-close-copy p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-60)}
.rq-close-tel{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:14px 28px;
  font-size:22px;font-weight:800;letter-spacing:-.4px;color:var(--gold-pale);text-decoration:none;
  border:1px solid rgba(217,164,65,.45);border-radius:var(--r-pill);white-space:nowrap}
.rq-close-tel:hover{color:var(--gold);border-color:var(--gold)}

/* ---------- breakpoints ---------- */
@media (max-width:900px){
  .rq-form-grid{grid-template-columns:1fr;gap:36px}
  .rq-q{grid-template-columns:1fr;gap:10px;padding:28px 0}
  .rq-close-band{grid-template-columns:1fr;padding:28px 24px}
  .rq-close-tel{justify-self:start}
}
@media (max-width:820px){
  .rq-head{padding-top:44px}
  .rq-form{padding:20px 16px}
  .rq-fields{grid-template-columns:1fr;gap:16px}
  .rq-submit{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .rq-submit,.rq-field input,.rq-field textarea{transition:none}
}
