/* Approved artwork: the image is deliberately unchanged. Real links overlay
   the two footer actions and accessible, comfortably sized controls sit below. */
.home-passport.approved-passport-shell { border:0; border-radius:14px; background:#fbfaf5; overflow:hidden; max-width:490px; }
.approved-passport { margin:0; min-width:0; }
.passport-artwork { position:relative; width:100%; }
.passport-main-link { display:block; }
.passport-artwork img { display:block; width:100%; height:auto; aspect-ratio:2/3; }
.passport-hotspot { display:block; position:absolute; border-radius:6px; }
.passport-download { left:42.5%; top:90.2%; width:31.5%; height:4.2%; }
.passport-chat { left:78%; top:90.2%; width:18%; height:4.2%; }
.passport-main-link:focus-visible,.passport-hotspot:focus-visible { outline:3px solid #9fcf80; outline-offset:-4px; }
.passport-hotspot:hover { box-shadow:inset 0 0 0 2px #d9bd6c; }
.approved-passport figcaption { padding:6px 18px 16px; background:#fbfaf5; color:#153f31; }
.passport-example-note { font-size:.75rem; line-height:1.5; color:#535f57; margin:0 0 10px; }
.passport-real-actions { display:flex; gap:10px 16px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.passport-real-actions a { min-height:44px; display:inline-flex; align-items:center; font-size:.82rem; text-underline-offset:4px; }
.passport-talk { border-radius:7px; padding:10px 15px; background:#153f31; color:white; text-decoration:none; }
.passport-view { color:#153f31; }
.passport-entry-note { font-size:.75rem; line-height:1.5; margin:9px 0 0; color:#535f57; }
.people-section { scroll-margin-top:100px; }
main > .section.people-section > .wrap { background:#f4f1e6; }
.people-intro { max-width:65ch; color:var(--muted); margin-top:18px; }
.people-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:28px; }
.people-card { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:white; display:flex; flex-direction:column; }
.people-photo { height:270px; background:#eef1e7; overflow:hidden; }
.people-photo img { width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
.people-copy { padding:22px; flex:1; }
.people-copy h3 { font-size:1.2rem; font-weight:600; line-height:1.35; letter-spacing:-.02em; }
.people-copy p { font-size:.92rem; line-height:1.55; margin-top:8px; color:var(--muted); }
.people-footer-link { min-height:44px; display:inline-flex; align-items:center; }
.passport-reader-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr); gap:20px; align-items:start; padding-bottom:24px; }
.passport-reader-layout > .approved-passport { border-radius:14px; overflow:hidden; background:#fbfaf5; }
.passport-reader-copy { display:grid; gap:16px; }
.passport-reading-card { border-radius:12px; background:var(--cream,#f7f5e9); padding:24px; border:1px solid var(--line); }
.passport-reading-card h2 { font-size:1.4rem; line-height:1.35; }
.passport-reading-card p { font-size:.9rem; line-height:1.65; color:var(--muted); margin-top:14px; }
.passport-readable-fields { margin-top:20px; padding:0 16px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.passport-readable-fields > div { padding:12px 0; border-bottom:1px solid var(--line); }
.passport-readable-fields > div:last-child { border-bottom:0; }
.passport-readable-fields dt { font-size:.75rem; color:var(--muted); }
.passport-readable-fields dd { margin:4px 0 0; font-size:.92rem; line-height:1.45; color:var(--forest); }
.passport-document-list { list-style:none; margin:18px 0 0; padding:0; }
.passport-document-list li { background:#fff; border:1px solid var(--line); border-radius:7px; margin:7px 0; padding:12px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:.84rem; }
.document-state { color:#356044; font-size:.75rem; white-space:nowrap; }
.passport-document-list li:last-child .document-state { color:#946817; }
.passport-reading-card .btn { margin-top:18px; }
@media (max-width:1000px) { .people-photo { height:220px; } .people-copy { padding:18px; } }
@media (max-width:850px) { .passport-reader-layout { grid-template-columns:1fr; } .passport-reader-layout>.approved-passport { max-width:640px; width:100%; justify-self:center; } .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .home-passport.approved-passport-shell { max-width:520px; } .people-grid { grid-template-columns:1fr; gap:16px; } .people-photo { height:300px; } .people-copy { padding:22px; } .people-copy h3 { font-size:1.25rem; } .passport-reading-card { padding:20px; } }
@media (prefers-reduced-motion:reduce) { .passport-artwork * { transition:none; } }
