/* Shared program additions preserve the existing medal experience. */
.masthead{flex-wrap:wrap}.masthead nav{flex-wrap:wrap}.program-section{padding:80px 5%}.program-inner{width:100%;max-width:1296px;margin:0 auto}.program-dark,.program-hero{background:var(--purple);color:#fff}.program-light{background:#fff}.program-offwhite{background:var(--paper)}.program-section h2{max-width:950px}.program-section h2 em,.program-hero h1 em{font-style:normal;color:var(--gold)}.program-intro{max-width:900px;font-size:1.1rem;line-height:1.75;margin-bottom:36px}.program-dark .program-intro{color:#d6cadf}.program-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.program-card{background:white;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:32px;display:flex;flex-direction:column;min-width:0}.program-card h3,.program-card h4{font-family:'Libre Caslon Display',Georgia,serif;font-size:2rem;line-height:1.15;font-weight:400;margin:0 0 22px}.program-card p{color:var(--muted);font-size:1rem;margin-bottom:22px}.program-card>a{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;font-size:.9375rem}.program-card .text-link{color:#603f79}.program-hero{padding:76px 5% 82px}.program-hero h1{font-size:clamp(3.7rem,6.4vw,6.3rem);max-width:1080px;margin-bottom:30px}.program-subhead{max-width:800px;font-size:1.3rem;color:#ddd3e5;line-height:1.6;margin-bottom:32px}.program-actions{display:flex;flex-wrap:wrap;gap:14px}.program-actions .button{display:inline-flex;text-decoration:none;text-align:center;overflow-wrap:anywhere;height:auto}.program-actions .primary{background:var(--gold);color:var(--purple)}.program-actions .secondary{background:transparent;color:#fff}.prose{max-width:900px}.prose p{font-size:1.08rem;line-height:1.8}.prose p:last-child{margin-bottom:0}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}.value-card{display:flex;gap:20px;border:1px solid #ffffff28;border-radius:5px;padding:28px}.value-letter{font-family:'Libre Caslon Display',Georgia,serif;font-size:3.5rem;line-height:1;color:var(--gold);width:32px;flex-shrink:0}.value-card h3{font-size:1.1rem;margin-bottom:10px}.value-card p{color:#d6cadf;margin:0}.program-steps{max-width:980px}.program-steps li{padding:25px 0}.program-steps li:first-child{padding-top:10px}.program-steps h3{margin-bottom:8px}.program-dark .program-steps li{border-color:#ffffff25}.program-dark .program-steps p{color:#d6cadf}.program-dark .program-steps .step-number{color:var(--gold)}.program-dark .program-steps a{color:var(--gold);font-size:inherit;font-weight:400}.program-note{max-width:880px;font-size:.9375rem;color:var(--muted);margin:24px 0 0}.program-columns{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1140px}.program-columns h3{font-size:1.2rem}.program-columns p{color:var(--muted)}.hosting-close{padding-top:25px;border-top:1px solid var(--line);max-width:1140px}.honor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.honor-year+.honor-year{margin-top:40px}.school-year{font-size:1.25rem;color:var(--gold);margin:32px 0 20px}.program-card .school-name{font-weight:600;margin-bottom:5px;color:var(--ink)}.program-card .card-meta{font-size:.875rem;color:#74627f}.program-card .card-reflection{border-top:1px solid var(--line);padding-top:20px;margin:0}.contact-line{margin:24px 0 0;overflow-wrap:anywhere}.completion-callout{max-width:980px;border-left:3px solid var(--gold);background:#ffffff09;padding:24px 28px;margin:32px 0 0;font-size:1.15rem}.reflection-questions{padding-left:24px;margin:25px 0}.reflection-questions li{padding:8px 0 8px 8px;font-size:1.08rem}.cemetery-card{background:var(--paper)}.mission-count{color:var(--gold);border-top:1px solid #ffffff28;padding-top:25px;font-size:1.2rem;margin-bottom:28px}.missions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-card h3{font-size:2.4rem}.mission-card .mission-label{color:#795093;font-size:.875rem;margin-bottom:20px}.mission-card .service-line{font-weight:600;color:var(--ink)}.mission-card .card-reflection{margin-bottom:24px}.featured-reflection{max-width:1020px}.featured-reflection blockquote{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(2rem,3.4vw,3rem);line-height:1.32;margin:0 0 28px;color:var(--purple)}.featured-reflection blockquote:before{content:'“';color:#9a773f}.featured-reflection blockquote:after{content:'”';color:#9a773f}.featured-reflection figcaption{font-size:.9375rem;color:var(--muted);border-top:1px solid var(--line);padding-top:22px}.keep-going{font-size:.9375rem;color:var(--gold);font-style:italic;margin:24px 0 0}
@media(max-width:1100px){.masthead{gap:16px}.masthead nav{gap:20px}.program-card{padding:26px}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-card-grid:not(.honor-grid):not(.missions-grid){gap:16px}.program-card h3{font-size:1.8rem}}
@media(max-width:760px){.masthead nav{justify-content:flex-start;gap:9px 20px}.masthead nav a{min-height:30px;display:inline-flex;align-items:center}.program-section{padding:54px 6%}.program-hero{padding:48px 6% 56px}.program-hero h1{font-size:clamp(3rem,11vw,4.6rem);line-height:1.05}.program-subhead{font-size:1.15rem}.program-section h2{font-size:2.7rem}.program-card-grid,.honor-grid,.missions-grid,.values-grid,.program-columns{grid-template-columns:1fr}.program-card{padding:26px}.program-card h3,.program-card h4{font-size:2rem}.program-actions{gap:12px}.program-actions .button{max-width:100%;padding:13px 17px}.program-intro{font-size:1rem}.value-card{padding:24px}.program-steps li{gap:18px}.program-columns{gap:20px}.completion-callout{padding:20px}.program-card p,.program-card h3,.program-card h4{overflow-wrap:anywhere}.prose p{font-size:1rem}.featured-reflection blockquote{font-size:2.2rem}.program-page .brand strong{max-width:240px}}
/* Virginia chapter directory. */
.chapters-section{background:var(--paper)}.chapters-section .program-intro{color:var(--muted);max-width:850px}.chapters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.chapter-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:6px;padding:30px;min-width:0}.chapter-number{font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:#795093;font-weight:600;margin-bottom:16px}.chapter-card h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:2.2rem;font-weight:400;line-height:1.15;margin-bottom:12px}.chapter-area{color:var(--muted);margin-bottom:24px}.chapter-details,.chapter-contact{margin:0}.chapter-details{padding-top:24px;border-top:1px solid var(--line);flex:1}.chapter-details>div{margin-bottom:20px}.chapter-card dt{font-size:.875rem;font-weight:600;color:var(--ink);margin-bottom:5px}.chapter-card dd{margin:0;color:var(--muted);font-size:1rem;overflow-wrap:anywhere}.chapter-contact{padding-top:22px;border-top:1px solid var(--line);display:grid;gap:13px}.chapter-contact>div{display:grid;grid-template-columns:60px minmax(0,1fr);gap:10px}.chapter-contact dt{margin:0}.chapter-contact a{color:#603f79}.chapter-pending{display:block;border-left:2px solid var(--gold);padding-left:10px;margin-top:10px;font-size:.875rem;color:#775c30}.chapter-call-first{background:var(--paper);border-left:3px solid var(--gold);padding:12px 14px;margin:0 0 18px;color:var(--ink);font-size:.95rem}.chapter-call-first strong{display:block;margin-bottom:4px}.chapter-call-first a{font-weight:700;color:#603f79}.masthead nav{row-gap:10px}
@media(max-width:1100px){.chapters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-card{padding:26px}}
@media(max-width:760px){.chapters-grid{grid-template-columns:1fr}.chapter-card h3{font-size:2.1rem}.chapter-contact>div{grid-template-columns:58px minmax(0,1fr)}}
/* Honor-roll photography, styled to match the existing award cards. */
.honor-card{overflow:hidden}.honor-card .honor-photo{display:block;width:calc(100% + 64px);max-width:none;height:320px;object-fit:contain;object-position:center;background:#fff;margin:-32px -32px 24px}.honor-card .presenter-line{font-size:.94rem;color:var(--muted);margin-bottom:0}.honor-card>a.text-link{margin-top:18px;border-top:1px solid var(--line);padding-top:18px;color:#603f79}
@media(max-width:1100px){.honor-card .honor-photo{width:calc(100% + 52px);margin:-26px -26px 22px}}
@media(max-width:760px){.honor-card .honor-photo{width:calc(100% + 52px);height:260px;aspect-ratio:auto;margin:-26px -26px 22px}}

/* Put honoree portraits first, show full images clearly, and offer a direct full-size view. */
#honor-roll{scroll-margin-top:20px}
#honor-roll .program-inner>h2{margin-bottom:12px}
#honor-roll .program-intro{margin-bottom:28px}
.honor-card{padding:28px}
.honor-card .honor-photo-link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% + 56px);height:430px;margin:-28px -28px 22px;background:#fff;overflow:hidden;text-decoration:none}
.honor-card .honor-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff;margin:0}
.honor-photo-open{position:absolute;right:12px;bottom:12px;padding:6px 10px;background:#fff;color:#4e2775;border:1px solid #ded9e2;border-radius:3px;font-size:.8125rem;font-weight:600}
.honor-photo-link:focus-visible{outline:3px solid #b78628;outline-offset:-3px}
.honor-card .photo-credit{margin-top:-8px;font-size:.8rem}
@media(max-width:1100px){.honor-card{padding:26px}.honor-card .honor-photo-link{width:calc(100% + 52px);height:400px;margin:-26px -26px 20px}}
@media(max-width:760px){.honor-card{padding:24px}.honor-card .honor-photo-link{width:calc(100% + 48px);height:min(112vw,440px);margin:-24px -24px 18px}.honor-card .honor-photo{width:100%;height:100%}}
