*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:#000;color:#F9F7ED;font:17px/1.7 Arial,sans-serif}a{color:#B5E3D8;text-underline-offset:5px}a:hover{color:#A4D65E}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #A4D65E}h1,h2,h3{color:white;line-height:1.12;font-weight:500}h1{font-family:Georgia,serif;font-size:clamp(2.8rem,6vw,5.6rem);letter-spacing:-.04em;margin:1rem 0 1.5rem}h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.025em}h3{font-size:1.4rem}p{max-width:70ch}.wrap{width:min(1200px,calc(100% - 2rem));margin:auto}.eyebrow{color:#C4AD4D;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:bold}.muted{color:#E7ECC3}.skip{position:fixed;top:-100px;z-index:50;background:#024230;padding:1rem}.skip:focus{top:0}header{position:sticky;top:0;background:#024230;z-index:10;border-bottom:1px solid #524D47}.head{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:90px}.brand{color:white;text-decoration:none;line-height:1.2;font-size:1.1rem;font-weight:bold}.brand small{display:block;color:#E7ECC3;font-size:.65rem;letter-spacing:.16em;margin-top:.5rem}nav{display:flex;gap:.25rem}nav a{padding:.65rem .5rem;font-size:.78rem;text-decoration:none;color:#F9F7ED;display:flex;align-items:center;min-height:44px}nav a[aria-current]{background:#00694E;color:white}.menu{display:none;background:none;color:white;border:1px solid #B5E3D8;padding:.5rem .8rem;min-height:44px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;padding:5rem 0 4rem}.hero p{font-size:1.12rem}.hero figure{margin:0}.hero img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border:1px solid #524D47}.hero figcaption{font-size:.75rem;color:#E7ECC3;margin-top:.6rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#00694E;color:white;text-decoration:none;padding:.8rem 1.5rem;border:1px solid #00694E}.button.secondary{background:#000;border-color:#B5E3D8;color:#B5E3D8}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:2rem 0}.section{padding:4rem 0;border-top:1px solid #524D47}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.card{background:#024230;padding:1.8rem;border:1px solid #524D47;min-width:0}.card h3{margin:.7rem 0 1rem}.card a{display:inline-block;min-height:44px}.number{color:#C4AD4D;font-size:.85rem}.card p{font-size:1rem}.intro{padding:4rem 0 2rem;max-width:850px}.intro p{font-size:1.2rem}.research{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:3rem 0;border-top:1px solid #524D47}.concept{border:1px solid #524D47;background:#024230;padding:2rem;display:flex;flex-direction:column;justify-content:center;min-height:250px}.concept .symbol{font-family:Georgia,serif;font-size:4rem;color:#B5E3D8}.empty{border:1px solid #524D47;padding:2rem;color:#E7ECC3;background:#024230}.pi{display:grid;grid-template-columns:180px 1fr;gap:2rem}.portrait{background:#00694E;aspect-ratio:1;display:grid;place-items:center}.portrait svg{width:70%;height:70%}.filters{display:flex;gap:1rem;margin:2rem 0;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:150px}input,select,textarea{background:#024230;color:#F9F7ED;border:1px solid #B5E3D8;padding:.75rem;width:100%;min-height:48px}.pub{padding:1.5rem 0;border-bottom:1px solid #524D47;overflow-wrap:anywhere}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}iframe{width:100%;height:340px;border:0}footer{background:#024230;border-top:1px solid #524D47;margin-top:4rem;padding:3rem 0 1rem}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}footer a{display:inline-block;min-height:44px}footer small{display:block;border-top:1px solid #524D47;padding-top:1rem;margin-top:2rem;color:#E7ECC3}.notice{font-size:.85rem;color:#E7ECC3;border-left:2px solid #C4AD4D;padding-left:1rem}form label{display:block;margin:1rem 0}.honeypot{display:none}.tags{display:flex;gap:1rem;flex-wrap:wrap}.tags span{border:1px solid #524D47;padding:.5rem 1rem} @media(min-width:1440px){.hero{padding-top:6rem}}@media(max-width:1100px){nav{gap:0}nav a{font-size:.7rem;padding:.6rem .35rem}}@media(max-width:1023px){.menu{display:block}nav{display:none}nav.open{display:flex;position:fixed;inset:90px 0 0;flex-direction:column;background:#024230;padding:2rem;overflow:auto}nav a{font-size:1.2rem;min-height:52px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:2rem}.research{gap:2rem}}@media(max-width:599px){.hero{grid-template-columns:1fr;padding:2.5rem 0}.hero img{height:auto;max-height:none;object-fit:contain}.grid,.research,.contact-grid,.foot{grid-template-columns:1fr}.actions{flex-direction:column}.actions .button{width:100%}.section{padding:2.5rem 0}.section-title{display:block}.pi{grid-template-columns:1fr}.portrait{max-width:200px}.intro{padding-top:2rem}.filters{flex-direction:column}iframe{height:260px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* System typography, generous rhythm, and responsive layouts. */
:root{color-scheme:dark;--space:clamp(3.5rem,7vw,7rem)}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.65;letter-spacing:-.015em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Helvetica,Arial,sans-serif;font-weight:600;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:clamp(2.75rem,6.2vw,5.5rem);line-height:1.04;margin:1.1rem 0 1.75rem}
h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;margin:0 0 1.75rem}
h3{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.3;letter-spacing:-.025em}
p{margin:0 0 1.4rem}p:last-child{margin-bottom:0}li{margin:.65rem 0}ul{padding-left:1.3rem}
.wrap{width:min(1160px,calc(100% - 4rem))}.head{min-height:84px;gap:1.5rem}.brand{font-size:1rem;letter-spacing:-.015em}.brand small{font-size:.6rem;letter-spacing:.13em;margin-top:.45rem}
nav{gap:.15rem}nav a{font-size:.76rem;padding:.65rem .55rem;border-radius:8px;white-space:nowrap}
.eyebrow{font-size:.72rem;letter-spacing:.13em;line-height:1.5}.hero{grid-template-columns:1.08fr 1fr;gap:clamp(2rem,5vw,4.5rem);padding:var(--space) 0}.hero p{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.6}.hero .eyebrow{font-size:.72rem;line-height:1.8;letter-spacing:.13em}.hero figcaption{font-size:.75rem;line-height:1.5;margin-top:1rem}.hero img{border-radius:16px}
.actions{gap:1rem;margin:2.25rem 0}.button{border-radius:999px;padding:.85rem 1.6rem;font-size:.95rem;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:background-color .18s,color .18s,transform .18s}.button:hover{background:#024230;color:#fff}.button:active{transform:scale(.98)}
.section{padding:var(--space) 0}.section-title{margin-bottom:2rem;align-items:center}.section-title h2{margin:0}.section-title>a{flex-shrink:0}.grid{gap:1.5rem}.card{border-radius:18px;padding:clamp(1.5rem,3vw,2.25rem)}.card h3{margin:.85rem 0 1rem}.card p{line-height:1.65}.card a{display:inline-flex;align-items:center}.number{font-size:.75rem;letter-spacing:.06em}
.intro{padding:var(--space) 0 3rem;max-width:900px}.intro p{font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.65;max-width:60ch}.research{padding:clamp(3rem,6vw,5rem) 0;gap:clamp(2rem,6vw,5rem);align-items:center}.concept,.empty{border-radius:16px;padding:clamp(1.5rem,3vw,2.5rem)}.concept .symbol{font-family:inherit;font-weight:600;letter-spacing:-.05em}.pi{gap:2.5rem}.portrait{border-radius:14px;overflow:hidden}
main{min-width:0}main>*{min-width:0}.contact-grid{gap:clamp(2rem,5vw,4rem);align-items:start}iframe{border-radius:16px}.contact-grid h2{font-size:clamp(1.6rem,3vw,2.2rem)}input,select,textarea{border-radius:10px}form{max-width:700px}form label{margin:1.5rem 0}form input,form textarea{margin-top:.5rem}
footer{margin-top:var(--space);padding:4rem 0 1.5rem}.foot{gap:3rem}.foot h3{font-size:1.1rem;letter-spacing:-.015em;margin:0 0 1.25rem}.foot p,.foot a{font-size:.95rem}footer small{font-size:.75rem;line-height:1.7;padding-top:1.5rem;margin-top:3rem}.tags{gap:.75rem}.tags span{border-radius:999px;font-size:.8rem;padding:.6rem 1.1rem}
.publication-intro{padding-bottom:2rem}.publication-toolbar{padding-bottom:2.5rem}.publication-list{max-width:960px;border-top:1px solid #524D47}.pub{padding:2.5rem 0;display:grid;grid-template-columns:4rem minmax(0,1fr);gap:1.5rem;overflow-wrap:anywhere}.pub-year{font-size:.85rem;line-height:1.5;color:#C4AD4D;padding-top:.3rem;font-variant-numeric:tabular-nums}.pub h2{font-size:clamp(1.25rem,2.1vw,1.65rem);line-height:1.4;letter-spacing:-.025em;margin:0 0 1rem;text-wrap:pretty}.pub-title{color:#fff;text-decoration:none}.pub-title:hover,.pub-title:focus-visible{color:#B5E3D8;text-decoration:underline}.pub-authors{font-size:.95rem;line-height:1.65;color:#E7ECC3;margin-bottom:.65rem}.pub-journal{font-size:.9rem;color:#E7ECC3;margin-bottom:.85rem}.pub-abstract{display:inline-flex;align-items:center;min-height:44px;font-size:.95rem}.publication-more{max-width:960px;display:flex;align-items:center;flex-direction:column;gap:1rem;padding:2.5rem 0}.publication-status{color:#E7ECC3;font-size:.85rem;margin:0}.publication-more [hidden]{display:none}
@media(min-width:1024px) and (max-width:1150px){.head{gap:1rem}.brand{max-width:210px}nav a{font-size:.7rem;padding:.6rem .4rem}}
@media(max-width:1023px){.head{min-height:80px}.menu{flex:none;white-space:nowrap;border-radius:999px;padding:.6rem 1rem}nav.open{inset:80px 0 0;padding:1.5rem 2rem;gap:.3rem}nav a{font-size:1.15rem;white-space:normal}.hero{gap:2rem}.research{align-items:start}.section-title{align-items:baseline}}
@media(max-width:599px){.wrap{width:calc(100% - 2rem)}body{font-size:17px}.head{gap:1rem}.brand{font-size:.88rem;max-width:220px}.brand small{font-size:.55rem;letter-spacing:.09em}.hero{grid-template-columns:1fr;padding:3.5rem 0;gap:2.5rem}.hero h1{font-size:clamp(2.7rem,11vw,4rem)}.hero .eyebrow{font-size:.68rem}.actions{margin:2rem 0;gap:.8rem}.section{padding:3.5rem 0}.section-title{display:block;margin-bottom:1.75rem}.section-title h2{margin-bottom:1rem}.grid{gap:1.25rem}.intro{padding:3.5rem 0 2.25rem}.research{padding:3rem 0;gap:2rem}.pi{gap:1.5rem}.foot{gap:2rem}footer{padding:3rem 0 1.5rem}.publication-toolbar{padding-bottom:2rem}.pub{grid-template-columns:1fr;gap:.75rem;padding:2rem 0}.pub-year{padding:0}.pub h2{font-size:1.3rem}.pub-authors{font-size:.95rem}.publication-more{padding:2rem 0}.publication-more .button{width:100%}}


/* Team cards share a square portrait and a consistent content hierarchy. */
.team-section>h2{margin-bottom:2rem}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}.member-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.member-portrait{aspect-ratio:1;position:relative;overflow:hidden;background:#00694E;isolation:isolate}.member-photo{display:block;width:100%;height:100%;object-fit:cover}.member-content{padding:1.65rem;display:flex;flex-direction:column;flex:1}.member-content h3{font-size:1.35rem;line-height:1.3;margin:0 0 .65rem;overflow-wrap:anywhere}.member-content p{margin:0}.member-year{color:#E7ECC3;font-size:.9rem;line-height:1.5}.member-content .member-research{margin-top:1rem;font-size:.95rem;line-height:1.65}.member-content .member-linkedin{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin-top:1.25rem;border:1px solid #B5E3D8;border-radius:50%;font-weight:700;text-decoration:none}.team-loading{padding:3rem 0;color:#E7ECC3}
@media(min-width:1440px){.member-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.member-content{padding:1.4rem}}
@media(min-width:600px) and (max-width:1023px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.member-grid{grid-template-columns:1fr;gap:1.5rem}.member-content{padding:1.5rem}.member-content h3{font-size:1.45rem}.team-section>h2{margin-bottom:1.75rem}}

.member-content .member-joined{margin-top:.4rem;color:#E7ECC3;font-size:.9rem;line-height:1.5}

.activity-album{padding:3rem 0;border-top:1px solid #315c4c}.activity-album h2{margin:0 0 .75rem}.album-description{color:#E7ECC3;max-width:65ch;margin:0 0 2rem;line-height:1.7}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.activity-photo{margin:0;border:1px solid #315c4c;border-radius:18px;overflow:hidden;background:#103f30}.activity-photo a{display:block;background:#081e17}.activity-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.activity-photo figcaption{padding:1rem 1.25rem;font-size:.95rem;line-height:1.6}.activity-photo a:focus-visible{outline:3px solid #E7ECC3;outline-offset:-4px}@media(max-width:1023px){.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:599px){.activity-grid{grid-template-columns:1fr}.activity-album{padding:2.5rem 0}}

.sfg-visuals{min-width:0}.sfg-figure{margin:0;border:1px solid #315c4c;border-radius:16px;overflow:hidden;background:#123f30}.sfg-figure a{display:block}.sfg-figure img,.sfg-geometry img{display:block;width:100%;height:auto}.sfg-figure figcaption{padding:1.3rem}.sfg-figure h3{margin:0 0 .6rem}.sfg-figure p,.sfg-geometry p{font-size:.9rem;line-height:1.65;margin:0;color:#E7ECC3}.sfg-geometry{margin-top:1rem;border:1px solid #315c4c;border-radius:12px;padding:1rem}.sfg-geometry summary{cursor:pointer;line-height:1.6;min-height:44px}.sfg-geometry p{margin-top:1rem}#\30 .sfg-visuals{width:100%}

.research-theme-heading{display:flex;align-items:center;gap:1.2rem;margin:1rem 0 1.5rem}.research-theme-heading h2{margin:0;min-width:0}.research-theme-icon{display:block;width:96px;height:96px;object-fit:contain;padding:10px;box-sizing:border-box;background:#f4f6ec;border-radius:16px;flex-shrink:0}@media(max-width:599px){.research-theme-heading{align-items:flex-start;flex-direction:column;gap:1rem}.research-theme-icon{width:80px;height:80px}}

.sfg-icon-panel{background:#f4f6ec;padding:2rem;display:flex;align-items:center;justify-content:center}.sfg-icon-panel img{width:min(100%,360px);height:auto;aspect-ratio:1;object-fit:contain}

.research-wide-icon img{width:100%;max-width:none;aspect-ratio:auto}.research-wide-icon{padding:1.5rem}

.pi-photo-wrap{padding:0;overflow:hidden}.pi-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:52% 45%;border-radius:inherit}.pi-profile-intro{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:2.5rem;align-items:center}.pi-bio-photo{aspect-ratio:1;overflow:hidden;border-radius:18px}@media(max-width:700px){.pi-profile-intro{grid-template-columns:1fr;gap:1.5rem}.pi-bio-photo{max-width:300px;width:100%}}

.alumni-group{margin-top:2.5rem}.alumni-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.alumni-grid li{padding:1.4rem;border:1px solid #315c4c;border-radius:14px;background:#103f30;min-width:0}.alumni-grid h4{margin:0 0 .5rem;font-size:1.1rem}.alumni-dates{margin:0 0 .75rem;color:#E7ECC3;font-size:.9rem}.alumni-affiliation{font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}@media(max-width:1023px){.alumni-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:599px){.alumni-grid{grid-template-columns:1fr}}

.member-content .member-major{margin-top:.45rem;font-size:.9rem;line-height:1.6;color:#E7ECC3}.member-content .member-hobby{margin-top:1rem;padding-top:.85rem;border-top:1px solid #315c4c;font-size:.9rem;line-height:1.65;color:#E7ECC3}

.pi-outside{font-size:.95rem;line-height:1.65;color:#E7ECC3}

/* Consistent research panels, typography, and small-screen layouts. */
h4{font-family:inherit;font-weight:600;letter-spacing:-.025em;line-height:1.35}
.sfg-icon-panel{min-height:300px}.sfg-icon-panel img{max-height:360px}.research-wide-icon img{max-height:360px}
.pi-photo-wrap{align-self:start;width:100%}.pi-profile-intro>div{min-width:0}
.member-content .member-major,.alumni-dates{overflow-wrap:anywhere}
@media(min-width:600px) and (max-width:800px){.research{grid-template-columns:1fr}}
@media(max-width:599px){.sfg-icon-panel{padding:1.5rem;min-height:240px}.sfg-icon-panel img{max-height:280px}}

.brand-with-logo{display:flex;align-items:center;gap:.8rem;min-width:0}.brand-logo{display:block;width:64px;height:64px;object-fit:contain;background:#fff;border-radius:8px;flex-shrink:0}.brand-label{display:block}.footer-logo{display:block;width:180px;height:180px;object-fit:contain;background:#fff;border-radius:12px;margin-bottom:1.5rem}
@media(min-width:1024px) and (max-width:1200px){.brand-label{max-width:150px}.brand-with-logo{gap:.6rem}.brand-logo{width:54px;height:54px}.brand-with-logo .brand-label{font-size:.8rem}.brand-with-logo small{font-size:.5rem}}
@media(max-width:599px){.brand-with-logo{max-width:none;gap:.65rem;flex:1}.brand-logo{width:52px;height:52px}.brand-label{font-size:.72rem;max-width:150px}.brand-with-logo small{font-size:.45rem;letter-spacing:.05em}.head{gap:.6rem}.menu{padding:.5rem .75rem}.footer-logo{width:160px;height:160px}}

.sfg-molecular-panel{padding:0;background:#000;min-height:0}.sfg-molecular-panel img{display:block;width:100%;max-width:none;max-height:none;aspect-ratio:auto;height:auto}

.brand-logo,.footer-logo{background:transparent;border-radius:0}

.brand-logo{width:84px;height:auto;max-height:76px}.footer-logo{width:180px;height:auto}@media(max-width:599px){.brand-logo{width:64px;height:auto;max-height:64px}.footer-logo{width:160px;height:auto}}

/* Group Activities event gallery */
#activity-albums [hidden],
#activity-intro[hidden] { display: none; }
#activity-intro { padding-bottom: 1.5rem; }
.event-totals, .event-year-count, .event-status { color: #e7ecc3; }
.event-totals { margin: .9rem 0 0; font-weight: 600; }
.event-overview, .event-detail { padding-bottom: 4rem; }
.event-filters { display: flex; flex-wrap: wrap; gap: .55rem; }
.event-filter, .event-control, .event-thumb {
  min-width: 44px; min-height: 44px; cursor: pointer;
  border: 1px solid #749a8a; border-radius: 9px;
  color: #f9f7ed; background: #123f30;
}
.event-filter { padding: .35rem .8rem; }
.event-filter[aria-pressed="true"] { background: #b5e3d8; color: #081e17; border-color: #b5e3d8; }
.event-status { margin: .75rem 0 1.25rem; font-size: .9rem; }
.event-year { margin-top: 1.6rem; }
.event-year-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: .65rem 1rem; margin: 0 0 1rem; }
.event-year-heading h2, .event-year-count { margin: 0; }
.event-card-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,460px),1fr)); gap: 1.25rem; }
.event-card { position: relative; border: 1px solid #315c4c; border-radius: 16px; background: #024230; min-width: 0; }
.event-card:focus-within { outline: 3px solid #a4d65e; outline-offset: 4px; }
.event-cover {
  display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: repeat(2,minmax(0,1fr));
  gap: 3px; aspect-ratio: 2 / 1; position: relative; overflow: hidden;
  border-radius: 15px 15px 0 0; background: #081e17;
}
.event-cover img { width: 100%; height: 100%; object-fit: cover; min-width: 0; min-height: 0; transition: transform .2s ease; }
.event-cover img:first-child { grid-row: span 2; }
.event-cover[data-count="2"] { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0,1fr); }
.event-cover[data-count="2"] img:first-child { grid-row: auto; }
.event-cover[data-count="1"] { grid-template-columns: 1fr; }
@media (hover: hover) { .event-card:hover .event-cover img { transform: scale(1.035); } }
.event-photo-badge { position: absolute; right: .7rem; bottom: .65rem; border-radius: 6px; padding: .18rem .55rem; color: #f9f7ed; background: #081e17; font-size: .85rem; }
.event-card-body { padding: 1.1rem 1.2rem 1.3rem; }
.event-card-body .eyebrow { margin: 0 0 .45rem; }
.event-card-body h3 { margin: 0 0 .55rem; }
.event-card-link { color: #f9f7ed; text-decoration: none; }
.event-card-link::after { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.event-card-body .album-description { margin-bottom: .7rem; }
.event-card-action { color: #b5e3d8; font-weight: 600; }
.event-detail { padding-top: 1.5rem; }
.event-detail > h1 { margin: .55rem 0 .85rem; }
.event-detail > .eyebrow { margin: 1rem 0 0; }
.event-detail > .album-description { margin-bottom: .7rem; }
.event-route-link { display: inline-flex; align-items: center; min-height: 44px; }
.event-photo-grid { columns: 300px; column-gap: 16px; margin: 1.25rem 0; }
.event-photo-grid .activity-photo { break-inside: avoid; margin-bottom: 16px; }
.event-photo-grid .activity-photo img { aspect-ratio: auto; }
.event-viewer-open { overflow: hidden; }
.event-viewer {
  box-sizing: border-box; width: min(calc(100% - 1rem), 1240px); max-width: none;
  max-height: calc(100dvh - 1rem); overflow: auto; overscroll-behavior: contain;
  margin: auto; padding: clamp(.6rem,2vw,1rem); color: #f9f7ed; background: #081e17;
  border: 1px solid #749a8a; border-radius: 14px;
}
.event-viewer::backdrop { background: rgb(0 0 0 / .88); }
.event-viewer-bar { display: flex; justify-content: space-between; align-items: start; gap: .5rem; margin-bottom: .5rem; }
.event-viewer-bar h2 { font-size: clamp(1.15rem,3vw,1.55rem); margin: 0; }
.event-viewer-count, .event-viewer-caption { margin: .2rem 0; color: #f9f7ed; }
.event-stage { display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; align-items: center; gap: .35rem; touch-action: pan-y; }
.event-stage img { width: 100%; height: auto; max-height: min(75vh, calc(100dvh - 205px)); object-fit: contain; display: block; }
.event-control { width: 48px; height: 48px; font-size: 1.25rem; padding: 0; flex: 0 0 48px; }
.event-thumbnails { display: flex; gap: .35rem; overflow-x: auto; padding: .35rem 4px .5rem; }
.event-thumb { flex: 0 0 56px; width: 56px; height: 48px; padding: 2px; }
.event-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 5px; }
.event-thumb[aria-current="true"] { border: 3px solid #a4d65e; padding: 0; }
@media (max-width: 599px) {
  .event-stage { grid-template-columns: 1fr 1fr; }
  .event-stage img { grid-column: 1 / -1; grid-row: 1; max-height: min(65vh, calc(100dvh - 248px)); }
  .event-stage button:last-child { justify-self: end; }
}
@media (prefers-reduced-motion: reduce) { .event-cover img { transition: none; } }

/* News announcements */
.news-post { padding: 1.5rem 0; border-top: 1px solid #315c4c; }
.news-post h3 { margin: .5rem 0; }
.news-post p { margin: .5rem 0; }
.news-post-with-photo { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,300px); gap: 1.5rem; align-items: start; }
.news-post img { display: block; width: 100%; max-width: 300px; height: auto; border-radius: 12px; }
@media (max-width: 599px) { .news-post-with-photo { grid-template-columns: 1fr; } }
