/* ============================================================
   Mind Theory — Contact page stylesheet (contact.css)
   Loads after home.css and reuses its design tokens (colors,
   shadows, radii, easing, nav/button/footer/section classes).
   Only page-specific rules live here — self-contained, does not
   modify home.css, styles.css or script.js.
   ============================================================ */

/* ---------------- HERO ---------------- */
.mtc-hero{
  background:radial-gradient(120% 100% at 82% 0%, #EAF2FE 0%, #F6F9FF 45%, #FFFFFF 78%);
  padding:clamp(52px, 8vw, 84px) 0 clamp(64px, 9vw, 100px);
}
.mtc-hero-head{
  text-align:center; max-width:600px; margin:0 auto clamp(40px, 5vw, 56px);
}
.mtc-hero-head .mt-eyebrow{ justify-content:center; }
.mtc-hero-title{
  font-size:clamp(2.2rem, 1.7rem + 2vw, 3.1rem);
  line-height:1.14; font-weight:800; margin:18px 0 16px; color:var(--navy-2);
}
.mtc-accent{ color:var(--blue); }
.mtc-hero-desc{ font-size:1.1rem; color:var(--text-body); line-height:1.65; margin:0; }

.mtc-layout{
  display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(28px, 4vw, 48px); align-items:start;
}
@media (max-width:900px){ .mtc-layout{ grid-template-columns:minmax(0,1fr); } }

/* ---------------- REASONS ---------------- */
.mtc-reasons{ display:flex; flex-direction:column; gap:14px; }
.mtc-reasons-label{
  font-family:var(--font-head); font-weight:700; font-size:1.05rem; color:var(--text-head);
  margin:0 0 2px;
}
.mtc-reason{
  display:flex; align-items:center; gap:16px; text-align:left;
  border-radius:var(--radius-lg); border:1.5px solid transparent; padding:16px 18px;
  cursor:pointer; font-family:inherit; box-shadow:var(--shadow-xs);
  transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), border-color .25s ease;
}
.mtc-reason:hover{ transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.mtc-reason.is-active{ border-color:currentColor; box-shadow:var(--shadow-sm); }
.mtc-reason--blue{ background:var(--card-blue-bg); color:var(--blue-deep); }
.mtc-reason--pink{ background:var(--card-pink-bg); color:var(--pink-deep); }
.mtc-reason--orange{ background:var(--card-orange-bg); color:var(--orange-deep); }
.mtc-reason img{
  height:86px; width:auto; flex:none; object-fit:contain;
  filter:drop-shadow(0 8px 12px rgba(20,30,70,.14));
  transition:transform .3s var(--ease-out);
}
.mtc-reason:hover img{ transform:translateY(-3px) scale(1.03); }
.mtc-reason-text{ display:flex; flex-direction:column; gap:3px; }
.mtc-reason-text b{ font-family:var(--font-head); font-size:1.05rem; color:var(--text-head); }
.mtc-reason-text span{ font-size:.92rem; font-weight:600; color:currentColor; }
.mtc-reasons-hint{ font-size:.82rem; color:var(--text-meta); font-weight:600; margin:4px 2px 0; line-height:1.5; }

@media (max-width:520px){
  .mtc-reason img{ height:68px; }
}

/* ---------------- FORM CARD ---------------- */
.mtc-form-card{
  background:#fff; border:1px solid var(--border-soft); border-radius:var(--radius-xl);
  padding:clamp(28px, 4vw, 40px); box-shadow:var(--shadow-md);
}
.mtc-form-card h2{ font-size:1.4rem; margin-bottom:22px; letter-spacing:-.01em; }
.mtc-field{ margin-bottom:18px; }
.mtc-field label{
  display:block; font-family:var(--font-label,var(--font-body)); font-weight:700; font-size:.88rem;
  color:var(--text-head); margin-bottom:7px;
}
.mtc-field input, .mtc-field textarea{
  width:100%; padding:13px 16px; border-radius:var(--radius-md); border:1.5px solid var(--border-soft);
  font-family:var(--font-body); font-size:.96rem; color:var(--text-head); background:#fff;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.mtc-field textarea{ min-height:130px; resize:vertical; line-height:1.55; }
.mtc-field input:focus, .mtc-field textarea:focus{
  outline:none; border-color:var(--blue-deep); box-shadow:0 0 0 4px rgba(12,79,199,.1);
}
.mtc-field input::placeholder, .mtc-field textarea::placeholder{ color:#9AA4C0; }

.mtc-submit{ width:100%; justify-content:center; margin-top:4px; }
.mtc-note{
  min-height:1.3em; margin:14px 0 0; font-size:.88rem; font-weight:600; color:var(--green,#1F9C79); text-align:center;
}
