/* Public editorial system. Never applied to member or administration screens. */
body.sera-public {
  --page-bg:#f4f4f1; --ink:#17283b; --ink2:#17283b; --muted:#596574;
  --public-line:#d3d8dd; --public-surface:#ffffff;
  margin:0; background:var(--page-bg); color:var(--ink);
  font-family:'DM Sans',system-ui,sans-serif; line-height:1.6;
}
.sera-public *, .sera-public *::before, .sera-public *::after {box-sizing:border-box}
.sera-public [hidden] {display:none!important}
.sera-public a {color:inherit}
.sera-public button,.sera-public input {font:inherit}
.sera-public :is(a,button,input,select):focus-visible {outline:3px solid #245ac0!important;outline-offset:5px}
.sera-public .skip-link:focus {z-index:200}
.sera-public :is(.sidebar,.sidebar-backdrop,.page-bar,.page-footer,.gallery-footer),.sera-public > nav,.sera-public .portal > footer {display:none!important}
body.sera-public #main-content.page,body.sera-public section.page#main-content,body.sera-public main#main-content.page,body.sera-public .page,body.sera-public .detail-main {
  display:block; width:100%; max-width:1600px; min-height:60vh; margin:0 auto!important;
  padding:64px clamp(22px,4.4vw,72px) 80px!important; background:#f4f4f1; color:var(--ink);
}
.sera-public .portal {min-height:0}
.public-header {position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:24px;padding:18px clamp(22px,4.4vw,72px);min-height:90px;background:#f4f4f1f5;border-bottom:1px solid var(--public-line);backdrop-filter:blur(12px)}
.public-brand {font-size:32px;letter-spacing:-2px;font-weight:700;text-decoration:none;line-height:1;flex-shrink:0}
.public-brand img {display:block;width:110px;height:44px;object-fit:contain;background:#fff;border-radius:4px}
.brand-purpose {font-size:10px;line-height:1.5;letter-spacing:.025em;color:#596574;border-left:1px solid var(--public-line);padding-left:22px}
.public-browse {margin-left:auto;font-size:13px;text-decoration:none;border-bottom:1px solid #8b96a2;padding:8px 0}
.public-browse span {margin-left:20px}
.public-menu-button {display:flex;align-items:center;gap:22px;background:none;color:#17283b;border:1px solid #8b96a2;border-radius:40px;padding:10px 19px;cursor:pointer;font-size:13px!important}
.public-menu-button:hover {background:#e5e9ed}
.public-menu {position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px clamp(22px,6vw,96px);border:0;background:#f4f4f1;color:#17283b;overflow:auto}
.public-menu::backdrop {background:#f4f4f1}
.public-menu[open] {animation:menu-in .2s ease-out}
.menu-top {display:flex;align-items:center;justify-content:space-between;padding-bottom:32px;border-bottom:1px solid var(--public-line)}
.menu-layout {display:grid;grid-template-columns:1.4fr 1fr;gap:12%;padding:8vh 0}
.menu-links {display:flex;flex-direction:column}
.menu-links a {font:clamp(38px,5vw,80px)/1.4 Georgia,serif;text-decoration:none;letter-spacing:-.035em}
.menu-links a span {display:inline-block;vertical-align:middle;font:12px system-ui;letter-spacing:0;width:40px;color:#596574}
.menu-links a:hover,.menu-links a[aria-current] {color:#245ac0}
.menu-aside {align-self:center}.menu-signin {display:block;margin:24px 0}.menu-note {color:#596574;font-size:14px;margin-top:48px}
.sera-public .btn-primary {background:#2563eb;color:white;border-radius:40px;padding:13px 23px;display:inline-flex;text-decoration:none;font-size:14px;justify-content:center;border:0}
.sera-public .btn-ghost {color:#17283b;background:transparent;border:1px solid #8b96a2;border-radius:40px}
.kicker {font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#596574;margin:0 0 24px}
.status-dot {display:inline-block;width:7px;height:7px;background:#87aefc;border-radius:50%;margin-right:10px}
.editorial-intro h1,.sera-public .page-title,.sera-public .hub-hero h1 {font:normal clamp(48px,6.4vw,96px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.052em;color:#17283b;margin:0}
.editorial-intro h1 em,.sera-public .page-title em,.sera-public .hub-hero em {color:#245ac0;font-weight:normal}
.intro-bottom {display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin:28px 0 64px}
.intro-bottom p {max-width:460px;font-size:15px;color:#596574;margin:0}
.text-link {font-size:13px;text-decoration:none;white-space:nowrap}.text-link span {margin-left:24px}
.section-label {display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--public-line);padding:20px 0 30px;gap:20px}
.section-label h2,.section-label span {font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:400;margin:0;color:#596574}
.cover-shelf {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:end}
.shelf-item {min-width:0;text-decoration:none;display:block}.program-cover {position:relative;border-radius:8px 16px 16px 8px;overflow:hidden;padding:23px;display:flex;flex-direction:column;box-shadow:inset 5px 0 8px #0002;transition:transform .25s;isolation:isolate}
.shelf-item:hover .program-cover {transform:translateY(-7px) rotate(-1deg)}
.cover-small {font-size:9px;letter-spacing:.12em;position:relative;z-index:2}.cover-title {font:38px/.98 Georgia,serif;letter-spacing:-.055em;position:relative;z-index:2;margin-top:26px}.cover-bottom {font-size:11px;line-height:1.5;margin-top:auto;position:relative;z-index:2}
.cover-opportunities {height:350px;background:#2563eb;color:#fff}.cover-opportunities .cover-title {font-size:46px}
.cover-mentorship {height:310px;background:#d8ddbd;color:#243f32}.cover-competition {height:380px;background:#ec815c;color:#382014}.cover-events {height:330px;background:#bed2ed;color:#17385c}
.orbit-art {position:absolute;inset:115px -40px 35px;transform:rotate(-28deg)}.orbit-art i {position:absolute;inset:10px;border:2px solid #b6d1ff;border-radius:50%}.orbit-art i:nth-child(2) {inset:28px 10px}.orbit-art i:nth-child(3) {inset:48px 10px}
.arch-art {position:absolute;right:20px;bottom:55px;width:150px;height:110px;display:flex}.arch-art i {width:90px;height:110px;background:#2f684e;border-radius:90px 90px 0 0}.arch-art i+ i {background:#9aaa79;transform:translate(-25px,22px)}
.asterisk-art {font:180px/1 Georgia;position:absolute;right:-12px;top:28px;color:#853b2b;transform:rotate(12deg)}.cover-competition .cover-title {margin-top:170px}
.circle-art {position:absolute;width:190px;height:190px;border-radius:50%;background:#f5e6b5;right:-45px;bottom:14px;z-index:0;box-shadow:-27px 24px 0 #6c90bb}
.shelf-caption {display:grid;grid-template-columns:1fr auto;padding-top:18px;gap:5px}.shelf-caption h3 {font-size:15px;font-weight:500;margin:0}.shelf-caption p {grid-column:1/-1;color:#596574;font-size:11px;margin:0;min-height:34px}
.about-heading {margin:110px 0 36px}.about-heading h2 {font:normal clamp(32px,4vw,55px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:0}
.sera-public .home-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.sera-public .home-col {gap:28px}
.sera-public .home-grid .card {background:none;border:0;border-top:1px solid var(--public-line);border-radius:0;padding:24px 0;box-shadow:none}.sera-public .home-grid .card-title {font:25px Georgia,serif;color:#17283b}.sera-public .home-grid :is(.card-desc,.help-list,.steps p,.resource-list p) {color:#596574;font-size:14px}.sera-public .stat-grid {display:none}.sera-public .link {color:#245ac0}.sera-public .steps span {background:#e0e9f8;color:#245ac0}
.sera-public .public-footer {display:block!important;background:#f4f4f1;padding:48px clamp(22px,4.4vw,72px) 28px;border-top:1px solid var(--public-line);color:#17283b}
.footer-intro {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:44px}.footer-intro>a {font-size:clamp(60px,12vw,170px);letter-spacing:-.08em;line-height:1;text-decoration:none;font-weight:600}.footer-intro>a span {font-size:.6em;vertical-align:top;margin-left:20px;color:#245ac0}.footer-intro p {font:26px/1.2 Georgia,serif}.footer-line {display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--public-line);padding-top:24px;font-size:11px;color:#596574}.footer-line div {display:flex;gap:22px}.footer-line a {text-decoration:none}
/* Live opportunity records: both views use these same articles. */
.sera-public .hub-hero {background:none;border:0;padding:0!important;margin-bottom:44px;text-align:left;border-radius:0}.sera-public .hub-hero h1 {max-width:900px;font-size:clamp(44px,5.6vw,80px)}.sera-public .hub-hero p,.sera-public .page-sub {color:#596574;margin:24px 0 40px;max-width:620px;font-size:16px}
.sera-public .hub-controls {background:transparent}.sera-public .hub-search {background:#ffffff;border-color:#8b96a2;box-shadow:none;min-width:0}.sera-public .hub-search input {min-width:0;color:#17283b;font-family:inherit}.sera-public .hub-search input::placeholder {color:#596574}.sera-public .btn-filter {background:#ffffff;border-color:#8b96a2;color:#17283b}.sera-public .filter-tags button {background:transparent;color:#596574;border-color:#8b96a2;min-height:40px}.sera-public .filter-tags button.is-active {background:#17283b;color:#f4f4f1;border-color:#17283b}.sera-public .advanced-filters {background:#ffffff;color:#17283b;border-color:#8b96a2}.sera-public .advanced-filters label {color:#596574}
.view-toolbar {display:flex;justify-content:flex-end}.view-switch {display:flex;gap:4px;border:1px solid #8b96a2;padding:4px;border-radius:40px}.view-switch button {padding:8px 20px;border:0;border-radius:30px;background:none;color:#596574;cursor:pointer;font-size:13px}.view-switch button[aria-pressed=true] {background:#17283b;color:#f4f4f1}
.sera-public #opp-load-status {color:#596574}.sera-public #opp-load-status:empty {display:none}.sera-public #opp-filter-empty {border:1px solid #8b96a2;padding:40px 24px;border-radius:12px}.sera-public #opp-result-count {color:#596574}
.sera-public .opp-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;align-items:start;margin-top:24px}.sera-public .opp-card {background:none;border:0;overflow:visible;border-radius:0;box-shadow:none;transform:none;min-width:0}.sera-public .card-media {height:300px;border-radius:9px 16px 16px 9px;background:#2563eb;isolation:isolate;transition:transform .2s}.sera-public .opp-card:hover .card-media {transform:translateY(-4px)}
.sera-public .cover-fallback {position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:#2563eb;color:#fff}.cover-fallback strong {font:34px/1.12 Georgia,serif;max-width:95%;position:relative;z-index:1}.cover-fallback small {font-size:10px;letter-spacing:.13em;text-transform:uppercase}.cover-fallback::after {content:'';position:absolute;width:240px;height:240px;border:35px double #ffffff33;right:-90px;bottom:-65px;border-radius:50%}
.sera-public [data-category=competition] .cover-fallback {background:#ec815c;color:#382014}.sera-public [data-category=fellowship] .cover-fallback {background:#d8ddbd;color:#243f32}.sera-public [data-category=internship] .cover-fallback {background:#bed2ed;color:#17385c}.sera-public .card-media img {position:relative;z-index:1;object-fit:contain;background:#ffffff}.sera-public .card-badge {z-index:2;bottom:14px;left:18px;background:#17283b;color:#fff}.sera-public .card-body {padding:20px 0;gap:4px}.sera-public .opp-card .card-title {color:#17283b;font:26px/1.2 Georgia,serif}.sera-public .card-org,.sera-public .card-meta,.sera-public .card-field,.sera-public .card-description,.sera-public .card-eligibility {color:#596574;font-size:13px;line-height:1.6}.sera-public .card-description {margin:8px 0}.sera-public .card-category {font-size:10px;color:#245ac0;text-transform:uppercase;letter-spacing:.12em}.sera-public .btn-view {margin-top:12px;background:#2563eb;color:#fff;border-radius:30px;text-align:center}.sera-public .btn-track-opp,.sera-public .competition-submit {background:none;color:#245ac0;border:1px solid #8b96a2;border-radius:30px;padding:9px 16px;font-size:13px;text-align:center;text-decoration:none;margin-top:8px;cursor:pointer}.sera-public .deadline-badge {align-self:flex-start}
.sera-public .opp-grid[data-view=list] {grid-template-columns:1fr;gap:0}.sera-public [data-view=list] .opp-card {display:grid;grid-template-columns:100px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--public-line)}.sera-public [data-view=list] .opp-card.is-hidden {display:none}.sera-public [data-view=list] .card-media {height:130px}.sera-public [data-view=list] .card-media .cover-fallback {padding:12px}.sera-public [data-view=list] .cover-fallback strong {font-size:16px}.sera-public [data-view=list] .cover-fallback small,.sera-public [data-view=list] .card-badge {display:none}.sera-public [data-view=list] .card-body {display:grid;grid-template-columns:2fr 1.2fr 180px;gap:8px 24px;padding:0;align-items:start}.sera-public [data-view=list] .card-title {grid-column:1;grid-row:2}.sera-public [data-view=list] .card-org {grid-column:1;grid-row:3}.sera-public [data-view=list] .card-category {grid-column:1;grid-row:1}.sera-public [data-view=list] .card-meta {grid-column:2;grid-row:2 / span 2}.sera-public [data-view=list] :is(.card-description,.card-field) {display:none}.sera-public [data-view=list] .card-eligibility {grid-column:1 / span 2}.sera-public [data-view=list] .btn-view {grid-column:3;grid-row:2;margin:0}.sera-public [data-view=list] :is(.btn-track-opp,.competition-submit) {grid-column:3;grid-row:3;margin:0}.sera-public [data-view=list] .deadline-badge {grid-column:2;grid-row:1}
/* Detail content preserves administrator-entered guidelines. */
.sera-public .detail-back {color:#245ac0}.sera-public #detail-root {max-width:1100px;margin:auto;display:flow-root}.sera-public .detail-hero {float:right;width:36%;height:400px;margin:0 0 40px 48px;background:#ec815c;border-radius:12px}.sera-public .detail-hero img {object-fit:contain}.sera-public .detail-head h1 {font:normal clamp(40px,4.8vw,68px)/1.06 Georgia,serif;letter-spacing:-.04em;color:#17283b;margin:20px 0}.sera-public .detail-meta {color:#596574}.sera-public .detail-desc {color:#596574;font-size:17px;line-height:1.8;margin-bottom:28px}.sera-public .detail-status {color:#245ac0;font-size:13px}.sera-public .detail-cta {border-radius:40px;color:#fff;margin-bottom:22px}.sera-public .gl-section {clear:both;border-top:1px solid var(--public-line);padding-top:28px;margin-top:32px;max-width:800px}.sera-public .gl-heading {font:28px Georgia,serif;text-transform:none;letter-spacing:-.02em;color:#17283b}.sera-public .gl-section :is(p,li) {color:#596574;line-height:1.8}.sera-public .gl-section strong,.sera-public .gl-date {color:#17283b}.sera-public .gl-section :is(li) {border-color:var(--public-line)}.sera-public .gl-closed {color:#8a4627}.sera-public .detail-org,.sera-public .detail-loading,.sera-public .detail-empty {color:#596574}.sera-public .detail-empty h1 {color:#17283b}.detail-art {display:flex;flex-direction:column;justify-content:space-between;padding:28px;color:#382014;font:40px/1.1 Georgia,serif}.detail-art span {font:140px/1 Georgia,serif}.detail-art small {font:12px system-ui;letter-spacing:.1em}
/* Team portraits and the existing Events React mount. */
.sera-public .team-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:48px}.sera-public .team-card {padding:0;border:0;background:none;border-radius:0;text-align:left}.sera-public .team-card>img {width:100%;height:auto;aspect-ratio:4/5;border-radius:12px;object-fit:cover;object-position:center 28%;margin-bottom:20px}.sera-public .team-card h2 {font:26px Georgia,serif;color:#17283b}.sera-public .team-card .role {color:#245ac0;font-size:12px}.sera-public .team-card p {color:#596574;font-size:14px;margin-top:12px}
.sera-public .events-hero {position:relative;top:auto;height:auto;min-height:0;margin:36px 0;border-radius:16px;overflow:hidden}.sera-public .gallery-section {padding:32px 0;background:none;position:relative}.sera-public .gallery-grid {gap:24px}.sera-public .col-sticky {position:static;height:auto}.sera-public .gallery-fig {border-radius:12px}.sera-public .gallery-fig img {object-position:center}.sera-public .fig-label {background:#17283be8;color:#fff}.gallery-status {color:#596574}
@keyframes menu-in {from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.public-header,.public-footer{padding-left:max(72px,calc((100vw - 1456px)/2));padding-right:max(72px,calc((100vw - 1456px)/2))}}
@media(max-width:1000px){.cover-shelf{gap:16px}.program-cover{padding:17px}.cover-title{font-size:29px}.cover-opportunities .cover-title{font-size:34px}.cover-competition .cover-title{margin-top:185px}.sera-public .home-grid{grid-template-columns:1fr 1fr}.sera-public .team-grid{grid-template-columns:1fr 1fr}.sera-public .opp-grid{grid-template-columns:1fr 1fr}.sera-public [data-view=list] .card-body{grid-template-columns:1fr 1fr}.sera-public [data-view=list] .btn-view{grid-column:1;grid-row:auto}.sera-public [data-view=list] :is(.btn-track-opp,.competition-submit){grid-column:2;grid-row:auto}.brand-purpose{display:none}}
@media(max-width:700px){.public-header{gap:16px;padding:14px 22px;min-height:76px}.public-brand img{width:78px;height:36px}.public-browse{font-size:11px}.public-browse span{display:none}.public-menu-button{padding:8px 12px;gap:8px}.public-header .public-menu-button{font-size:11px!important}body.sera-public #main-content.page,body.sera-public section.page#main-content,body.sera-public .detail-main{padding:42px 22px 56px!important}.editorial-intro h1{font-size:clamp(43px,9.8vw,66px)}.kicker{font-size:9px}.intro-bottom{display:block;margin:24px 0 40px}.intro-bottom p{font-size:14px}.text-link{display:inline-block;margin-top:24px}.cover-shelf{grid-template-columns:1fr 1fr;gap:24px 14px}.program-cover{height:252px;padding:16px}.cover-mentorship{height:225px}.cover-competition{height:260px}.cover-events{height:238px}.cover-title,.cover-opportunities .cover-title{font-size:29px}.cover-small{font-size:7px}.cover-bottom{font-size:9px}.cover-competition .cover-title{margin-top:106px}.asterisk-art{font-size:125px;top:25px}.arch-art{transform:scale(.7);transform-origin:right bottom;right:4px;bottom:45px}.orbit-art{inset:87px -60px 35px}.circle-art{width:130px;height:130px;right:-45px;bottom:25px}.shelf-caption h3{font-size:13px}.shelf-caption p{font-size:10px}.section-label h2,.section-label span{font-size:8px}.about-heading{margin-top:70px}.sera-public .home-grid{grid-template-columns:1fr;gap:0}.footer-intro p{font-size:18px}.footer-line{flex-direction:column}.footer-line div{gap:18px;flex-wrap:wrap}.menu-layout{grid-template-columns:1fr;gap:40px;padding:32px 0}.menu-links a{font-size:43px}.menu-aside .kicker{margin-bottom:20px}.menu-note{margin-top:24px}.sera-public .hub-search-row{flex-wrap:wrap}.sera-public .hub-search{flex-basis:100%}.view-toolbar{justify-content:flex-start}.sera-public .opp-grid{gap:28px 18px}.sera-public .card-media{height:260px}.sera-public .cover-fallback strong{font-size:30px}.sera-public .detail-hero{float:none;width:100%;height:280px;margin:0 0 28px}.sera-public .detail-head h1{font-size:43px}.sera-public .team-grid{gap:30px 18px}.sera-public .team-card h2{font-size:21px}.sera-public .team-card p{font-size:12px}.sera-public [data-view=list] .opp-card{grid-template-columns:1fr;gap:14px}.sera-public [data-view=list] .card-media{display:none}.sera-public [data-view=list] .card-body{display:flex}.sera-public [data-view=list] .card-body>*{width:100%}.sera-public .gallery-grid{grid-template-columns:1fr}.sera-public .col-sticky{grid-column:auto}}
@media(max-width:520px){.sera-public .opp-grid{grid-template-columns:1fr}.sera-public .opp-card .card-title{font-size:27px}.sera-public .card-media{height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.sera-public *, .sera-public *::before,.sera-public *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.shelf-item:hover .program-cover{transform:none}}
.sera-public .events-editorial{position:relative;isolation:isolate;overflow:hidden;padding:60px;background:#bed2ed;color:#17385c;border-radius:14px;min-height:360px}
.sera-public .events-editorial .kicker{color:#17385c}.events-editorial h2{font:normal clamp(38px,5vw,64px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:20px 0}.events-editorial>p:not(.kicker){max-width:440px;margin:24px 0;font-size:15px}.events-editorial a{font-size:13px}.event-orbit{position:absolute;z-index:-1;width:430px;height:430px;right:-80px;top:40px;border:70px double #7398c2;border-radius:50%}.sera-public .hub-tools{background:none}.sera-public .hub-eyebrow{color:#596574}.sera-public .af-title{color:#17283b}.sera-public #opp-result-count+p{color:#596574!important}.sera-public #opp-result-count+p a{color:#245ac0!important}
@media(max-width:700px){.sera-public .events-editorial{padding:30px 24px}.event-orbit{opacity:.3;right:-300px}}
.sera-public .hub-hero .hub-eyebrow{background:none;padding:0;border-radius:0;color:#596574;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 26px}
.sera-public .gl-section{padding:28px 0 0}
.sera-public .events-hero{padding:0;background:none}
.sera-public .deadline-badge{width:max-content;max-width:100%;justify-self:start}
.sera-public .card-media .cover-fallback{padding-bottom:56px}
.sera-public .card-description,.sera-public .card-eligibility,.sera-public .card-meta{overflow-wrap:anywhere}
.sera-public #detail-root>.detail-desc{max-width:800px}
.sera-public .public-header~#portal .program-cover .cover-bottom{background:inherit;width:fit-content}
.sera-public .footer-intro>a{letter-spacing:-.06em}
.sera-public .cover-fallback strong{font-size:28px;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.sera-public .card-media .cover-fallback small:last-child{visibility:hidden}
.sera-public [data-view=list] .card-media .cover-fallback{padding:12px}
.sera-public [data-view=list] .cover-fallback strong{font-size:15px;-webkit-line-clamp:6}
.sera-public .gl-section{margin-bottom:32px}
.public-header .public-brand img{height:50px;object-fit:cover;object-position:50% 65%}
@media(max-width:700px){.public-header .public-brand img{height:36px}}
.sera-public .card-body>.card-category{order:-4}.sera-public .card-body>.card-title{order:-3}.sera-public .card-body>.card-org{order:-2}.sera-public .card-body>.card-field{order:-1}
