/* Greeting */
.greeting-grid { display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: start; }
.greeting-photo { width: 96px; height: 96px; border-radius: 50%; border: 3px solid var(--red); object-fit: cover; }
.greeting-text { font-size: 15px; line-height: 2; color: #444; }
.greeting-name { font-size: 14px; font-weight: 700; color: var(--navy); margin-top: 16px; }
@media (max-width: 600px) { .greeting-grid { grid-template-columns: 1fr; justify-items: center; text-align: center; } }

/* Company table */
.company-table { width: 100%; border-collapse: collapse; }
.company-table th { background: var(--light); padding: 16px 20px; font-size: 14px; font-weight: 700; color: var(--navy); text-align: left; width: 160px; border-bottom: 1px solid var(--border); vertical-align: top; }
.company-table td { padding: 16px 20px; font-size: 15px; border-bottom: 1px solid var(--border); }

/* Map */
.company-map { background: var(--light); border-radius: 14px; height: 300px; display: flex; align-items: center; justify-content: center; color: var(--text-sub); font-size: 14px; border: 1px solid var(--border); }

/* Timeline */
.timeline { position: relative; padding-left: 32px; }
.timeline::before { content: ""; position: absolute; left: 8px; top: 4px; bottom: 4px; width: 2px; background: var(--border); }
.timeline-item { position: relative; margin-bottom: 24px; }
.timeline-item::before { content: ""; position: absolute; left: -28px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--white); border: 3px solid var(--red); }
.timeline-year { font-size: 14px; font-weight: 700; color: var(--red); margin-bottom: 4px; }
.timeline-desc { font-size: 15px; color: #444; }
