/* Contact page styles */
.page-hero { padding-top: calc(var(--header-h) + clamp(40px,7vw,90px)); padding-bottom: clamp(8px,3vw,28px); }
.page-hero .display { margin-top:.2em; }
.page-hero .display em { color: var(--mauve-deep); }

.contact-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap: clamp(34px,5vw,72px); align-items:start; }

.cinfo .lead { margin-bottom: 2em; }
.cinfo .info-row { display:flex; gap:16px; padding: 20px 0; border-bottom:1px solid var(--line); }
.cinfo .info-row:first-of-type { border-top:1px solid var(--line); }
.cinfo .ic { flex:none; width:44px; height:44px; border-radius:50%; background:var(--mauve-wash); display:grid; place-items:center; }
.cinfo .ic svg { width:19px; height:19px; stroke:var(--mauve-deep); }
.cinfo .info-row .k { font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); }
.cinfo .info-row .v { font-family:var(--serif); font-size:1.2rem; margin-top:.15em; }
.cinfo .info-row a:hover { color: var(--mauve-deep); }
.cinfo .soc { margin-top:2em; }
.cinfo .soc a { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; color:var(--ink-soft); transition: all .3s; }
.cinfo .soc a:hover { background:var(--mauve); border-color:var(--mauve); color:#fff; }
.cinfo .soc svg { width:17px; height:17px; }

.form-card { background: var(--cream); border:1px solid var(--line); border-radius: 16px; padding: clamp(26px,3.4vw,48px); box-shadow: 0 40px 80px -56px rgba(43,45,49,.4); }
.form-card h2 { font-size: clamp(1.5rem,2.4vw,2rem); margin-bottom:.2em; }
.form-card .sub { color:var(--ink-soft); margin-bottom:1.6em; }
.field { margin-bottom: 20px; }
.field label { display:block; font-size:.82rem; font-weight:600; letter-spacing:.02em; margin-bottom:.5em; color:var(--ink); }
.field label .req { color: var(--mauve-deep); }
.field input, .field textarea {
  width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink);
  background: var(--paper); border:1px solid var(--line); border-radius: 8px;
  padding: 13px 15px; transition: border-color .25s, box-shadow .25s;
}
.field textarea { resize: vertical; min-height: 130px; }
.field input::placeholder, .field textarea::placeholder { color: var(--ink-faint); }
.field input:focus, .field textarea:focus { outline:none; border-color: var(--mauve-deep); box-shadow: 0 0 0 3px var(--mauve-tint); }
.field.err input, .field.err textarea { border-color: #b4564f; box-shadow: 0 0 0 3px rgba(180,86,79,.12); }
.field-err { display:block; font-size:.78rem; color:#b4564f; margin-top:.4em; min-height: 1em; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.consent { display:flex; gap:12px; align-items:flex-start; margin: 4px 0 22px; }
.consent input { width:20px; height:20px; flex:none; accent-color: var(--mauve-deep); margin-top:2px; cursor:pointer; }
.consent label { font-size:.88rem; color:var(--ink-soft); font-weight:400; letter-spacing:0; margin:0; cursor:pointer; }
.consent a { color: var(--mauve-deep); text-decoration: underline; text-underline-offset: 2px; }
.field.err.consent label { color:#b4564f; }
.form-card .btn { width:100%; justify-content:center; }
.form-success {
  display:none; align-items:center; gap:10px;
  background: var(--mauve-wash); border:1px solid var(--mauve-tint); border-radius:10px;
  padding: 14px 16px; margin-top: 16px; color: var(--mauve-deepest); font-size:.92rem; font-weight:500;
}
.form-success.show { display:flex; }
.form-success svg { width:18px; height:18px; stroke: var(--mauve-deep); flex:none; }

@media (max-width: 920px){ .contact-grid { grid-template-columns:1fr; } }
@media (max-width: 760px){ .nav,.header-cta .btn{display:none;} .burger{display:flex;} .foot-grid{grid-template-columns:1fr 1fr;} }
@media (max-width: 480px){ .field-row{grid-template-columns:1fr;} .foot-grid{grid-template-columns:1fr;} }
