@font-face {
    font-family:Fraunces;
    src:url('../fonts/fraunces-latin.woff2') format('woff2');
    font-weight:100 900;
    font-style:normal;
    font-display:swap;
}

@font-face {
    font-family:Manrope;
    src:url('../fonts/manrope-latin.woff2') format('woff2');
    font-weight:200 800;
    font-style:normal;
    font-display:swap;
}

:root {
    --forest:#30483e;
    --forest-deep:#233b32;
    --clay:#b7775e;
    --clay-dark:#8a4e37;
    --linen:#f4f0e8;
    --sage:#a9b5a3;
    --sand:#ddd1bf;
    --paper:#faf7f1;
    --muted:#657368;
    --line:rgba(48,72,62,.19);
    --serif:Fraunces,Georgia,serif;
    --sans:Manrope,Arial,sans-serif;
    --ease:cubic-bezier(.22,1,.36,1);
    --header-height:100px;
    --radius:4px;
    scroll-behavior:smooth;
    scroll-padding-top:130px;
    color-scheme:light;
}

*,*::before,*::after {
    box-sizing:border-box;
}

html {
    scrollbar-width:thin;
    scrollbar-color:var(--clay) var(--linen);
}

body {
    margin:0;
    background:var(--linen);
    color:var(--forest);
    font-family:var(--sans);
    font-size:16px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body.menu-open {
    overflow:hidden;
}

/* Decorative orbital paths may extend beyond the viewport; clip does not create
   a scrolling ancestor, so the event detail sidebar keeps its sticky behavior. */
main {
    overflow-x:clip;
}

::selection {
    background:var(--forest);
    color:var(--linen);
}

::-webkit-scrollbar {
    width:9px;
}

::-webkit-scrollbar-track {
    background:var(--linen);
}

::-webkit-scrollbar-thumb {
    background:var(--clay);
    border:2px solid var(--linen);
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover {
    background:var(--forest);
}

a {
    color:inherit;
    text-decoration:none;
}

button,input,select,textarea {
    font:inherit;
}

button {
    color:inherit;
}

button,a {
    -webkit-tap-highlight-color:transparent;
}

button {
    cursor:pointer;
}

img {
    display:block;
    max-width:100%;
    height:auto;
}

svg {
    display:block;
}

button:focus-visible,a:focus-visible,summary:focus-visible {
    outline:2px solid var(--clay-dark);
    outline-offset:6px;
}

h1,h2,h3,p,blockquote,figure,dl,dd {
    margin:0;
}

h1,h2,h3 {
    font-family:var(--serif);
    font-weight:440;
    font-variation-settings:"SOFT" 45,"WONK" 1;
    line-height:1.06;
    letter-spacing:-.047em;
}

h1 em,h2 em,blockquote em {
    font-weight:380;
}

h2 {
    font-size:clamp(2.8rem,4.9vw,4.8rem);
}

h3 {
    font-size:2rem;
}

p {
    max-width:70ch;
}

button {
    border:0;
}

em {
    font-style:italic;
}

ul {
    padding:0;
    margin:0;
    list-style:none;
}

[hidden] {
    display:none!important;
}

.container {
    width:min(1280px,calc(100% - 96px));
    margin-inline:auto;
}

.section-space {
    padding-block:112px;
}

.eyebrow {
    display:block;
    font-size:10px;
    line-height:1.5;
    font-weight:700;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.chapter-number {
    display:inline-block;
    margin-right:18px;
    color:var(--clay-dark);
    font-weight:500;
}

.icon {
    display:inline-block;
    width:22px;
    height:22px;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
    fill:none;
    flex-shrink:0;
    vertical-align:middle;
}

.icon-library {
    position:absolute;
    width:0;
    height:0;
    overflow:hidden;
}

.sr-only {
    position:absolute!important;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.subtle {
    color:var(--muted);
}

.text-clay {
    color:var(--clay);
}

.skip-link {
    position:fixed;
    top:12px;
    left:16px;
    z-index:1000;
    padding:14px 22px;
    background:var(--forest);
    color:var(--linen);
    transform:translateY(-200%);
    border-radius:3px;
}

.skip-link:focus {
    transform:translateY(0);
}

.reading-progress {
    position:fixed;
    inset:0 0 auto;
    height:2px;
    z-index:200;
    pointer-events:none;
}

.reading-progress span {
    display:block;
    height:100%;
    background:var(--clay);
    transform:scaleX(0);
    transform-origin:left;
    will-change:transform;
}

/* Navigation */
.site-header {
    height:var(--header-height);
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(244,240,232,.93);
    border-bottom:1px solid transparent;
    transition:border-color .3s,box-shadow .3s;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.site-header.is-scrolled {
    border-color:var(--line);
    box-shadow:0 6px 30px rgba(48,72,62,.025);
}

.site-header__inner {
    height:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}

.brand {
    display:block;
    flex-shrink:0;
    margin-left:-6px;
}

.brand img {
    width:247px;
    height:auto;
}

.site-nav {
    display:flex;
    align-items:center;
    gap:36px;
    font-size:12px;
    font-weight:600;
}

.site-nav>a:not(.nav-cta) {
    position:relative;
    padding-block:12px;
}

.site-nav>a:not(.nav-cta)::after {
    content:"";
    position:absolute;
    bottom:5px;
    left:0;
    width:100%;
    height:1px;
    background:var(--forest);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s var(--ease);
}

.site-nav>a:hover::after,.site-nav>a.is-current::after {
    transform:scaleX(1);
}

.nav-count {
    font-size:8px;
    vertical-align:super;
    display:inline-block;
    margin-left:5px;
    color:var(--clay-dark);
}

.nav-cta {
    display:flex;
    align-items:center;
    gap:26px;
    border:1px solid var(--line);
    border-radius:99px;
    padding:12px 17px 12px 21px;
    transition:background .2s,border-color .2s;
}

.nav-cta:hover {
    background:var(--sand);
    border-color:transparent;
}

.nav-cta .icon {
    width:16px;
    height:16px;
}

.menu-toggle {
    display:none;
}

/* Shared interaction language */
.button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
    min-height:57px;
    padding:16px 24px;
    border-radius:99px;
    font-size:12px;
    font-weight:600;
    line-height:1.5;
    transition:transform .25s var(--ease),background .25s,box-shadow .25s;
}

.button--primary {
    background:var(--forest);
    color:var(--linen);
}

.button--primary:hover {
    background:var(--forest-deep);
    transform:translateY(-2px);
    box-shadow:0 7px 20px rgba(48,72,62,.12);
}

.button .icon {
    width:18px;
    height:18px;
    transition:transform .3s var(--ease);
}

.button:hover .icon {
    transform:translate(2px,-2px);
}

.text-link {
    display:inline-flex;
    align-items:center;
    gap:18px;
    font-size:12px;
    font-weight:600;
    line-height:1.5;
    padding-block:9px;
    position:relative;
}

.text-link::after {
    content:"";
    position:absolute;
    height:1px;
    bottom:3px;
    left:0;
    right:37px;
    background:currentColor;
    transform:scaleX(.5);
    transform-origin:left;
    transition:transform .25s var(--ease);
}

.text-link:hover::after {
    transform:scaleX(1);
}

.text-link .icon {
    width:18px;
    height:18px;
    transition:transform .25s var(--ease);
}

.text-link:hover .icon {
    transform:translateX(4px);
}

.text-link--light {
    color:var(--linen);
}

.round-arrow {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid var(--line);
    border-radius:50%;
    transition:color .25s,background .25s,transform .25s;
}

.round-arrow .icon {
    width:18px;
    height:18px;
}

.status-dot {
    display:inline-block;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--clay);
    flex-shrink:0;
}

/* Opening composition */
.hero {
    position:relative;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:24px;
    min-height:760px;
    padding-top:58px;
    padding-bottom:100px;
    align-items:center;
}

.hero-copy {
    position:relative;
    z-index:2;
    padding-bottom:22px;
}

.hero-eyebrow {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:31px;
    font-size:9px;
    letter-spacing:.15em;
}

.eyebrow-line {
    width:28px;
    height:1px;
    background:var(--clay);
}

.hero h1 {
    font-size:clamp(4.5rem,7.75vw,7.45rem);
    line-height:1.015;
    letter-spacing:-.063em;
    font-weight:440;
}

.hero h1 em {
    color:var(--forest);
    font-weight:380;
}

.hero-title-dot {
    color:var(--clay);
    display:inline-block;
    margin-left:3px;
}

.hero-description {
    font-size:14px;
    line-height:1.95;
    color:var(--muted);
    max-width:400px;
    margin-top:30px;
}

.hero-actions {
    display:flex;
    align-items:center;
    gap:29px;
    margin-top:31px;
}

.hero-footnote {
    margin-top:56px;
    display:flex;
    align-items:center;
    gap:16px;
    font-size:10px;
    line-height:1.6;
    letter-spacing:.01em;
}

.hero-footnote__number {
    font-family:var(--serif);
    font-size:48px;
    line-height:1;
    letter-spacing:-.07em;
    font-weight:420;
}

.hero-footnote__rule {
    width:45px;
    height:1px;
    background:var(--line);
    margin-inline:8px;
}

.hero-visual {
    position:relative;
    min-width:0;
    height:610px;
    align-self:center;
}

.hero-art {
    position:absolute;
    inset:4px -25px 36px -25px;
    display:grid;
    place-items:center;
    isolation:isolate;
}

.hero-art>img {
    width:100%;
    height:100%;
    object-fit:contain;
    animation:art-arrive 1.5s var(--ease) both;
}

.hero-orbit-line {
    position:absolute;
    z-index:-1;
    width:91%;
    height:68%;
    border:1px solid rgba(48,72,62,.14);
    border-radius:50%;
    transform:rotate(-32deg);
    top:15%;
    left:4%;
    animation:orbit-breathe 11s ease-in-out infinite;
}

.hero-satellite {
    position:absolute;
    width:12px;
    height:12px;
    background:var(--clay);
    border-radius:50%;
    right:15%;
    top:16%;
    box-shadow:0 0 0 10px rgba(183,119,94,.08);
    animation:satellite-breathe 7s ease-in-out infinite;
}

.orbit-caption {
    position:absolute;
    font-size:8px;
    letter-spacing:.19em;
    font-weight:600;
    line-height:1.5;
    z-index:1;
}

.orbit-caption--top {
    top:20px;
    left:48px;
    display:flex;
    align-items:center;
    gap:10px;
}

.orbit-caption__dot {
    display:block;
    width:4px;
    height:4px;
    background:var(--forest);
    border-radius:50%;
}

.orbit-caption--side {
    right:-23px;
    top:43%;
    writing-mode:vertical-rl;
    font-size:8px;
    letter-spacing:.21em;
}

.hero-next {
    position:absolute;
    bottom:35px;
    left:-9px;
    right:-5px;
    display:flex;
    align-items:center;
    gap:23px;
    background:rgba(250,247,241,.91);
    border:1px solid rgba(48,72,62,.12);
    border-radius:4px;
    padding:21px 22px;
    box-shadow:0 18px 45px rgba(48,72,62,.055);
    backdrop-filter:blur(14px);
    transition:transform .3s var(--ease),box-shadow .3s;
    z-index:2;
}

.hero-next:hover {
    transform:translateY(-5px);
    box-shadow:0 24px 50px rgba(48,72,62,.09);
}

.hero-next__date {
    display:flex;
    flex-direction:column;
    align-items:center;
    border-right:1px solid var(--line);
    padding-right:23px;
    flex-shrink:0;
    min-width:72px;
}

.hero-next__date strong {
    font-family:var(--serif);
    font-weight:450;
    font-size:39px;
    line-height:1;
}

.hero-next__date>span {
    font-size:8px;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-top:8px;
    white-space:nowrap;
}

.hero-next__content {
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:0;
}

.hero-next__content .eyebrow {
    font-size:7px;
    letter-spacing:.14em;
    color:var(--clay-dark);
}

.hero-next__content>strong {
    font-family:var(--serif);
    font-size:22px;
    font-weight:470;
    line-height:1.12;
    letter-spacing:-.025em;
}

.hero-next__when {
    font-size:9px;
    color:var(--muted);
}

.hero-next__when>span {
    margin:0 4px;
}

.hero-next__arrow {
    margin-left:auto;
}

.hero-next__arrow .icon {
    width:20px;
    height:20px;
}

.hero-scroll {
    position:absolute;
    left:0;
    bottom:34px;
    display:flex;
    align-items:center;
    gap:14px;
    font-size:8px;
    letter-spacing:.17em;
    font-weight:600;
}

.scroll-marker {
    height:26px;
    width:15px;
    border:1px solid var(--line);
    border-radius:99px;
    position:relative;
}

.scroll-marker::after {
    content:"";
    position:absolute;
    top:5px;
    left:6px;
    height:5px;
    width:1px;
    background:var(--forest);
    animation:scroll-cue 2s ease-in-out infinite;
}

.hero-scroll>span:last-child {
    margin-left:3px;
    font-size:16px;
    font-weight:400;
}

.chapter-strip {
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    overflow:hidden;
}

.chapter-strip>.container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    min-height:81px;
    white-space:nowrap;
}

.chapter-strip span {
    font-family:var(--serif);
    font-weight:400;
    font-size:21px;
    letter-spacing:-.02em;
}

.chapter-strip i {
    font-size:17px;
    color:var(--clay);
    font-style:normal;
}

/* Program: one large feature and a quiet editorial grid */
.section-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:56px;
    margin-bottom:44px;
}

.section-heading h2 {
    margin-top:22px;
}

.section-intro {
    font-size:13px;
    line-height:1.95;
    max-width:330px;
    color:var(--muted);
    padding-bottom:9px;
}

.program-toolbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    padding-bottom:25px;
    border-bottom:1px solid var(--line);
    margin-bottom:34px;
    min-height:56px;
}

.program-toolbar>p {
    font-size:11px;
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:500;
}

.event-filters {
    display:flex;
    gap:5px;
    align-items:center;
    flex-wrap:wrap;
}

.filter-button {
    border:1px solid transparent;
    background:transparent;
    border-radius:99px;
    padding:8px 13px;
    font-size:10px;
    white-space:nowrap;
    transition:border-color .2s,background .2s;
}

.filter-button span {
    font-size:8px;
    vertical-align:super;
    margin-left:4px;
}

.filter-button:hover {
    background:rgba(221,209,191,.45);
}

.filter-button.is-active {
    border-color:var(--line);
    background:var(--paper);
}

.event-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:54px 36px;
}

.event-card {
    min-width:0;
    position:relative;
}

.event-card__link {
    display:flex;
    flex-direction:column;
    height:100%;
}

.event-card__media {
    position:relative;
    overflow:hidden;
    aspect-ratio:1.62;
    background:var(--sand);
    border-radius:var(--radius);
}

.event-card__media>img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .85s var(--ease),filter .5s;
}

.event-card__link:hover .event-card__media>img {
    transform:scale(1.045);
}

.date-badge {
    position:absolute;
    top:22px;
    left:22px;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:71px;
    background:rgba(250,247,241,.93);
    padding:12px 11px 10px;
    border-radius:2px;
    backdrop-filter:blur(8px);
}

.date-badge>span:first-child {
    font-family:var(--serif);
    font-size:36px;
    line-height:1;
    font-weight:430;
    letter-spacing:-.05em;
}

.date-badge>span:last-child {
    text-transform:uppercase;
    font-size:7px;
    letter-spacing:.08em;
    margin-top:7px;
    line-height:1.3;
    font-weight:600;
}

.event-card__body {
    padding:27px 2px 0;
    display:flex;
    flex-direction:column;
    flex:1;
}

.event-card__topline {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:15px;
}

.event-card__topline .eyebrow {
    font-size:8px;
    letter-spacing:.13em;
}

.event-status {
    font-size:9px;
    line-height:1.5;
    padding:4px 9px;
    border:1px solid var(--line);
    border-radius:99px;
    flex-shrink:0;
}

.event-status--live {
    background:var(--forest);
    color:var(--linen);
    border-color:var(--forest);
}

.event-status--past {
    color:var(--muted);
}

.event-card h3 {
    font-size:clamp(1.9rem,2.6vw,2.8rem);
    line-height:1.1;
    font-weight:460;
    margin-bottom:16px;
}

.event-card__summary {
    font-size:12px;
    color:var(--muted);
    line-height:1.85;
    margin-bottom:21px;
    max-width:48ch;
}

.event-card__meta {
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:auto;
    font-size:10px;
    line-height:1.5;
}

.event-card__meta>div {
    display:flex;
    gap:9px;
    align-items:flex-start;
}

.event-card__meta .icon {
    height:15px;
    width:15px;
    stroke-width:1.5;
}

.event-card__meta dd {
    padding-top:1px;
}

.meta-separator {
    margin-inline:3px;
}

.event-card__action {
    margin-top:24px;
    padding-top:19px;
    border-top:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:10px;
    font-weight:600;
    gap:15px;
}

.event-card__link:hover .round-arrow {
    background:var(--forest);
    color:var(--linen);
    transform:rotate(6deg);
    border-color:var(--forest);
}

.event-card--featured {
    grid-column:1/-1;
    margin-bottom:4px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
}

.event-card--featured .event-card__link {
    display:grid;
    grid-template-columns:1fr 1fr;
}

.event-card--featured .event-card__media {
    aspect-ratio:auto;
    min-height:455px;
    border-radius:0;
}

.event-card--featured .date-badge {
    top:28px;
    left:28px;
    min-width:85px;
    padding:15px 13px 13px;
}

.event-card--featured .date-badge>span:first-child {
    font-size:46px;
}

.event-card--featured .date-badge>span:last-child {
    font-size:8px;
}

.event-card--featured .event-card__body {
    padding:44px 48px 33px;
}

.event-card--featured h3 {
    font-size:clamp(2.3rem,3.8vw,3.7rem);
    max-width:14ch;
    margin-bottom:22px;
}

.event-card--featured .event-card__topline {
    margin-bottom:27px;
}

.event-card--featured .event-card__summary {
    font-size:12px;
    margin-bottom:28px;
}

.event-card--featured .event-card__action {
    margin-top:25px;
}

.event-card__featured-label {
    position:absolute;
    bottom:25px;
    left:28px;
    display:flex;
    gap:8px;
    align-items:center;
    font-size:8px;
    letter-spacing:.12em;
    background:rgba(250,247,241,.93);
    padding:9px 12px;
    border-radius:99px;
    font-weight:600;
    backdrop-filter:blur(8px);
}

.event-card--past .event-card__media>img {
    filter:saturate(.55);
}

.event-card--past .event-card__link:hover .event-card__media>img {
    filter:saturate(.85);
}

.program-note {
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:48px;
    font-size:10px;
    color:var(--muted);
}

.program-note .icon {
    height:14px;
    width:14px;
}

.empty-state {
    text-align:center;
    padding:80px 24px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:4px;
    font-size:14px;
}

/* About and conversational pause */
.about-section {
    background:#e7e9df;
    padding-block:100px;
    position:relative;
}

.about-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:105px;
}

.about-art {
    position:relative;
    min-height:630px;
    overflow:hidden;
    border-radius:47% 47% 3px 3px;
    isolation:isolate;
    background:var(--sage);
}

.about-art>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 40%;
    filter:saturate(.7);
    opacity:.85;
}

.about-art::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:var(--sage);
}

.about-art__caption {
    position:absolute;
    inset:auto 36px 34px;
    padding-top:25px;
    border-top:1px solid rgba(48,72,62,.3);
    display:flex;
    flex-direction:column;
    gap:14px;
    z-index:1;
}

.about-art__caption>span:last-child {
    font-family:var(--serif);
    font-size:41px;
    line-height:1.1;
    letter-spacing:-.04em;
}

.about-art__caption .eyebrow {
    font-size:8px;
}

.about-art__index {
    position:absolute;
    right:33px;
    top:30px;
    font-size:9px;
    letter-spacing:.08em;
}

.about-copy h2 {
    font-size:clamp(2.8rem,4.3vw,4.4rem);
    margin-top:23px;
    margin-bottom:27px;
}

.about-copy>p:not(.eyebrow) {
    font-size:12px;
    line-height:1.95;
    color:#59685b;
    margin-bottom:18px;
}

.about-copy .about-lead {
    font-size:14px!important;
    color:var(--forest)!important;
    line-height:1.85!important;
}

.about-principles {
    margin-top:30px;
    border-top:1px solid rgba(48,72,62,.2);
    margin-bottom:29px;
}

.about-principles>div {
    padding:15px 0 15px 40px;
    border-bottom:1px solid rgba(48,72,62,.2);
    position:relative;
}

.about-principles>div>span {
    position:absolute;
    left:0;
    top:20px;
    font-size:8px;
    color:#59685b;
}

.about-principles h3 {
    font-size:23px;
    letter-spacing:-.025em;
    margin-bottom:5px;
}

.about-principles p {
    font-size:10px;
    color:#59685b;
}

.quote-section {
    padding-block:114px 104px;
    text-align:center;
    border-bottom:1px solid var(--line);
}

.quote-mark {
    display:block;
    color:var(--clay);
    font-family:var(--serif);
    font-size:104px;
    height:63px;
    line-height:1;
}

.quote-section blockquote p {
    font-family:var(--serif);
    font-size:clamp(2.2rem,4vw,4.1rem);
    line-height:1.19;
    letter-spacing:-.045em;
    font-weight:400;
    max-width:none;
    margin-top:24px;
}

.quote-section blockquote em {
    color:#6b7868;
    font-weight:350;
}

.quote-section blockquote footer {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:14px;
    margin-top:30px;
    font-size:8px;
    letter-spacing:.19em;
}

.quote-section blockquote footer>span {
    width:26px;
    height:1px;
    background:var(--clay);
}

/* Native accessible FAQ */
.faq-section {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:110px;
    align-items:start;
    padding-top:106px;
    padding-bottom:124px;
}

.faq-intro h2 {
    margin-top:22px;
}

.faq-intro>p:last-of-type {
    color:var(--muted);
    font-size:12px;
    line-height:1.95;
    max-width:270px;
    margin-top:24px;
}

.faq-flower {
    display:block;
    font-size:72px;
    line-height:1.2;
    color:var(--clay);
    margin-top:36px;
    animation:flower-turn 30s linear infinite;
    width:73px;
    transform-origin:center;
}

.faq-list {
    padding-top:9px;
}

.faq-item {
    border-top:1px solid var(--line);
}

.faq-item:last-child {
    border-bottom:1px solid var(--line);
}

.faq-item summary {
    list-style:none;
    display:flex;
    align-items:center;
    gap:20px;
    padding:27px 0;
    font-size:12px;
    font-weight:600;
    line-height:1.7;
    cursor:pointer;
}

.faq-item summary::-webkit-details-marker {
    display:none;
}

.faq-item summary>span:first-child {
    font-size:9px;
    letter-spacing:.05em;
    color:var(--clay-dark);
    font-weight:400;
    flex-shrink:0;
}

.faq-item summary .icon {
    width:17px;
    height:17px;
    flex-shrink:0;
    margin-left:auto;
    transition:transform .3s var(--ease);
}

.faq-item[open] summary .icon {
    transform:rotate(45deg);
}

.faq-answer {
    padding:0 38px 27px;
    font-size:12px;
    line-height:1.9;
    color:var(--muted);
}

.faq-answer .text-link {
    margin-top:15px;
    color:var(--forest);
    font-size:11px;
}

.faq-item[open] .faq-answer {
    animation:answer-arrive .3s var(--ease);
}

/* Footer */
.site-footer {
    background:var(--forest);
    color:var(--linen);
    position:relative;
    overflow:hidden;
}

.site-footer::before {
    content:"";
    position:absolute;
    width:560px;
    height:560px;
    border:1px solid rgba(244,240,232,.05);
    border-radius:50%;
    right:-160px;
    top:-360px;
    pointer-events:none;
}

.footer-main {
    display:grid;
    grid-template-columns:1.2fr .85fr .8fr;
    gap:110px;
    padding-block:78px 72px;
}

.footer-brand img {
    width:245px;
    height:auto;
    margin-left:-7px;
}

.footer-brand p {
    font-size:11px;
    line-height:1.9;
    max-width:235px;
    margin-top:20px;
    color:#c2cbbb;
}

.footer-navigation {
    padding-top:9px;
}

.footer-navigation .eyebrow {
    color:#c2cbbb;
    font-size:8px;
    margin-bottom:23px;
}

.footer-navigation>a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    padding:12px 0;
    border-bottom:1px solid rgba(244,240,232,.16);
    font-size:11px;
    transition:color .2s;
}

.footer-navigation>a:hover {
    color:var(--sand);
}

.footer-navigation .icon {
    width:14px;
    height:14px;
    color:var(--sand);
}

.footer-note {
    padding-top:4px;
}

.footer-note__symbol {
    color:var(--sand);
    font-size:31px;
    line-height:1;
    display:block;
    margin-bottom:19px;
}

.footer-note>p {
    font-family:var(--serif);
    font-size:32px;
    line-height:1.15;
    letter-spacing:-.035em;
}

.footer-note .text-link {
    font-size:10px;
    margin-top:17px;
}

.footer-bottom {
    border-top:1px solid rgba(244,240,232,.17);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    min-height:75px;
    font-size:8px;
    letter-spacing:.03em;
    color:#c2cbbb;
}

.back-top {
    display:flex;
    align-items:center;
    gap:15px;
    padding-block:12px;
}

.back-top .icon {
    width:14px;
    height:14px;
}

.back-top:hover {
    color:var(--linen);
}

/* Event page */
.detail-hero {
    padding-top:42px;
}

.breadcrumb {
    font-size:10px;
    gap:12px;
    margin-bottom:55px;
}

.breadcrumb .icon {
    transform:rotate(180deg);
}

.breadcrumb:hover .icon {
    transform:rotate(180deg) translateX(4px);
}

.breadcrumb::after {
    left:30px;
    right:0;
}

.detail-heading {
    display:grid;
    grid-template-columns:1fr auto;
    align-items:end;
    gap:60px;
    margin-bottom:57px;
}

.detail-heading h1 {
    font-size:clamp(3.4rem,6.9vw,6.5rem);
    line-height:1.04;
    max-width:12ch;
    margin-top:24px;
}

.eyebrow-divider {
    display:inline-block;
    margin-inline:10px;
    color:var(--clay);
}

.detail-summary {
    font-size:14px;
    line-height:1.95;
    color:var(--muted);
    max-width:520px;
    margin-top:26px;
}

.detail-date {
    display:flex;
    flex-direction:column;
    align-items:center;
    border-left:1px solid var(--line);
    padding-left:56px;
    min-width:236px;
    padding-bottom:8px;
}

.detail-date>span:first-child {
    font-family:var(--serif);
    font-size:122px;
    line-height:1;
    letter-spacing:-.09em;
    font-weight:380;
}

.detail-date>span:nth-child(2) {
    font-size:12px;
    margin-top:15px;
}

.detail-date>span:nth-child(3) {
    font-size:10px;
    color:var(--muted);
    margin-top:6px;
}

.detail-cover {
    position:relative;
    aspect-ratio:2.3;
    border-radius:4px;
    overflow:hidden;
    background:var(--sage);
}

.detail-cover>img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.detail-cover__label {
    position:absolute;
    bottom:26px;
    left:30px;
    font-size:8px;
    letter-spacing:.15em;
    padding:9px 13px;
    border-radius:99px;
    background:rgba(250,247,241,.9);
    backdrop-filter:blur(9px);
}

.detail-content {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:128px;
    align-items:start;
}

.detail-copy h2 {
    font-size:clamp(2.8rem,4.4vw,4.2rem);
    margin-top:24px;
    margin-bottom:35px;
}

.detail-copy>p:not(.eyebrow) {
    font-size:13px;
    line-height:2;
    color:var(--muted);
    margin-top:19px;
}

.speaker-block {
    display:flex;
    gap:24px;
    align-items:center;
    margin-top:43px;
    padding-top:30px;
    border-top:1px solid var(--line);
}

.speaker-monogram {
    display:grid;
    place-items:center;
    width:76px;
    height:76px;
    background:var(--sand);
    font-family:var(--serif);
    font-size:32px;
    letter-spacing:-.05em;
    border-radius:50%;
    flex-shrink:0;
}

.speaker-photo {
    width:92px;
    height:92px;
    border-radius:50%;
    object-fit:cover;
    object-position:center 18%;
    flex-shrink:0;
    background:var(--sand);
}

.speaker-list .speaker-block {
    align-items:flex-start;
}

.speaker-list .speaker-block + .speaker-block {
    margin-top:8px;
}

.speaker-block .speaker-talk {
    font-family:var(--serif);
    font-style:italic;
    font-weight:380;
    font-size:17px;
    line-height:1.35;
    letter-spacing:-.03em;
    color:var(--forest);
    margin-top:4px;
    margin-bottom:8px;
}

.speaker-block .speaker-summary {
    font-size:13px;
    line-height:1.7;
    max-width:48ch;
}

.speaker-block .eyebrow {
    font-size:7px;
    letter-spacing:.12em;
}

.speaker-block h3 {
    font-size:27px;
    margin-top:8px;
    margin-bottom:8px;
}

.speaker-block p {
    font-size:10px;
    color:var(--muted);
    line-height:1.8;
}

.event-info {
    position:sticky;
    top:135px;
    background:#e7e9df;
    border:1px solid rgba(48,72,62,.12);
    padding:34px;
    border-radius:4px;
}

.event-info h2 {
    font-size:41px;
    margin-top:15px;
    margin-bottom:29px;
}

.event-info dl>div {
    padding:17px 0;
    border-top:1px solid rgba(48,72,62,.17);
}

.event-info dt {
    display:flex;
    gap:8px;
    align-items:center;
    font-size:9px;
    color:#59685b;
    margin-bottom:7px;
}

.event-info dt .icon {
    height:14px;
    width:14px;
}

.event-info dd {
    font-size:12px;
    line-height:1.75;
    padding-left:22px;
}

.event-info .button {
    width:100%;
    font-size:11px;
    gap:12px;
    margin-top:16px;
    padding:15px 20px;
}

.event-info__note {
    font-size:8px;
    text-align:center;
    margin-top:12px;
    color:#59685b;
}

.event-info__timezone {
    display:block;
    padding-top:21px;
    margin-top:22px;
    border-top:1px solid rgba(48,72,62,.17);
    font-size:8px;
    color:#59685b;
}

.past-event-notice {
    font-size:11px;
    margin-block:19px 5px;
}

.related-section {
    border-top:1px solid var(--line);
}

.related-section .section-heading {
    align-items:center;
}

.related-section .event-card--featured {
    grid-column:auto;
    margin-bottom:0;
    border:0;
    background:none;
    border-radius:0;
    overflow:visible;
}

.related-section .event-card--featured .event-card__link {
    display:flex;
}

.related-section .event-card--featured .event-card__media {
    aspect-ratio:1.62;
    min-height:0;
    border-radius:4px;
}

.related-section .event-card--featured .event-card__body {
    padding:27px 2px 0;
}

.related-section .event-card--featured h3 {
    font-size:clamp(1.9rem,2.6vw,2.8rem);
    max-width:none;
}

.related-section .event-card--featured .event-card__topline {
    margin-bottom:15px;
}

.related-section .event-card__featured-label {
    display:none;
}

.message-page {
    padding-block:110px 150px;
    min-height:65vh;
}

.message-page h1 {
    font-size:clamp(4rem,8vw,7rem);
    margin-top:28px;
}

.message-page>p {
    margin-top:30px;
    color:var(--muted);
    font-size:14px;
    max-width:430px;
}

.message-page>.button {
    margin-top:30px;
}

.message-page .request-id {
    font-size:10px;
    margin-top:35px;
    overflow-wrap:anywhere;
}

/* Progressive enhancement: content remains visible without JavaScript. */
[data-reveal].reveal-pending {
    opacity:0;
    transform:translateY(21px);
    transition:opacity .8s var(--ease),transform .8s var(--ease);
}

[data-reveal].reveal-pending.is-visible {
    opacity:1;
    transform:none;
}

@keyframes art-arrive {
    from {
        opacity:0;
        transform:scale(.96) translateY(12px);
    }
    to {
        opacity:1;
        transform:scale(1) translateY(0);
    }
}

@keyframes orbit-breathe {
    0%,100% {
        transform:rotate(-32deg) scale(1);
    }
    50% {
        transform:rotate(-28deg) scale(1.025);
    }
}

@keyframes satellite-breathe {
    0%,100% {
        transform:translate(0,0);
        box-shadow:0 0 0 10px rgba(183,119,94,.08);
    }
    50% {
        transform:translate(-7px,10px);
        box-shadow:0 0 0 15px rgba(183,119,94,.03);
    }
}

@keyframes scroll-cue {
    0%,100% {
        transform:translateY(0);
        opacity:.55;
    }
    50% {
        transform:translateY(6px);
        opacity:1;
    }
}

@keyframes flower-turn {
    to {
        transform:rotate(360deg);
    }
}

@keyframes answer-arrive {
    from {
        opacity:0;
        transform:translateY(-4px);
    }
    to {
        opacity:1;
        transform:none;
    }
}

/* Tablet */
@media(min-width:1600px) {
    .hero {
        min-height:810px;
        padding-top:72px;
    }
    .hero h1 {
        font-size:122px;
    }
    .hero-visual {
        height:650px;
    }
}

@media(max-width:1200px) {
    .container {
        width:calc(100% - 64px);
    }
    .site-nav {
        gap:24px;
    }
    .brand img {
        width:220px;
    }
    .hero {
        min-height:710px;
        gap:0;
        padding-top:40px;
    }
    .hero-visual {
        height:560px;
    }
    .hero-next {
        left:0;
        right:0;
        gap:15px;
        padding:19px 16px;
    }
    .hero-next__date {
        padding-right:16px;
        min-width:63px;
    }
    .hero-next__content>strong {
        font-size:21px;
    }
    .hero-next__arrow .icon {
        width:16px;
    }
    .orbit-caption--side {
        right:-12px;
    }
    .event-card--featured .event-card__body {
        padding:33px 34px 28px;
    }
    .event-card--featured .event-card__media {
        min-height:430px;
    }
    .about-grid {
        gap:65px;
    }
    .about-art {
        min-height:610px;
    }
    .footer-main {
        gap:70px;
    }
    .detail-content {
        gap:80px;
    }
    .faq-section {
        gap:80px;
    }
}

@media(max-width:1000px) {
    :root {
        --header-height:88px;
        scroll-padding-top:112px;
    }
    .brand img {
        width:205px;
    }
    .site-nav {
        gap:21px;
        font-size:11px;
    }
    .nav-cta {
        gap:15px;
        padding:10px 13px;
    }
    .hero {
        min-height:660px;
        grid-template-columns:1.04fr .96fr;
        padding-bottom:88px;
    }
    .hero h1 {
        font-size:7.7vw;
    }
    .hero-description {
        font-size:12px;
        max-width:330px;
    }
    .hero-actions {
        gap:23px;
    }
    .hero .button {
        padding:14px 20px;
        min-height:52px;
        font-size:11px;
        gap:25px;
    }
    .hero .text-link {
        font-size:11px;
        gap:12px;
    }
    .hero-visual {
        height:490px;
    }
    .hero-next {
        left:5px;
        right:-8px;
        bottom:25px;
        gap:12px;
        padding:17px 14px;
    }
    .hero-next__date {
        padding-right:13px;
        min-width:54px;
    }
    .hero-next__date strong {
        font-size:33px;
    }
    .hero-next__date>span {
        font-size:7px;
    }
    .hero-next__content>strong {
        font-size:18px;
    }
    .hero-next__arrow {
        display:none;
    }
    .hero-next__content .eyebrow {
        font-size:6px;
    }
    .hero-next__when {
        font-size:8px;
    }
    .hero-footnote {
        margin-top:39px;
    }
    .hero-eyebrow {
        font-size:7px;
        gap:9px;
        margin-bottom:26px;
    }
    .eyebrow-line {
        width:20px;
    }
    .orbit-caption--top {
        top:20px;
        left:25px;
        font-size:7px;
    }
    .chapter-strip>.container {
        min-height:70px;
        gap:20px;
    }
    .chapter-strip span {
        font-size:18px;
    }
    .chapter-strip i {
        font-size:14px;
    }
    .section-space {
        padding-block:88px;
    }
    .section-heading {
        gap:36px;
    }
    .section-intro {
        max-width:285px;
        font-size:12px;
    }
    .event-card--featured .event-card__body {
        padding:29px 28px 24px;
    }
    .event-card--featured h3 {
        font-size:38px;
    }
    .event-card--featured .event-card__media {
        min-height:420px;
    }
    .event-card__topline {
        gap:9px;
    }
    .event-card__topline .eyebrow {
        font-size:7px;
    }
    .event-status {
        font-size:8px;
        padding:3px 7px;
    }
    .event-grid {
        gap:44px 28px;
    }
    .about-section {
        padding-block:85px;
    }
    .about-grid {
        gap:48px;
    }
    .about-art {
        min-height:580px;
    }
    .about-art__caption {
        inset:auto 25px 28px;
    }
    .about-art__caption>span:last-child {
        font-size:34px;
    }
    .about-copy h2 {
        font-size:43px;
    }
    .about-copy .about-lead {
        font-size:12px!important;
    }
    .about-copy>p:not(.eyebrow) {
        font-size:11px;
    }
    .about-principles {
        margin-top:23px;
    }
    .about-principles h3 {
        font-size:21px;
    }
    .about-principles p {
        font-size:9px;
    }
    .quote-section {
        padding-block:86px;
    }
    .faq-section {
        gap:55px;
    }
    .faq-item summary {
        font-size:11px;
        gap:13px;
        padding:25px 0;
    }
    .faq-answer {
        font-size:11px;
        padding-left:29px;
        padding-right:20px;
    }
    .footer-main {
        gap:48px;
        grid-template-columns:1.1fr 1fr .8fr;
        padding-block:65px;
    }
    .footer-brand img {
        width:216px;
    }
    .footer-note>p {
        font-size:28px;
    }
    .detail-content {
        gap:52px;
    }
    .detail-date {
        padding-left:35px;
        min-width:190px;
    }
    .event-info {
        padding:26px;
    }
    .detail-heading {
        gap:45px;
    }
    .detail-date>span:first-child {
        font-size:105px;
    }
    .speaker-block {
        gap:18px;
    }
    .speaker-block h3 {
        font-size:24px;
    }
}

/* Mobile menu and compact layouts */
@media(max-width:800px) {
    :root {
        --header-height:79px;
        scroll-padding-top:103px;
    }
    .container {
        width:calc(100% - 42px);
    }
    .site-header__inner {
        gap:20px;
    }
    .brand img {
        width:202px;
    }
    .site-nav {
        gap:15px;
        font-size:10px;
    }
    .nav-cta {
        display:none;
    }
    .menu-toggle:not([hidden]) {
        display:flex;
        align-items:center;
        gap:12px;
        background:transparent;
        padding:10px 0 10px 14px;
        font-size:11px;
        z-index:103;
    }
    .menu-toggle__lines {
        position:relative;
        display:block;
        width:23px;
        height:18px;
    }
    .menu-toggle__lines::before,.menu-toggle__lines::after {
        content:"";
        display:block;
        height:1px;
        width:23px;
        position:absolute;
        left:0;
        background:var(--forest);
        transition:transform .25s,top .25s;
    }
    .menu-toggle__lines::before {
        top:5px;
    }
    .menu-toggle__lines::after {
        top:12px;
    }
    .menu-toggle[aria-expanded="true"] .menu-toggle__lines::before {
        top:9px;
        transform:rotate(45deg);
    }
    .menu-toggle[aria-expanded="true"] .menu-toggle__lines::after {
        top:9px;
        transform:rotate(-45deg);
    }
    .js .site-nav {
        display:flex;
        position:fixed;
        top:var(--header-height);
        left:0;
        right:0;
        bottom:0;
        height:calc(100dvh - var(--header-height));
        background:var(--linen);
        padding:45px 30px;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        opacity:0;
        visibility:hidden;
        transform:translateY(-10px);
        transition:opacity .2s,visibility .2s,transform .25s;
        overflow:auto;
        border-top:1px solid var(--line);
    }
    .js .site-nav.is-open {
        opacity:1;
        visibility:visible;
        transform:none;
    }
    .js .site-nav>a:not(.nav-cta) {
        padding:23px 0;
        border-bottom:1px solid var(--line);
        font-family:var(--serif);
        font-size:39px;
        font-weight:400;
        letter-spacing:-.035em;
    }
    .js .site-nav>a:not(.nav-cta)::after {
        display:none;
    }
    .js .nav-count {
        font-family:var(--sans);
        font-size:10px;
        vertical-align:super;
        margin-left:10px;
    }
    .js .nav-cta {
        display:flex;
        justify-content:space-between;
        align-items:center;
        font-size:12px;
        margin-top:32px;
        padding:17px 22px;
        background:var(--forest);
        color:var(--linen);
        border-color:var(--forest);
    }
    .hero {
        padding-top:33px;
        min-height:650px;
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .hero h1 {
        font-size:7.9vw;
    }
    .hero-visual {
        height:445px;
    }
    .hero-description {
        font-size:12px;
        line-height:1.85;
    }
    .hero-eyebrow {
        font-size:7px;
        letter-spacing:.12em;
        flex-wrap:wrap;
        gap:8px;
        margin-bottom:25px;
    }
    .hero-actions {
        gap:20px;
        flex-wrap:wrap;
    }
    .hero-actions .text-link {
        display:none;
    }
    .hero-footnote {
        gap:12px;
        font-size:8px;
        margin-top:35px;
    }
    .hero-footnote__number {
        font-size:41px;
    }
    .hero-footnote__rule {
        width:30px;
        margin-inline:3px;
    }
    .hero-next {
        gap:10px;
        left:-15px;
        padding:15px 12px;
    }
    .hero-next__date {
        min-width:51px;
        padding-right:11px;
    }
    .hero-next__content>strong {
        font-size:17px;
    }
    .hero-next__content .eyebrow {
        font-size:6px;
    }
    .hero-next__date>span {
        font-size:6px;
    }
    .hero-next__when {
        font-size:7px;
    }
    .hero-art {
        inset:0 -20px 45px -20px;
    }
    .orbit-caption--top {
        left:10px;
        font-size:6px;
        top:32px;
    }
    .orbit-caption--side {
        right:-6px;
        font-size:6px;
    }
    .hero-scroll {
        bottom:28px;
        font-size:7px;
    }
    .chapter-strip>.container {
        gap:20px;
        justify-content:center;
        min-height:65px;
    }
    .chapter-strip span {
        font-size:17px;
    }
    .chapter-strip span:last-child,.chapter-strip i:last-of-type {
        display:none;
    }
    .chapter-strip i {
        font-size:12px;
    }
    .section-heading {
        gap:30px;
    }
    .section-intro {
        font-size:11px;
        max-width:250px;
    }
    .program-toolbar {
        gap:20px;
        flex-wrap:wrap;
        padding-bottom:21px;
        margin-bottom:28px;
    }
    .program-toolbar>p {
        font-size:10px;
    }
    .event-filters {
        gap:1px;
    }
    .filter-button {
        font-size:9px;
        padding:6px 10px;
    }
    .event-card--featured .event-card__body {
        padding:25px 24px 21px;
    }
    .event-card--featured .event-card__media {
        min-height:390px;
    }
    .event-card--featured h3 {
        font-size:34px;
        max-width:none;
    }
    .event-card--featured .event-card__topline {
        margin-bottom:22px;
    }
    .event-card--featured .event-card__summary {
        font-size:11px;
        margin-bottom:24px;
    }
    .event-card__meta {
        font-size:9px;
    }
    .event-card__action {
        font-size:9px;
    }
    .event-card__summary {
        font-size:11px;
    }
    .event-card h3 {
        font-size:31px;
    }
    .event-card--featured .date-badge {
        top:20px;
        left:20px;
        min-width:74px;
    }
    .event-card--featured .date-badge>span:first-child {
        font-size:40px;
    }
    .event-card__featured-label {
        left:19px;
        font-size:6px;
        bottom:20px;
        gap:6px;
        padding:8px 9px;
    }
    .date-badge {
        top:16px;
        left:16px;
        min-width:58px;
        padding:10px 9px;
    }
    .date-badge>span:first-child {
        font-size:30px;
    }
    .date-badge>span:last-child {
        font-size:6px;
    }
    .event-card__topline {
        align-items:flex-start;
        gap:8px;
        flex-wrap:wrap;
    }
    .event-card__topline .eyebrow {
        font-size:6px;
    }
    .event-status {
        font-size:7px;
    }
    .event-grid {
        gap:39px 23px;
    }
    .event-card__body {
        padding-top:23px;
    }
    .about-grid {
        gap:35px;
    }
    .about-art {
        min-height:550px;
    }
    .about-copy h2 {
        font-size:36px;
    }
    .about-copy .eyebrow {
        font-size:8px;
    }
    .about-art__caption>span:last-child {
        font-size:28px;
    }
    .about-principles>div {
        padding-left:30px;
    }
    .about-principles p {
        font-size:8px;
    }
    .about-copy>p:not(.eyebrow) {
        font-size:10px;
    }
    .about-copy .about-lead {
        font-size:11px!important;
    }
    .about-principles h3 {
        font-size:20px;
    }
    .faq-section {
        grid-template-columns:.8fr 1.2fr;
        gap:38px;
    }
    .faq-intro h2 {
        font-size:42px;
    }
    .faq-intro>p:last-of-type {
        font-size:11px;
    }
    .faq-item summary {
        font-size:10px;
    }
    .faq-answer {
        font-size:10px;
    }
    .footer-main {
        gap:35px;
        grid-template-columns:1fr 1fr;
    }
    .footer-note {
        display:none;
    }
    .footer-brand img {
        width:230px;
    }
    .footer-navigation {
        padding-left:28px;
    }
    .detail-hero {
        padding-top:29px;
    }
    .breadcrumb {
        margin-bottom:40px;
    }
    .detail-heading {
        gap:36px;
        margin-bottom:39px;
    }
    .detail-heading h1 {
        font-size:58px;
    }
    .detail-summary {
        font-size:12px;
        max-width:400px;
    }
    .detail-date {
        padding-left:29px;
        min-width:158px;
    }
    .detail-date>span:first-child {
        font-size:84px;
    }
    .detail-date>span:nth-child(2) {
        font-size:10px;
    }
    .detail-date>span:nth-child(3) {
        font-size:8px;
    }
    .detail-content {
        grid-template-columns:1fr .8fr;
        gap:39px;
    }
    .detail-copy h2 {
        font-size:39px;
    }
    .detail-copy>p:not(.eyebrow) {
        font-size:12px;
    }
    .event-info {
        padding:24px;
    }
    .event-info h2 {
        font-size:35px;
    }
    .event-info dd {
        font-size:10px;
    }
    .event-info .button {
        font-size:9px;
        padding:14px 16px;
        min-height:50px;
    }
    .event-info__timezone {
        font-size:7px;
    }
    .speaker-block {
        align-items:flex-start;
        gap:15px;
    }
    .speaker-monogram {
        width:52px;
        height:52px;
        font-size:24px;
    }
    .speaker-photo {
        width:72px;
        height:72px;
    }
    .speaker-block .eyebrow {
        font-size:6px;
    }
    .speaker-block h3 {
        font-size:22px;
    }
    .speaker-block p {
        font-size:9px;
    }
    .detail-cover__label {
        left:22px;
        bottom:21px;
        font-size:7px;
    }
}

/* Small screens: fully fluid; the art and feature remain part of the story. */
@media(max-width:600px) {
    :root {
        --header-height:75px;
    }
    .container {
        width:calc(100% - 40px);
    }
    .site-header__inner {
        gap:15px;
    }
    .brand img {
        width:192px;
    }
    .site-nav {
        gap:14px;
        font-size:9px;
    }
    .site-nav>a:last-of-type:not(.nav-cta) {
        display:none;
    }
    .js .site-nav>a:last-of-type:not(.nav-cta) {
        display:block;
    }
    .hero {
        display:flex;
        flex-direction:column;
        gap:0;
        align-items:stretch;
        min-height:0;
        padding-top:40px;
        padding-bottom:64px;
    }
    .hero-copy {
        padding-bottom:0;
    }
    .hero-eyebrow {
        font-size:7px;
        margin-bottom:25px;
        gap:9px;
    }
    .eyebrow-line {
        width:24px;
    }
    .hero h1 {
        font-size:clamp(3.7rem,14.3vw,5.4rem);
        letter-spacing:-.065em;
        line-height:1.005;
    }
    .hero-description {
        font-size:12px;
        line-height:1.9;
        max-width:320px;
        margin-top:23px;
    }
    .hero-actions {
        margin-top:26px;
        gap:27px;
    }
    .hero-actions .text-link {
        display:inline-flex;
        font-size:10px;
    }
    .hero .button {
        padding:14px 21px;
        min-height:52px;
        gap:33px;
        font-size:10px;
    }
    .hero-footnote {
        display:none;
    }
    .hero-visual {
        height:410px;
        margin-top:16px;
        margin-inline:7px;
    }
    .hero-art {
        inset:-5px 5px 36px 5px;
        max-width:430px;
        margin:auto;
    }
    .hero-art>img {
        width:100%;
        height:100%;
    }
    .orbit-caption--top {
        top:32px;
        left:11px;
        font-size:6px;
        letter-spacing:.16em;
    }
    .orbit-caption--side {
        right:-9px;
        top:43%;
        font-size:6px;
    }
    .hero-next {
        left:-7px;
        right:-7px;
        bottom:1px;
        padding:17px 17px;
        gap:18px;
        border-color:rgba(48,72,62,.16);
    }
    .hero-next__date {
        min-width:60px;
        padding-right:18px;
    }
    .hero-next__date strong {
        font-size:35px;
    }
    .hero-next__date>span {
        font-size:6px;
    }
    .hero-next__content>strong {
        font-size:21px;
    }
    .hero-next__content .eyebrow {
        font-size:6px;
    }
    .hero-next__when {
        font-size:8px;
    }
    .hero-next__arrow {
        display:block;
    }
    .hero-next__arrow .icon {
        width:16px;
        height:16px;
    }
    .hero-scroll {
        bottom:18px;
        font-size:6px;
        gap:10px;
    }
    .scroll-marker {
        height:21px;
        width:12px;
    }
    .scroll-marker::after {
        left:4.5px;
        top:4px;
        height:4px;
    }
    .hero-scroll>span:last-child {
        font-size:13px;
    }
    .chapter-strip>.container {
        min-height:58px;
        gap:18px;
        width:max-content;
        min-width:calc(100% - 40px);
        margin-inline:20px;
        justify-content:flex-start;
    }
    .chapter-strip span {
        font-size:16px;
    }
    .chapter-strip i {
        font-size:11px;
    }
    .chapter-strip span:nth-of-type(4),.chapter-strip i:nth-of-type(3) {
        display:none;
    }
    .section-space {
        padding-block:70px;
    }
    .section-heading {
        display:block;
        margin-bottom:31px;
    }
    .section-heading h2 {
        margin-top:19px;
        font-size:43px;
        line-height:1.08;
    }
    .eyebrow {
        font-size:8px;
        letter-spacing:.15em;
    }
    .chapter-number {
        margin-right:13px;
    }
    .section-intro {
        font-size:11px;
        line-height:1.9;
        max-width:310px;
        padding-bottom:0;
        margin-top:24px;
    }
    .program-toolbar {
        gap:17px;
        padding-bottom:20px;
        margin-bottom:24px;
    }
    .program-toolbar>p {
        font-size:9px;
        gap:8px;
    }
    .event-filters {
        width:100%;
        gap:4px;
    }
    .filter-button {
        font-size:9px;
        padding:7px 12px;
    }
    .event-grid {
        grid-template-columns:1fr;
        gap:37px;
    }
    .event-card--featured {
        grid-column:auto;
    }
    .event-card--featured .event-card__link {
        display:flex;
    }
    .event-card--featured .event-card__media {
        aspect-ratio:1.25;
        min-height:0;
    }
    .event-card--featured .event-card__body {
        padding:27px 23px 24px;
    }
    .event-card--featured h3 {
        font-size:35px;
        line-height:1.06;
        max-width:none;
        margin-bottom:16px;
    }
    .event-card--featured .event-card__topline {
        margin-bottom:18px;
    }
    .event-card--featured .event-card__summary {
        font-size:11px;
        line-height:1.9;
        margin-bottom:23px;
    }
    .event-card--featured .date-badge {
        top:20px;
        left:20px;
        min-width:70px;
        padding:13px 12px;
    }
    .event-card--featured .date-badge>span:first-child {
        font-size:39px;
    }
    .event-card--featured .date-badge>span:last-child {
        font-size:6px;
    }
    .event-card__featured-label {
        font-size:6px;
        left:20px;
        bottom:20px;
        padding:8px 10px;
    }
    .event-card__meta {
        font-size:9px;
        gap:8px;
    }
    .event-card__meta .icon {
        width:14px;
        height:14px;
    }
    .event-card__action {
        font-size:9px;
        margin-top:22px;
        padding-top:18px;
    }
    .round-arrow {
        width:35px;
        height:35px;
    }
    .round-arrow .icon {
        width:16px;
        height:16px;
    }
    .event-card__body {
        padding:22px 1px 0;
    }
    .event-card__media {
        aspect-ratio:1.55;
    }
    .event-card__topline {
        align-items:center;
        flex-wrap:nowrap;
        margin-bottom:14px;
    }
    .event-card__topline .eyebrow {
        font-size:7px;
    }
    .event-status {
        font-size:7px;
        padding:3px 7px;
    }
    .event-card h3 {
        font-size:32px;
        line-height:1.1;
    }
    .event-card__summary {
        font-size:11px;
        line-height:1.85;
        margin-bottom:20px;
    }
    .date-badge {
        top:18px;
        left:18px;
        min-width:61px;
    }
    .date-badge>span:first-child {
        font-size:32px;
    }
    .program-note {
        margin-top:30px;
        font-size:8px;
        gap:7px;
        align-items:flex-start;
        line-height:1.6;
    }
    .program-note .icon {
        width:12px;
        height:12px;
        margin-top:1px;
    }
    .about-section {
        padding-block:65px;
    }
    .about-grid {
        display:flex;
        flex-direction:column-reverse;
        gap:43px;
    }
    .about-copy h2 {
        font-size:43px;
        margin-top:19px;
        margin-bottom:23px;
    }
    .about-copy .about-lead {
        font-size:12px!important;
        line-height:1.9!important;
        max-width:36ch;
    }
    .about-copy>p:not(.eyebrow) {
        font-size:11px;
        line-height:1.9;
        max-width:45ch;
    }
    .about-principles {
        margin-top:28px;
        margin-bottom:24px;
    }
    .about-principles>div {
        padding:15px 0 15px 34px;
    }
    .about-principles>div>span {
        top:20px;
        font-size:7px;
    }
    .about-principles h3 {
        font-size:23px;
    }
    .about-principles p {
        font-size:10px;
    }
    .about-copy .text-link {
        font-size:10px;
    }
    .about-art {
        width:100%;
        min-height:440px;
        max-width:420px;
        border-radius:47% 47% 3px 3px;
    }
    .about-art__caption {
        inset:auto 27px 28px;
        padding-top:20px;
    }
    .about-art__caption>span:last-child {
        font-size:36px;
    }
    .about-art__caption .eyebrow {
        font-size:7px;
    }
    .about-art__index {
        top:27px;
        right:26px;
        font-size:7px;
    }
    .quote-section {
        padding-block:65px 61px;
    }
    .quote-mark {
        font-size:80px;
        height:48px;
    }
    .quote-section blockquote p {
        font-size:32px;
        line-height:1.22;
        margin-top:16px;
    }
    .desktop-break {
        display:none;
    }
    .quote-section blockquote footer {
        font-size:7px;
        gap:10px;
        margin-top:24px;
    }
    .quote-section blockquote footer>span {
        width:21px;
    }
    .faq-section {
        display:block;
        padding-block:65px 75px;
    }
    .faq-intro h2 {
        font-size:43px;
        margin-top:19px;
    }
    .faq-intro>p:last-of-type {
        font-size:11px;
        max-width:280px;
        margin-top:21px;
    }
    .faq-flower {
        display:none;
    }
    .faq-list {
        padding-top:0;
        margin-top:33px;
    }
    .faq-item summary {
        font-size:11px;
        gap:13px;
        padding:24px 0;
        line-height:1.7;
    }
    .faq-item summary>span:first-child {
        font-size:8px;
    }
    .faq-item summary .icon {
        height:16px;
        width:16px;
    }
    .faq-answer {
        padding:0 28px 24px;
        font-size:11px;
        line-height:1.9;
    }
    .faq-answer .text-link {
        font-size:10px;
    }
    .footer-main {
        display:flex;
        flex-direction:column;
        gap:37px;
        padding-block:53px 43px;
    }
    .footer-brand img {
        width:231px;
        max-width:80%;
        margin-left:-5px;
    }
    .footer-brand p {
        max-width:240px;
        font-size:10px;
        line-height:1.9;
        margin-top:18px;
    }
    .footer-navigation {
        padding:0;
    }
    .footer-navigation .eyebrow {
        font-size:7px;
        margin-bottom:13px;
    }
    .footer-navigation>a {
        padding:12px 0;
        font-size:10px;
    }
    .footer-navigation .icon {
        width:13px;
        height:13px;
    }
    .footer-bottom {
        gap:15px;
        min-height:72px;
        font-size:7px;
        flex-wrap:wrap;
        padding-block:17px;
    }
    .footer-bottom>span:nth-child(2) {
        display:none;
    }
    .back-top {
        gap:10px;
        padding-block:7px;
    }
    .back-top .icon {
        width:12px;
        height:12px;
    }
    .detail-hero {
        padding-top:23px;
    }
    .breadcrumb {
        font-size:9px;
        margin-bottom:33px;
        gap:10px;
    }
    .breadcrumb .icon {
        height:16px;
        width:16px;
    }
    .detail-heading {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:27px;
        margin-bottom:29px;
    }
    .detail-heading h1 {
        font-size:clamp(3rem,12vw,4rem);
        line-height:1.03;
        margin-top:20px;
        max-width:13ch;
    }
    .detail-summary {
        font-size:12px;
        line-height:1.9;
        margin-top:22px;
    }
    .detail-date {
        min-width:0;
        border-left:0;
        border-top:1px solid var(--line);
        padding:19px 0 0;
        display:grid;
        grid-template-columns:70px 1fr;
        align-items:center;
        column-gap:20px;
        row-gap:0;
    }
    .detail-date>span:first-child {
        font-size:62px;
        grid-row:1/3;
        text-align:center;
    }
    .detail-date>span:nth-child(2) {
        font-size:12px;
        margin-top:0;
        align-self:end;
    }
    .detail-date>span:nth-child(3) {
        font-size:9px;
        margin-top:3px;
        align-self:start;
    }
    .detail-cover {
        aspect-ratio:1.3;
    }
    .detail-cover__label {
        left:15px;
        bottom:17px;
        font-size:6px;
        letter-spacing:.11em;
        padding:8px 10px;
    }
    .detail-content {
        display:flex;
        flex-direction:column;
        gap:40px;
        padding-block:55px;
    }
    .detail-copy h2 {
        font-size:42px;
        margin-top:19px;
        margin-bottom:26px;
    }
    .detail-copy>p:not(.eyebrow) {
        font-size:12px;
        line-height:1.95;
        margin-top:18px;
    }
    .speaker-block {
        margin-top:31px;
        padding-top:25px;
        gap:18px;
        align-items:center;
    }
    .speaker-monogram {
        width:65px;
        height:65px;
        font-size:29px;
    }
    .speaker-block .eyebrow {
        font-size:6px;
    }
    .speaker-block h3 {
        font-size:25px;
    }
    .speaker-block p {
        font-size:9px;
    }
    .event-info {
        position:static;
        width:100%;
        padding:28px;
    }
    .event-info h2 {
        font-size:39px;
        margin-top:15px;
        margin-bottom:23px;
    }
    .event-info dd {
        font-size:12px;
    }
    .event-info .button {
        min-height:52px;
        padding:15px 20px;
        font-size:11px;
    }
    .event-info__timezone {
        font-size:8px;
    }
    .event-info__note {
        font-size:8px;
    }
    .related-section {
        padding-block:52px 65px;
    }
    .related-section .section-heading .text-link {
        margin-top:22px;
        font-size:10px;
    }
    .related-section .section-heading h2 {
        font-size:39px;
    }
    .related-section .event-card--featured h3 {
        font-size:32px;
    }
    .message-page {
        padding-block:70px 90px;
        min-height:70vh;
    }
    .message-page h1 {
        font-size:67px;
    }
    .message-page>p {
        font-size:12px;
        line-height:1.9;
    }
    .message-page .button {
        font-size:11px;
    }
}

@media(max-width:360px) {
    .container {
        width:calc(100% - 32px);
    }
    .brand img {
        width:176px;
    }
    .menu-toggle__label {
        font-size:10px;
    }
    .hero-eyebrow {
        font-size:6px;
        letter-spacing:.11em;
    }
    .hero-actions {
        gap:19px;
    }
    .hero .button {
        gap:22px;
        padding-inline:18px;
    }
    .hero-visual {
        height:365px;
        margin-top:14px;
    }
    .hero-next {
        padding:15px 13px;
        gap:13px;
    }
    .hero-next__date {
        min-width:54px;
        padding-right:13px;
    }
    .hero-next__content>strong {
        font-size:19px;
    }
    .hero-next__arrow {
        display:none;
    }
    .hero h1 {
        font-size:14.3vw;
    }
    .about-art {
        min-height:400px;
    }
    .event-card--featured .event-card__body {
        padding-inline:20px;
    }
    .chapter-strip>.container {
        gap:16px;
        margin-left:16px;
    }
    .chapter-strip span {
        font-size:15px;
    }
}

@media(prefers-reduced-motion:reduce) {
    :root {
        scroll-behavior:auto;
    }
    *,*::before,*::after {
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important;
    }
    [data-reveal].reveal-pending {
        opacity:1;
        transform:none;
    }
    .reading-progress span {
        will-change:auto;
    }
}

@media print {
    .site-header,.site-footer,.hero-visual,.hero-scroll,.chapter-strip,.event-filters,.hero-actions,.faq-flower,.reading-progress,.button,.breadcrumb {
        display:none!important;
    }
    body {
        background:#fff;
        color:#000;
        font-size:11pt;
    }
    .container {
        width:100%;
    }
    .hero {
        display:block;
        min-height:0;
        padding:20px 0;
    }
    .hero h1 {
        font-size:36pt;
    }
    .hero-description {
        font-size:11pt;
    }
    .hero-footnote {
        display:none;
    }
    .section-space,.about-section,.quote-section {
        padding:25px 0;
    }
    .section-heading h2,.about-copy h2,.faq-intro h2 {
        font-size:26pt;
    }
    .event-card,.faq-item,.speaker-block {
        break-inside:avoid;
    }
    .event-grid {
        gap:20px;
        display:block;
    }
    .event-card {
        margin-bottom:22px;
    }
    .event-card__media {
        height:160px;
        aspect-ratio:auto;
    }
    .event-card--featured .event-card__link {
        display:block;
    }
    .event-card--featured .event-card__media {
        height:180px;
        min-height:0;
    }
    .event-card__body,.event-card--featured .event-card__body {
        padding:15px 0;
    }
    .event-card--featured {
        border:0;
        background:#fff;
    }
    .event-card h3,.event-card--featured h3 {
        font-size:22pt;
    }
    .about-grid,.faq-section,.detail-content {
        display:block;
    }
    .about-art {
        display:none;
    }
    .detail-cover {
        height:210px;
    }
    .detail-heading h1 {
        font-size:40pt;
    }
    .event-info {
        position:static;
        margin-top:25px;
    }
    [data-reveal].reveal-pending {
        opacity:1;
        transform:none;
    }
    .detail-date>span:first-child {
        font-size:70pt;
    }
}

/* Final optical sizing: small labels stay readable on actual devices. */
.footer-note__symbol {
    width:40px;
    height:40px;
}

.hero-description {
    font-size:15px;
}

.hero-next__content .eyebrow {
    font-size:9px;
}

.hero-next__when {
    font-size:11px;
}

.hero-next__date>span {
    font-size:9px;
}

.section-intro {
    font-size:14px;
}

.event-card__topline .eyebrow {
    font-size:10px;
}

.event-status {
    font-size:10px;
}

.event-card__summary,.event-card--featured .event-card__summary {
    font-size:13px;
}

.event-card__meta {
    font-size:12px;
}

.event-card__action {
    font-size:12px;
}

.event-card__featured-label {
    font-size:9px;
}

.date-badge>span:last-child,.event-card--featured .date-badge>span:last-child {
    font-size:9px;
}

.filter-button {
    font-size:11px;
}

.program-toolbar>p {
    font-size:12px;
}

.program-note {
    font-size:11px;
}

.about-copy>p:not(.eyebrow) {
    font-size:13px;
}

.about-copy .about-lead {
    font-size:15px!important;
}

.about-principles p {
    font-size:12px;
}

.faq-item summary {
    font-size:14px;
}

.faq-answer {
    font-size:13px;
}

.faq-intro>p:last-of-type {
    font-size:13px;
}

.footer-brand p,.footer-navigation>a {
    font-size:12px;
}

.footer-bottom {
    font-size:10px;
}

.detail-copy>p:not(.eyebrow) {
    font-size:15px;
}

.detail-summary {
    font-size:15px;
}

.event-info dd {
    font-size:13px;
}

.event-info dt {
    font-size:11px;
}

.event-info__timezone,.event-info__note {
    font-size:10px;
}

.speaker-block p {
    font-size:12px;
}

@media(max-width:1000px) {
    .hero-next__content .eyebrow {
        font-size:8px;
    }
    .hero-next__when {
        font-size:10px;
    }
    .hero-next__date>span {
        font-size:8px;
    }
    .hero-description {
        font-size:14px;
    }
    .section-intro {
        font-size:13px;
    }
    .event-card__topline {
        flex-wrap:wrap;
    }
    .about-grid {
        gap:40px;
    }
    .about-copy .about-lead {
        font-size:14px!important;
    }
    .about-art {
        min-height:650px;
    }
    .about-principles p {
        font-size:11px;
    }
    .event-info dd {
        font-size:12px;
    }
    .event-info__timezone,.event-info__note {
        font-size:9px;
    }
    .detail-copy>p:not(.eyebrow) {
        font-size:14px;
    }
}

@media(max-width:800px) {
    html:not(.js) .site-header {
        height:auto;
    }
    html:not(.js) .site-header__inner {
        flex-wrap:wrap;
        padding-block:15px;
        gap:10px;
    }
    html:not(.js) .site-nav {
        width:100%;
        justify-content:space-between;
    }
    html:not(.js) .site-nav>a {
        display:block;
        font-size:11px;
    }
    html:not(.js) .site-nav .nav-cta {
        display:none;
    }
    .hero-next__content .eyebrow {
        font-size:7px;
    }
    .hero-next__when {
        font-size:9px;
    }
    .hero-next__date>span {
        font-size:7px;
    }
    .hero-next__content>strong {
        font-size:19px;
    }
    .about-copy>p:not(.eyebrow) {
        font-size:12px;
    }
    .about-copy .about-lead {
        font-size:13px!important;
    }
    .about-art {
        min-height:660px;
    }
    .faq-item summary {
        font-size:12px;
    }
    .faq-answer {
        font-size:12px;
    }
    .faq-intro>p:last-of-type {
        font-size:12px;
    }
    .event-card__meta {
        font-size:11px;
    }
    .event-card__action {
        font-size:11px;
    }
    .event-card__topline .eyebrow {
        font-size:9px;
    }
    .event-status {
        font-size:9px;
    }
    .event-card__featured-label {
        font-size:8px;
    }
}

@media(max-width:600px) {
    .hero-visual {
        align-self:stretch;
    }
    .chapter-strip>.container {
        width:calc(100% - 40px);
        min-width:0;
        margin-inline:auto;
        gap:clamp(12px,3vw,20px);
        justify-content:space-between;
    }
    .hero .button,.hero-actions .text-link {
        font-size:12px;
    }
    .hero-next__content .eyebrow {
        font-size:8px;
    }
    .hero-next__when {
        font-size:10px;
    }
    .hero-next__date>span {
        font-size:8px;
    }
    .hero-next__content>strong {
        font-size:22px;
    }
    .hero-description {
        font-size:14px;
    }
    .hero-next__arrow {
        display:none;
    }
    .event-card__summary,.event-card--featured .event-card__summary {
        font-size:13px;
    }
    .event-card__topline .eyebrow {
        font-size:9px;
    }
    .event-status {
        font-size:10px;
    }
    .event-card__topline {
        flex-wrap:wrap;
    }
    .event-card__action {
        font-size:12px;
    }
    .date-badge>span:last-child,.event-card--featured .date-badge>span:last-child {
        font-size:8px;
    }
    .program-toolbar>p {
        font-size:11px;
    }
    .program-note {
        font-size:10px;
    }
    .about-copy>p:not(.eyebrow) {
        font-size:13px;
    }
    .about-copy .about-lead {
        font-size:14px!important;
    }
    .about-art {
        min-height:440px;
    }
    .about-principles p {
        font-size:12px;
    }
    .about-copy .text-link {
        font-size:12px;
    }
    .faq-item summary {
        font-size:13px;
    }
    .faq-answer {
        font-size:13px;
    }
    .footer-brand p,.footer-navigation>a {
        font-size:12px;
    }
    .footer-bottom {
        font-size:9px;
    }
    .event-info .button {
        font-size:12px;
    }
    .event-info dd {
        font-size:13px;
    }
    .detail-summary {
        font-size:14px;
    }
    .detail-copy>p:not(.eyebrow) {
        font-size:14px;
    }
    .speaker-block p {
        font-size:11px;
    }
}

@media(max-width:480px) {
    .chapter-strip span:nth-of-type(n+3),
    .chapter-strip i:nth-of-type(n+2) {
        display:none;
    }
}

@media(max-width:360px) {
    .chapter-strip>.container {
        width:calc(100% - 32px);
    }
}
