/* About — page-specific touches */

/* Timeline */
.timeline { position: relative; padding-left: 0; }
.timeline::before { content:''; position: absolute; left: 14px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, var(--blue) 0%, var(--blue-light) 50%, var(--border) 100%); }
.t-item { position: relative; padding: 0 0 2rem 3.5rem; }
.t-item:last-child { padding-bottom: 0; }
.t-dot { position: absolute; left: 6px; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: white; border: 3px solid var(--blue); box-shadow: 0 0 0 4px rgba(3,105,161,.08); }
.t-item.milestone .t-dot { background: var(--gold); border-color: var(--blue); }
.t-year { display: inline-block; font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 1rem; color: var(--blue); letter-spacing: 0.04em; margin-bottom: 0.25rem; }
.t-item h3 { font-size: 1.18rem; margin: 0.1rem 0 0.55rem; }
.t-item p { font-size: 0.97rem; line-height: 1.6; color: var(--text-2); }

/* By the Numbers — bigger version of trust stats */
.numbers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: white; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.num-cell { padding: 2.25rem 1.5rem; text-align: center; border-right: 1px solid var(--border); }
.num-cell:last-child { border-right: none; }
.num-cell .n { font-family: 'Outfit', sans-serif; font-weight: 900; font-size: clamp(2.2rem, 4vw, 3.2rem); color: var(--navy); letter-spacing: -0.03em; line-height: 1; }
.num-cell .n small { font-size: 0.55em; color: var(--blue); }
.num-cell .l { margin-top: 0.65rem; font-size: 13px; color: var(--text-muted); letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; }
@media (max-width: 760px) { .numbers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .num-cell { min-width: 0; padding: 1.75rem .75rem; border-right: none; border-bottom: 1px solid var(--border); } .num-cell:nth-child(2n) { border-right: none; } .num-cell:last-child, .num-cell:nth-last-child(2) { border-bottom: none; } }

/* Facility — 3-image collage */
.facility-grid { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 1rem; height: 480px; }
.facility-grid > div { border-radius: var(--radius-lg); overflow: hidden; }
.facility-grid > div:first-child { grid-row: span 2; }
.facility-grid .ph { height: 100%; }
@media (max-width: 760px) { .facility-grid { grid-template-columns: 1fr; height: auto; } .facility-grid > div { aspect-ratio: 4/3; } .facility-grid > div:first-child { grid-row: auto; aspect-ratio: 16/10; } }

/* Materials & Certifications cards */
.cert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.cert-card { background: white; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.75rem; }
.cert-card .cert-logo { width: 56px; height: 56px; border-radius: 12px; background: rgba(3,105,161,.08); color: var(--blue); display:flex; align-items:center; justify-content:center; font-family: 'Outfit', sans-serif; font-weight: 900; font-size: 1.1rem; letter-spacing: -0.02em; margin-bottom: 1rem; }
.cert-card h3 { font-size: 1.08rem; margin-bottom: 0.5rem; }
.cert-card p { font-size: 0.93rem; line-height: 1.55; }
@media (max-width: 900px) { .cert-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .cert-grid { grid-template-columns: 1fr; } }

/* "How we're different" comparison */
.diff-table { background: white; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.diff-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; padding: 1rem 0; border-bottom: 1px solid var(--border-soft); align-items: center; }
.diff-row:last-child { border-bottom: none; }
.diff-row.header { background: var(--bg-alt); padding: 1rem 0; font-family: 'Outfit', sans-serif; font-weight: 700; }
.diff-row > div { padding: 0 1.5rem; font-size: 0.95rem; color: var(--text-2); }
.diff-row .col-us { color: var(--navy); font-weight: 600; }
.diff-row .col-them { color: var(--text-muted); }
.diff-row.header .col-us { color: var(--blue); }
@media (max-width: 760px) { .diff-row, .diff-row.header { grid-template-columns: 1fr; gap: 0.35rem; } .diff-row > div { padding: 0.25rem 1.25rem; } }
