/* Inquiry drafts use the existing dark contact section and rounded controls. */
.contact-inner > *, .inquiry-form > * { min-width: 0; }
.contact .inquiry-note {
  grid-column: 1 / -1;
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.65;
  color: #d9dde2;
}
.inquiry-form input, .inquiry-form textarea { min-width: 0; }
.inquiry-form input:focus-visible, .inquiry-form textarea:focus-visible,
.inquiry-form button:focus-visible, .inquiry-form a:focus-visible,
.contact .details a:focus-visible, .contact-links a:focus-visible {
  outline: 3px solid #d8bc85;
  outline-offset: 4px;
}
.inquiry-draft {
  grid-column: 1 / -1;
  padding: 22px;
  border: 1px solid #69717e;
  border-radius: 12px;
  background: #ffffff08;
}
.inquiry-draft[hidden], .inquiry-length-note[hidden] { display: none; }
.inquiry-draft h3 { margin: 0 0 18px; font-size: 20px; font-weight: 500; }
.inquiry-draft h3:focus { outline: none; }
.inquiry-draft > label { margin-bottom: 8px; }
.inquiry-form .inquiry-draft-text {
  min-height: 235px;
  font-size: 13px;
  line-height: 1.6;
  background: #f5f6f7;
}
.inquiry-actions, .contact-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.inquiry-actions { margin-top: 18px; }
.inquiry-actions .inquiry-mail-link, .inquiry-actions .inquiry-copy, .contact-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 20px;
  border: 1px solid #fff;
  border-radius: 30px;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}
.inquiry-actions .inquiry-mail-link { background: #fff; color: #292d35; }
.inquiry-actions .inquiry-copy, .contact-links a { background: transparent; color: #fff; }
.inquiry-actions .inquiry-mail-link:hover { background: #e8ebee; }
.inquiry-actions .inquiry-copy:hover, .contact-links a:hover { background: #ffffff12; }
.contact .inquiry-help, .contact .inquiry-length-note { margin: 16px 0 0; font-size: 12px; line-height: 1.65; }
.contact .inquiry-help a, .contact .details a { text-decoration: underline; text-underline-offset: 4px; }
.contact .inquiry-length-note { color: #e8d4ae; }
.inquiry-form .message { line-height: 1.65; }
.inquiry-form .message:empty { display: none; }
.contact-links { margin-top: 24px; }
@media (max-width: 700px) {
  .contact .inquiry-form { margin-top: 24px; }
}
@media (max-width: 480px) {
  .inquiry-draft { padding: 18px 15px; }
  .inquiry-actions { align-items: stretch; }
  .inquiry-actions .inquiry-mail-link, .inquiry-actions .inquiry-copy { flex: 1 1 100%; }
}

/* Dedicated Contact page: a bright introduction, direct contacts and a clear draft form. */
.contact-intro{max-width:1424px;margin:auto;padding:52px 28px 58px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}
.contact-page .eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;color:var(--heading-blue);margin:0 0 20px}
.contact-intro h1{font-size:clamp(40px,4.3vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.035em;color:var(--heading-blue);margin:0 0 24px}
.contact-intro-copy>p:not(.eyebrow){max-width:470px;color:var(--muted);font-size:16px;line-height:1.8;margin:0 0 28px}
.contact-intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;font-size:13px;color:var(--heading-blue)}
.contact-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 22px;border-radius:4px;background:var(--heading-blue);color:#fff}
.contact-primary:hover{background:#006698}
.contact-intro-image{margin:0;min-width:0}
.contact-intro-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.contact-intro-image figcaption{margin-top:12px;font-size:12px;color:var(--muted);letter-spacing:.015em}
.contact-page .contact{background:#f3f7f9;color:var(--ink);min-height:0;padding:64px 28px}
.contact-page .contact-inner{max-width:1368px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;align-items:start}
.contact-page .contact h2{color:var(--heading-blue);font-size:clamp(28px,2.5vw,36px);line-height:1.2;margin:0 0 20px;font-weight:500}
.contact-page .contact p{color:var(--muted)}
.contact-information>p:not(.eyebrow){max-width:470px;margin:0 0 28px}
.contact-page .details{display:grid;grid-template-columns:1fr;gap:25px;margin:32px 0 26px;padding-top:26px;border-top:1px solid #d4e0e6}
.contact-page .details small,.contact-page .contact-directory small,.contact-page .contact-address small{color:#617482}
.contact-page .details b{font-size:18px;margin-top:9px}
.contact-page .details a{color:var(--heading-blue);text-decoration:none}
.contact-page .contact-directory{gap:25px 30px;margin:0 0 28px}
.contact-page .contact-directory a{text-decoration:none}
.contact-page .contact-address{border-top:1px solid #d4e0e6;padding-top:24px;line-height:1.8;font-size:14px}
.contact-page .contact-address small{display:inline-block;margin-bottom:7px}
.contact-form-card{padding:32px;background:#fff;border:1px solid #e0e9ee;border-radius:8px;box-shadow:0 12px 34px #28455506}
.contact-page .contact-form-card h2{font-size:28px;margin-bottom:15px}
.contact-page .form{gap:20px 16px}
.contact-page .form label{font-size:12px;color:#374957;line-height:1.5}
.contact-page .form input,.contact-page .form textarea{background:#fbfcfd;border-color:#cbd8df;border-radius:4px;font-size:14px;color:var(--ink);padding:13px}
.contact-page .form textarea{min-height:130px}
.contact-page .form input:focus,.contact-page .form textarea:focus{border-color:var(--heading-blue);outline:2px solid #007db82b;outline-offset:2px}
.contact-page .form>button{border-radius:4px;background:var(--heading-blue);color:white;font-size:14px;min-height:46px}
.contact-page .form>button:hover{background:#006698}
.contact-page .contact .inquiry-note{font-size:12px;margin:0 0 4px;color:#647681;line-height:1.6}
.contact-page .form .message{color:#375767}
.contact-page .inquiry-draft{border:1px solid #cddde5;background:#f4f8fa}
.contact-page .inquiry-draft h3{color:var(--heading-blue)}
.contact-page .inquiry-actions .inquiry-mail-link{background:var(--heading-blue);color:#fff;border-color:var(--heading-blue)}
.contact-page .inquiry-actions .inquiry-copy{background:white;color:var(--heading-blue);border-color:#9bb8c8}
.contact-page .contact .inquiry-length-note{color:#835415}
.contact-page .contact-qr-panel{max-width:1368px;margin-top:52px;padding-top:40px;border-top:1px solid #d4e0e6;gap:7%}
.contact-page .contact-qr-copy h3{color:var(--heading-blue);font-size:28px}
.contact-page .contact-qr-grid{gap:24px}
.contact-page .contact-qr-grid .qr-frame{max-width:156px;margin:0 auto 12px}
.contact-page .contact-qr-grid figcaption{color:#435b6a}
.contact-page a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-page .contact-primary:hover{text-decoration:none}
#inquiry-form,#project-enquiry{scroll-margin-top:314px}
@media(max-width:1000px){
  .contact-intro{gap:5%}.contact-intro-actions{gap:16px}
  .contact-page .contact-inner{gap:5%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .contact-form-card{padding:26px}.contact-page .contact-directory{grid-template-columns:1fr}
}
@media(max-width:760px){
  .contact-intro{grid-template-columns:1fr;padding:38px 20px 42px;gap:30px}
  .contact-intro h1{font-size:44px}.contact-intro-copy>p:not(.eyebrow){font-size:15px}
  .contact-intro-image{max-width:600px}.contact-page .contact{padding:42px 20px}
  .contact-page .contact-inner{grid-template-columns:1fr;gap:28px}
  .contact-page .contact-directory{grid-template-columns:1fr 1fr}
  .contact-page .contact .inquiry-form{margin-top:0}
  .contact-form-card{padding:24px 20px}
  .contact-page .contact-qr-panel{grid-template-columns:1fr;gap:25px}
  .contact-page .contact-qr-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  #inquiry-form,#project-enquiry{scroll-margin-top:150px}
}
@media(max-width:380px){.contact-intro h1{font-size:39px}.contact-page .contact-directory{grid-template-columns:1fr}.contact-form-card{padding:22px 16px}}
