/* Contact — form + info column, next steps, FAQ */

.page-head { max-width:720px; margin:0 auto; padding:96px 24px 0; text-align:center; }
.page-head .eyebrow { margin:0 0 20px; }
.page-head h1 { font-family:'Newsreader',serif; font-weight:500; font-size:44px; line-height:1.18; margin:0 0 20px; letter-spacing:-.01em; }
.page-head .lede { font-size:16px; line-height:1.7; color:var(--ink-soft); margin:0 auto; max-width:520px; }

.contact-layout { max-width:1080px; margin:72px auto 0; padding:0 48px; display:grid; grid-template-columns:7fr 5fr; gap:88px; align-items:start; }

.form-col { padding-top:8px; }
.form-intro { font-family:'Newsreader',serif; font-style:italic; font-size:17px; color:var(--muted); margin:0 0 24px; line-height:1.6; max-width:480px; }

.form-notice { border-radius:var(--radius-md); padding:14px 16px; font-size:14px; margin:0 0 24px; border:1px solid; background:transparent; }
.form-notice.success { color:var(--success); border-color:var(--success); }
.form-notice.error { color:var(--error); border-color:var(--error); }

.field { margin-bottom:28px; }
.field:last-of-type { margin-bottom:36px; }
.field-label { display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:500; margin-bottom:10px; }
.field-label .optional { font-style:italic; text-transform:none; letter-spacing:0; color:var(--line-soft); margin-left:6px; font-size:11px; }
.field input, .field textarea {
  width:100%; background:var(--paper); border:1px solid var(--line);
  border-radius:3px; padding:13px 16px; font-family:'Archivo',sans-serif;
  font-size:15px; color:var(--ink); outline:none; transition:border-color .25s ease;
}
.field input::placeholder, .field textarea::placeholder { color:var(--line-soft); }
.field input:focus, .field textarea:focus { border-color:var(--gold); }
.field textarea { resize:vertical; min-height:140px; line-height:1.65; }

.submit-btn {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--gold); color:#fff; border:none;
  padding:14px 28px; border-radius:var(--radius-md);
  font-family:'Archivo',sans-serif; font-size:14px; font-weight:500;
  cursor:pointer; transition:transform .3s var(--ease), background-color .3s var(--ease);
}
.submit-btn:hover { transform:scale(1.045); background-color:var(--gold-hover); }
.submit-btn:active { background-color:var(--gold-active); }
.submit-btn svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }

.info-col { padding-top:8px; }
.info-block { margin-bottom:48px; }
.info-block:last-child { margin-bottom:0; }
.info-label { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:500; margin-bottom:12px; }
.info-value { font-family:'Newsreader',serif; font-weight:500; font-size:18px; color:var(--ink); line-height:1.5; margin:0; }
.info-value a { color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); transition:border-color .25s ease; }
.info-value a:hover { border-color:var(--gold); }
.info-note { font-size:13.5px; color:var(--muted); margin:8px 0 0; line-height:1.55; }

.promise-card { background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:28px 24px; margin-top:56px; }
.promise-icon { width:32px; height:32px; border-radius:50%; background:var(--bg); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.promise-icon svg { width:16px; height:16px; stroke:var(--gold); fill:none; stroke-width:2; }
.promise-title { font-family:'Newsreader',serif; font-weight:500; font-style:italic; font-size:18px; color:var(--ink); margin:0 0 8px; }
.promise-text { font-size:14px; color:var(--muted); line-height:1.65; margin:0; }

.next-steps { max-width:1080px; margin:120px auto 0; padding:0 48px; }
.next-steps-inner { background:var(--forest); color:var(--bg); border-radius:4px; padding:64px 56px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:48px; }
.next-steps-head { grid-column:1 / -1; padding-bottom:32px; border-bottom:1px solid var(--forest-line); margin-bottom:8px; }
.next-steps-head .eyebrow { color:var(--gold); margin-bottom:12px; }
.next-steps-head h2 { font-family:'Newsreader',serif; font-weight:500; font-size:30px; margin:0; letter-spacing:-.01em; line-height:1.2; }

.next-step { position:relative; }
.next-step-num { font-family:'Newsreader',serif; font-style:italic; font-size:16px; color:var(--gold); margin-bottom:12px; }
.next-step h3 { font-family:'Newsreader',serif; font-weight:500; font-style:italic; font-size:19px; color:var(--bg); margin:0 0 10px; line-height:1.35; }
.next-step p { font-size:14px; color:var(--forest-ink); line-height:1.65; margin:0; }

.common-questions { max-width:820px; margin:96px auto 0; padding:0 24px; }
.common-questions .eyebrow { color:var(--wine); margin-bottom:12px; }
.common-questions h2 { font-family:'Newsreader',serif; font-weight:500; font-size:30px; margin:0 0 48px; letter-spacing:-.01em; }
.cq-item { padding:28px 0; border-top:1px solid var(--line); }
.cq-item:last-child { border-bottom:1px solid var(--line); }
.cq-item h3 { font-family:'Newsreader',serif; font-weight:500; font-style:italic; font-size:19px; margin:0 0 10px; color:var(--ink); }
.cq-item p { font-size:15px; line-height:1.75; color:var(--ink-soft); margin:0; }

footer { margin-top:120px; }

@media (max-width:900px){
  .page-head h1 { font-size:32px; }
  .contact-layout { grid-template-columns:1fr; gap:64px; padding:0 24px; }
  .next-steps { padding:0 24px; }
  .next-steps-inner { grid-template-columns:1fr; padding:40px 28px; gap:32px; }
  .next-steps-head { padding-bottom:20px; }
  .next-steps-head h2 { font-size:24px; }
}
