/* Final logo treatment and alignment shared by every page. */
.featured-photo-page {padding:44px var(--gutter) 110px}
.featured-photo-page .breadcrumb {margin-bottom:52px;color:var(--muted)}
.featured-photo-layout {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:clamp(40px,6vw,100px);align-items:center;max-width:1400px;margin:0 auto}
.featured-photo-image {display:flex;align-items:center;justify-content:center;min-width:0}
.featured-photo-image img {display:block;width:auto;height:auto;max-width:100%;max-height:78vh;object-fit:contain;outline:1px solid rgba(196,166,142,.25)}
.featured-photo-copy {min-width:0;max-width:480px}
.featured-photo-copy .eyebrow {color:var(--muted);font-size:15px;margin-bottom:24px}
.featured-photo-copy h1 {font-size:clamp(38px,4vw,64px);font-weight:400;line-height:1.06;letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 36px}
.featured-photo-copy h1::after {content:'';display:block;width:42px;height:1px;background:rgba(196,166,142,.44);margin-top:30px}
.featured-photo-copy dl {margin:0}
.featured-photo-copy dl>div+div {margin-top:32px}
.featured-photo-copy dt {color:var(--muted);font-size:14px;margin-bottom:9px}
.featured-photo-copy dd {margin:0;font-size:20px;line-height:1.6;overflow-wrap:anywhere}
.featured-photo-description {white-space:pre-line}
@media(max-width:860px){
 .featured-photo-page {padding-top:28px;padding-bottom:70px}
 .featured-photo-page .breadcrumb {margin-bottom:32px}
 .featured-photo-layout {grid-template-columns:minmax(0,1fr);gap:34px}
 .featured-photo-image img {max-height:none}
 .featured-photo-copy {max-width:100%}
 .featured-photo-copy .eyebrow {margin-bottom:16px}
 .featured-photo-copy h1 {font-size:42px;margin-bottom:26px}
 .featured-photo-copy dd {font-size:19px}
}
/* Final logo treatment and alignment shared by every page. */
.footer-university {
  display: flex;
  align-items: center;
  min-height: 76px;
}
.footer-university img {
  width: clamp(240px, 25vw, 315px);
  max-width: 75vw;
  height: auto;
  opacity: 1;
  filter: none;
}
.site-footer {
  row-gap: 40px;
}
.footer-bottom {
  margin-top: 4px;
}

.sponsorship-page .partner-list {
  align-items: stretch;
  gap: clamp(18px, 2.5vw, 40px);
}
.sponsorship-page .partner-card {
  display: grid;
  grid-template-rows: 136px auto;
  justify-items: center;
  align-items: center;
  gap: 18px;
  min-height: 0;
  padding: 28px 12px 8px;
}
.sponsorship-page .partner-logo {
  width: 100%;
  height: 136px;
  margin: 0;
  overflow: visible;
}
.sponsorship-page .partner-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(230px, 100%);
  max-height: 136px;
  object-fit: contain;
  filter: none;
  mix-blend-mode: normal;
}
.sponsorship-page .partner-logo--cambridge img {
  width: 128px;
  height: 128px;
  filter: none !important;
  mix-blend-mode: normal !important;
}
.sponsorship-page .partner-logo--imperial img {
  width: 148px;
  height: 148px;
  filter: grayscale(1) contrast(3) brightness(.7) sepia(1) saturate(.8) brightness(1.03);
  mix-blend-mode: lighten;
}
.sponsorship-page .partner-name {
  align-self: start;
  width: 100%;
  margin: 0;
  text-align: center;
}

@media (max-width: 860px) {
  .site-footer { row-gap: 30px; }
  .sponsorship-page .partner-list { gap: 12px; }
  .sponsorship-page .partner-card { grid-template-rows: 136px auto; }
}

/* The footer uses only the CUPS wordmark; the full crest stays in the header. */
.footer-cups {
  display: inline-block;
  justify-self: start;
  align-self: start;
  font: 500 clamp(72px, 8vw, 120px)/.9 'EB Garamond', Georgia, serif;
  letter-spacing: -.035em;
  color: var(--text);
}
.footer-cups:hover { color: var(--accent); }

/* Every partner occupies the full grid column, so marks and labels share a centre. */
.sponsorship-page .partner-card { grid-template-columns: minmax(0, 1fr); }
.sponsorship-page .partner-logo { justify-self: stretch; }
.sponsorship-page .partner-logo--insta img {
  width: min(240px, 100%);
  max-width: none;
  max-height: none;
  filter: brightness(0) saturate(100%) invert(87%) sepia(17%) saturate(532%) hue-rotate(328deg) brightness(103%) contrast(90%);
}

/* Editorial About page: short copy, one real image, and an index of actions. */
.about-editorial,
.partnerships-editorial { padding: 0 var(--gutter); }
.about-editorial-intro { padding: clamp(80px, 10vw, 160px) 0 clamp(95px, 11vw, 175px); }
.about-editorial-intro h1,
.partnerships-intro h1,
.jobs-editorial h1 { font: 500 clamp(70px, 8vw, 120px)/.95 var(--serif); letter-spacing: -.05em; }
.about-editorial-intro .eyebrow,
.partnerships-intro .eyebrow { margin-bottom: 26px; }
.about-editorial-deck { max-width: 840px; margin-top: 42px; font: 500 clamp(26px, 3vw, 43px)/1.18 var(--serif); }
.about-editorial-note { margin-top: 30px; color: var(--muted); font-size: 19px; }
.about-editorial-image { width: min(100%, 840px); margin: 0; }
.about-editorial-image img { display: block; width: 100%; aspect-ratio: 1320 / 859; height: auto; object-fit: cover; object-position: center 58%; }
.about-editorial-image figcaption { margin-top: 12px; color: var(--muted); font-size: 15px; }
.editorial-section { padding: clamp(80px, 10vw, 140px) 0 0; }
.editorial-section h2,
.partnerships-selected h2,
.partnerships-number h2 { margin: 0 0 40px; font: 500 clamp(36px, 4vw, 58px)/1.07 var(--serif); letter-spacing: -.025em; }
.editorial-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px, 6vw, 100px); }
.editorial-action { display: grid; align-content: start; gap: 15px; min-height: 182px; padding: 24px 0 35px; border-top: 1px solid var(--line); }
.editorial-action-title { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; font: 500 clamp(27px, 2.6vw, 38px)/1.12 var(--serif); }
.editorial-action-title svg { width: 21px; height: 21px; transition: transform .22s ease; }
.editorial-action-copy { max-width: 520px; color: var(--muted); font-size: 19px; line-height: 1.42; }
.editorial-action:hover .editorial-action-title { color: var(--accent); }
.editorial-action:hover svg { transform: translate(3px, -3px); }
.editorial-metrics { display: flex; flex-wrap: wrap; gap: clamp(45px, 10vw, 160px); border-top: 1px solid var(--line); padding-top: 28px; }
.editorial-metric { display: grid; gap: 9px; }
.editorial-metric strong { font: 500 clamp(50px, 6vw, 86px)/1 var(--serif); }
.editorial-metric span { color: var(--muted); font-size: 19px; }
.editorial-contact { padding: clamp(110px, 15vw, 230px) 0 35px; }
.editorial-contact a { font: 500 clamp(27px, 3vw, 44px)/1.2 var(--serif); border-bottom: 1px solid currentColor; overflow-wrap: anywhere; }
.editorial-contact a:hover { color: var(--accent); }

/* Evidence-first Partnerships page. */
.partnerships-intro { padding: clamp(70px, 9vw, 130px) 0 clamp(95px, 11vw, 160px); }
.partnerships-intro>p:not(.eyebrow) { max-width: 790px; margin-top: 38px; font: 500 clamp(25px, 2.9vw, 40px)/1.2 var(--serif); }
.partnerships-contact,
.partnerships-end { display: grid; justify-items: start; gap: 14px; margin-top: 42px; font-size: clamp(21px, 2.2vw, 30px); }
.partnerships-contact a:first-child,
.partnerships-end a:first-child { display: inline-flex; align-items: center; gap: 14px; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.partnerships-contact svg,
.partnerships-end svg { width: 22px; height: 22px; }
.partnerships-contact a:last-child,
.partnerships-end a:last-child { color: var(--muted); overflow-wrap: anywhere; }
.partnerships-contact a:hover,
.partnerships-end a:hover { color: var(--accent); }
.partnerships-selected { border-top: 1px solid var(--line); padding-top: 38px; }
.partner-entries { border-top: 1px solid var(--line); }
.partner-entry { border-bottom: 1px solid var(--line); }
.partner-trigger { display: grid; width: 100%; grid-template-columns: minmax(145px, 220px) minmax(0, 1fr) 24px; align-items: center; gap: clamp(20px, 4vw, 70px); min-height: 154px; text-align: left; }
.partner-mark { display: flex; align-items: center; justify-content: center; height: 112px; }
.partner-mark img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100px; object-fit: contain; }
.partner-entry:first-child .partner-mark img { width: 210px; max-height: none; filter: brightness(0) saturate(100%) invert(87%) sepia(17%) saturate(532%) hue-rotate(328deg) brightness(103%) contrast(90%); }
.partner-entry:nth-child(2) .partner-mark img { width: 100px; height: 100px; }
.partner-entry:nth-child(3) .partner-mark img { width: 105px; height: 105px; filter: grayscale(1) contrast(3) brightness(.7) sepia(1) saturate(.8) brightness(1.03); mix-blend-mode: lighten; }
.partner-title { font: 500 clamp(29px, 3vw, 43px)/1.1 var(--serif); }
.partner-chevron { width: 22px; height: 22px; transition: transform .25s ease; }
.partner-trigger[aria-expanded="true"] .partner-chevron { transform: rotate(180deg); }
.partner-trigger:hover .partner-title { color: var(--accent); }
.partner-detail { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .25s ease, opacity .25s ease; }
.partner-detail[aria-hidden="false"] { grid-template-rows: 1fr; opacity: 1; }
.partner-detail-inner { min-height: 0; overflow: hidden; padding-left: clamp(165px, 24vw, 290px); }
.partner-detail[aria-hidden="false"] .partner-detail-inner { padding-bottom: 48px; }
.partner-detail-inner .eyebrow { text-transform: uppercase; letter-spacing: .08em; }
.partner-detail-inner>p:last-child { max-width: 650px; margin-top: 15px; color: var(--muted); font-size: 19px; line-height: 1.45; }
.partner-fact { margin-top: 24px; font: 500 clamp(28px, 3vw, 43px)/1.1 var(--serif); }
.partnerships-number { padding: clamp(90px, 11vw, 150px) 0; }
.partnerships-number h2 { margin-bottom: 25px; }
.partnerships-number strong { display: block; font: 500 clamp(70px, 8vw, 110px)/1 var(--serif); }
.partnerships-number>span { display: block; color: var(--muted); font-size: 19px; }
.partnerships-end { margin: 0; padding: clamp(90px, 11vw, 170px) 0 25px; border-top: 1px solid var(--line); }
.jobs-editorial { padding: clamp(75px, 9vw, 140px) var(--gutter); }
.jobs-editorial>p:not(.eyebrow) { max-width: 620px; margin: 38px 0; font-size: clamp(22px, 2.5vw, 31px); }
@media (max-width: 700px) {
  .about-editorial-intro { padding: 70px 0 90px; }
  .about-editorial-deck { margin-top: 28px; }
  .about-editorial-image img { object-position: center 55%; }
  .editorial-section { padding-top: 85px; }
  .editorial-actions { grid-template-columns: 1fr; }
  .editorial-action { min-height: 0; padding: 22px 0 29px; }
  .editorial-metrics { gap: 35px 55px; }
  .partner-trigger { grid-template-columns: 86px minmax(0, 1fr) 20px; gap: 17px; min-height: 118px; }
  .partner-mark { height: 82px; }
  .partner-entry:first-child .partner-mark img { width: 90px; }
  .partner-entry:nth-child(2) .partner-mark img,
  .partner-entry:nth-child(3) .partner-mark img { width: 70px; height: 70px; }
  .partner-detail-inner { padding-left: 103px; }
  .partner-title { font-size: clamp(26px, 7vw, 33px); }
}
@media (prefers-reduced-motion: reduce) {
  .partner-detail,
  .partner-chevron,
  .editorial-action-title svg { transition: none; }
}

/* A permanent What’s On contribution item, rendered from site content. */
.whats-on-evergreen { padding: 0 var(--gutter) clamp(85px, 10vw, 145px); }
.whats-on-card { display: grid; grid-template-columns: minmax(130px, .35fr) minmax(0, 1fr); gap: 8px clamp(20px, 5vw, 80px); width: 100%; padding: 30px 0 36px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.whats-on-card-category { grid-row: 1 / 4; color: var(--muted); font-size: 19px; text-transform: uppercase; letter-spacing: .06em; }
.whats-on-card h3 { font: 500 clamp(38px, 4.4vw, 66px)/1.04 var(--serif); letter-spacing: -.025em; overflow-wrap: anywhere; }
.whats-on-card p { color: var(--muted); font-size: clamp(19px, 2vw, 27px); }
.whats-on-card-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 19px; color: var(--muted); font-size: 19px; }
.whats-on-card-bottom>span:last-child { display: inline-flex; align-items: center; gap: 9px; color: var(--text); white-space: nowrap; }
.whats-on-card-bottom svg { width: 19px; height: 19px; }
.whats-on-card:hover h3,
.whats-on-card:hover .whats-on-card-bottom>span:last-child { color: var(--accent); }
.programme .whats-on-card { margin-top: 22px; }

/* Instagram discovery is distinct from full-resolution Gallery submission. */
body:has(.featured-instructions) {
  --bg: #203129;
  --panel: #2a3b32;
  --text: #f0e8d7;
  --muted: #d0c7b4;
  --line: #596b5c;
  --accent: #c6b17c;
}
body:has(.featured-instructions) .site-header {
  --bg: #281013;
  --panel: #35171b;
  --text: #efd5b5;
  --muted: #c4a68e;
  --line: #593a36;
  --accent: #f4c38e;
  color: var(--text);
}
.featured-instructions { padding: 0 var(--gutter) clamp(110px, 13vw, 195px); }
.featured-instructions-intro { max-width: 900px; padding: clamp(80px, 9vw, 135px) 0 clamp(85px, 10vw, 140px); }
.featured-instructions h1,
.submit-instructions h1 { font: 500 clamp(66px, 8vw, 112px)/.96 var(--serif); letter-spacing: -.045em; }
.featured-instructions h1 { margin: 24px 0 clamp(38px, 5vw, 72px); }
.featured-instructions-main { max-width: 880px; font: 500 clamp(29px, 3.3vw, 47px)/1.18 var(--serif); }
.featured-instructions-main strong { font-weight: 600; color: var(--accent); overflow-wrap: anywhere; }
.featured-instructions-secondary { max-width: 620px; margin-top: 30px; color: var(--muted); font-size: clamp(21px, 2.3vw, 29px); }
.featured-instructions-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px clamp(28px, 5vw, 70px); margin-top: clamp(50px, 6vw, 80px); }
.featured-instructions-actions a,
.featured-instructions-more a,
.submit-instructions a { display: inline-flex; align-items: center; gap: 11px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: clamp(20px, 2.1vw, 28px); }
.featured-instructions-actions .featured-instructions-primary { color: var(--accent); }
.featured-instructions-actions a:hover,
.featured-instructions-more a:hover,
.submit-instructions a:hover { color: var(--accent); }
.featured-instructions-actions svg,
.featured-instructions-more svg,
.submit-instructions svg { width: 20px; height: 20px; }
.featured-instructions-more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(30px, 7vw, 110px); padding-top: 30px; border-top: 1px solid var(--line); }
.featured-instructions-more h2 { font: 500 clamp(28px, 3vw, 42px)/1.13 var(--serif); }
.featured-instructions-more p { margin-top: 16px; color: var(--muted); font-size: 19px; }
.featured-instructions-more a { margin-top: 18px; }
.submit-instructions { max-width: 960px; min-height: 70vh; padding: clamp(85px, 10vw, 150px) var(--gutter) 120px; }
.submit-instructions h1 { margin: 24px 0 55px; }
.submit-instructions p { max-width: 760px; margin-top: 20px; font-size: clamp(22px, 2.5vw, 31px); }
.submit-instructions a { margin-top: 46px; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .whats-on-card { grid-template-columns: 1fr; gap: 14px; }
  .whats-on-card-category { grid-row: auto; }
  .whats-on-card-bottom { align-items: baseline; flex-wrap: wrap; margin-top: 8px; }
  .featured-instructions-intro { padding: 70px 0 90px; }
  .featured-instructions-more { grid-template-columns: 1fr; }
  .featured-instructions-actions { align-items: flex-start; flex-direction: column; }
}

/* Membership registration: Google's familiar controls on a CUPS light surface. */
.join-registration { width: 100%; }
.join-surface { width: 100%; min-width: 0; background: #f4f3f3; color: #281013; padding: 0 var(--gutter) clamp(48px, 5vw, 64px); }
.join-form-shell { position: relative; width: 100%; max-width: 850px; margin: 0 auto; }
.join-form-loading { position: absolute; top: 55px; left: 0; right: 0; z-index: 1; color: #534a4a; text-align: center; font: 500 19px/1.4 var(--small); }
.join-form-loading[hidden] { display: none; }
.join-form-frame { display: block; width: 100%; max-width: 100%; height: 1px; margin: 0; padding: 0; border: 0; background: #f4f3f3; opacity: 0; transition: opacity .2s ease; }
.join-form-shell:not(.is-loaded) { min-height: 180px; }
.join-form-shell.is-loaded .join-form-frame { height: var(--join-form-height-desktop); opacity: 1; }
.join-footer-email { display: none; }
body.is-join-page .site-footer { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; margin: 0; padding: 46px var(--gutter) 35px; }
body.is-join-page .footer-cups,
body.is-join-page .footer-links,
body.is-join-page .footer-university { display: none; }
body.is-join-page .join-footer-email { display: inline-block; font-size: 21px; overflow-wrap: anywhere; }
body.is-join-page .join-footer-email:hover { color: var(--accent); }
body.is-join-page .footer-bottom { width: 100%; margin: 0; padding-top: 19px; }
@media (max-width: 900px) {
  .join-form-shell.is-loaded .join-form-frame { height: var(--join-form-height-tablet); }
}
@media (max-width: 600px) {
  .join-surface { padding: 0 0 48px; }
  .join-form-loading { top: 45px; }
  .join-form-shell.is-loaded .join-form-frame { height: var(--join-form-height-mobile); }
  body.is-join-page .site-footer { padding-top: 42px; }
}
@media (max-width: 359px) {
  .join-form-shell.is-loaded .join-form-frame { height: var(--join-form-height-narrow); }
}
@media (prefers-reduced-motion: reduce) {
  .join-form-frame { transition: none; }
}

/* A deliberate, single-action handoff from the membership form to WhatsApp. */
.community-page { min-height: calc(100svh - 100px); display: grid; place-items: center; padding: 70px var(--gutter); }
.community-link { display: inline-flex; align-items: center; justify-content: center; gap: clamp(16px, 2vw, 30px); padding: 20px 0; font: 500 clamp(42px, 5.5vw, 82px)/1.06 var(--serif); letter-spacing: -.035em; text-align: center; }
.community-link:hover, .community-link:focus-visible { color: var(--accent); }
.community-link .icon-arrow { width: clamp(30px, 3vw, 46px); height: clamp(30px, 3vw, 46px); flex: none; }
@media (max-width: 700px) {
  .community-page { min-height: calc(100svh - 84px); }
}

/* Travelling Camera: text-only project banner and editorial detail. */
.camera-banner{display:grid;grid-template-columns:1fr 2.5fr;gap:24px 5vw;padding:38px 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text)}
.camera-banner-meta{display:flex;flex-direction:column;gap:7px;color:var(--muted);font:16px/1.5 var(--small)}
.camera-banner .camera-kicker,.camera-kicker{font:500 13px/1.5 var(--small);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.camera-banner h2{font:400 clamp(32px,3.5vw,52px)/1.08 var(--serif);margin:12px 0 14px;letter-spacing:-.025em}
.camera-banner-copy>p:last-child{font:20px/1.5 var(--small)}
.camera-banner-cta{grid-column:2;display:flex;align-items:center;gap:14px;font:17px/1.5 var(--small)}
.camera-banner:hover h2,.camera-banner:hover .camera-banner-cta{color:var(--accent)}
.camera-whats-on:empty{display:none}.camera-whats-on{padding-bottom:30px}
.camera-page{max-width:1260px;margin:0 auto;padding:38px var(--gutter) 88px}.camera-back{display:inline-block;color:var(--muted);font:16px/1.5 var(--small);margin-bottom:54px}
.camera-hero h1{max-width:850px;font:400 clamp(52px,6.8vw,92px)/.98 var(--serif);letter-spacing:-.045em;margin:20px 0 30px}
.camera-manifesto{font:500 clamp(17px,2vw,24px)/1.4 var(--small);letter-spacing:.07em}.camera-rhythm{font:italic 20px/1.5 var(--small);color:var(--muted);margin-top:9px}.camera-deck{font:400 clamp(24px,2.6vw,34px)/1.25 var(--serif);max-width:640px;margin-top:32px}
.camera-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 0 36px}.camera-hero-bottom>span{font:18px/1.4 var(--small);color:var(--muted)}
.camera-section{display:grid;grid-template-columns:1fr 1.75fr;gap:6vw;border-top:1px solid var(--line);padding:34px 0}.camera-section h2{font:400 30px/1.12 var(--serif);max-width:230px}.camera-section p{font:20px/1.55 var(--small);color:var(--muted)}.camera-section p+p{margin-top:16px}
.camera-steps{margin:0;padding-left:25px}.camera-steps li{padding-left:8px;margin-bottom:24px}.camera-steps li:last-child{margin-bottom:0}.camera-steps h3{font:400 26px/1.2 var(--serif);margin-bottom:8px}
.camera-join{border-top:1px solid var(--line);padding:36px 0 0}.camera-join .text-link{margin:12px 0 16px;font-size:30px}.camera-join>p:last-child{font:italic 17px/1.5 var(--small);color:var(--muted)}
@media(max-width:700px){.camera-banner{grid-template-columns:1fr;gap:20px;padding:26px 0}.camera-banner-meta{flex-direction:row;flex-wrap:wrap;gap:6px 20px}.camera-banner-cta{grid-column:1}.camera-banner h2{font-size:36px}.camera-page{padding-top:26px}.camera-back{margin-bottom:35px}.camera-hero h1{font-size:54px}.camera-hero-bottom{align-items:flex-start;flex-direction:column}.camera-section{grid-template-columns:1fr;gap:20px;padding:28px 0}.camera-section h2{max-width:none}.camera-section p{font-size:19px}.camera-manifesto{font-size:17px;letter-spacing:.04em}}

/* Short form-led version for review. */
.camera-page-simple{max-width:1060px;padding-top:32px;padding-bottom:72px}
.camera-page-simple .camera-back{margin-bottom:30px}
.camera-page-simple .camera-hero h1{max-width:800px;font-size:clamp(44px,5vw,68px);margin:0 0 26px;line-height:1.04}
.camera-page-simple .camera-manifesto{font-size:19px;letter-spacing:.035em}
.camera-page-simple .camera-rhythm{font-size:19px}
.camera-intro{max-width:690px;margin-top:30px}
.camera-intro p{font:20px/1.5 var(--small);color:var(--text)}
.camera-intro p+p{margin-top:18px}
.camera-signup{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.camera-signup>p{max-width:640px;margin-top:12px;font:italic 17px/1.5 var(--small);color:var(--muted)}
@media(max-width:700px){.camera-page-simple .camera-hero h1{font-size:44px}.camera-page-simple .camera-manifesto{font-size:16px}.camera-intro p{font-size:19px}.camera-page-simple{padding-bottom:48px}}

.album-cover:has(.album-coming-soon){display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel)}
.album-coming-soon{color:var(--muted);font-size:19px;padding:24px;text-align:center}
.album-page .photo-tile{width:100%;padding:0;text-align:left}
.collection-credits{grid-column:1/-1;justify-self:start;max-width:100%;color:var(--muted);font-size:17px;line-height:1.5}
.collection-credits-label{margin-bottom:8px}
.collection-credits-names{overflow-wrap:anywhere}
.collection-credits-names a{text-decoration:underline;text-underline-offset:.2em}
.collection-credits-names a:hover{color:var(--text)}
.lightbox #lightbox-title,.lightbox #lightbox-credit{display:none}
.lightbox .lightbox-top{justify-content:flex-end}
.lightbox .lightbox-bottom{justify-content:flex-end}
.lightbox .lightbox-stage{position:relative}
.lightbox-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:70%;text-align:center;color:var(--muted);pointer-events:none}
.lightbox-status:empty{display:none}
.lightbox.is-loading #lightbox-image,.lightbox.has-image-error #lightbox-image{visibility:hidden}

/* Approved photobook gallery: title rule, fine border, centred folios. */
.album-plates .plates-grid{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:96px 70px;align-items:end;max-width:1080px;margin:0 auto}
.album-plates .plate-photo{position:relative;display:block;margin:0;padding:0;min-width:0;width:100%}
.plate-image{display:flex;align-items:flex-end;justify-content:center;height:clamp(270px,36vw,470px)}
.album-plates .plate-photo img{background:transparent;object-fit:contain;max-width:100%;width:auto;height:auto;max-height:100%;outline:1px solid rgba(196,166,142,.25);outline-offset:0}
.plate-number{display:block;color:#b99a83;font-size:14px;font-weight:400;line-height:1;letter-spacing:.045em;font-variant-numeric:tabular-nums;text-align:center;margin-top:20px;font-style:italic}
.album-plates .page-body{padding-top:18px;padding-bottom:130px}
.album-plates .page-heading h1{position:relative}
.album-plates .page-heading h1::after{content:'';position:absolute;left:0;bottom:-24px;width:54px;height:1px;background:rgba(196,166,142,.44)}
@media(max-width:860px){.album-plates .plates-grid{grid-template-columns:1fr;gap:52px}.plate-image{height:auto}.album-plates .plate-photo img{width:100%;max-height:none}.plate-number{margin-top:16px}.album-plates .page-body{padding-bottom:75px}.album-plates .page-heading h1::after{width:42px;bottom:-19px}}

/* Single-page committee: all profiles remain visible without opening a card. */
.committee-page {padding-bottom:60px}
.committee-year {font-size:18px;color:var(--muted);margin:12px 0 36px}
.committee-roster {max-width:1180px;margin:0 auto}
.committee-person {min-width:0}
.committee-portrait {width:112px;height:140px;flex:none}
.committee-portrait img {width:100%;height:100%;object-fit:cover;outline:1px solid rgba(196,166,142,.22)}
.committee-initials {width:100%;height:100%;display:grid;place-items:center;background:rgba(196,166,142,.035);outline:1px solid rgba(196,166,142,.14);color:rgba(196,166,142,.48);font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:.03em}
.committee-person-role {font-size:17px;color:var(--muted);margin-bottom:8px;line-height:1.3}
.committee-person h2 {font-size:34px;line-height:1.12;font-weight:400;letter-spacing:-.025em;overflow-wrap:anywhere}
.committee-crsid {font-size:15px;letter-spacing:.035em;color:var(--muted);margin-top:12px}
.committee-person-bio {font-size:19px;line-height:1.6;color:var(--muted);white-space:pre-line;max-width:630px;margin:0;overflow-wrap:anywhere}
.committee-design-a .committee-person {display:grid;grid-template-columns:112px minmax(180px,.75fr) minmax(0,1.6fr);gap:36px;align-items:start;padding:32px 0;border-top:1px solid rgba(196,166,142,.18)}
.committee-design-a .committee-person-heading {padding-top:14px}
.committee-design-a .committee-person-bio {padding-top:10px}
.committee-design-b .committee-roster {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:80px;row-gap:54px}
.committee-design-b .committee-person {display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:26px;row-gap:20px;align-content:start}
.committee-design-b .committee-portrait {width:96px;height:120px}
.committee-design-b .committee-person-heading {padding-top:10px}
.committee-design-b .committee-person-bio {grid-column:2;font-size:18px}
.committee-design-b .committee-person.has-bio {grid-column:1/-1;grid-template-columns:96px minmax(0,1fr);padding:32px 0;border-block:1px solid rgba(196,166,142,.18)}
.committee-design-b .committee-person.has-bio .committee-person-bio {max-width:860px}
.committee-design-c .committee-roster {max-width:940px}
.committee-design-c .committee-person {display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px 28px;padding:24px 0}
.committee-design-c .committee-portrait {width:72px;height:90px;grid-row:1/3}
.committee-design-c .committee-person-heading {display:flex;flex-wrap:wrap;align-items:baseline;column-gap:24px;padding-top:4px}
.committee-design-c .committee-person-role {order:2;margin:0;font-size:18px}
.committee-design-c .committee-crsid {order:3;margin:0}
.committee-design-c .committee-person h2 {font-size:30px}
.committee-design-c .committee-person-bio {grid-column:2;max-width:790px}
.committee-design-c .committee-person.has-bio {padding-block:32px;margin-block:10px;border-block:1px solid rgba(196,166,142,.18)}
@media(max-width:860px){
 .committee-page {padding-bottom:30px}
 .committee-year {margin-bottom:24px}
 .committee-design-a .committee-person {grid-template-columns:88px minmax(0,1fr);gap:18px 22px;padding:26px 0}
 .committee-design-a .committee-portrait {width:88px;height:110px;grid-row:1/3}
 .committee-design-a .committee-person-heading {padding-top:6px}
 .committee-design-a .committee-person-bio {grid-column:2;padding-top:0;font-size:18px}
 .committee-person h2 {font-size:30px}
 .committee-design-b .committee-roster {grid-template-columns:minmax(0,1fr);gap:34px}
 .committee-design-b .committee-person,.committee-design-b .committee-person.has-bio {grid-template-columns:88px minmax(0,1fr);column-gap:22px}
 .committee-design-b .committee-portrait {width:88px;height:110px}
 .committee-design-b .committee-person.has-bio {grid-column:auto}
 .committee-design-c .committee-person {column-gap:20px}
 .committee-design-c .committee-person-heading {display:block}
 .committee-design-c .committee-person-role {margin-top:8px;font-size:17px}
 .committee-design-c .committee-crsid {margin-top:8px}
 .committee-design-c .committee-person-bio {font-size:18px}
}
@media(max-width:480px){
 .committee-design-a .committee-person-bio,.committee-design-b .committee-person-bio,.committee-design-b .committee-person.has-bio .committee-person-bio,.committee-design-c .committee-person-bio {grid-column:1/-1}
 .committee-design-a .committee-portrait,.committee-design-c .committee-portrait {grid-row:auto}
 .committee-design-c .committee-person {gap:20px}
}

/* Compact portraits with native, keyboard-accessible biography disclosure. */
.committee-accordion .committee-roster {max-width:1020px}
.committee-accordion .committee-person {display:block;padding:22px 0;border:0;margin:0}
.committee-accordion .committee-person+.committee-person {border-top:1px solid rgba(196,166,142,.12)}
.committee-accordion .committee-row {display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:30px;list-style:none;min-width:0}
.committee-accordion summary {cursor:pointer}
.committee-accordion summary::-webkit-details-marker {display:none}
.committee-accordion summary::marker {content:''}
.committee-accordion summary:focus-visible {outline:2px solid var(--accent);outline-offset:8px}
.committee-accordion .committee-portrait {width:96px;height:120px}
.committee-accordion .committee-person-heading {display:block;padding:0}
.committee-accordion .committee-person h2 {font-size:32px;margin-bottom:9px}
.committee-accordion .committee-person-role {font-size:18px;margin:0;color:var(--muted)}
.committee-accordion .committee-crsid {font-size:15px;margin-top:7px}
.committee-disclosure {display:flex;gap:12px;align-items:center;color:var(--muted);font-size:16px}
.committee-disclosure svg {transition:transform .18s ease;flex:none}
.committee-accordion details[open] .committee-disclosure svg {transform:rotate(180deg)}
.committee-accordion summary:hover .committee-disclosure {color:var(--text)}
.committee-bio-panel {padding:22px 0 8px 126px}
.committee-accordion .committee-person-bio {max-width:790px;font-size:19px;line-height:1.65;white-space:pre-line}
@media(max-width:860px){
 .committee-accordion .committee-row {grid-template-columns:88px minmax(0,1fr) auto;gap:22px}
 .committee-accordion .committee-portrait {width:88px;height:110px}
 .committee-accordion .committee-person h2 {font-size:30px}
 .committee-bio-panel {padding-left:110px}
}
@media(max-width:480px){
 .committee-accordion .committee-row {grid-template-columns:88px minmax(0,1fr);gap:16px 22px}
 .committee-accordion .committee-person h2 {font-size:28px}
 .committee-disclosure {grid-column:2;font-size:15px;margin-top:-4px}
 .committee-bio-panel {padding:22px 0 4px}
 .committee-accordion .committee-person-bio {font-size:18px}
}
@media(prefers-reduced-motion:reduce){.committee-disclosure svg {transition:none}}

/* Approved event navigation and consistent past-event rows. */
.camera-banner-linked .camera-banner-copy>p:not(.camera-kicker){max-width:42ch;font-size:20px;line-height:1.5}
.camera-banner-linked .camera-banner-copy>.camera-banner-note{margin-top:13px;font-size:17px;font-style:italic;color:var(--muted)}
.camera-banner-linked .text-link{margin-top:21px}
.camera-banner-linked:hover .text-link{color:var(--accent)}
a.camera-banner.past-event-banner{grid-template-columns:1fr 2.5fr;gap:24px 5vw;align-items:start;padding:38px 0 34px;border-top:0}
.past-event-banner .camera-banner-meta{font:16px/1.5 var(--small);gap:7px}
.past-event-banner .past-event-cta{margin-top:12px;font-size:19px}
@media(max-width:700px){.camera-banner-linked .camera-banner-copy>p:not(.camera-kicker){font-size:19px}.camera-banner-linked .camera-banner-copy>.camera-banner-note{font-size:16px}a.camera-banner.past-event-banner{grid-template-columns:1fr;gap:20px;padding:26px 0}.past-event-banner .camera-banner-meta{flex-direction:column;gap:4px}}

/* Approved Past Events palette A: warm stone. */
.past-events{--text:#B7AAA0;--muted:#9F9187;--line:#63514C;--accent:#B7AAA0;color:var(--text)}

/* Photo-led past event records: short factual copy and original imagery. */
.past-report{padding:38px var(--gutter) 90px}
.past-report>.camera-back{margin-bottom:34px}
.past-report-header{display:grid;grid-template-columns:1.4fr 1fr;gap:5vw;align-items:end;margin-bottom:35px}
.past-report-header h1{font:400 clamp(48px,5.8vw,82px)/1.05 var(--serif);letter-spacing:-.035em;margin-top:15px}
.past-report-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:0;font:500 18px/1.35 var(--small)}
.past-report-facts dt{font-size:14px;color:var(--muted);margin-bottom:6px}
.past-report-facts dd{margin:0}
.past-report-poster{margin:0 auto;max-width:1040px}
.past-report-poster img{width:100%;height:auto}
.past-report-poster figcaption{margin-top:10px;color:var(--muted);font:italic 16px/1.4 var(--small)}
.past-report-copy{max-width:760px;margin:38px auto 0;font:500 21px/1.5 var(--small)}
.past-report-copy p+p{margin-top:18px}
.past-report-photos{margin-top:30px}
@media(max-width:700px){.past-report{padding-top:28px;padding-bottom:55px}.past-report-header{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.past-report-facts{font-size:17px;gap:18px}.past-report-copy{font-size:19px;margin-top:28px}.past-report-header h1{font-size:48px}.past-report>.camera-back{margin-bottom:25px}}

.past-report-photos .photo-grid{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start;max-width:1172px;margin:0 auto}
.past-report-photos .plate-photo{display:block;width:100%;min-width:0;margin:0;padding:0}
.past-report-photos .plate-photo:first-child,.past-report-photos .plate-photo:last-child{grid-column:1/-1}
.past-report-photos .plate-image{display:block;height:auto}
.past-report-photos img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}
.past-report-photo-credit{max-width:1172px;margin:14px auto 0;font:italic 16px/1.4 var(--small);color:var(--muted)}
@media(max-width:700px){.past-report-photos .photo-grid{grid-template-columns:1fr;gap:20px}}
