/* ===========================================================
   ABOUT PAGE STYLES
   =========================================================== */
.mv-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap: var(--sp-md); }
@media (max-width: 900px){ .mv-grid{ grid-template-columns: 1fr; } }
.mv-card{
  background:#fff; border-radius: var(--r-md); padding: 2.4rem;
  border:1px solid var(--line-soft);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
}
.mv-card:hover{ transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.mv-card p{ color: var(--text-muted); line-height:1.75; font-size:0.94rem; margin-top:14px; }

.core-values-grid{ display:grid; grid-template-columns: repeat(5,1fr); gap: var(--sp-sm); }
.cv-item{ text-align:center; padding: 1.6rem 1rem; border-radius: var(--r-md); background: var(--mist); transition: background .3s, transform .3s; }
.cv-item:hover{ background: var(--grad-primary); transform: translateY(-6px); }
.cv-item:hover h4, .cv-item:hover svg{ color:#fff !important; stroke:#fff !important; }
.cv-item svg{ color: var(--blue); margin-bottom:14px; }
.cv-item h4{ font-size:0.92rem; }
@media (max-width: 900px){ .core-values-grid{ grid-template-columns: repeat(2,1fr); } }

/* Message cards (principal/chairman) */
.message-card{
  display:grid; grid-template-columns: 240px 1fr; gap: var(--sp-lg);
  background:#fff; border-radius: var(--r-lg); padding: 2.6rem;
  border:1px solid var(--line-soft); box-shadow: var(--shadow-sm);
  margin-bottom: var(--sp-lg);
}
.message-card:last-child{ margin-bottom:0; }
.message-portrait{
  aspect-ratio:1; border-radius: var(--r-md);
  background: var(--grad-card);
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.message-portrait svg{ color: var(--blue); }
.message-card blockquote{
  font-family: var(--font-head); font-size:1.08rem; font-weight:500; color: var(--ink);
  line-height:1.8; font-style:normal; margin:0 0 18px; position:relative; padding-left:24px;
  border-left:3px solid var(--green);
}
.message-name{ font-weight:700; color:var(--ink); }
.message-role{ font-size:0.85rem; color: var(--text-muted); }
@media (max-width:760px){ .message-card{ grid-template-columns:1fr; } .message-portrait{ max-width:160px; } }

/* Timeline (vertical) */
.timeline{ position:relative; max-width:800px; margin:0 auto; padding-left:40px; }
.timeline::before{ content:''; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background: var(--line); }
.timeline-item{ position:relative; padding-bottom: var(--sp-lg); }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{
  content:''; position:absolute; left:-40px; top:4px; width:20px; height:20px; border-radius:50%;
  background: var(--grad-primary); border:4px solid #fff; box-shadow:0 0 0 2px var(--line);
}
.timeline-year{ font-family:var(--font-head); font-weight:700; color: var(--blue); font-size:1.1rem; margin-bottom:6px; }
.timeline-item p{ color: var(--text-muted); line-height:1.7; }

/* Recognition cards */
.recog-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap: var(--sp-md); }
@media (max-width: 640px){ .recog-grid{ grid-template-columns: 1fr; } }
