/* ── Private Tuition page styles (reuses ia.css band/hero/stat/alert/cta
   pattern where identical; adds tutor-profile, pricing and testimonial
   components specific to this page) ── */

/* Tutor profile */
.tu-profile { display: flex; gap: 28px; align-items: flex-start; background: var(--surface); border: 2px solid var(--line); border-radius: var(--radius); padding: 28px; margin: 28px 0; }
.tu-photo { width: 132px; height: 132px; border-radius: 50%; object-fit: cover; flex-shrink: 0; box-shadow: var(--shadow-sm); }
.tu-profile-body h3 { font-family: var(--font-serif); font-size: 1.3rem; color: var(--ink); margin: 0 0 4px; }
.tu-profile-role { color: var(--brand); font-weight: 600; font-size: .9rem; margin: 0 0 12px; }
.tu-profile-body p { color: var(--ink-soft); line-height: 1.7; margin: 0 0 10px; font-size: .95rem; }
@media (max-width: 640px) { .tu-profile { flex-direction: column; align-items: center; text-align: center; } }

/* Subject chips */
.tu-subjects { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.tu-subject { background: var(--surface); border: 2px solid var(--line); border-radius: 12px; padding: 14px 18px; font-size: .9rem; font-weight: 600; color: var(--ink); flex: 1 1 150px; text-align: center; }

/* Pricing panel */
.tu-price-panel { background: var(--paper); border: 2px solid var(--brand); border-radius: var(--radius); padding: 28px 32px; text-align: center; margin: 28px 0; }
.tu-price-val { font-family: var(--font-serif); font-size: 2.6rem; font-weight: 600; color: var(--brand); line-height: 1; }
.tu-price-unit { font-size: 1rem; color: var(--ink-soft); font-weight: 500; }
.tu-price-note { color: var(--ink-soft); font-size: .88rem; margin-top: 10px; }

/* Testimonials */
.tu-testi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 24px 0; }
.tu-testi { background: var(--surface); border: 2px solid var(--line); border-radius: 14px; padding: 20px 22px; }
.tu-testi p { font-size: .92rem; color: var(--ink); line-height: 1.65; margin: 0 0 12px; font-style: italic; }
.tu-testi-who { font-size: .8rem; color: var(--ink-soft); font-weight: 600; }
@media (max-width: 640px) { .tu-testi-grid { grid-template-columns: 1fr; } }

/* Contact card */
.tu-contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 24px 0; }
.tu-contact-card { background: var(--surface); border: 2px solid var(--line); border-radius: 14px; padding: 20px; display: flex; align-items: center; gap: 14px; }
.tu-contact-ic { font-size: 1.5rem; flex-shrink: 0; }
.tu-contact-card h4 { margin: 0 0 3px; font-size: .9rem; color: var(--ink); }
.tu-contact-card a, .tu-contact-card span { font-size: .88rem; color: var(--ink-soft); word-break: break-word; }
@media (max-width: 640px) { .tu-contact-grid { grid-template-columns: 1fr; } }
