.person-gallery { max-width:1000px; margin:52px auto; scroll-margin-top:24px; }
.person-intro { text-align:center; margin-bottom:30px; }
.person-intro h2 { font-size:32px; color:#104e3c; margin:12px 0; }
.person-intro>p:last-child { font-size:15px; line-height:1.9; color:#647b71; }
.person-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.tone-blue { --person-accent:#326b86; --person-tint:#edf5fa; }
.tone-green { --person-accent:#23775e; --person-tint:#edf7f0; }
.tone-purple { --person-accent:#765699; --person-tint:#f5f0fa; }
.tone-gold { --person-accent:#936818; --person-tint:#fcf6e9; }
.person-card { display:flex; flex-direction:column; align-items:center; min-width:0; padding:12px 12px 20px; background:#fff; border:1px solid #e2ebe6; border-radius:18px; text-decoration:none; transition:transform .2s,border-color .2s,box-shadow .2s; }
.person-card:hover { transform:translateY(-4px); border-color:var(--person-accent); box-shadow:0 10px 25px #23483f10; }
.person-card img { width:100%; height:auto; }
.person-code { color:var(--person-accent); font-size:24px; font-weight:800; letter-spacing:2px; margin-top:8px; }
.person-card h3 { font-size:16px; color:#294c40; margin:5px 0; }
.person-card p { color:#667a70; font-size:12px; line-height:1.7; text-align:center; margin:4px 0 16px; }
.person-more { color:var(--person-accent); font-size:12px; margin-top:auto; }
.person-disclaimer { color:#667a70; font-size:13px; line-height:1.8; margin:22px 0; text-align:center; }
.person-detail { max-width:1060px; padding:20px 30px 40px; margin:auto; }
.person-crumb { display:flex; flex-wrap:wrap; gap:10px; font-size:13px; color:#647b71; margin:8px 0 24px; }
.person-crumb a { text-decoration:none; }
.person-hero { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:28px; align-items:center; padding:38px; background:var(--person-tint); border-radius:24px; }
.person-hero h1 { color:var(--person-accent); font-size:44px; margin:14px 0; letter-spacing:2px; }
.person-hero h1 span { font-size:28px; letter-spacing:0; }
.person-hero p { line-height:1.9; font-size:15px; }
.person-hero .person-tagline { font-size:20px; font-weight:600; }
.person-hero img { max-width:100%; height:auto; }
.person-cta { display:inline-block; background:var(--person-accent); color:#fff !important; border-radius:10px; padding:13px 20px; text-decoration:none; font-size:15px; margin-top:10px; }
.person-cta:hover { filter:brightness(.92); }
.person-section { border:1px solid #e2ebe6; padding:28px; border-radius:18px; margin:20px 0; }
.person-section h2 { font-size:22px; color:#23483f; margin:0 0 18px; }
.person-section h3 { font-size:17px; margin-top:22px; }
.person-section p,.person-section li { font-size:15px; line-height:1.9; color:#53675e; }
.person-section ul { padding-left:22px; margin-bottom:0; }
.person-section li+li { margin-top:10px; }
.person-section .person-dimensions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:0; list-style:none; }
.person-dimensions li { padding:18px; border-radius:12px; background:var(--person-tint); }
.person-section .person-dimensions li+li { margin-top:0; }
.person-dimensions strong { color:var(--person-accent); }.person-dimensions p { font-size:13px; margin:8px 0 0; }
.person-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.person-columns .person-section { margin:0; }
.person-kicker { display:block; color:var(--person-accent); font-size:12px; margin-bottom:10px; }
.person-growth { background:var(--person-tint); }
.person-related { display:flex; gap:12px; flex-wrap:wrap; }.person-related a { padding:10px 14px; background:var(--person-tint); border-radius:8px; font-size:14px; text-decoration:none; color:var(--person-accent); }.person-related a:hover { text-decoration:underline; }
@media(max-width:800px) { .person-hero { grid-template-columns:1fr 220px; padding:24px; gap:10px; }.person-hero h1 { font-size:34px; }.person-section .person-dimensions { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) {
 .home-nav nav { gap:9px; font-size:11px; }.home-brand { font-size:15px; }.person-gallery { margin:34px auto; }.person-intro h2 { font-size:25px; }.person-intro>p:last-child { font-size:13px; }.person-intro .home-eyebrow { letter-spacing:1px; }
 .person-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.person-card { padding:8px 8px 16px; border-radius:14px; }.person-code { font-size:22px; }.person-card p { font-size:11px; }.person-detail { padding:16px 14px 28px; }.person-hero { grid-template-columns:1fr; padding:22px; }.person-hero img { width:220px; margin:auto; grid-row:1; }.person-hero h1 { font-size:32px; }.person-hero h1 span { font-size:25px; }.person-hero .person-tagline { font-size:18px; }.person-columns { grid-template-columns:1fr; gap:16px; }.person-section { padding:22px 18px; }.person-section h2 { font-size:20px; }.person-dimensions li { padding:12px; }.person-disclaimer { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .person-card { transition:none; }.person-card:hover { transform:none; } }
