/* Official Version C (three-page sponsor site): Home sections, Team presentation, Support details and shared footer.
   Loaded after design-c.css; reuses its hydrogel background, white clearings and brochure palette. */
body.public-v2[data-design="c"] {
  --oc-navy: var(--brand-navy); --oc-teal: var(--brand-teal); --oc-gold: var(--brand-gold); --oc-green: var(--brand-green);
  --oc-cream: var(--brand-cream); --oc-blush: var(--brand-blush); --oc-rose: rgb(201 154 160);
}
.oc-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.public-v2[data-design="c"] main .oc-kicker { margin: 0 0 .9rem; font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #2F6577 !important; }
body.public-v2[data-design="c"] main .oc-text-link { display: inline-flex; align-items: center; gap: .4em; min-height: 44px; font-weight: 700; color: var(--oc-navy); text-decoration: none; border-bottom: 1px solid rgb(var(--brand-navy-rgb) / .3); }
body.public-v2[data-design="c"] main .oc-text-link:hover { border-bottom-color: var(--oc-navy); }
body.public-v2[data-design="c"] main .oc-text-link span { color: inherit; transition: transform .2s ease; }
body.public-v2[data-design="c"] main .oc-text-link:hover span { transform: translateX(3px); }

/* ---- Shared media card (hero visual, supporting visuals) ---- */
body.public-v2[data-design="c"] .oc-media-card { position: relative; z-index: 1; margin: 0; padding: clamp(8px, 1.2vw, 12px); overflow: hidden; background: #fff; border: 1px solid var(--c-card-border); border-radius: 20px; box-shadow: 0 18px 44px rgb(43 48 78 / .12); }
body.public-v2[data-design="c"] .oc-media-card :is(video, img) { display: block; width: 100%; height: auto; aspect-ratio: var(--media-ratio, 16 / 9); object-fit: cover; border-radius: 12px; background: #fff; }
body.public-v2[data-design="c"] :is(.oc-media-card, .oc-gallery-item) video { cursor: pointer; }
body.public-v2[data-design="c"] :is(.oc-media-card, .oc-gallery-item) video:focus-visible { outline: 3px solid #D86928; outline-offset: 3px; }

/* ---- 1. Hero ---- */
body.public-v2[data-design="c"] .oc-hero { padding-block: clamp(28px, 5vw, 72px) !important; }
body.public-v2[data-design="c"] .oc-hero-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(28px, 5vw, 80px); min-height: min(560px, calc(100svh - 200px)); }
body.public-v2[data-design="c"] .oc-hero[data-media="true"] .oc-hero-layout { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
body.public-v2[data-design="c"] .oc-hero h1 { max-width: 14ch; margin: .25em 0 .4em; font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.02; }
body.public-v2[data-design="c"] .oc-lead { max-width: 46ch; margin: 0 0 30px; font-size: clamp(1.08rem, 1.5vw, 1.28rem); line-height: 1.6; }
body.public-v2[data-design="c"] .oc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
body.public-v2[data-design="c"] .oc-hero-visual { display: grid; place-items: center; min-width: 0; }
body.public-v2[data-design="c"] .oc-hero[data-media="true"] .oc-emblem { display: none; }
body.public-v2[data-design="c"] .oc-hero-media { width: 100%; }
body.public-v2[data-design="c"] .oc-emblem {
  position: relative; display: grid; place-items: center; width: min(100%, 400px); aspect-ratio: 1; border-radius: 50%; overflow: hidden;
  background: radial-gradient(circle at 34% 30%, #fff 0 22%, rgb(255 255 255 / .6) 48%, transparent 72%), radial-gradient(circle at 70% 76%, rgb(201 154 160 / .45), transparent 58%), linear-gradient(150deg, #FFFDF8, #F6E9E4 55%, #E9D3D3);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .9), inset 0 0 60px rgb(201 154 160 / .28), 0 24px 60px rgb(43 48 78 / .12);
}
body.public-v2[data-design="c"] .oc-emblem img { position: relative; z-index: 1; width: 38%; height: auto; filter: drop-shadow(0 10px 18px rgb(43 48 78 / .18)); }
body.public-v2[data-design="c"] .oc-pore { position: absolute; border-radius: 50%; background: radial-gradient(circle at 40% 35%, rgb(255 255 255 / .95), rgb(255 255 255 / .35) 60%, rgb(201 154 160 / .2)); box-shadow: inset 0 0 0 1px rgb(76 131 148 / .16); filter: blur(.4px); animation: oc-drift 14s ease-in-out infinite alternate; }
body.public-v2[data-design="c"] .oc-pore--1 { width: 26%; aspect-ratio: 1; left: 9%; top: 14%; }
body.public-v2[data-design="c"] .oc-pore--2 { width: 16%; aspect-ratio: 1; right: 14%; top: 18%; animation-delay: -4s; }
body.public-v2[data-design="c"] .oc-pore--3 { width: 20%; aspect-ratio: 1; right: 10%; bottom: 14%; animation-delay: -8s; }
body.public-v2[data-design="c"] .oc-pore--4 { width: 12%; aspect-ratio: 1; left: 22%; bottom: 16%; animation-delay: -2s; }
@keyframes oc-drift { from { transform: translate(0, 0); } to { transform: translate(6px, -8px); } }

/* ---- 2. Mission & Vision, and "Why it matters" ---- */
body.public-v2[data-design="c"] .oc-mission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 3vw, 40px); }
body.public-v2[data-design="c"] .oc-statement { margin: 0; padding: clamp(26px, 3.4vw, 46px); border-radius: 18px; background: #fff; border: 1px solid var(--c-card-border); box-shadow: 0 1px 2px rgb(43 48 78 / .04), 0 14px 36px rgb(43 48 78 / .06); }
body.public-v2[data-design="c"] .oc-statement--vision { background: linear-gradient(160deg, #fff 0%, #FBF1EE 100%); }
body.public-v2[data-design="c"] .oc-statement--vision .oc-kicker { color: #8A5560 !important; }
body.public-v2[data-design="c"] main .oc-statement-text { margin: 0; max-width: 24ch; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 2.7vw, 2.35rem); line-height: 1.2; letter-spacing: -.012em; }
body.public-v2[data-design="c"] main .oc-statement-more { margin: 18px 0 0; max-width: 46ch; font-size: 1.12rem; line-height: 1.62; color: var(--c-ink-2); }
body.public-v2[data-design="c"] .oc-why { margin-top: clamp(34px, 5vw, 68px); display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(22px, 3vw, 40px); }
body.public-v2[data-design="c"] .oc-why[data-has-visual="true"] { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; }
body.public-v2[data-design="c"] main .oc-why-title { max-width: 26ch; margin: .1em 0 .7em; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 2.7vw, 2.3rem); font-weight: 500; line-height: 1.15; letter-spacing: -.01em; }
body.public-v2[data-design="c"] .oc-why-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body.public-v2[data-design="c"] .oc-why[data-has-visual="true"] .oc-why-list { grid-template-columns: 1fr; gap: 12px; }
body.public-v2[data-design="c"] .oc-why-list li { display: flex; gap: 14px; padding: 20px 22px; background: #fff; border: 1px solid var(--c-card-border); border-top: 4px solid var(--oc-teal); border-radius: 14px; box-shadow: 0 8px 22px rgb(43 48 78 / .05); }
body.public-v2[data-design="c"] .oc-why-list li:nth-child(2) { border-top-color: var(--oc-rose); }
body.public-v2[data-design="c"] .oc-why-list li:nth-child(3) { border-top-color: var(--oc-gold); }
body.public-v2[data-design="c"] main .oc-why-list li > span { flex: none; min-width: 2ch; font-family: Georgia, "Times New Roman", serif; font-size: 1.4rem; line-height: 1.2; color: #2F6577; }
body.public-v2[data-design="c"] main .oc-why-list h4 { margin: 0 0 4px; font-size: 1.05rem; line-height: 1.3; }
body.public-v2[data-design="c"] main .oc-why-list p { margin: 0; font-size: .98rem; line-height: 1.55; }
body.public-v2[data-design="c"] main .oc-sources { margin: 16px 0 0; font-size: .85rem; }
body.public-v2[data-design="c"] .oc-story-visuals { display: grid; gap: 14px; min-width: 0; }
body.public-v2[data-design="c"] .oc-story-card { width: 100%; }
body.public-v2[data-design="c"] .oc-crop { position: relative; overflow: hidden; border-radius: 12px; aspect-ratio: var(--crop-ratio, 16 / 9); background: #fff; }
body.public-v2[data-design="c"] .oc-crop > :is(video, img) { position: absolute; display: block; max-width: none; border-radius: 0; aspect-ratio: auto; }
body.public-v2[data-design="c"] .oc-story-visuals { max-width: 540px; justify-self: end; width: 100%; }
body.public-v2[data-design="c"] main .oc-why-lead { max-width: 52ch; margin: 0 0 22px; font-size: 1.06rem; line-height: 1.6; color: var(--c-ink-2); }

/* ---- 3. Meet the Team (preview) ---- */
body.public-v2[data-design="c"] .oc-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
body.public-v2[data-design="c"] .oc-split-copy { grid-column: 1; }
body.public-v2[data-design="c"] .oc-team-preview h2 { margin: .1em 0 .45em; }
body.public-v2[data-design="c"] .oc-team-preview p:not(.eyebrow) { margin-bottom: 26px; font-size: 1.08rem; }
body.public-v2[data-design="c"] .oc-team-photo { margin: 0; grid-column: 2; position: relative; }
body.public-v2[data-design="c"] .oc-team-photo img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px; box-shadow: 0 20px 48px rgb(43 48 78 / .14); }
body.public-v2[data-design="c"] .oc-split:has(.oc-team-photo:not([hidden])) { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
body.public-v2[data-design="c"] .oc-split:has(.oc-team-photo:not([hidden])) .oc-facts { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.public-v2[data-design="c"] .oc-facts { grid-column: 2; list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
body.public-v2[data-design="c"] .oc-facts li { display: grid; grid-template-columns: 74px 1fr; align-items: center; gap: 18px; padding: 16px 22px; background: #fff; border: 1px solid var(--c-card-border); border-left: 4px solid var(--oc-teal); border-radius: 12px; }
body.public-v2[data-design="c"] .oc-facts li:nth-child(2) { border-left-color: var(--oc-rose); }
body.public-v2[data-design="c"] .oc-facts li:nth-child(3) { border-left-color: var(--oc-gold); }
body.public-v2[data-design="c"] main .oc-facts strong { font-family: Georgia, "Times New Roman", serif; font-size: 2.4rem; font-weight: 500; line-height: 1; text-align: center; white-space: nowrap; }
body.public-v2[data-design="c"] main .oc-facts span { font-size: 1rem; line-height: 1.4; color: var(--c-ink-2); }

/* ---- 4. Support Our Research (main sponsorship call) ---- */
body.public-v2[data-design="c"] main > section.oc-support::before { opacity: .45; }
body.public-v2[data-design="c"] .oc-support-panel {
  position: relative; overflow: hidden; padding: clamp(36px, 6vw, 84px) clamp(24px, 6vw, 88px); border-radius: 22px; text-align: center;
  background: radial-gradient(70% 90% at 100% 0%, rgb(201 154 160 / .32), transparent 60%), radial-gradient(60% 80% at 0% 100%, rgb(76 131 148 / .35), transparent 60%), var(--oc-navy);
  box-shadow: 0 30px 70px rgb(43 48 78 / .22);
}
body.public-v2[data-design="c"] main .oc-support-panel :is(h2, p, li) { color: var(--oc-cream) !important; margin-inline: auto; }
body.public-v2[data-design="c"] main .oc-support-panel h2 { max-width: 20ch; margin-block: 0 .5em; font-size: clamp(2rem, 4.2vw, 3.5rem); line-height: 1.08; }
body.public-v2[data-design="c"] main .oc-support-panel p:not(.oc-kicker) { max-width: 60ch; margin-bottom: 26px; font-size: clamp(1rem, 1.3vw, 1.14rem); color: #EFE7DE !important; }
body.public-v2[data-design="c"] main .oc-support-panel .oc-kicker--light { color: var(--oc-gold) !important; }
body.public-v2[data-design="c"] .oc-chips { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 30px; padding: 0; }
body.public-v2[data-design="c"] main .oc-chips li { margin: 0; padding: 6px 16px; border: 1px solid rgb(245 240 232 / .38); border-radius: 999px; font-size: .92rem; line-height: 1.4; background: rgb(255 255 255 / .06); }
body.public-v2[data-design="c"] main .oc-support-panel p.oc-support-note { margin: 20px auto 0; font-size: .88rem; opacity: .92; }
body.public-v2[data-design="c"] main .oc-button-light { min-height: 52px; padding-inline: 1.6rem; background: var(--oc-cream); border-color: var(--oc-cream); color: var(--oc-navy); font-size: 1.04rem; border-radius: 999px; }
body.public-v2[data-design="c"] main .oc-button-light:hover { background: #fff; border-color: #fff; color: var(--oc-navy); }
body.public-v2[data-design="c"] main .oc-support-panel .oc-button-light:focus-visible { outline: 3px solid var(--oc-gold); outline-offset: 3px; }
body.public-v2[data-design="c"] .oc-support--compact .oc-support-panel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 28px; text-align: left; padding: clamp(28px, 4vw, 48px); }
body.public-v2[data-design="c"] main .oc-support--compact .oc-support-panel h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.4rem); }
body.public-v2[data-design="c"] .oc-support--compact .oc-support-panel > div { flex: 1 1 320px; }
body.public-v2[data-design="c"] main .oc-support--compact .oc-kicker { margin-bottom: .5rem; }

/* ---- 5. Inside the Lab: a mosaic that fits one to six items; the first item is the lead ---- */
body.public-v2[data-design="c"] .oc-lab-head { max-width: 760px; margin-bottom: clamp(20px, 3vw, 36px); }
body.public-v2[data-design="c"] .oc-lab-head h2 { margin: .1em 0 .35em; }
body.public-v2[data-design="c"] .oc-gallery { display: grid; gap: clamp(10px, 1.5vw, 18px); grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 17vw, 250px); }
body.public-v2[data-design="c"] .oc-gallery-item { position: relative; margin: 0; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 14px 34px rgb(43 48 78 / .1); }
body.public-v2[data-design="c"] .oc-gallery-item--lead { grid-column: span 2; grid-row: span 2; }
body.public-v2[data-design="c"] .oc-gallery[data-count="1"] { grid-template-columns: 1fr; grid-auto-rows: auto; }
body.public-v2[data-design="c"] .oc-gallery[data-count="2"] { grid-template-columns: 1.4fr 1fr; grid-auto-rows: clamp(220px, 30vw, 420px); }
body.public-v2[data-design="c"] .oc-gallery[data-count="1"] .oc-gallery-item--lead, body.public-v2[data-design="c"] .oc-gallery[data-count="2"] .oc-gallery-item--lead { grid-column: auto; grid-row: auto; }
body.public-v2[data-design="c"] .oc-gallery[data-count="3"] .oc-gallery-item:not(.oc-gallery-item--lead) { grid-column: span 2; }
body.public-v2[data-design="c"] .oc-gallery[data-count="4"] .oc-gallery-item:nth-child(2) { grid-column: span 2; }
body.public-v2[data-design="c"] .oc-gallery[data-count="6"] { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(170px, 20vw, 290px); }
body.public-v2[data-design="c"] .oc-gallery[data-count="6"] .oc-gallery-item--lead { grid-column: auto; grid-row: auto; }
body.public-v2[data-design="c"] .oc-gallery-item :is(img, video) { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
body.public-v2[data-design="c"] .oc-gallery[data-count="1"] .oc-gallery-item :is(img, video) { height: auto; aspect-ratio: 16 / 9; max-height: 72vh; }
body.public-v2[data-design="c"] .oc-gallery-item:hover :is(img, video) { transform: scale(1.02); }
body.public-v2[data-design="c"] main .oc-gallery-item figcaption { position: absolute; left: 12px; bottom: 12px; margin: 0; padding: 6px 12px; border-radius: 999px; background: rgb(255 255 255 / .92); color: var(--oc-navy) !important; font-size: .84rem; font-weight: 600; }

/* ---- Team page ---- */
body.public-v2[data-design="c"] .oc-team-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(22px, 3.4vw, 44px); }
body.public-v2[data-design="c"] .oc-counts { list-style: none; display: flex; flex-wrap: wrap; gap: 12px 14px; margin: 26px 0 0; padding: 0; }
body.public-v2[data-design="c"] .oc-counts li { display: flex; align-items: baseline; gap: 10px; padding: 10px 20px; background: #fff; border: 1px solid var(--c-card-border); border-radius: 999px; box-shadow: 0 6px 16px rgb(43 48 78 / .05); }
body.public-v2[data-design="c"] main .oc-counts strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; font-weight: 500; line-height: 1; }
body.public-v2[data-design="c"] main .oc-counts span { font-size: .98rem; }
body.public-v2[data-design="c"] .oc-group-photo { position: relative; margin: 0; }
body.public-v2[data-design="c"] .oc-group-photo img { display: block; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; border-radius: 24px; box-shadow: 0 26px 60px rgb(43 48 78 / .17); }
body.public-v2[data-design="c"] main .oc-group-photo figcaption { position: absolute; left: 16px; bottom: 16px; margin: 0; padding: 7px 14px; border-radius: 999px; background: rgb(255 255 255 / .92); color: var(--oc-navy) !important; font-size: .88rem; font-weight: 600; }
body.public-v2[data-design="c"] .oc-section-intro { margin: 0 0 22px; }
body.public-v2[data-design="c"] .team-grid { display: grid; gap: clamp(14px, 1.8vw, 22px); }
body.public-v2[data-design="c"] .team-grid--students { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
body.public-v2[data-design="c"] .team-grid--guidance { grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: start; }
body.public-v2[data-design="c"] .team-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: clamp(20px, 2.2vw, 28px) clamp(14px, 1.6vw, 22px) !important; }
body.public-v2[data-design="c"] .team-card .profile-role { margin: 8px 0 0; font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #2F6577 !important; }
body.public-v2[data-design="c"] .team-card .profile-name { margin: 2px 0 2px; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; font-weight: 500; }
body.public-v2[data-design="c"] .team-card .profile-intro { margin: 4px 0 0; font-size: .96rem; line-height: 1.55; }
body.public-v2[data-design="c"] .team-card .profile-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; margin-top: 10px; font-size: .9rem; }
body.public-v2[data-design="c"] .team-card .team-portrait { width: 128px; height: 128px; border-radius: 50%; object-fit: cover; object-position: center 30%; border: 4px solid var(--oc-blush); }
body.public-v2[data-design="c"] main .team-monogram { display: grid; place-items: center; width: 128px; height: 128px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, #F3E4E1 70%); border: 4px solid var(--oc-blush); color: var(--oc-navy); font-family: Georgia, "Times New Roman", serif; font-size: 2.4rem; letter-spacing: .02em; }
body.public-v2[data-design="c"] .team-grid--guidance .team-portrait, body.public-v2[data-design="c"] .team-grid--guidance .team-monogram { width: 96px; height: 96px; font-size: 1.9rem; }
body.public-v2[data-design="c"] .team-card--professor { border-top-color: var(--oc-gold) !important; }
/* Roster slots still waiting for a profile: one compact row of quiet tiles, so the real team size is visible without empty placeholders. */
body.public-v2[data-design="c"] .team-grid--pending { margin-top: clamp(14px, 1.8vw, 22px); }
body.public-v2[data-design="c"] .team-grid--pending-researchTeam { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
body.public-v2[data-design="c"] .team-grid--pending-coaches { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
body.public-v2[data-design="c"] .team-card--pending .profile-role { margin-top: 6px; }
body.public-v2[data-design="c"] main .team-card--pending .profile-soon { margin: 0; font-size: .9rem; color: var(--c-ink-2); font-style: italic; }
body.public-v2[data-design="c"] .oc-working-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
body.public-v2[data-design="c"] .oc-working-photo { margin: 0; }
body.public-v2[data-design="c"] .oc-working-photo img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; box-shadow: 0 18px 44px rgb(43 48 78 / .14); }
body.public-v2[data-design="c"] main .oc-working-photo figcaption { margin-top: 8px; font-size: .85rem; }

/* ---- Support page ---- */
body.public-v2[data-design="c"] .oc-support-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px; padding: 0 !important; background: transparent !important; border: 0 !important; }
body.public-v2[data-design="c"] .oc-support-modes .support-mode { display: flex; gap: 14px; padding: 22px; }
body.public-v2[data-design="c"] .oc-support-modes .support-mode h3 { margin: 0 0 4px; }
body.public-v2[data-design="c"] .oc-support-modes .support-mode p { margin: 0; }
body.public-v2[data-design="c"] .oc-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 26px 0 0; padding: 0; counter-reset: none; }
body.public-v2[data-design="c"] .oc-steps li { display: flex; gap: 16px; padding: 22px; background: #fff; border: 1px solid var(--c-card-border); border-radius: 14px; box-shadow: 0 8px 22px rgb(43 48 78 / .05); }
body.public-v2[data-design="c"] main .oc-steps li > span { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--oc-navy); color: var(--oc-cream); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; }
body.public-v2[data-design="c"] main .oc-steps h3 { margin: 0 0 4px; }
body.public-v2[data-design="c"] main .oc-steps p { margin: 0; }
body.public-v2[data-design="c"] main .oc-sponsor-empty { grid-column: 1 / -1; padding: 26px 28px; border: 1px dashed rgb(var(--brand-teal-rgb) / .5); border-radius: 14px; background: rgb(255 255 255 / .9); }
body.public-v2[data-design="c"] main .oc-sponsor-empty p { margin: 0; }
body.public-v2[data-design="c"] main .oc-sponsor-empty .oc-sponsor-empty-title { margin-bottom: 4px; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
body.public-v2[data-design="c"] main .oc-contact-pending { padding: 12px 16px; border-left: 3px solid var(--oc-gold); background: rgb(255 255 255 / .8); font-style: italic; }

/* ---- Shared footer ---- */
body.public-v2[data-design="c"] .oc-footer { padding-block: 40px 28px; }
body.public-v2[data-design="c"] .oc-footer-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px 40px; align-items: start; }
body.public-v2[data-design="c"] .oc-footer .footer-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 1.15rem; font-weight: 750; text-decoration: none; }
body.public-v2[data-design="c"] .oc-footer .footer-brand img { filter: brightness(0) invert(1); }
body.public-v2[data-design="c"] .oc-footer .footer-note { margin: 10px 0 0; font-size: .92rem; line-height: 1.5; }
body.public-v2[data-design="c"] .oc-footer-nav { display: flex; flex-wrap: wrap; gap: 6px 22px; }
body.public-v2[data-design="c"] .oc-footer-nav a { display: inline-flex; align-items: center; min-height: 40px; }
body.public-v2[data-design="c"] .oc-copyright { grid-column: 1 / -1; margin: 0; padding-top: 18px; border-top: 1px solid rgb(245 240 232 / .18); max-width: none; font-size: .8rem; color: #D9CFC6; }

/* ---- Team photograph placeholder: a visible, intentional slot until the real group photograph is configured ---- */
body.public-v2[data-design="c"] .oc-photo-soon { position: relative; overflow: hidden; isolation: isolate; display: grid; place-content: center; justify-items: center; gap: 10px; width: 100%; aspect-ratio: 3 / 2; padding: 24px; text-align: center; border-radius: 22px; border: 1.5px dashed rgb(var(--brand-teal-rgb) / .5);
  background: radial-gradient(55% 75% at 14% 18%, rgb(255 255 255 / .96), transparent 62%), radial-gradient(55% 70% at 92% 92%, rgb(201 154 160 / .4), transparent 62%), linear-gradient(150deg, #FFFDF8, #F6E9E4 58%, #EBD6D4);
  box-shadow: inset 0 0 44px rgb(255 255 255 / .75), 0 20px 48px rgb(43 48 78 / .1); }
body.public-v2[data-design="c"] .oc-photo-soon::before, body.public-v2[data-design="c"] .oc-photo-soon::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; background: radial-gradient(circle at 40% 35%, rgb(255 255 255 / .95), rgb(255 255 255 / .35) 60%, rgb(201 154 160 / .2)); box-shadow: inset 0 0 0 1px rgb(76 131 148 / .16); }
body.public-v2[data-design="c"] .oc-photo-soon::before { width: 22%; aspect-ratio: 1; left: 6%; bottom: 10%; }
body.public-v2[data-design="c"] .oc-photo-soon::after { width: 13%; aspect-ratio: 1; right: 8%; top: 12%; }
body.public-v2[data-design="c"] .oc-photo-soon img { width: 40px; height: auto; filter: drop-shadow(0 8px 14px rgb(43 48 78 / .18)); }
body.public-v2[data-design="c"] main .oc-photo-soon p { margin: 0; max-width: none; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 2.2vw, 1.85rem); line-height: 1.2; }
body.public-v2[data-design="c"] main .oc-photo-soon span { font-size: .95rem; color: var(--c-ink-2); }
body.public-v2[data-design="c"] .oc-group-photo .oc-photo-soon { aspect-ratio: 16 / 7; }
body.public-v2[data-design="c"] .oc-team-photo, body.public-v2[data-design="c"] .oc-group-photo { min-width: 0; }
body.public-v2[data-design="c"] [data-team-photo][data-state="photo"] { position: relative; }

/* ---- Academic institution and supporters (ETH Zürich) ---- */
body.public-v2[data-design="c"] .oc-partner-strip { display: grid; justify-items: center; gap: 12px; width: min(100%, 780px); margin: clamp(26px, 4vw, 46px) auto 0; padding: 20px clamp(18px, 3vw, 32px); text-align: center; background: rgb(255 255 255 / .9); border: 1px solid var(--c-card-border); border-radius: 20px; box-shadow: 0 10px 28px rgb(43 48 78 / .07); }
body.public-v2[data-design="c"] .oc-partner-strip a.oc-partner { padding: 0; background: transparent; border: 0; box-shadow: none; }
body.public-v2[data-design="c"] .oc-partner-strip .oc-kicker { margin: 0; }
body.public-v2[data-design="c"] .oc-partner-host { min-width: 0; max-width: 100%; }
body.public-v2[data-design="c"] .oc-guidance .oc-partner-host { margin-top: clamp(22px, 3vw, 34px); }
body.public-v2[data-design="c"] main a.oc-partner, body.public-v2[data-design="c"] main div.oc-partner { display: flex; align-items: center; gap: clamp(16px, 2.4vw, 28px); padding: 16px 24px; background: #fff; border: 1px solid var(--c-card-border); border-radius: 16px; box-shadow: 0 10px 28px rgb(43 48 78 / .07); color: var(--c-ink); text-decoration: none; text-align: left; transition: box-shadow .25s ease, transform .25s ease; }
body.public-v2[data-design="c"] main a.oc-partner:hover { box-shadow: 0 14px 34px rgb(43 48 78 / .12); transform: translateY(-1px); }
body.public-v2[data-design="c"] .oc-partner-logo { flex: none; display: grid; place-items: center; padding-right: clamp(16px, 2.4vw, 28px); border-right: 1px solid var(--c-card-border); }
body.public-v2[data-design="c"] .oc-partner-logo img { display: block; height: 24px; width: auto; }
body.public-v2[data-design="c"] .oc-partner-text { display: grid; gap: 2px; font-size: .96rem; line-height: 1.5; }
body.public-v2[data-design="c"] .oc-partner-text strong { font-size: 1rem; }
body.public-v2[data-design="c"] .oc-partner-text em { font-style: normal; font-size: .88rem; color: var(--c-ink-2); }
body.public-v2[data-design="c"] .oc-supporter-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
body.public-v2[data-design="c"] .oc-supporter-group { min-width: 0; padding: 24px 26px; background: #fff; border: 1px solid var(--c-card-border); border-radius: 16px; box-shadow: 0 8px 22px rgb(43 48 78 / .05); }
body.public-v2[data-design="c"] .oc-supporter-group--academic { grid-column: 1 / -1; border-top: 4px solid var(--oc-teal); }
body.public-v2[data-design="c"] .oc-supporter-group--invited { background: linear-gradient(160deg, #fff, #FBF1EE); }
body.public-v2[data-design="c"] .oc-supporter-group .oc-kicker { margin-bottom: 14px; }
body.public-v2[data-design="c"] .oc-supporter-group--academic .oc-partner-logo img { height: 38px; }
body.public-v2[data-design="c"] .oc-supporter-group--academic .oc-partner-text { font-size: 1.04rem; max-width: 62ch; }
body.public-v2[data-design="c"] main .oc-supporter-group a.oc-partner { padding: 0; background: transparent; border: 0; box-shadow: none; }
body.public-v2[data-design="c"] .oc-supporter-group .home-sponsor-grid { display: block; }
body.public-v2[data-design="c"] main .oc-supporter-group .oc-sponsor-empty { padding: 0; border: 0; background: transparent; }
body.public-v2[data-design="c"] main .oc-supporter-group h3 { margin: 0 0 6px; font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 500; }
body.public-v2[data-design="c"] main .oc-supporter-group--invited p:not(.oc-kicker) { margin: 0 0 18px; }
body.public-v2[data-design="c"] .oc-footer-eth { display: inline-flex; align-items: center; margin-top: 14px; padding: 8px 14px; background: #fff; border-radius: 10px; }
body.public-v2[data-design="c"] .oc-footer-eth img { display: block; height: 18px; width: auto; }

/* ---- Responsive ---- */
@media (max-width: 1099px) {
  body.public-v2[data-design="c"] .team-grid--students { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.public-v2[data-design="c"] .team-grid--guidance { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  body.public-v2[data-design="c"] :is(.oc-hero-layout, .oc-split, .oc-working-layout) { grid-template-columns: 1fr; min-height: 0; }
  body.public-v2[data-design="c"] .oc-hero[data-media="true"] .oc-hero-layout, body.public-v2[data-design="c"] .oc-split:has(.oc-team-photo:not([hidden])), body.public-v2[data-design="c"] .oc-why[data-has-visual="true"] { grid-template-columns: 1fr; }
  body.public-v2[data-design="c"] .oc-hero-visual { order: -1; }
  body.public-v2[data-design="c"] .oc-emblem { width: min(62vw, 280px); }
  body.public-v2[data-design="c"] .oc-team-photo, body.public-v2[data-design="c"] .oc-split-copy { grid-column: auto; }
  body.public-v2[data-design="c"] .oc-split:has(.oc-team-photo:not([hidden])) .oc-facts { grid-row: auto; grid-template-columns: 1fr; }
  body.public-v2[data-design="c"] :is(.oc-support-modes, .oc-steps, .oc-why-list) { grid-template-columns: 1fr; }
  body.public-v2[data-design="c"] .oc-gallery, body.public-v2[data-design="c"] .oc-gallery[data-count="6"] { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(140px, 34vw, 240px); }
  body.public-v2[data-design="c"] .oc-gallery-item--lead, body.public-v2[data-design="c"] .oc-gallery[data-count="3"] .oc-gallery-item:not(.oc-gallery-item--lead), body.public-v2[data-design="c"] .oc-gallery[data-count="4"] .oc-gallery-item:nth-child(2) { grid-column: 1 / -1; grid-row: auto; }
  body.public-v2[data-design="c"] .oc-gallery-item--lead { grid-row: span 2; }
  body.public-v2[data-design="c"] .oc-group-photo img { aspect-ratio: 16 / 10; }
  body.public-v2[data-design="c"] .oc-group-photo .oc-photo-soon { aspect-ratio: 16 / 9; }
  body.public-v2[data-design="c"] .oc-story-visuals { justify-self: stretch; max-width: none; }
  body.public-v2[data-design="c"] .oc-supporter-groups { grid-template-columns: 1fr; }
}
@media (max-width: 639px) {
  body.public-v2[data-design="c"] .oc-mission-grid { grid-template-columns: 1fr; }
  body.public-v2[data-design="c"] .oc-hero h1 { font-size: clamp(2.3rem, 10vw, 3rem); }
  body.public-v2[data-design="c"] .oc-emblem { width: min(52vw, 210px); }
  body.public-v2[data-design="c"] :is(.team-grid--students, .team-grid--guidance) { grid-template-columns: 1fr; }
  body.public-v2[data-design="c"] .team-grid--pending { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.public-v2[data-design="c"] .oc-gallery, body.public-v2[data-design="c"] .oc-gallery[data-count="2"], body.public-v2[data-design="c"] .oc-gallery[data-count="6"] { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  body.public-v2[data-design="c"] .oc-gallery-item { aspect-ratio: 1; }
  body.public-v2[data-design="c"] .oc-gallery-item--lead, body.public-v2[data-design="c"] .oc-gallery[data-count="1"] .oc-gallery-item { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 3; }
  body.public-v2[data-design="c"] .oc-gallery-item :is(img, video) { height: 100%; aspect-ratio: auto; }
  body.public-v2[data-design="c"] .oc-gallery[data-count="1"] .oc-gallery-item :is(img, video) { height: 100%; max-height: none; }
  body.public-v2[data-design="c"] main .oc-gallery-item figcaption { left: 8px; bottom: 8px; font-size: .78rem; padding: 5px 10px; }
  body.public-v2[data-design="c"] .oc-group-photo img { aspect-ratio: 4 / 3; border-radius: 18px; }
  body.public-v2[data-design="c"] .oc-footer-inner { grid-template-columns: 1fr; }
  body.public-v2[data-design="c"] .oc-group-photo .oc-photo-soon { aspect-ratio: 4 / 3; }
  body.public-v2[data-design="c"] main a.oc-partner, body.public-v2[data-design="c"] main div.oc-partner { flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px 18px; }
  body.public-v2[data-design="c"] .oc-partner-logo { padding: 0 0 12px; border-right: 0; border-bottom: 1px solid var(--c-card-border); width: 100%; place-items: start; }
  body.public-v2[data-design="c"] .oc-partner-strip .oc-partner-text { text-align: left; }
  body.public-v2[data-design="c"] .oc-facts li { grid-template-columns: 76px 1fr; padding: 14px 16px; }
  body.public-v2[data-design="c"] main .oc-facts strong { font-size: 2rem; }
  body.public-v2[data-design="c"] .oc-support--compact .oc-support-panel { text-align: center; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  body.public-v2[data-design="c"] .oc-pore { animation: none; }
  body.public-v2[data-design="c"] .oc-gallery-item :is(img, video), body.public-v2[data-design="c"] main .oc-text-link span { transition: none; }
}

/* ---- R3 corrections: unified team grids, plain photo space, sponsorship levels ---- */
body.public-v2[data-design="c"] .team-grid--students, body.public-v2[data-design="c"] .team-grid--guidance { align-items: stretch; grid-auto-rows: 1fr; }
body.public-v2[data-design="c"] .team-card { justify-content: flex-start; min-height: 0; height: 100%; }
body.public-v2[data-design="c"] .team-grid--guidance .team-card { padding-inline: clamp(10px, 1.2vw, 16px) !important; }
body.public-v2[data-design="c"] .team-card--pending .profile-role { margin-top: 8px; }
body.public-v2[data-design="c"] .oc-photo-soon { display: block; width: 100%; aspect-ratio: 16 / 7; padding: 0; border-radius: 12px; border: 1px solid rgb(var(--brand-navy-rgb) / .22); background: rgb(255 255 255 / .55); box-shadow: none; overflow: visible; isolation: auto; }
body.public-v2[data-design="c"] .oc-photo-soon::before, body.public-v2[data-design="c"] .oc-photo-soon::after { content: none; }
body.public-v2[data-design="c"] .oc-team-photo .oc-photo-soon { aspect-ratio: 3 / 2; }
@media (max-width: 760px) { body.public-v2[data-design="c"] .oc-group-photo .oc-photo-soon { aspect-ratio: 16 / 9; } }
body.public-v2[data-design="c"] .tier-grid { margin-top: 28px; }
body.public-v2[data-design="c"] .tier-card { background: #fff; border-radius: 18px; box-shadow: 0 10px 28px rgb(43 48 78 / .08); gap: 6px; }
body.public-v2[data-design="c"] .tier-card .tier-eyebrow { margin: 0; }
body.public-v2[data-design="c"] .tier-card .sponsor-entry { width: 100%; margin: 6px 0; }
body.public-v2[data-design="c"] .tier-card .button { margin-top: auto; }
body.public-v2[data-design="c"] .tier-card { border-top-width: 5px; }

/* ---- R4: sponsorship hierarchy (Diamond > Gold > Silver > Bronze) and supporter preview ---- */
body.public-v2[data-design="c"] .sponsor-hierarchy { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); margin-top: 30px; align-items: stretch; }
body.public-v2[data-design="c"] .sponsor-hierarchy > .sponsor-tier--diamond { grid-column: 1 / span 7; }
body.public-v2[data-design="c"] .sponsor-hierarchy > .sponsor-tier--gold { grid-column: 8 / span 5; }
body.public-v2[data-design="c"] .sponsor-hierarchy > .sponsor-tier--silver, body.public-v2[data-design="c"] .sponsor-hierarchy > .sponsor-tier--bronze { grid-column: span 6; }
body.public-v2[data-design="c"] .sponsor-tier { --t-color: var(--brand-teal); --t-pad: 28px; --t-logo-w: 200px; --t-logo-h: 60px; --t-name: 1.3rem; --t-title: 1.5rem; display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: var(--t-pad); background: #fff; border: 1px solid rgb(var(--brand-navy-rgb) / .14); border-top: 6px solid var(--t-color); border-radius: 22px; box-shadow: 0 10px 28px rgb(43 48 78 / .08); }
body.public-v2[data-design="c"] .sponsor-tier--diamond { --t-color: #4C8394; --t-pad: clamp(26px, 3vw, 44px); --t-logo-w: 340px; --t-logo-h: 116px; --t-name: 2.1rem; --t-title: 2rem; border-top-width: 9px; background: linear-gradient(160deg, #fff 55%, rgb(76 131 148 / .1)); box-shadow: 0 22px 54px rgb(43 48 78 / .14); }
body.public-v2[data-design="c"] .sponsor-tier--gold { --t-color: #C99A3B; --t-pad: clamp(22px, 2.4vw, 34px); --t-logo-w: 250px; --t-logo-h: 84px; --t-name: 1.6rem; --t-title: 1.7rem; border-top-width: 7px; box-shadow: 0 16px 38px rgb(43 48 78 / .1); }
body.public-v2[data-design="c"] .sponsor-tier--silver { --t-color: #8D9AA6; --t-pad: 24px; --t-logo-w: 180px; --t-logo-h: 60px; --t-name: 1.25rem; --t-title: 1.45rem; border-top-width: 5px; }
body.public-v2[data-design="c"] .sponsor-tier--bronze { --t-color: #B4774F; --t-pad: 20px; --t-logo-w: 130px; --t-logo-h: 42px; --t-name: 1.05rem; --t-title: 1.3rem; border-top-width: 4px; box-shadow: 0 6px 18px rgb(43 48 78 / .06); }
body.public-v2[data-design="c"] .sponsor-tier-name { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: var(--t-title); font-weight: 500; letter-spacing: .01em; }
body.public-v2[data-design="c"] .sponsor-tier-list { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 18px 28px; flex: 1; }
body.public-v2[data-design="c"] .sponsor-entry { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
body.public-v2[data-design="c"] .sponsor-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; color: inherit; text-decoration: none; }
body.public-v2[data-design="c"] .sponsor-logo { display: block; width: auto; height: auto; max-width: min(100%, var(--t-logo-w)); max-height: var(--t-logo-h); object-fit: contain; }
body.public-v2[data-design="c"] .sponsor-name { font-family: Georgia, "Times New Roman", serif; font-size: var(--t-name); line-height: 1.2; overflow-wrap: anywhere; }
body.public-v2[data-design="c"] main .sponsor-entry .sponsor-status { margin: 0; font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #2F6577; }
body.public-v2[data-design="c"] .sponsor-entry[data-placeholder="true"] .sponsor-name { opacity: .45; }
body.public-v2[data-design="c"] .sponsor-slot { width: min(100%, var(--t-logo-w)); height: var(--t-logo-h); border: 1.5px dashed rgb(var(--brand-navy-rgb) / .22); border-radius: 12px; }
body.public-v2[data-design="c"] .sponsor-tier-action { align-self: flex-start; }
body.public-v2[data-page="support"] .oc-footer-eth { display: none; }

body.public-v2[data-design="c"] .oc-lab-tool-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(20px, 3vw, 44px); margin-top: 28px; align-items: start; }
body.public-v2[data-design="c"] .oc-lab-form { display: grid; gap: 18px; padding: 26px; background: #fff; border: 1px solid var(--c-card-border); border-radius: 20px; box-shadow: 0 10px 28px rgb(43 48 78 / .07); }
body.public-v2[data-design="c"] .oc-lab-form legend, body.public-v2[data-design="c"] .oc-lab-field > span { display: block; margin-bottom: 8px; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #2F6577; }
body.public-v2[data-design="c"] .oc-lab-form fieldset { margin: 0; padding: 0; border: 0; }
body.public-v2[data-design="c"] .oc-lab-tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
body.public-v2[data-design="c"] .oc-lab-tiers label { position: relative; }
body.public-v2[data-design="c"] .oc-lab-tiers input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
body.public-v2[data-design="c"] .oc-lab-tiers span { display: block; padding: 10px 6px; text-align: center; font-weight: 600; border: 1.5px solid rgb(var(--brand-navy-rgb) / .22); border-radius: 12px; background: #fff; }
body.public-v2[data-design="c"] .oc-lab-tiers input:checked + span { background: var(--oc-navy); border-color: var(--oc-navy); color: #fff; }
body.public-v2[data-design="c"] .oc-lab-tiers input:focus-visible + span { outline: 3px solid #4C8394; outline-offset: 2px; }
body.public-v2[data-design="c"] .oc-lab-field { display: block; }
body.public-v2[data-design="c"] .oc-lab-field input[type="text"], body.public-v2[data-design="c"] .oc-lab-field input[type="number"] { width: 100%; padding: 11px 14px; font: inherit; color: inherit; background: #fff; border: 1.5px solid rgb(var(--brand-navy-rgb) / .28); border-radius: 12px; }
body.public-v2[data-design="c"] .oc-lab-file { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
body.public-v2[data-design="c"] .oc-lab-file-button { position: relative; cursor: pointer; }
body.public-v2[data-design="c"] .oc-lab-file-button input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
body.public-v2[data-design="c"] .oc-lab-file-name { font-size: .92rem; overflow-wrap: anywhere; }
body.public-v2[data-design="c"] .oc-lab-error { min-height: 0; margin: 6px 0 0; font-size: .92rem; color: #8A2F3C; }
body.public-v2[data-design="c"] .oc-lab-error:empty { display: none; }
body.public-v2[data-design="c"] .oc-lab-form .button { justify-self: start; }
body.public-v2[data-design="c"] .oc-lab-stage .sponsor-tier { box-shadow: 0 14px 34px rgb(43 48 78 / .12); }
body.public-v2[data-design="c"] .oc-lab-note { margin: 14px 4px 0; font-size: .95rem; }
@media (max-width: 960px) {
  body.public-v2[data-design="c"] .oc-lab-tool-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  body.public-v2[data-design="c"] .sponsor-hierarchy { grid-template-columns: 1fr; }
  body.public-v2[data-design="c"] .sponsor-hierarchy > .sponsor-tier { grid-column: 1 / -1 !important; }
  body.public-v2[data-design="c"] .sponsor-tier--diamond { --t-logo-w: 260px; --t-logo-h: 92px; --t-name: 1.8rem; }
  body.public-v2[data-design="c"] .sponsor-tier--gold { --t-logo-w: 210px; --t-logo-h: 72px; }
  body.public-v2[data-design="c"] .oc-lab-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
body.public-v2[data-design="c"] .sponsor-tier .sponsor-entry { min-width: 0; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0; }
body.public-v2[data-design="c"] .sponsor-tier .sponsor-identity { min-height: 0; }
body.public-v2[data-design="c"] .sponsor-tier .sponsor-logo { width: var(--t-logo-w); height: var(--t-logo-h); max-width: 100%; max-height: none; object-fit: contain; object-position: left center; }
body.public-v2[data-design="c"] .sponsor-tier a.sponsor-identity:hover .sponsor-name { text-decoration: underline; text-decoration-color: var(--oc-gold); }

/* R5: Mission and Vision headings, and the team photograph in the Support panel */
body.public-v2[data-design="c"] main .oc-statement-title { margin: 0 0 .55em; padding-bottom: .4em; position: relative; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.1rem, 4vw, 3.1rem); font-weight: 500; line-height: 1.05; letter-spacing: -.02em; color: var(--oc-navy); }
body.public-v2[data-design="c"] main .oc-statement-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 3px; border-radius: 2px; background: #2F6577; }
body.public-v2[data-design="c"] main .oc-statement--vision .oc-statement-title::after { background: #8A5560; }
body.public-v2[data-design="c"] .oc-statement { padding: clamp(28px, 3.8vw, 52px); }
body.public-v2[data-design="c"] .oc-support-panel--photo { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: clamp(24px, 4vw, 56px); text-align: left; }
body.public-v2[data-design="c"] .oc-support-panel--photo :is(.oc-chips) { justify-content: flex-start; }
body.public-v2[data-design="c"] main .oc-support-panel--photo :is(h2, p, li) { margin-inline: 0; }
body.public-v2[data-design="c"] main .oc-support-panel--photo p.oc-support-note { margin-inline: 0; }
body.public-v2[data-design="c"] .oc-support-photo { margin: 0; position: relative; z-index: 1; border-radius: 18px; overflow: hidden; box-shadow: 0 18px 44px rgb(0 0 0 / .32); border: 1px solid rgb(245 240 232 / .28); }
body.public-v2[data-design="c"] .oc-support-photo[hidden] { display: none; }
body.public-v2[data-design="c"] .oc-support-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
body.public-v2[data-design="c"] main .oc-support-photo figcaption { position: absolute; left: 12px; bottom: 12px; margin: 0; padding: 5px 12px; border-radius: 999px; background: rgb(255 255 255 / .92); color: var(--oc-navy) !important; font-size: .82rem; font-weight: 600; }
@media (max-width: 860px) {
  body.public-v2[data-design="c"] .oc-support-panel--photo { grid-template-columns: 1fr; }
  body.public-v2[data-design="c"] .oc-support-photo img { aspect-ratio: 16 / 10; }
}

/* Compact team cards: same structure and styling, less empty vertical space */
body.public-v2[data-design="c"] .team-card { gap: 2px; padding: clamp(14px, 1.5vw, 18px) clamp(14px, 1.4vw, 18px) !important; }
body.public-v2[data-design="c"] .team-card .team-portrait, body.public-v2[data-design="c"] main .team-card .team-monogram { width: 112px; height: 112px; font-size: 2.2rem; }
body.public-v2[data-design="c"] .team-grid--guidance .team-portrait, body.public-v2[data-design="c"] .team-grid--guidance .team-monogram { width: 96px; height: 96px; font-size: 1.9rem; }
body.public-v2[data-design="c"] .team-card .profile-role { margin: 6px 0 0; }
body.public-v2[data-design="c"] .team-card .profile-name { margin: 0; line-height: 1.25; }
body.public-v2[data-design="c"] .team-card .profile-intro { margin: 2px 0 0; max-width: none; font-size: .9rem; line-height: 1.4; text-align: center; }
body.public-v2[data-design="c"] .team-card .profile-contact { margin-top: 6px; gap: 2px 12px; font-size: .86rem; line-height: 1.4; }
body.public-v2[data-design="c"] .team-card--pending .profile-role { margin-top: 6px; }
body.public-v2[data-design="c"] main .team-grid--guidance .team-monogram { width: 96px; height: 96px; font-size: 1.9rem; }
body.public-v2[data-design="c"] .team-card .team-portrait, body.public-v2[data-design="c"] main .team-card .team-monogram { margin: 0 0 4px; }
body.public-v2[data-design="c"] .team-card .profile-name { min-height: 0; }
body.public-v2[data-design="c"] .team-card .profile-intro { text-wrap: balance; }

/* Potential Impact: four illustrations directly on the page background */
/* Potential Impact: compact 2x2 layout, illustration and text alternate (rows 1 and 2 mirror each other) */
body.public-v2[data-design="c"] .oc-impact { padding-block: clamp(24px, 3vw, 36px); }
body.public-v2[data-design="c"] main .oc-impact-title { margin: 0 0 clamp(18px, 2.4vw, 28px); max-width: none; margin-inline: 0; text-align: center; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 500; letter-spacing: -.015em; color: var(--oc-navy); }

/* R6 compact rhythm: one section-spacing scale; smaller hero and team-photo slot; visible placeholder label */
body.public-v2[data-design="c"] main > section { padding-block: clamp(24px, 3vw, 36px); }
body.public-v2[data-design="c"] main > section + section { margin-top: 0; }
body.public-v2[data-design="c"] .oc-hero { padding-block: clamp(24px, 3.4vw, 44px) clamp(16px, 2.4vw, 28px) !important; }
body.public-v2[data-design="c"] .oc-team-photo .oc-photo-soon { aspect-ratio: 16 / 7; }
@media (max-width: 760px) { body.public-v2[data-design="c"] .oc-team-photo .oc-photo-soon { aspect-ratio: 16 / 10; } }
body.public-v2[data-design="c"] .oc-group-photo .oc-photo-soon { aspect-ratio: 16 / 6; }
@media (max-width: 760px) { body.public-v2[data-design="c"] .oc-group-photo .oc-photo-soon { aspect-ratio: 16 / 10; } }

/* R7: Home rhythm (Home only; Team and Support keep their spacing) */
body.public-v2[data-design="c"][data-page="home"] main > section { padding-block: clamp(36px, 5vw, 64px); }
body.public-v2[data-design="c"][data-page="home"] main > section + section { margin-top: clamp(32px, 5vw, 72px); }
body.public-v2[data-design="c"][data-page="home"] .oc-hero { padding-block: clamp(28px, 4.4vw, 60px) clamp(28px, 4vw, 56px) !important; }

/* R7: hero actions share one height and centre line; the primary stays filled, the secondary a text link */
body.public-v2[data-design="c"] .oc-hero .oc-actions { align-items: center; gap: 14px 30px; }
body.public-v2[data-design="c"] main .oc-hero .oc-actions .button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 1.6rem; line-height: 1; }
body.public-v2[data-design="c"] main .oc-hero .oc-actions .oc-text-link { min-height: 50px; padding: 0; border-bottom: 0; line-height: 1; }
body.public-v2[data-design="c"] main .oc-hero .oc-actions .oc-text-link { background: linear-gradient(currentColor, currentColor) left calc(50% + 1.05em) / 100% 1px no-repeat; opacity: 1; }
body.public-v2[data-design="c"] main .oc-hero .oc-actions .oc-text-link { background-image: linear-gradient(rgb(var(--brand-navy-rgb) / .3), rgb(var(--brand-navy-rgb) / .3)); }
body.public-v2[data-design="c"] main .oc-hero .oc-actions .oc-text-link:hover { background-image: linear-gradient(var(--oc-navy), var(--oc-navy)); }
body.public-v2[data-design="c"] main .oc-hero .oc-actions :is(.button, .oc-text-link):focus-visible { outline: 3px solid #D86928; outline-offset: 3px; }
@media (max-width: 480px) { body.public-v2[data-design="c"] .oc-hero .oc-actions { gap: 10px 22px; } }

body.public-v2[data-design="c"] .oc-impact-title { margin-bottom: clamp(26px, 3.4vw, 44px) !important; }

/* R8: Potential Impact. Each topic is one compact group (illustration + text block); the 2x2 grid alternates the order.
   Row 1: illustration then text. Row 2: text then illustration. The gap inside a group is smaller than the gap between topics. */
body.public-v2[data-design="c"] .oc-impact-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(36px, 4.4vw, 60px) clamp(40px, 6vw, 96px); }
body.public-v2[data-design="c"] .oc-impact-item { min-width: 0; display: flex; align-items: center; justify-content: center; gap: clamp(16px, 1.8vw, 24px); text-align: left; }
body.public-v2[data-design="c"] .oc-impact-item:nth-child(n+3) { flex-direction: row-reverse; }
body.public-v2[data-design="c"] .oc-impact-item img { flex: 0 0 clamp(150px, 16vw, 230px); width: clamp(150px, 16vw, 230px); height: clamp(140px, 13vw, 190px); margin: 0; object-fit: contain; object-position: right center; }
body.public-v2[data-design="c"] .oc-impact-item:nth-child(n+3) img { object-position: left center; }
body.public-v2[data-design="c"] .oc-impact-text { flex: 0 1 30ch; min-width: 0; }
body.public-v2[data-design="c"] main .oc-impact-text h3 { margin: 0 0 8px; font-size: 1.2rem; line-height: 1.25; color: var(--oc-navy); }
body.public-v2[data-design="c"] main .oc-impact-text p { margin: 0; font-size: .98rem; line-height: 1.5; color: var(--c-ink-2); }
@media (max-width: 760px) {
  body.public-v2[data-design="c"] .oc-impact-grid { grid-template-columns: 1fr; row-gap: 28px; }
  body.public-v2[data-design="c"] .oc-impact-item, body.public-v2[data-design="c"] .oc-impact-item:nth-child(n+3) { flex-direction: row; justify-content: flex-start; gap: 16px; }
  body.public-v2[data-design="c"] .oc-impact-item img, body.public-v2[data-design="c"] .oc-impact-item:nth-child(n+3) img { flex-basis: clamp(104px, 30vw, 140px); width: clamp(104px, 30vw, 140px); height: clamp(104px, 30vw, 130px); object-position: center; }
  body.public-v2[data-design="c"] .oc-impact-text { flex: 1 1 0; }
  body.public-v2[data-design="c"] main .oc-impact-text h3 { font-size: 1.08rem; }
  body.public-v2[data-design="c"] main .oc-impact-text p { font-size: .94rem; }
}

/* R9: Potential Impact corrections (team feedback).
   1) Heading uses the Home hero headline font and weight (system UI sans, 700); the size stays smaller than the hero.
   2) Illustrations about 12-14% larger; the Bone Health & Aging artwork is the single dark-bone figure (cropped from the original), so it is scaled to keep its figure about 12% taller. */
body.public-v2[data-design="c"] main .oc-impact-title { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; font-weight: 700; }
body.public-v2[data-design="c"] .oc-impact-item img { height: clamp(158px, 14.8vw, 213px); }
body.public-v2[data-design="c"] .oc-impact-item img[src$="aging-population.png"] { height: calc(clamp(158px, 14.8vw, 213px) * .69); }
@media (max-width: 760px) {
  body.public-v2[data-design="c"] .oc-impact-item img, body.public-v2[data-design="c"] .oc-impact-item:nth-child(n+3) img { height: clamp(116px, 34vw, 146px); }
  body.public-v2[data-design="c"] .oc-impact-item img[src$="aging-population.png"] { height: calc(clamp(116px, 34vw, 146px) * .92); }
}

/* R10: shared section-heading style (Potential Impact and Strong bones carry us through life) and the Get in touch fix. */
:root { --oc-heading-font: system-ui, -apple-system, "Segoe UI", sans-serif; --oc-heading-size: clamp(2.1rem, 3.9vw, 3.1rem); }
body.public-v2[data-design="c"] main .oc-impact-title, body.public-v2[data-design="c"] main .oc-why-title { font-family: var(--oc-heading-font); font-size: var(--oc-heading-size); font-weight: 700; line-height: 1.15; letter-spacing: -.015em; }
/* The next section's white clearing (main > section::before) extends upward over the bottom of the hero, so the
   Get in touch button faded to grey at its lower edge. Lifting the hero above the following section fixes the stacking. */
body.public-v2[data-design="c"] .support-hero { z-index: 1; }

/* R11: the working-session photograph is a wide crop */
body.public-v2[data-design="c"] .oc-support-photo img { aspect-ratio: 8 / 3; }
body.public-v2[data-design="c"] .oc-working-photo img { aspect-ratio: 8 / 3; }
@media (max-width: 860px) { body.public-v2[data-design="c"] .oc-support-photo img { aspect-ratio: 2 / 1; } }

/* R12: team group photographs keep their natural 3:2 proportions (nothing is cropped); the coaches photograph follows Academic Guidance. */
body.public-v2[data-design="c"] :is(.oc-group-photo, .oc-team-photo, .oc-coaches-photo) img { aspect-ratio: 3 / 2; object-fit: cover; }
body.public-v2[data-design="c"] .oc-coaches-photo { position: relative; margin: clamp(28px, 4vw, 48px) 0 0; }
body.public-v2[data-design="c"] .oc-coaches-photo img { display: block; width: 100%; border-radius: 24px; box-shadow: 0 26px 60px rgb(43 48 78 / .17); }
body.public-v2[data-design="c"] .oc-coaches-photo .oc-photo-soon { aspect-ratio: 16 / 6; }

/* R18: four "A Glimpse of Our Work" items in two columns and two rows (the lead tile no longer spans) */
body.public-v2[data-design="c"] .oc-gallery[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(220px, 27vw, 380px); }
body.public-v2[data-design="c"] .oc-gallery[data-count="4"] .oc-gallery-item--lead, body.public-v2[data-design="c"] .oc-gallery[data-count="4"] .oc-gallery-item:nth-child(2) { grid-column: auto; grid-row: auto; }

/* R18: "Support our research" shows the two photographs uncropped, side by side, in the existing panel */
body.public-v2[data-design="c"] .oc-support-photos { display: flex; flex-direction: column; gap: clamp(18px, 2.4vw, 28px); }
body.public-v2[data-design="c"] .oc-support-photos .oc-support-photo { width: 74%; }
body.public-v2[data-design="c"] .oc-support-photos .oc-support-photo[data-support-index="0"] { align-self: flex-start; }
body.public-v2[data-design="c"] .oc-support-photos .oc-support-photo[data-support-index="1"] { align-self: flex-end; width: 80%; }
body.public-v2[data-design="c"] .oc-support-photos .oc-support-photo img { width: 100%; }
@media (max-width: 760px) { body.public-v2[data-design="c"] .oc-support-photos { align-items: stretch; } body.public-v2[data-design="c"] .oc-support-photos .oc-support-photo { width: 72%; } body.public-v2[data-design="c"] .oc-support-photos .oc-support-photo[data-support-index="1"] { width: 78%; } }
body.public-v2[data-design="c"] .oc-support-photos .oc-support-photo[hidden] { display: none; }
body.public-v2[data-design="c"] .oc-support-photo img { aspect-ratio: auto; height: auto; object-fit: contain; }
