/* Get a Quote — по макету goldman-movers-bay-area-get-a-quote.html */

.hero{
  padding:105px 0 72px;border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 85% 10%,rgba(198,161,91,.09),transparent 25%),#050505;
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:end}
.hero p{max-width:670px;font-size:18px;color:#aaa}
.hero-side{border-left:1px solid var(--line);padding-left:42px}
.hero-side div{padding:17px 0;border-bottom:1px solid var(--line);color:#aaa}
.hero-side b{color:var(--gold);display:inline-block;width:34px}

.quote{padding:85px 0 120px}
.quote-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px;align-items:start}
/* Колонка грида по умолчанию не сжимается уже своего содержимого (min-width:auto),
   и на узких экранах (~320px) форма выпирала за край. */
.quote-grid>*{min-width:0}
.aside{position:sticky;top:125px}
.aside h2{font-size:clamp(28px,3.2vw,38px);line-height:1.05;margin:10px 0 20px}
.aside p{color:var(--muted)}
.contact{margin-top:40px;border-top:1px solid var(--line)}
.contact-row{padding:18px 0;border-bottom:1px solid var(--line)}
.contact-row small{display:block;color:#777;text-transform:uppercase;letter-spacing:.12em;font-size:9px}
.contact-row strong{display:block;margin-top:5px;color:var(--gold);font-size:18px;word-break:break-word}

/* ── Форма ──────────────────────────────────────────────────────────────── */
.form-shell{background:var(--panel);border:1px solid var(--line);padding:48px}
.form-head{display:flex;justify-content:space-between;gap:25px;align-items:start;padding-bottom:32px;border-bottom:1px solid var(--line);margin-bottom:22px}
.form-head h2{font-size:clamp(26px,3vw,36px);margin:0}
.form-head span{color:var(--gold);font-size:12px;letter-spacing:.12em;white-space:nowrap}
.form-steps{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#777}
.form-steps b{color:var(--gold);font-weight:800}

.section-label{margin:30px 0 20px;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field.full{grid-column:1/-1}
.field label{display:block;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#aaa}
.field input,.field select,.field textarea{
  width:100%;background:#050505;border:1px solid #333;color:#fff;
  padding:16px 17px;font:inherit;border-radius:0;outline:none;
  transition:border-color .2s ease;
}
.field input,.field select{height:56px}
.field textarea{height:125px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.field input.invalid,.field select.invalid,.field textarea.invalid{border-color:#c0504a}

.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}
.check{display:flex;gap:10px;align-items:center;color:#bbb;font-size:14px;cursor:pointer}
.check input{accent-color:var(--gold);width:16px;height:16px;flex:none}

/* honey-pot: скрыт от людей, виден ботам */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.step-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.step-nav .btn{min-width:150px}
.step-nav .btn.ghost{border-color:#3a3730;color:#aaa}
.step-nav .btn.ghost:hover{border-color:var(--gold);background:transparent;color:var(--gold)}
.submit-row{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.submit-row p{font-size:12px;color:#777;max-width:430px;margin:0}
.submit-row .btn{min-width:220px}
.bam-form-note{font-size:13px;color:#777;margin:16px 0 0}
.bam-form-note.err{color:#d9756d}

.trust{padding:85px 0;background:var(--panel);border-block:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:15px 30px;border-right:1px solid var(--line)}
.trust-item:first-child{padding-left:0}
.trust-item:last-child{border:0}
.trust-item b{display:block;color:var(--gold);font-size:13px;margin-bottom:12px}
.trust-item h3{font-size:20px;margin:0 0 8px}
.trust-item p{font-size:13px;color:#888;margin:0}

.faq{padding:110px 0}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px}
.faq h2{font-size:clamp(32px,4.4vw,48px);line-height:1;margin:12px 0}
.questions{border-top:1px solid var(--line)}
.bam-acc{border-bottom:1px solid var(--line);padding:22px 0}
.bam-acc-head{font-size:18px;font-weight:700}
.bam-acc-head i{font-size:24px;line-height:1}
.bam-acc-body p{color:#929089;max-width:750px;margin:14px 0 0}

@media(max-width:950px){
  .hero-grid,.quote-grid,.faq-grid{grid-template-columns:1fr}
  .aside{position:static}
  .trust-grid{grid-template-columns:1fr 1fr}
  .hero-side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}
  .quote-grid{gap:45px}
}
@media(max-width:650px){
  .hero{padding:70px 0 55px}
  .title{font-size:44px}
  .quote{padding:60px 0 80px}
  .form-shell{padding:26px 20px}
  .fields,.checks,.trust-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .trust-item,.trust-item:first-child{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}
  .submit-row,.step-nav{display:block}
  .submit-row .btn{width:100%;margin-top:22px}
  .step-nav .btn{width:100%}
  .step-nav .btn+.btn{margin-top:12px}
  .faq{padding:70px 0}
}
