/* =====================================================================
   About + Contact pages (v2 design system)
   ===================================================================== */

/* ---------- Framed photo ---------- */
.photo-frame {
  margin: 0 auto;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--hairline);
  box-shadow: var(--shadow-md);
  background: var(--surface);
  max-width: 1080px;
}
.photo-frame img { width: 100%; height: auto; display: block; }
.photo-frame--small { max-width: 720px; }

/* ---------- About — values cards ---------- */
.values-grid {
  margin-top: clamp(40px, 5vw, 64px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.value-card {
  background: var(--bg);
  border: 1px solid var(--hairline);
  border-top: 3px solid var(--blue);
  border-radius: var(--r-md);
  padding: 30px 28px;
  min-height: 210px;
  transition: background var(--dur-base) var(--ease-standard),
              border-color var(--dur-base) var(--ease-standard),
              transform var(--dur-base) var(--ease-standard),
              box-shadow var(--dur-base) var(--ease-standard);
}
.value-card:hover {
  background: var(--blue-pale-2);
  border-color: var(--blue);
  transform: translateY(-2px);
  box-shadow: var(--shadow-blue);
}
.value-card h4 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.018em;
  color: var(--ink);
  margin: 0 0 12px;
}
.value-card p { color: var(--ink-soft); font-size: 15px; line-height: 1.6; margin: 0; }
@media (max-width: 880px) { .values-grid { grid-template-columns: 1fr; } }

/* ---------- Contact ---------- */
.contact-grid { max-width: 640px; margin: 0 auto; }
.contact-form {
  background: var(--bg);
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  padding: 36px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.field { display: flex; flex-direction: column; gap: 8px; }
.field label {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 500;
}
.field input,
.field textarea,
.field select {
  font-family: var(--sans);
  font-size: 15px;
  border: 1px solid var(--hairline-strong);
  background: var(--bg);
  border-radius: var(--r-sm);
  padding: 12px 14px;
  color: var(--ink);
  outline: none;
  resize: vertical;
  transition: border-color var(--dur-base) var(--ease-standard);
}
.field input:focus,
.field textarea:focus,
.field select:focus {
  border-color: var(--blue);
  outline: 2px solid var(--blue);
  outline-offset: 0;
}
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.success { text-align: center; padding: 32px 16px; }
.success-tick {
  width: 56px; height: 56px;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
@media (max-width: 880px) { .field-row { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .contact-form { padding: 24px 20px; } }

/* Contact form section — soft terracotta gradient band so the white form card stands out */
.contact-section {
  background: linear-gradient(160deg, #EE8770 0%, #E35336 52%, #C13F23 100%);
  border-top: 1px solid var(--hairline);
}
.contact-section .contact-form {
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-top: 3px solid var(--navy);
  box-shadow: 0 30px 60px -26px rgba(15, 20, 25, 0.45);
}
