:root {
  --rotary-blue: #003f7d;
  --rotary-blue-deep: #062844;
  --rotary-blue-soft: #dceaf2;
  --rotary-gold: #f5a800;
  --paper: #f6f3eb;
  --paper-bright: #fffdf8;
  --ink: #17232d;
  --muted: #60707d;
  --line: rgba(6, 40, 68, .16);
  --shadow: 0 1.4rem 4rem rgba(6, 40, 68, .12);
  --font-serif-zh: "Noto Serif TC Variable", "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", serif;
  --font-sans-zh: "Noto Sans TC Variable", "Noto Sans TC", "Source Han Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  --font-display-en: "Newsreader Variable", "Newsreader", "Iowan Old Style", Georgia, serif;
  --serif: var(--font-serif-zh);
  --sans: var(--font-sans-zh);
  --latin: var(--font-display-en);
  --max: 90rem;
  --reading: 54rem;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 1rem; font-kerning: normal; font-synthesis: none; line-height: 1.75; text-rendering: optimizeLegibility; }
:lang(en) { font-family: var(--latin); font-optical-sizing: auto; }
body::before { content: ""; position: fixed; z-index: -1; inset: 0; opacity: .32; pointer-events: none; background-image: radial-gradient(rgba(6,40,68,.08) .6px, transparent .6px); background-size: 6px 6px; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .22em; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--rotary-gold); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; padding: .65rem 1rem; color: #fff; background: var(--rotary-blue-deep); transform: translateY(-180%); }
.skip-link:focus { transform: none; }

.site-header { position: sticky; z-index: 50; top: 0; display: grid; grid-template-columns: minmax(16rem, auto) 1fr auto; align-items: center; min-height: 6rem; padding: .7rem clamp(1rem, 4vw, 4.5rem); color: #fff; background: rgba(6,40,68,.97); border-bottom: 3px solid var(--rotary-gold); backdrop-filter: blur(16px); }
.identity { display: inline-flex; gap: .8rem; align-items: center; width: fit-content; text-decoration: none; }
.identity img { box-sizing: border-box; width: 3.45rem; height: 3.05rem; padding: .28rem .32rem; object-fit: contain; background: linear-gradient(145deg, #fff, #f5f1e8); border: 1px solid rgba(245,168,0,.58); border-radius: .65rem; box-shadow: 0 .35rem .9rem rgba(0,0,0,.18); }
.identity strong { display: block; font-family: var(--serif); font-size: clamp(1rem, 1.8vw, 1.35rem); letter-spacing: .08em; line-height: 1.3; }
.identity small { display: block; color: #bdd0de; font-family: var(--latin); font-size: .61rem; letter-spacing: .075em; }
.site-nav { display: flex; justify-content: flex-end; gap: .2rem 1.15rem; align-items: center; font-size: .9rem; }
.site-nav a { position: relative; color: #dce9f2; text-decoration: none; white-space: nowrap; }
.site-nav a::after { content: ""; position: absolute; right: 0; bottom: -.55rem; left: 0; height: 2px; background: var(--rotary-gold); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: #fff; }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.header-tools { display: flex; gap: .75rem; align-items: center; margin-left: 1.4rem; }
.header-tools > a { color: #fff; font-size: .85rem; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.4); }
.nav-toggle { display: none; padding: .55rem .75rem; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.5); border-radius: .2rem; }

main { min-height: 65vh; }
.page-heading { position: relative; overflow: hidden; padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 8vw, 8rem) clamp(2.6rem, 5vw, 4.8rem); color: #fff; background: var(--rotary-blue-deep); }
.page-heading::after { content: ""; position: absolute; right: -7rem; bottom: -12rem; width: 28rem; aspect-ratio: 1; border: 4rem solid rgba(245,168,0,.13); border-radius: 50%; }
.page-heading h1 { position: relative; z-index: 1; max-width: 18ch; margin: 0; font-family: var(--serif); font-size: clamp(2.7rem, 7vw, 6.5rem); font-weight: 700; letter-spacing: .045em; line-height: 1.12; text-wrap: balance; }
.page-heading--article h1 { max-width: 24ch; font-size: clamp(2.2rem, 5.4vw, 4.9rem); }
.eyebrow, .section-kicker { margin: 0 0 1rem; color: var(--rotary-gold); font-family: var(--latin); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.page-content { width: min(100%, var(--max)); min-height: 26rem; margin: 0 auto; padding: clamp(3.5rem, 7vw, 7rem) clamp(1.25rem, 6vw, 6rem); }
.page-content--home { width: 100%; max-width: none; margin: 0; padding: 0; }

.hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .65fr); min-height: min(52rem, calc(100vh - 6rem)); overflow: hidden; color: #fff; background: linear-gradient(116deg, #062844 0 58%, #003f7d 58% 100%); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .12; background: repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), #fff calc(8.333% - 1px) 8.333%); }
.hero__copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 9vw, 9rem) clamp(1.25rem, 8vw, 8rem); }
.hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 6.7vw, 7rem); font-weight: 700; letter-spacing: .02em; line-height: .98; white-space: nowrap; word-break: keep-all; }
.hero__english { margin: 1.6rem 0 0; color: #c5d8e5; font-family: var(--latin); font-size: clamp(.8rem, 1.4vw, 1rem); letter-spacing: .12em; }
.hero__actions { display: flex; gap: 1.5rem; align-items: center; margin-top: 2.7rem; }
.hero__portrait { position: relative; z-index: 1; display: grid; place-items: center; align-content: center; padding: 3rem; background: linear-gradient(160deg, rgba(255,255,255,.08), transparent); }
.hero__portrait::before { content: ""; position: absolute; width: min(35vw, 28rem); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(255,255,255,.025), 0 0 0 6rem rgba(255,255,255,.018); }
.hero__portrait p { position: relative; color: #d8e3eb; font-family: var(--latin); font-size: .7rem; letter-spacing: .17em; text-transform: uppercase; }
.hero__seal { position: relative; display: grid; place-items: center; width: min(24vw, 15rem); min-width: 10.5rem; aspect-ratio: 1.08; padding: 1.35rem; background: linear-gradient(145deg, #fff, #f7f2e8); border: 1px solid rgba(255,255,255,.72); border-radius: 1.6rem; box-shadow: .85rem .9rem 0 rgba(245,168,0,.88), var(--shadow); transform: rotate(-1deg); }
.hero__seal img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 .28rem .4rem rgba(4,31,53,.16)); }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .65rem 1.25rem; color: var(--rotary-blue-deep); background: var(--rotary-gold); font-weight: 700; text-decoration: none; border: 1px solid var(--rotary-gold); transition: transform .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 .8rem 2rem rgba(0,0,0,.18); }
.text-link { display: inline-flex; gap: .45rem; align-items: center; width: fit-content; color: inherit; font-weight: 700; text-decoration-thickness: 1px; }
.hero .text-link { color: #fff; }

.fact-ribbon { display: grid; grid-template-columns: repeat(4, 1fr); color: #fff; background: var(--rotary-blue); border-top: 1px solid rgba(255,255,255,.13); }
.fact-ribbon div { min-height: 8.5rem; padding: 1.7rem clamp(1rem, 3vw, 2.5rem); border-right: 1px solid rgba(255,255,255,.14); }
.fact-ribbon span { display: block; margin-bottom: .65rem; color: #bcd1df; font-size: .72rem; letter-spacing: .13em; }
.fact-ribbon strong { font-family: var(--serif); font-size: clamp(1rem, 2vw, 1.3rem); font-weight: 600; }
.home-intro, .home-latest, .portal-grid { width: min(100%, var(--max)); margin: 0 auto; }
.home-latest, .portal-grid { padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); }
.home-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); gap: clamp(2rem, 6vw, 6rem); align-items: stretch; padding: clamp(3.25rem, 6vw, 5.75rem) clamp(1.25rem, 6vw, 6rem); }
.home-intro__statement { align-self: center; padding-block: .5rem; }
.home-intro h2, .split-lead h2, .contact-layout h2 { max-width: 15ch; margin: 0; color: var(--rotary-blue-deep); font-family: var(--serif); font-size: clamp(2.2rem, 5vw, 4.7rem); line-height: 1.25; text-wrap: balance; }
.home-intro__archive { position: relative; isolation: isolate; display: grid; align-content: space-between; min-height: 19rem; overflow: hidden; padding: clamp(1.5rem, 3vw, 2.5rem); color: #fff; background: radial-gradient(circle at 84% 18%, rgba(245,168,0,.15) 0 14%, transparent 14.5%), linear-gradient(135deg, var(--rotary-blue-deep) 0%, var(--rotary-blue) 100%); border: 1px solid rgba(6,40,68,.18); box-shadow: 0 1.25rem 3rem rgba(6,40,68,.16); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.home-intro__archive::before { content: ""; position: absolute; z-index: -1; top: -6rem; right: -4rem; width: 18rem; aspect-ratio: 1; border: 2.5rem solid rgba(255,255,255,.07); border-radius: 50%; }
.home-intro__archive::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: .35rem; background: var(--rotary-gold); }
.home-intro__archive-year { position: relative; z-index: 1; color: rgba(255,255,255,.18); font-family: var(--latin); font-size: clamp(4.75rem, 8vw, 7.25rem); font-weight: 600; letter-spacing: -.045em; line-height: .85; }
.home-intro__archive-link { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding-top: 1.15rem; border-top: 1px solid rgba(255,255,255,.28); }
.home-intro__archive-link strong { color: #fff; font-family: var(--serif); font-size: clamp(1.35rem, 2.4vw, 1.8rem); letter-spacing: .04em; }
.home-intro__archive-link i { display: grid; flex: 0 0 3rem; width: 3rem; aspect-ratio: 1; place-items: center; color: var(--rotary-gold); border: 1px solid rgba(255,255,255,.42); border-radius: 50%; font-style: normal; font-size: 1.35rem; transition: color 180ms ease, background 180ms ease, border-color 180ms ease; }
.home-intro__archive:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 1.6rem 3.5rem rgba(6,40,68,.22); }
.home-intro__archive:hover .home-intro__archive-link i { color: var(--rotary-blue-deep); background: var(--rotary-gold); border-color: var(--rotary-gold); }
.home-latest { border-top: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2.5rem; }
.section-heading h2, .content-block > header h2, .document-section > header h2 { margin: 0; color: var(--rotary-blue-deep); font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.25; }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 2rem; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.story-card { min-width: 0; background: var(--paper-bright); }
.story-card[hidden] { display: none; }
.story-card__link { display: flex; flex-direction: column; min-height: 22rem; padding: clamp(1.4rem, 3vw, 2.2rem); text-decoration: none; transition: color .2s ease, background .2s ease; }
.story-card__link:hover { color: #fff; background: var(--rotary-blue); }
.story-card__media { display: block; height: 11rem; margin: calc(-1 * clamp(1.4rem, 3vw, 2.2rem)) calc(-1 * clamp(1.4rem, 3vw, 2.2rem)) 1.4rem; overflow: hidden; background: var(--rotary-blue-soft); }
.story-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.story-card__link:hover .story-card__media img { transform: scale(1.035); }
.story-card__meta { margin: 0 0 3.2rem; color: var(--muted); font-size: .76rem; letter-spacing: .08em; }
.story-card__link:hover .story-card__meta { color: #c8dce9; }
.story-card h2 { margin: 0 0 1rem; color: var(--rotary-blue-deep); font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.45; }
.story-card__link:hover h2 { color: #fff; }
.story-card p:not(.story-card__meta) { display: -webkit-box; overflow: hidden; margin: 0; color: var(--muted); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.story-card__link:hover p { color: #dbe8f0; }
.story-card__action { margin-top: auto; padding-top: 2rem; color: var(--rotary-blue); font-weight: 700; }
.story-card__link:hover .story-card__action { color: var(--rotary-gold); }
.portal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; padding-top: 0; background: var(--line); }
.portal-grid a { min-height: 17rem; padding: clamp(1.5rem, 4vw, 3.5rem); background: var(--rotary-blue-deep); color: #fff; text-decoration: none; }
.portal-grid a:nth-child(2), .portal-grid a:nth-child(3) { background: var(--rotary-blue); }
.portal-grid span { color: var(--rotary-gold); font-family: var(--latin); }
.portal-grid h2 { margin: 2.5rem 0 .5rem; font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.5rem); }
.portal-grid p { max-width: 28rem; margin: 0; color: #c7d8e4; }

.split-lead { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.split-lead > p { max-width: 35rem; font-size: 1.08rem; }
.about-index { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 7rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-index a { display: flex; flex-direction: column; min-height: 9rem; padding: 1.5rem; text-decoration: none; border-right: 1px solid var(--line); }
.about-index span { color: var(--rotary-blue); font-size: .75rem; letter-spacing: .12em; }
.about-index strong { margin-top: auto; font-family: var(--serif); font-size: 1.25rem; }
.content-block + .content-block { margin-top: 8rem; }
.content-block > header, .document-section > header { max-width: var(--reading); margin: 0 auto 2.5rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }

.page-content--currentYear { width: 100%; max-width: none; padding: 0; }
.annual-directory { overflow: clip; background: var(--paper); }
.annual-masthead { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .62fr); gap: clamp(3rem, 8vw, 8rem); min-height: 46rem; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem) 0; color: #fff; background: var(--rotary-blue-deep); }
.annual-masthead::before { content: ""; position: absolute; z-index: -2; inset: 0; opacity: .11; background-image: linear-gradient(90deg, rgba(255,255,255,.38) 1px, transparent 1px); background-size: calc(100% / 12) 100%; }
.annual-masthead::after { content: ""; position: absolute; z-index: -1; top: -13rem; right: -13rem; width: min(48vw, 43rem); aspect-ratio: 1; border: clamp(3rem, 7vw, 6rem) solid rgba(245,168,0,.16); border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,.1), 0 0 0 clamp(5rem, 9vw, 9rem) rgba(255,255,255,.025); }
.annual-masthead__edition { position: relative; z-index: 1; align-self: center; padding-bottom: 4rem; }
.annual-masthead__kicker { margin: 0 0 2.3rem; color: var(--rotary-gold); font-family: var(--latin); font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.annual-masthead__club { margin: 0 0 .5rem; color: #d4e1e9; font-family: var(--serif); font-size: clamp(1.15rem, 2.2vw, 1.6rem); letter-spacing: .12em; }
.annual-masthead h1 { display: flex; gap: clamp(.5rem, 1.5vw, 1.4rem); align-items: center; width: fit-content; margin: 0; color: #fff; font-family: var(--latin); font-size: clamp(4.8rem, 10.5vw, 10.5rem); font-weight: 400; letter-spacing: -.065em; line-height: .85; white-space: nowrap; }
.annual-masthead h1 i { width: clamp(2.5rem, 5vw, 5rem); height: .25rem; overflow: hidden; color: transparent; background: var(--rotary-gold); transform: rotate(-7deg); }
.annual-masthead__english { margin: 2rem 0 0; color: #aFC5d4; font-family: var(--latin); font-size: clamp(.72rem, 1.2vw, .9rem); letter-spacing: .14em; }
.annual-masthead__flag { position: relative; z-index: 1; align-self: center; margin: 0 0 4rem; }
.annual-masthead__flag > div { display: grid; place-items: center; min-height: 23rem; padding: clamp(1.5rem, 3vw, 2.7rem); background: #fff; box-shadow: 1.2rem 1.2rem 0 rgba(245,168,0,.92), 0 2rem 5rem rgba(0,0,0,.25); transform: rotate(1.2deg); }
.annual-masthead__flag img { display: block; width: 100%; max-height: 19rem; object-fit: contain; }
.annual-masthead__flag figcaption { display: flex; justify-content: space-between; gap: 1rem; margin: 2rem 0 0 1.2rem; color: #aFC5d4; font-size: .72rem; letter-spacing: .12em; }
.annual-masthead__flag figcaption strong { color: #fff; font-family: var(--latin); font-weight: 400; }
.annual-snapshot { position: relative; z-index: 1; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgba(255,255,255,.26); }
.annual-snapshot div { min-height: 8.6rem; padding: 1.5rem clamp(1rem, 2.5vw, 2.3rem); border-right: 1px solid rgba(255,255,255,.15); }
.annual-snapshot div:last-child { border-right: 0; }
.annual-snapshot dt { color: #9fb9ca; font-size: .68rem; font-weight: 700; letter-spacing: .14em; }
.annual-snapshot dd { margin: .85rem 0 0; font-family: var(--serif); font-size: clamp(1.05rem, 1.8vw, 1.35rem); line-height: 1.45; }
.annual-snapshot small { display: block; margin-top: .25rem; color: #9fb9ca; font-family: var(--sans); font-size: .72rem; }
.annual-index { position: sticky; z-index: 12; top: 6rem; display: grid; grid-template-columns: minmax(10rem, .42fr) 1.58fr; width: 100%; color: var(--rotary-blue-deep); background: rgba(255,253,248,.96); border-bottom: 1px solid var(--line); box-shadow: 0 .8rem 2rem rgba(6,40,68,.07); backdrop-filter: blur(16px); }
.annual-index > p { display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 1rem clamp(1.25rem, 4vw, 4rem); color: var(--rotary-blue-deep); font-family: var(--serif); font-weight: 700; border-right: 1px solid var(--line); }
.annual-index > p span { color: var(--rotary-blue); font-family: var(--latin); font-size: .58rem; letter-spacing: .16em; text-transform: uppercase; }
.annual-index > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.annual-index a { display: flex; gap: .75rem; align-items: center; min-width: 0; padding: 1.1rem clamp(.7rem, 1.8vw, 1.6rem); text-decoration: none; border-right: 1px solid var(--line); transition: color .2s ease, background .2s ease; }
.annual-index a:last-child { border-right: 0; }
.annual-index a:hover { color: #fff; background: var(--rotary-blue); }
.annual-index b { color: var(--rotary-gold); font-family: var(--latin); font-size: .68rem; }
.annual-index span { overflow: hidden; font-size: .82rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.annual-section, .annual-profile-grid { width: min(100%, var(--max)); margin: 0 auto; padding-right: clamp(1.25rem, 6vw, 6rem); padding-left: clamp(1.25rem, 6vw, 6rem); }
.annual-section { padding-top: clamp(5rem, 9vw, 9rem); padding-bottom: clamp(5rem, 9vw, 9rem); }
.annual-section__heading { display: grid; grid-template-columns: minmax(8rem, .35fr) 1.65fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.annual-section__heading > p, .annual-profile header > p { margin: 0; color: var(--rotary-blue); font-family: var(--latin); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.annual-section__heading > p span, .annual-profile header > p span { display: block; margin-bottom: .65rem; color: var(--rotary-gold); font-size: 1rem; }
.annual-section__heading h2, .annual-profile h2 { margin: 0; color: var(--rotary-blue-deep); font-family: var(--serif); font-size: clamp(2.3rem, 5vw, 4.7rem); line-height: 1.1; }
.annual-section__heading div > p { margin: .75rem 0 0; color: var(--muted); font-size: .84rem; letter-spacing: .1em; }
.annual-leadership { background: transparent; }
.annual-leadership__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.annual-leader { display: grid; grid-template-columns: minmax(13rem, .85fr) minmax(0, 1.15fr); min-height: 25rem; overflow: hidden; color: #fff; background: var(--rotary-blue-deep); border-bottom: 4px solid var(--rotary-gold); }
.annual-leader__portrait { min-height: 100%; overflow: hidden; background: #dce4e9; }
.annual-leader__portrait img, .annual-leader__placeholder { display: block; width: 100%; height: 100%; min-height: 25rem; object-fit: cover; object-position: center top; }
.annual-leader__placeholder { display: grid; place-items: center; color: var(--muted); }
.annual-leader__identity { align-self: end; padding: clamp(1.5rem, 3.5vw, 3.2rem); }
.annual-leader__role { margin: 0 0 3.5rem; color: var(--rotary-gold); font-weight: 700; letter-spacing: .14em; }
.annual-leader__role span, .annual-leader__role small { display: block; }
.annual-leader__role small { margin-top: .25rem; color: #9fb9ca; font-family: var(--latin); font-size: .62rem; font-weight: 400; text-transform: uppercase; }
.annual-leader h3 { margin: 0; color: #fff; font-family: var(--serif); font-size: clamp(2.4rem, 4.6vw, 4.2rem); line-height: 1; white-space: nowrap; }
.annual-leader__rotary-name { margin: 1rem 0 0; color: #c7d7e2; font-family: var(--latin); font-size: clamp(.9rem, 1.5vw, 1.1rem); letter-spacing: .12em; white-space: nowrap; }
.annual-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.5rem); padding-top: clamp(1rem, 3vw, 2.5rem); padding-bottom: clamp(5rem, 9vw, 9rem); }
.annual-profile { scroll-margin-top: 11rem; padding: clamp(2rem, 5vw, 4rem); background: var(--paper-bright); border-top: 4px solid var(--rotary-blue); box-shadow: 0 1rem 3.5rem rgba(6,40,68,.07); }
.annual-profile header { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; margin-bottom: 2.5rem; }
.annual-profile h2 { font-size: clamp(2rem, 3.8vw, 3.35rem); }
.annual-profile dl { margin: 0; border-top: 1px solid var(--line); }
.annual-profile dl div { display: grid; grid-template-columns: minmax(6rem, .36fr) minmax(0, 1fr); gap: 1.5rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.annual-profile dt { color: var(--rotary-blue); font-size: .78rem; font-weight: 700; }
.annual-profile dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.annual-profile a { color: var(--rotary-blue-deep); font-weight: 700; }
.annual-records { border-top: 1px solid var(--line); }
.annual-records__empty { margin: 0; padding: clamp(2rem, 5vw, 4rem); color: var(--muted); background: var(--paper-bright); border-left: 4px solid var(--rotary-gold); }
#year-overview, #year-leadership, #year-records { scroll-margin-top: 11rem; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 1050px) {
  .annual-masthead { grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .65fr); gap: 3rem; }
  .annual-leader { grid-template-columns: minmax(10rem, .78fr) minmax(0, 1.22fr); }
  .annual-leader__identity { padding: 1.6rem; }
}
@media (max-width: 900px) {
  .annual-masthead { grid-template-columns: 1fr; min-height: 0; }
  .annual-masthead__edition { padding-bottom: 0; }
  .annual-masthead__flag { width: min(100%, 34rem); }
  .annual-index { top: 5.4rem; grid-template-columns: 1fr; }
  .annual-index > p { display: none; }
  .annual-profile-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .annual-masthead { gap: 3.5rem; padding-top: 4rem; }
  .annual-masthead h1 { font-size: clamp(4.2rem, 22vw, 7rem); }
  .annual-masthead__english { max-width: 26rem; line-height: 1.6; }
  .annual-snapshot { grid-template-columns: 1fr; }
  .annual-snapshot div { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .annual-index { overflow-x: auto; }
  .annual-index > div { width: max-content; grid-template-columns: repeat(5, minmax(8.5rem, 1fr)); }
  .annual-index a { min-height: 3.6rem; }
  .annual-section__heading { grid-template-columns: 1fr; gap: 1.25rem; }
  .annual-leadership__grid { grid-template-columns: 1fr; }
  .annual-leader { min-height: 20rem; }
  .annual-leader__portrait img, .annual-leader__placeholder { min-height: 20rem; }
}
@media (max-width: 460px) {
  .annual-masthead { padding-right: 1rem; padding-left: 1rem; }
  .annual-masthead h1 { gap: .35rem; font-size: clamp(3.5rem, 17.5vw, 5.3rem); }
  .annual-masthead h1 i { width: 1.8rem; height: .18rem; }
  .annual-masthead__flag > div { min-height: 18rem; padding: 1rem; }
  .annual-leader { grid-template-columns: minmax(8.5rem, .9fr) minmax(0, 1.1fr); }
  .annual-leader__identity { padding: 1.15rem; }
  .annual-leader__role { margin-bottom: 2rem; }
  .annual-leader h3 { font-size: clamp(1.9rem, 9vw, 2.5rem); }
  .annual-profile { padding: 1.5rem; }
  .annual-profile header { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .annual-profile dl div { grid-template-columns: 1fr; gap: .35rem; }
}
.officer-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 7rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.officer-grid div { min-height: 11rem; padding: 1.5rem; background: rgba(255,255,255,.52); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.officer-grid dt { color: var(--rotary-blue); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.officer-grid dd { margin: 2.3rem 0 0; font-family: var(--serif); font-size: 1.35rem; }
.officer-grid small { display: block; color: var(--muted); font-family: var(--sans); font-size: .8rem; }

.archive-tools { position: sticky; z-index: 5; top: 6rem; display: grid; grid-template-columns: auto minmax(12rem, 30rem) 1fr; gap: 1rem; align-items: center; margin: -2rem 0 4rem; padding: 1rem 1.25rem; background: rgba(246,243,235,.96); border: 1px solid var(--line); backdrop-filter: blur(14px); }
.archive-tools label { color: var(--rotary-blue-deep); font-weight: 700; }
.archive-tools input { width: 100%; min-height: 2.8rem; padding: .55rem .8rem; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 0; font: inherit; }
.archive-tools p { margin: 0; color: var(--muted); font-size: .82rem; text-align: right; }
.year-section { border-bottom: 1px solid var(--line); }
.year-section + .year-section { margin-top: 1.25rem; }
.year-section > summary { cursor: pointer; list-style: none; padding: 1.4rem 0; }
.year-section > summary::-webkit-details-marker { display: none; }
.year-section > summary::after { content: "+"; color: var(--rotary-blue); font-family: var(--latin); font-size: 2rem; }
.year-section[open] > summary::after { content: "−"; }
.year-section > .story-grid { margin-bottom: 4rem; }
.year-heading { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1.2rem; }
.year-heading p { margin: 0; color: var(--rotary-blue-deep); font-family: var(--latin); font-size: clamp(2.4rem, 6vw, 5rem); line-height: 1; }
.year-heading span { color: var(--muted); font-size: .8rem; }

.article-shell { max-width: var(--reading); margin: 0 auto; }
.article-meta { display: flex; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; padding-bottom: 1rem; color: var(--muted); border-bottom: 1px solid var(--line); }
.article-meta p, .article-meta time { margin: 0; font-size: .78rem; letter-spacing: .08em; }
.legacy-prose { max-width: var(--reading); margin: 0 auto; padding: clamp(1.5rem, 4vw, 3.5rem); background: var(--paper-bright); box-shadow: 0 .5rem 2.4rem rgba(6,40,68,.06); font-size: clamp(1rem, 1.4vw, 1.08rem); overflow-wrap: anywhere; }
.legacy-prose > :first-child { margin-top: 0; }
.legacy-prose > :last-child { margin-bottom: 0; }
.legacy-prose h2, .legacy-prose h3, .legacy-prose h4 { margin: 2.4em 0 .8em; color: var(--rotary-blue-deep); font-family: var(--serif); line-height: 1.4; }
.legacy-prose p { margin: 1em 0; }
.legacy-prose blockquote { margin: 2rem 0; padding: 1rem 1.5rem; color: var(--rotary-blue-deep); background: var(--rotary-blue-soft); border-left: 4px solid var(--rotary-gold); }
.legacy-prose ul, .legacy-prose ol { padding-left: 1.5rem; }
.legacy-prose img { display: block; width: auto; max-height: 46rem; margin: 2rem auto; object-fit: contain; box-shadow: var(--shadow); }
.content-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; outline-offset: .25rem; }
.content-table-scroll:focus-visible { outline: 3px solid var(--rotary-gold); }
.legacy-prose table { display: table; width: max-content !important; min-width: 100%; max-width: none; margin: 0; border-spacing: 0; border-collapse: collapse; }
.legacy-prose th, .legacy-prose td { min-width: 8rem; padding: .7rem; vertical-align: top; border: 1px solid var(--line); }
.legacy-prose th { color: #fff; background: var(--rotary-blue); }
.legacy-prose a { color: var(--rotary-blue); font-weight: 600; }

.article-shell--tabular, .legacy-prose--tabular { max-width: none; }
.legacy-prose--tabular .content-table-scroll { margin: 0 0 2rem; background: var(--paper-bright); }
.legacy-prose--tabular .content-table-scroll:last-child { margin-bottom: 0; }
.legacy-prose--tabular table p { margin: 0; }
.legacy-prose--tabular td[colspan] { color: var(--rotary-blue-deep); background: var(--rotary-blue-soft); }
.legacy-prose--tabular tr:has(> td[colspan]) + tr > td { color: #fff; background: var(--rotary-blue); font-weight: 700; }

.document-section + .document-section { margin-top: 9rem; padding-top: 6rem; border-top: 4px solid var(--rotary-blue-deep); }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 9vw, 9rem); }
.contact-list { margin: 0; border-top: 1px solid var(--line); }
.contact-list div { display: grid; grid-template-columns: 8rem 1fr; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.contact-list dt { color: var(--rotary-blue); font-weight: 700; }
.contact-list dd { margin: 0; }
.sitemap-list ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2rem; padding: 0; list-style: none; }
.sitemap-list li { border-bottom: 1px solid var(--line); }
.sitemap-list a { display: block; padding: 1rem 0; text-decoration: none; }
.search-intro { max-width: 42rem; margin-bottom: 2rem; }
#search { max-width: 58rem; }
.notfound { max-width: 44rem; margin: 0 auto; text-align: center; }
.display-number { margin: 0; color: var(--rotary-gold); font-family: var(--latin); font-size: clamp(7rem, 22vw, 15rem); line-height: .8; }
.notfound h2 { color: var(--rotary-blue-deep); font-family: var(--serif); font-size: 2.2rem; }
.notfound > div { display: flex; justify-content: center; gap: 1.5rem; align-items: center; margin-top: 2rem; }
.empty-state { padding: 2rem; background: #fff; border: 1px solid var(--line); }

.site-footer {
  display: grid;
  grid-template-columns: minmax(18rem, .9fr) minmax(26rem, 1.1fr);
  gap: 1.5rem clamp(3rem, 7vw, 7rem);
  align-items: center;
  padding: 3.5rem clamp(1.25rem, 6vw, 6rem) 2rem;
  color: #fff;
  background: var(--rotary-blue-deep);
  border-top: 4px solid var(--rotary-gold);
}
.footer-brand { display: flex; gap: 1rem; align-items: center; }
.footer-brand img { box-sizing: border-box; width: 4.8rem; height: 4.2rem; padding: .42rem .48rem; object-fit: contain; background: linear-gradient(145deg, #fff, #f5f1e8); border: 1px solid rgba(245,168,0,.58); border-radius: .8rem; box-shadow: 0 .45rem 1.1rem rgba(0,0,0,.2); }
.footer-brand p { margin: 0; font-family: var(--serif); font-size: 1.2rem; }
.footer-brand small { color: #b9ccda; }
.footer-contact { justify-self: end; }
.footer-contact p { margin: 0 0 .35rem; color: #d5e1e9; }
.site-footer nav {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: .25rem clamp(1.25rem, 2.8vw, 3rem);
  align-items: center;
  padding: 1rem 0 .75rem;
  border-top: 1px solid rgba(255,255,255,.15);
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.site-footer nav a { white-space: nowrap; }
.footer-source {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: .25rem;
  color: #9db5c6;
  font-size: .72rem;
}
@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; }
  .header-tools { grid-column: 2; grid-row: 1; }
  .nav-toggle { display: inline-flex; }
  .site-nav { grid-column: 1 / -1; display: none; justify-content: flex-start; padding: 1rem 0 .4rem; }
  .site-nav[data-open="true"] { display: flex; }
  .story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .officer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 5.5rem; }
  .site-header { min-height: 5.4rem; padding: .55rem 1rem; }
  .identity img { width: 2.95rem; height: 2.65rem; padding: .22rem .25rem; }
  .footer-brand img { width: 4.25rem; height: 3.75rem; padding: .35rem .4rem; }
  .identity small { display: none; }
  .header-tools > a { display: none; }
  .site-nav { flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav a { padding: .65rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .site-nav a::after { display: none; }
  .page-heading { padding-top: 3.8rem; }
  .hero { grid-template-columns: 1fr; min-height: 44rem; }
  .hero__copy { padding: 5rem 1.25rem 3rem; }
  .hero h1 { font-size: clamp(2.55rem, 11vw, 4rem); }
  .hero__portrait { position: absolute; right: -2rem; bottom: 1.5rem; opacity: .22; }
  .hero__portrait p { display: none; }
  .hero__seal { width: 11rem; min-width: 0; }
  .fact-ribbon { grid-template-columns: repeat(2, 1fr); }
  .fact-ribbon div { min-height: 7rem; }
  .home-intro, .split-lead, .contact-layout { grid-template-columns: 1fr; gap: 2rem; }
  .home-intro__archive { min-height: 13.5rem; }
  .home-intro h2, .split-lead h2, .contact-layout h2 { font-size: 2.5rem; }
  .story-grid { grid-template-columns: 1fr; }
  .story-card__link { min-height: 18rem; }
  .portal-grid { grid-template-columns: 1fr; }
  .portal-grid a { min-height: 14rem; }
  .about-index { grid-template-columns: 1fr; }
  .about-index a { min-height: 7rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .officer-grid { grid-template-columns: 1fr; }
  .archive-tools { position: static; grid-template-columns: 1fr; margin-top: 0; }
  .archive-tools p { text-align: left; }
  .article-meta, .section-heading { align-items: flex-start; flex-direction: column; }
  .legacy-prose { margin-right: -1.25rem; margin-left: -1.25rem; padding: 1.25rem; }
  .contact-list div { grid-template-columns: 1fr; gap: .35rem; }
  .sitemap-list ul { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-contact { justify-self: start; }
  .site-footer nav { grid-column: 1; flex-direction: row; flex-wrap: wrap; }
  .footer-source { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media print {
  .site-header, .site-footer, .archive-tools { display: none !important; }
  body { background: #fff; }
  .page-heading { padding: 1rem 0; color: #000; background: #fff; }
  .page-heading h1 { color: #000; font-size: 2rem; }
  .page-content { padding: 1rem 0; }
  .legacy-prose { max-width: none; padding: 0; box-shadow: none; }
}

.story-card__warning {
  width: fit-content;
  margin: -.35rem 0 .25rem;
  padding: .22rem .55rem;
  border: 1px solid #b76e00;
  border-radius: 999px;
  color: #7a4600;
  background: #fff8e8;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.source-conflict {
  margin: 0 0 2rem;
  padding: 1rem 1.2rem;
  border-left: .28rem solid #b76e00;
  background: #fff8e8;
  color: #4f350a;
}

.source-conflict strong,
.source-conflict p { margin: 0; }
.source-conflict p { margin-top: .35rem; }
.leadership-section {
  margin: 0 0 4rem;
}

.leadership-section > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.leadership-section > header h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 3.4rem);
}

.leadership-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.leadership-card {
  display: grid;
  grid-template-columns: minmax(9rem, .8fr) 1.2fr;
  align-items: center;
  min-height: 19rem;
  overflow: hidden;
  color: #fff;
  background: var(--rotary-blue-deep);
}

.leadership-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  background: #e9eef2;
}

.leadership-card div {
  padding: clamp(1.3rem, 3vw, 2.4rem);
}

.leadership-card h2 {
  margin: .4rem 0;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1;
}

.leadership-card p:last-child {
  margin: 0;
  color: #c9d8e3;
  letter-spacing: .08em;
}

.club-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 2rem;
  margin: 0 0 2rem;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.club-facts div {
  min-height: 10rem;
  padding: 1.5rem;
  background: rgba(255,255,255,.52);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.club-facts dt {
  color: var(--rotary-blue);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.club-facts dd {
  margin: 1.8rem 0 0;
  font-family: var(--serif);
  font-size: 1.25rem;
  line-height: 1.45;
}

.club-facts small {
  display: block;
  margin-top: .3rem;
  color: var(--muted);
  font-family: var(--sans);
  font-size: .78rem;
}

@media (max-width: 900px) {
  .leadership-card { grid-template-columns: 1fr; }
  .leadership-card img { aspect-ratio: 1 / 1; }
  .club-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .leadership-grid,
  .club-facts { grid-template-columns: 1fr; }
  .leadership-card { grid-template-columns: 7.5rem 1fr; min-height: 10rem; }
  .leadership-card img { aspect-ratio: auto; }
  .club-facts div { min-height: 8rem; }
}
.identity strong, .footer-brand p { white-space: nowrap; word-break: keep-all; }
.club-name-core { white-space: nowrap; }

.officer-directory { width: min(100%, 80rem); margin: 0 auto; }
.officer-directory__intro { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.officer-directory__intro h2 { margin: 0; color: var(--rotary-blue-deep); font-family: var(--serif); font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: 1.1; }
.officer-directory__range { flex: 0 0 auto; text-align: right; }
.officer-directory__range p { display: flex; gap: .8rem; align-items: center; margin: 0; color: var(--rotary-blue-deep); font-family: var(--latin); font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1; }
.officer-directory__range i { width: 2.5rem; height: 2px; overflow: hidden; color: transparent; background: var(--rotary-gold); }
.officer-directory__range small { display: block; margin-top: .65rem; color: var(--muted); font-size: .75rem; letter-spacing: .12em; }
.officer-directory__columns, .officer-term { display: grid; grid-template-columns: minmax(18rem, 1.15fr) repeat(2, minmax(15rem, .925fr)); }
.officer-directory__columns { color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .15em; }
.officer-directory__columns span { padding: 0 1.5rem 1rem; }
.officer-directory__columns span + span { border-left: 1px solid var(--line); }
.officer-directory__list { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--line); }
.officer-term { min-height: 8.5rem; background: rgba(255,255,255,.4); border-top: 1px solid var(--line); transition: background .2s ease, transform .2s ease; }
.officer-term:hover { position: relative; z-index: 1; background: var(--paper-bright); box-shadow: 0 .8rem 2.2rem rgba(6,40,68,.08); transform: translateY(-1px); }
.officer-term__identity { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1.4rem; align-items: center; padding: 1rem 1.5rem; }
.officer-term__mark { display: grid; place-items: center; width: 6rem; aspect-ratio: 1; overflow: hidden; background: #fff; }
.officer-term__mark img { width: 100%; height: 100%; padding: .3rem; object-fit: contain; }
.officer-term__mark > span { width: 2.8rem; height: 2.8rem; border: .55rem solid var(--rotary-blue-soft); border-radius: 50%; box-shadow: inset 0 0 0 2px var(--rotary-gold); }
.officer-term__ordinal { margin: 0 0 .4rem; color: var(--rotary-blue); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.officer-term__years { display: flex; gap: .5rem; align-items: center; margin: 0; color: var(--rotary-blue-deep); font-family: var(--latin); font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1; white-space: nowrap; }
.officer-term__years i { color: var(--rotary-gold); font-style: normal; }
.officer-term__theme { max-width: 22rem; margin: .65rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.officer-person { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .5rem; align-items: center; min-width: 0; padding: 1.3rem 1rem; border-left: 1px solid var(--line); }
.officer-person__role { align-self: start; padding-top: .35rem; color: var(--rotary-blue); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.officer-person p { display: flex; flex-wrap: wrap; gap: .35rem .5rem; align-items: baseline; min-width: 0; margin: 0; }
.officer-person strong { color: var(--rotary-blue-deep); font-family: var(--sans); font-size: clamp(1.15rem, 1.8vw, 1.45rem); font-weight: 700; line-height: 1.25; white-space: nowrap; }
.officer-person p > span { color: var(--muted); font-family: var(--latin); font-size: .92rem; letter-spacing: .04em; white-space: nowrap; }
@media (max-width: 900px) {
  .officer-directory__columns { display: none; }
  .officer-term { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .officer-term__identity { grid-column: 1 / -1; border-bottom: 1px solid var(--line); }
  .officer-person:first-of-type { border-left: 0; }
}
@media (max-width: 600px) {
  .officer-directory__intro { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
  .officer-directory__range { text-align: left; }
  .officer-term { grid-template-columns: 1fr; }
  .officer-term__identity { grid-template-columns: 5.5rem minmax(0, 1fr); padding: 1rem; }
  .officer-term__mark { width: 4.7rem; }
  .officer-person { grid-template-columns: 2.8rem minmax(0, 1fr); padding: 1rem; border-top: 1px solid var(--line); border-left: 0; }
  .officer-person:first-of-type { border-top: 0; }
}

/* Editorial activity ledger and Four-Way Test */
.home-activity-ledger { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-activity, .home-activity a, .home-activity__body { min-width: 0; }
.home-activity a { color: inherit; text-decoration: none; }
.home-activity--featured { background: var(--paper-bright); }
.home-activity--featured > a { display: grid; grid-template-columns: minmax(18rem, 28rem) minmax(0, 1fr); min-height: 21rem; }
.home-activity__media { position: relative; min-width: 0; margin: 0; overflow: hidden; background: var(--rotary-blue-soft); }
.home-activity--featured .home-activity__media { aspect-ratio: 4 / 3; align-self: center; }
.home-activity__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease, filter .3s ease; }
.home-activity__body { display: flex; flex-direction: column; padding: clamp(1.5rem, 4vw, 3.5rem); }
.home-activity__meta { display: flex; flex-wrap: wrap; gap: .45rem 1rem; align-items: baseline; margin: 0 0 1.4rem; color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.home-activity__meta span:first-child { color: var(--rotary-gold); font-family: var(--latin); font-size: 1rem; }
.home-activity__meta time { margin-left: auto; font-family: var(--latin); letter-spacing: .08em; }
.home-activity h3 { max-width: 24ch; margin: 0; color: var(--rotary-blue-deep); font-family: var(--serif); font-size: clamp(1.45rem, 2.7vw, 2.5rem); line-height: 1.38; text-wrap: pretty; }
.home-activity__warning { width: fit-content; margin: 1rem 0 0; padding: .2rem .55rem; color: #7c2500; background: #fff0df; font-size: .74rem; font-weight: 700; }
.home-activity__excerpt { display: -webkit-box; max-width: 48rem; overflow: hidden; margin: 1.25rem 0 0; color: var(--muted); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.home-activity__action { margin-top: auto; padding-top: 1.5rem; color: var(--rotary-blue); font-size: .83rem; font-weight: 700; letter-spacing: .06em; }
.home-activity__action b { color: var(--rotary-gold); font-family: var(--latin); font-size: 1.1rem; }
.home-activity a:hover .home-activity__media img { filter: saturate(1.04); transform: scale(1.02); }
.home-activity a:hover h3 { color: var(--rotary-blue); }
.home-activity-ledger__index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-activity-ledger__index .home-activity { background: rgba(255,255,255,.38); border-top: 1px solid var(--line); }
.home-activity-ledger__index .home-activity:nth-child(odd) { border-right: 1px solid var(--line); }
.home-activity-ledger__index .home-activity > a { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); min-height: 12.5rem; transition: background .2s ease; }
.home-activity-ledger__index .home-activity > a:hover { background: var(--paper-bright); }
.home-activity-ledger__index .home-activity__media { aspect-ratio: 4 / 3; align-self: center; margin-left: 1.4rem; }
.home-activity-ledger__index .home-activity__body { padding: 1.35rem 1.5rem; }
.home-activity-ledger__index .home-activity__meta { gap: .35rem .7rem; margin-bottom: .75rem; font-size: .62rem; }
.home-activity-ledger__index .home-activity__meta time { width: 100%; margin-left: 0; }
.home-activity-ledger__index .home-activity h3 { display: -webkit-box; overflow: hidden; font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.home-activity-ledger__index .home-activity__action { padding-top: .75rem; font-size: .72rem; }

.about-index { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-index a:last-child { border-right: 0; }

.page-content--fourWayTest { width: 100%; max-width: none; margin: 0; padding: 0; }
.four-way { overflow: clip; color: #fff; background: var(--rotary-blue-deep); }
.four-way__masthead { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr); min-height: 34rem; overflow: hidden; padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 8vw, 8rem); background: radial-gradient(circle at 82% 42%, rgba(0,63,125,.72) 0 16%, transparent 16.2%), radial-gradient(circle at 82% 42%, transparent 0 29%, rgba(245,168,0,.12) 29.2% 29.8%, transparent 30%), linear-gradient(126deg, #062844 0 62%, #003f7d 62% 100%); }
.four-way__masthead::before { content: ""; position: absolute; inset: 0; opacity: .12; pointer-events: none; background: repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), #fff calc(8.333% - 1px) 8.333%); }
.four-way__intro { position: relative; z-index: 1; align-self: center; }
.four-way__intro h1 { max-width: 8ch; margin: 0; color: #fff; font-family: var(--serif); font-size: clamp(3.4rem, 8vw, 7.8rem); font-weight: 700; letter-spacing: .03em; line-height: 1.08; text-wrap: balance; }
.four-way__intro > p:not(.section-kicker) { max-width: 38rem; margin: 2rem 0 0; color: #d9e6ee; font-size: clamp(1rem, 1.6vw, 1.25rem); }
.four-way__intro > p[lang="en"] { margin-top: .55rem; color: #a9c2d3; font-size: .82rem; letter-spacing: .08em; }
.four-way__mark { position: relative; z-index: 1; display: grid; place-items: center; align-content: center; justify-self: end; width: min(32vw, 25rem); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; box-shadow: 0 0 0 2rem rgba(255,255,255,.025), 0 0 0 4rem rgba(255,255,255,.016); }
.four-way__mark span { font-family: var(--latin); font-size: clamp(9rem, 18vw, 18rem); font-weight: 500; line-height: .72; }
.four-way__mark small { margin-top: 1.6rem; color: var(--rotary-gold); font-family: var(--latin); font-size: .7rem; font-weight: 700; letter-spacing: .32em; }
.four-way__questions { padding: 0 clamp(1.25rem, 8vw, 8rem) clamp(4rem, 9vw, 8rem); }
.four-way__questions ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, var(--max)); margin: 0 auto; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.22); border-left: 1px solid rgba(255,255,255,.22); }
.four-way__questions li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: clamp(1rem, 3vw, 2.5rem); min-height: 18rem; padding: clamp(2rem, 5vw, 4.5rem); border-right: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.four-way__questions li:nth-child(2), .four-way__questions li:nth-child(3) { background: rgba(0,63,125,.2); }
.four-way__number { margin: .2rem 0 0; color: var(--rotary-gold); font-family: var(--latin); font-size: 1.15rem; letter-spacing: .1em; }
.four-way__questions h2 { max-width: 13ch; margin: 0; color: #fff; font-family: var(--serif); font-size: clamp(1.65rem, 3.2vw, 3rem); font-weight: 600; line-height: 1.42; text-wrap: balance; }
.four-way__questions h2 strong { color: var(--rotary-gold); font-weight: 800; }
.four-way__questions li div > p { margin: 1.3rem 0 0; color: #afc8d8; font-size: .84rem; letter-spacing: .035em; line-height: 1.5; }
.four-way__history { display: grid; grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 8vw, 8rem); padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 8vw, 8rem); color: var(--ink); background: var(--paper); }
.four-way__history header { align-self: start; }
.four-way__history h2 { max-width: 12ch; margin: 0; color: var(--rotary-blue-deep); font-family: var(--serif); font-size: clamp(2rem, 4vw, 4rem); line-height: 1.25; }
.four-way__history dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.four-way__history dl div { min-height: 15rem; padding: clamp(1.5rem, 4vw, 3rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.four-way__history dt { color: var(--rotary-blue); font-family: var(--latin); font-size: clamp(2.5rem, 5vw, 5rem); line-height: 1; }
.four-way__history dd { margin: 2rem 0 0; color: var(--rotary-blue-deep); font-family: var(--serif); font-size: clamp(1.1rem, 1.8vw, 1.4rem); line-height: 1.65; }

.officer-term__theme { display: grid; gap: .2rem; }
.officer-term__theme span { color: var(--rotary-blue); font-size: .58rem; font-weight: 700; letter-spacing: .1em; }
.officer-term__theme b { overflow-wrap: anywhere; color: var(--muted); font-weight: 500; }

@media (max-width: 1050px) {
  .about-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-index a:nth-child(2) { border-right: 0; }
  .about-index a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .home-activity--featured > a { grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr); }
}
@media (max-width: 820px) {
  .home-activity--featured > a { grid-template-columns: 1fr; }
  .home-activity--featured .home-activity__media { width: min(100%, 28rem); }
  .home-activity-ledger__index { grid-template-columns: 1fr; }
  .home-activity-ledger__index .home-activity:nth-child(odd) { border-right: 0; }
  .four-way__masthead { grid-template-columns: 1fr; min-height: 31rem; }
  .four-way__mark { position: absolute; right: -4rem; bottom: -4rem; width: 20rem; opacity: .2; }
  .four-way__questions ol { grid-template-columns: 1fr; }
  .four-way__questions li { min-height: 14rem; }
  .four-way__questions li:nth-child(3) { background: transparent; }
  .four-way__questions li:nth-child(even) { background: rgba(0,63,125,.2); }
  .four-way__history { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .home-latest { padding-right: 1.25rem; padding-left: 1.25rem; }
  .home-activity--featured .home-activity__body { padding: 1.5rem; }
  .home-activity-ledger__index .home-activity > a { grid-template-columns: 6.5rem minmax(0, 1fr); min-height: 10.5rem; }
  .home-activity-ledger__index .home-activity__media { margin-left: 1rem; }
  .home-activity-ledger__index .home-activity__body { padding: 1rem; }
  .home-activity-ledger__index .home-activity__action { display: none; }
  .four-way__masthead { padding-top: 5rem; padding-bottom: 5rem; }
  .four-way__intro h1 { font-size: clamp(3rem, 16vw, 4.5rem); }
  .four-way__questions { padding-right: 1rem; padding-left: 1rem; }
  .four-way__questions li { grid-template-columns: 2.4rem minmax(0, 1fr); gap: .8rem; padding: 1.6rem 1.25rem; }
  .four-way__history dl { grid-template-columns: 1fr; }
  .four-way__history dl div { min-height: 12rem; }
}
@media print {
  .four-way, .four-way__masthead, .four-way__questions { color: #000; background: #fff; }
  .four-way__mark { display: none; }
  .four-way__intro h1, .four-way__questions h2 { color: #000; }
}
/* Public event actions: rendered only from validated structured fields. */
.event-actions { display: grid; grid-template-columns: minmax(10rem, .46fr) minmax(0, 1.54fr); gap: clamp(1.25rem, 4vw, 4rem); margin: 0 0 clamp(2rem, 5vw, 4rem); padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgba(245,168,0,.45); border-radius: 1.2rem; color: #fff; background: linear-gradient(135deg, var(--rotary-blue-deep), #074c7a); box-shadow: 0 1rem 2.5rem rgba(6,40,68,.14); }
.event-actions > p { display: flex; flex-direction: column; justify-content: center; gap: .15rem; margin: 0; padding-right: 1.25rem; border-right: 1px solid rgba(255,255,255,.2); }
.event-actions > p span { color: var(--rotary-gold); font-family: var(--latin); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.event-actions > p strong { font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.35; }
.event-actions > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .75rem; }
.event-actions a { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); align-items: center; min-height: 3.75rem; padding: .5rem .8rem; border: 1px solid rgba(255,255,255,.2); border-radius: .8rem; color: #fff; text-decoration: none; background: rgba(255,255,255,.07); transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.event-actions a:hover { transform: translateY(-2px); border-color: var(--rotary-gold); background: rgba(255,255,255,.13); }
.event-actions a:focus-visible { outline: .2rem solid var(--rotary-gold); outline-offset: .18rem; }
.event-actions a span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: 50%; color: var(--rotary-blue-deep); background: var(--rotary-gold); font-size: 1.2rem; font-weight: 800; }
.event-actions a strong { font-size: 1rem; line-height: 1.4; }
@media (max-width: 820px) {
  .event-actions { grid-template-columns: 1fr; }
  .event-actions > p { padding-right: 0; padding-bottom: 1rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
}
@media (max-width: 600px) {
  .event-actions > div { grid-template-columns: 1fr; }
}
@media print { .event-actions { display: none; } }
