.photo-page-head{position:relative;isolation:isolate;overflow:hidden;background:#0f1b30;color:white;width:100%;padding:64px 0 46px;margin:0 0 48px;min-height:310px;display:flex;align-items:center}
.page-head-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2;filter:brightness(.8)}
.photo-page-head:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0f1b30eb,#0f1b30b5 55%,#0f1b3055)}
.photo-page-head .page-head-content{position:relative}.photo-page-head h1{max-width:960px;font-size:clamp(36px,4.4vw,62px);line-height:1.12;text-wrap:balance;margin-bottom:19px}.photo-page-head p{color:#e0e5ef;max-width:680px;line-height:1.85;font-size:14px;margin-bottom:15px}.photo-page-head .eyebrow{color:#e1c892}.banner-photo-note{font-size:8px;color:#c6ccda;letter-spacing:.08em}.compact-head{min-height:225px;padding:38px 0 30px}.compact-head h1{font-size:42px}
.social-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.social-links a,.footer .social-links a:not(.brand){display:inline-flex;align-items:center;gap:11px;padding:11px 16px;border:1px solid #d7b87565;border-radius:999px;font-size:12px;line-height:1.3;margin:0;transition:background .2s,color .2s}.social-links svg{flex-shrink:0}.social-links a:hover{background:#d7b87525}.footer .social-links{margin:18px 0 22px}
.pin-label{display:block;font-size:10px;color:#80602b;margin-top:4px}.pin-action{font-size:10px;color:#80602b;margin-top:8px}.pin-action[aria-pressed=true]{color:#0f1b30}.event-image .badge{max-width:calc(100% - 28px);line-height:1.5}
.announcements{padding:40px 0 18px}.announcement-list{display:grid;gap:16px}.announcement{display:flex;gap:20px;background:#ede2c9;border:1px solid #c7ae7b66;border-radius:12px;padding:26px 30px}.announcement-symbol{color:#92723a;font-size:25px;line-height:1;flex-shrink:0;padding-top:5px}.announcement h2{font-size:22px;margin-bottom:10px;letter-spacing:-.025em}.announcement p{white-space:pre-line;line-height:1.8;font-size:13px;max-width:900px;margin-bottom:12px;overflow-wrap:anywhere}.announcement p:last-child{margin-bottom:0}.announcement-admin-list{margin:24px 0}.news-delete{margin-top:26px;border-top:1px solid #0f1b3020;padding-top:15px;font-size:12px}.news-delete summary{cursor:pointer}.news-delete p{margin-top:12px}
@media(max-width:760px){.photo-page-head{min-height:265px;padding:42px 0 30px;margin-bottom:32px}.photo-page-head h1{font-size:36px}.photo-page-head p{font-size:13px}.photo-page-head:after{background:linear-gradient(90deg,#0f1b30df,#0f1b30a0)}.compact-head{min-height:210px}.compact-head h1{font-size:34px}.announcement{padding:22px 20px;gap:13px}.announcement h2{font-size:20px}.announcements{padding-top:28px}.announcement-symbol{font-size:21px}.social-links a{min-height:44px}}
.cards{align-items:stretch;gap:32px;row-gap:42px}
.event-card>a{display:flex;flex-direction:column;height:100%}
.event-card .card-bottom{margin-top:auto;padding-top:15px}
.event-card h3{font-size:21px;line-height:1.3;margin-bottom:20px}
.event-image{aspect-ratio:1.5;flex-shrink:0}
.event-card .meta{margin-bottom:9px}
.event-image>img{transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.results-meta{font-size:11px;color:#66717e;margin:22px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.results-meta .text-link{font-size:11px}
.results-empty{grid-column:1/-1;text-align:center;padding:50px 24px;border:1px dashed #baa78388;border-radius:12px;background:#faf6ed}
.results-empty h3{font-size:23px;margin-bottom:12px}
.results-empty p{font-size:13px;color:#637278}
.results-empty .btn{margin-top:8px}
.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:10px;color:#d1d7e2;margin-bottom:25px;letter-spacing:.025em}
.breadcrumbs a{padding:4px 0;border-bottom:1px solid #ffffff40}
.breadcrumbs a:hover{color:#e5c789}
.breadcrumbs span[aria-hidden]{color:#d7b875}
.photo-page-head h1{font-weight:550;max-width:830px;text-wrap:balance}
.toolbar{gap:18px}
.view-toggle{background:#e8e0d0;padding:4px;border-radius:999px;gap:1px}
.view-toggle .pill{border-color:transparent;min-height:34px;padding:7px 17px}
.search{background:#fffcf6!important}
.detail-photo{box-shadow:0 12px 35px #0f1b3010}
.board-card{border-top:2px solid #c9b07850}
.board-card .initial{box-shadow:0 0 0 6px #e9e0cf50;font-weight:400}
.board-card h3{font-size:24px}
.footer-main{gap:40px}
.footer a:not(.brand){width:fit-content}
.footer .brand small{color:#d7b875}
.social-links a:focus-visible{outline:3px solid #d7b875;outline-offset:4px}
.sidebar{align-self:start}
.sidebar button:hover:not(.selected){background:#e6dece}
.table-wrap{border:1px solid #0f1b3012;border-radius:12px;background:#fff8}
.table-wrap th{background:#e9e1d2;padding:14px}
.table-wrap td{padding:18px 14px}
.table-wrap tbody tr:last-child td{border-bottom:0}
.home-page .hero-copy p{max-width:510px}
.home-page .ticker{margin-top:0;border-bottom:1px solid #bda57822}
@media(max-width:760px){.cards{gap:32px}.breadcrumbs{font-size:9px;margin-bottom:20px}.view-toggle{margin-left:auto}.footer-main{gap:28px 20px}.results-meta{align-items:start}.table-wrap{border-radius:9px}}
@media(prefers-reduced-motion:reduce){.event-image>img{transition:none!important}}

/* About copy follows the existing Nostro palette and typography. */
.about-page{padding-top:15px}.about-story{align-items:start;gap:70px;grid-template-columns:.85fr 1.15fr}
.nostro-print{margin:12px 0 30px}.nostro-print img{width:100%;height:410px;object-fit:cover;border-radius:14px;box-shadow:0 12px 30px #0f1b3010}
.nostro-print figcaption{font-size:12px;padding:16px 0;color:var(--muted)}
.about-copy h2{font-size:clamp(29px,3vw,40px);line-height:1.22;letter-spacing:-.035em;max-width:600px;color:var(--brand-blue)}
.about-copy p{font-size:14px;line-height:1.95;color:var(--muted);margin-bottom:20px}.about-copy .about-lead{font-size:16px;color:var(--brand-blue)}.about-copy .about-closing{font-weight:650;color:var(--brand-blue);border-left:3px solid var(--gold);padding:5px 0 5px 18px;margin:28px 0}
@media(max-width:760px){.about-story{grid-template-columns:1fr;gap:16px}.nostro-print{margin:10px 0 28px}.nostro-print img{height:300px}.about-copy .eyebrow{font-size:9px}.about-copy p{font-size:14px}}
@media(min-width:761px) and (max-width:950px){.about-story{gap:34px;grid-template-columns:.8fr 1.2fr}.about-copy h2{font-size:29px}.about-copy .about-lead{font-size:14px}.nostro-print img{height:330px}}
/* Real association albums, within the existing navy-and-gold style. */
.photo-album{margin-bottom:64px}.photo-album h2{font-size:clamp(25px,3vw,35px)}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.album-grid button{position:relative;padding:0;border:0;border-radius:12px;overflow:hidden;background:var(--brand-blue);color:white;text-align:left}.album-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s}.album-grid button:hover img{transform:scale(1.025)}.album-grid span{position:absolute;bottom:12px;right:12px;background:#0f1b30df;padding:8px 12px;border-radius:30px;font-size:10px;color:#f2dfb6}.album-grid button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:760px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-album{margin-bottom:42px}.album-grid span{font-size:9px;padding:6px 9px;bottom:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.album-grid img{transition:none}}
#modal .detail-photo{max-height:calc(90dvh - 180px);object-fit:contain;background:#0f1b30;width:100%}
/* Finishing pass: readable supporting text and clearer activity sections. */
.home-page .hero-photo>img{filter:brightness(.92);object-position:center 54%}
.event-card .meta,.event-card .card-bottom,.small,.form-note{font-size:12px;line-height:1.7}
.event-card .meta,.results-meta,.form-note{color:#52616a}
.photo-page-head .banner-photo-note{font-size:10px;color:#e0e4eb}
.section-intro{max-width:550px;font-size:13px;line-height:1.8;color:#52616a;margin:15px 0 0}
.event-group{margin:30px 0 52px}.event-group>h2{font-size:26px;margin-bottom:24px}
.event-group .event-card{max-width:480px}.event-group .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.editor-album-row{padding:22px 0;border-bottom:1px solid #0f1b3020}.editor-album-row .editor-thumb{max-height:180px;width:100%;object-fit:contain;background:#eee8db}
.editor-album-row .button-row{margin-top:12px}.editor-album-row button:disabled{opacity:.4;cursor:default}
@media(max-width:760px){.event-group{margin-bottom:36px}.event-group .event-card{max-width:none}.section-intro{font-size:12px}.home-page .hero-photo>img{object-position:62% center}.home-page .hero-copy p{font-size:14px}.event-card .meta{font-size:12px}.album-grid span{font-size:11px}}
.board-portrait{width:100%;height:260px;object-fit:cover;border-radius:12px;margin-bottom:24px}.board-card .board-bio{font-size:13px;line-height:1.85;color:#52616a;max-width:360px}
@media(min-width:761px) and (max-width:1050px){.member-layout{grid-template-columns:1fr}.member-layout>.sidebar{flex-direction:row;overflow-x:auto;gap:8px}.member-layout>.sidebar button{white-space:nowrap}.editor-savebar{gap:12px}.editor-savebar .text-link{font-size:12px}}
/* The association stories stand on their own, without an adjacent photograph. */
.about-page .about-story{display:block;max-width:740px;margin:0 auto 52px}.about-copy h2{max-width:740px}.about-copy p{max-width:680px}
.home-page .home-story{display:block;text-align:center}.home-story .story-copy{max-width:900px;margin:auto}.home-story .story-copy>.eyebrow{justify-content:center}.home-story .story-copy>p{max-width:660px;margin-left:auto;margin-right:auto}.home-story .benefits{grid-template-columns:repeat(4,minmax(0,1fr));text-align:left;margin:32px 0}.home-story .story-copy>h2{max-width:700px;margin-left:auto;margin-right:auto}
.home-page .hero-photo>img{object-position:center 43%}
@media(max-width:760px){.home-story .benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-page .hero-photo>img{object-position:48% center}.about-page .about-story{margin-bottom:36px}}
.home-page .hero-photo>img{object-position:center 52%}
@media(max-width:760px){.home-page .hero-photo>img{object-position:center 62%}}
.home-page .hero-photo>img{object-position:center 43%}
@media(max-width:760px){.home-page .hero-photo>img{object-position:center center}}
.home-page .hero-photo>img{object-position:center 56%}
@media(max-width:760px){.home-page .hero-photo>img{object-position:center 65%}}
