/*
Theme Name: Friends First St. Louis
Theme URI: https://friendsfirstexperiment.com/
Author: Friends First Experiment
Description: A refined, responsive custom theme for the Friends First Social Experiment — St. Louis Edition.
Version: 2.8.2
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: friends-first
*/

:root {
  --ink: #071422;
  --ink-2: #0d2135;
  --navy: #102a43;
  --gold: #cda24d;
  --gold-2: #edcf8c;
  --cream: #f7f3eb;
  --paper: #fffdfa;
  --mist: #dce5ec;
  --muted: #637282;
  --white: #ffffff;
  --danger: #7e2730;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --shadow: 0 24px 80px rgba(3, 12, 22, .17);
  --radius: 2px;
  --wrap: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
button, input, textarea, select { font: inherit; }
button, .button { cursor: pointer; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed !important; z-index: 9999; top: 10px; left: 10px; width: auto; height: auto; padding: 12px; clip: auto; background: white; color: var(--ink); }
.wrap { width: var(--wrap); margin-inline: auto; }
.narrow { width: min(780px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 999; background: white; color: var(--ink); padding: 12px 18px; }
.skip-link:focus { top: 16px; }

h1, h2, h3, h4 { margin: 0 0 .55em; font-family: var(--serif); font-weight: 500; line-height: 1.08; letter-spacing: -.025em; }
h1 { font-size: clamp(3rem, 7vw, 6.7rem); }
h2 { font-size: clamp(2.3rem, 4.5vw, 4.5rem); }
h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
p { margin: 0 0 1.2em; }
.eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; color: var(--gold); font-size: .78rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow::before { content: ''; width: 34px; height: 1px; background: currentColor; }
.lede { max-width: 720px; font-family: var(--serif); font-size: clamp(1.35rem, 2.2vw, 1.9rem); line-height: 1.45; color: #26384a; }
.muted { color: var(--muted); }
.center { text-align: center; }
.center .eyebrow { justify-content: center; }
.center .eyebrow::after { content: ''; width: 34px; height: 1px; background: currentColor; }

.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 12px 24px; border: 1px solid var(--gold); background: var(--gold); color: var(--ink); font-size: .78rem; font-weight: 800; letter-spacing: .11em; line-height: 1.35; text-align: center; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.button:hover, .button:focus-visible { color: var(--ink); border-color: var(--gold-2); background: var(--gold-2); transform: translateY(-2px); }
.button:focus-visible, .text-link:focus-visible, .menu-toggle:focus-visible, .newsletter button:focus-visible { outline: 3px solid var(--white); outline-offset: 3px; box-shadow: 0 0 0 5px var(--ink); }
.button--ghost { background: transparent; color: var(--white); border-color: rgba(255,255,255,.55); }
.button--ghost:hover, .button--ghost:focus-visible { color: var(--ink); border-color: var(--white); background: var(--white); }
.button--dark { background: var(--ink); color: var(--white); border-color: var(--ink); }
.button--dark:hover, .button--dark:focus-visible { color: var(--ink); border-color: var(--gold-2); background: var(--gold-2); }
.button-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }

.site-header { position: relative; z-index: 50; background: rgba(7,20,34,.98); color: var(--white); border-bottom: 1px solid rgba(255,255,255,.1); }
.header-utility { border-bottom: 1px solid rgba(255,255,255,.08); background: #06111d; }
.header-utility__inner { min-height: 31px; display: flex; justify-content: space-between; align-items: center; gap: 24px; color: #7f909e; font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.header-utility nav { display: flex; align-items: center; gap: 22px; }
.header-utility a { color: #b8c5ce; text-decoration: none; }
.header-utility a:hover, .header-utility a:focus-visible { color: var(--gold-2); }
.header-top { min-height: 86px; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { width: 118px; height: 74px; object-fit: contain; object-position: left center; }
.site-nav ul { display: flex; justify-content: center; gap: clamp(14px, 2vw, 28px); margin: 0; padding: 0; list-style: none; }
.site-nav a { position: relative; color: #e7edf1; font-size: .84rem; text-decoration: none; white-space: nowrap; }
.site-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--gold); transition: right .25s; }
.site-nav a:hover::after, .site-nav .current-menu-item a::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 14px; }
.header-phone { color: var(--gold-2); font-size: .86rem; text-decoration: none; white-space: nowrap; }
.header-actions .button { min-height: 42px; padding: 9px 17px; }
.menu-toggle { display: none; padding: 10px; border: 0; background: transparent; color: white; }
.menu-toggle span { display: block; width: 26px; height: 1px; margin: 6px 0; background: currentColor; }

.hero { position: relative; isolation: isolate; min-height: 620px; display: grid; align-items: end; overflow: hidden; color: white; background: #071827; }
.hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(4,14,25,.95) 0%, rgba(4,14,25,.73) 42%, rgba(4,14,25,.18) 74%, rgba(4,14,25,.08) 100%), linear-gradient(0deg, rgba(4,14,25,.4), transparent 56%); pointer-events: none; }
.hero-slides { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.hero-slides span { position: absolute; inset: -2%; opacity: 0; background: var(--hero-slide) center/cover no-repeat; animation: heroLandmark 42s linear infinite; transform: scale(1.025); will-change: opacity, transform; }
.hero-slides span:nth-child(2) { animation-delay: 6s; }
.hero-slides span:nth-child(3) { animation-delay: 12s; }
.hero-slides span:nth-child(4) { animation-delay: 18s; }
.hero-slides span:nth-child(5) { animation-delay: 24s; }
.hero-slides span:nth-child(6) { animation-delay: 30s; }
.hero-slides span:nth-child(7) { animation-delay: 36s; }
@keyframes heroLandmark { 0%, 12% { opacity: 1; transform: scale(1.025); } 15%, 97% { opacity: 0; transform: scale(1.075); } 100% { opacity: 1; transform: scale(1.025); } }
.hero-inner { position: relative; z-index: 1; padding: 88px 0 72px; }
.hero-copy { max-width: 750px; }
.hero h1 { max-width: 660px; font-size: clamp(3rem, 6vw, 5.7rem); }
.hero h1 em { display: block; color: var(--gold-2); font-style: italic; }
.hero p { max-width: 630px; color: #e1e8ed; font-size: 1.12rem; }
.hero-stat { display: flex; gap: 34px; margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.2); }
.hero-stat span { max-width: 170px; color: #d6dfe7; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.hero-stat strong { display: block; margin-bottom: 3px; color: var(--gold-2); font-family: var(--serif); font-size: 1.55rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.announcement { color: white; background: var(--ink-2); border-top: 1px solid rgba(205,162,77,.35); }
.announcement-inner { min-height: 92px; display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; }
.announcement strong { color: var(--gold-2); font-family: var(--serif); font-size: 1.2rem; font-weight: 500; }
.announcement p { margin: 0; color: #cad5dc; }
.announcement a { color: white; font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.section { padding: clamp(78px, 10vw, 140px) 0; }
.section--cream { background: var(--cream); }
.section--dark { background: var(--ink); color: white; }
.section--dark .lede, .section--dark .muted { color: #c8d3dc; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 8vw, 110px); align-items: center; }
.split--wide { grid-template-columns: .85fr 1.15fr; }
.portrait-frame { position: relative; width: 100%; max-width: 390px; margin: 0 auto; padding: 22px 22px 0 0; }
.portrait-frame::before { content: ''; position: absolute; inset: 0 0 32px 28px; border: 1px solid var(--gold); }
.portrait-frame img { position: relative; display: block; width: 100%; height: auto; max-height: none; object-fit: contain; object-position: center; filter: saturate(.86); }
.signature { color: var(--gold); font-family: var(--serif); font-size: 1.25rem; font-style: italic; }

.manifesto { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(40px, 7vw, 100px); align-items: start; }
.manifesto-quote { position: sticky; top: 40px; }
.manifesto-list { margin: 0; padding: 0; list-style: none; counter-reset: item; border-top: 1px solid #c8c3b9; }
.manifesto-list li { display: grid; grid-template-columns: 64px 1fr; gap: 24px; padding: 28px 0; border-bottom: 1px solid #c8c3b9; }
.manifesto-list li::before { counter-increment: item; content: '0' counter(item); color: var(--gold); font-family: var(--serif); font-size: 1.4rem; }
.manifesto-list strong { display: block; margin-bottom: 6px; font-family: var(--serif); font-size: 1.3rem; font-weight: 500; }

.home-manifesto { position: relative; overflow: hidden; padding: clamp(82px, 10vw, 145px) 0 clamp(72px, 8vw, 112px); color: white; background: #0a1d2d; }
.home-manifesto::before { content: 'FRIENDS FIRST'; position: absolute; left: 50%; top: 18px; color: rgba(255,255,255,.055); font-family: var(--serif); font-size: min(14vw, 15rem); letter-spacing: -.045em; line-height: .9; white-space: nowrap; transform: translateX(-50%); }
.home-manifesto__intro { position: relative; display: grid; grid-template-columns: .48fr 1.52fr; gap: clamp(42px, 8vw, 120px); align-items: end; padding-bottom: clamp(50px, 7vw, 88px); border-bottom: 1px solid rgba(255,255,255,.18); }
.home-manifesto__intro .eyebrow { align-self: start; margin-top: 14px; color: var(--gold-2); }
.home-manifesto__intro > div:last-child { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(32px, 6vw, 88px); align-items: end; }
.home-manifesto__intro h2 { margin: 0; color: white; font-size: clamp(3.5rem, 6.5vw, 7rem); line-height: .88; }
.home-manifesto__intro h2 em { color: var(--gold-2); font-weight: 400; }
.home-manifesto__intro p { max-width: 460px; margin: 0 0 7px; color: #b7c3cc; font-size: 1rem; line-height: 1.8; }
.home-manifesto__path { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0; padding: clamp(58px, 7vw, 92px) 0 0; list-style: none; }
.home-manifesto__path::before { content: ''; position: absolute; top: calc(clamp(58px, 7vw, 92px) + 24px); left: 4%; right: 4%; height: 1px; background: rgba(213,169,81,.35); }
.home-manifesto__path li { position: relative; padding: 0 clamp(20px, 2.7vw, 42px) 0 0; transition: transform .35s ease; }
.home-manifesto__path li:hover { transform: translateY(-8px); }
.home-manifesto__path li > span { display: block; margin-bottom: 24px; color: var(--gold-2); font-family: var(--serif); font-size: .95rem; }
.home-manifesto__path li > i { position: absolute; z-index: 1; top: 17px; left: 38px; width: 15px; height: 15px; border: 1px solid var(--gold-2); border-radius: 50%; background: #0a1d2d; transition: background .3s ease, box-shadow .3s ease, transform .3s ease; }
.home-manifesto__path li:hover > i { background: var(--gold-2); box-shadow: 0 0 0 7px rgba(213,169,81,.12); transform: scale(1.08); }
.home-manifesto__path strong { display: block; min-height: 68px; margin-bottom: 15px; color: white; font-family: var(--serif); font-size: clamp(1.45rem, 2vw, 2rem); font-weight: 500; line-height: 1.05; }
.home-manifesto__path p { max-width: 300px; margin: 0; color: #9fb0bc; font-size: .88rem; line-height: 1.75; }
.home-manifesto__footer { display: flex; justify-content: space-between; gap: 25px; align-items: center; margin-top: clamp(55px, 7vw, 90px); padding-top: 27px; border-top: 1px solid rgba(255,255,255,.18); }
.home-manifesto__footer > span { color: #8599a7; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-manifesto__footer a { color: white; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.home-manifesto__footer a i { display: inline-block; margin-left: 10px; color: var(--gold-2); font-style: normal; transition: transform .25s ease; }
.home-manifesto__footer a:hover i { transform: translateX(6px); }

.image-band { min-height: 580px; display: grid; place-items: center; color: white; text-align: center; background: linear-gradient(rgba(5,17,29,.33), rgba(5,17,29,.78)), var(--band) center/cover no-repeat; }
.image-band .wrap { max-width: 900px; }
.image-band h2 { text-wrap: balance; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 52px; }
.offer-card { min-height: 365px; display: flex; flex-direction: column; justify-content: space-between; padding: 34px; border: 1px solid #d8d3ca; background: white; transition: transform .25s, box-shadow .25s; }
.offer-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.offer-card .number { color: var(--gold); font-family: var(--serif); font-size: 2rem; }
.offer-card p { color: var(--muted); }
.text-link { color: var(--ink); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.text-link::after { content: '  \2192'; color: var(--gold); }
.home-section-action { margin-top: 42px; }

.offer-experience { position: relative; overflow: hidden; background: #f3efe7; }
.offer-experience::after { content: ''; position: absolute; width: 560px; height: 560px; right: -410px; top: -320px; border: 1px solid rgba(205,162,77,.32); border-radius: 50%; }
.offer-experience__heading { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .7fr; gap: 90px; align-items: end; margin-bottom: 56px; }
.offer-experience__heading h2 { margin: 0; }
.offer-experience__heading h2 em { color: var(--gold); font-weight: 400; }
.offer-experience__heading > div:last-child { padding-bottom: 8px; }
.offer-experience__heading .lede { margin-bottom: 15px; }
.offer-experience__heading > div:last-child > p:last-child { margin: 0; color: var(--muted); }
.offer-experience__grid { position: relative; z-index: 1; display: grid; grid-template-columns: .88fr 1.12fr; grid-template-rows: repeat(2, 340px); gap: 16px; }
.offer-experience__card { position: relative; min-width: 0; overflow: hidden; background: var(--ink); transition: transform .4s cubic-bezier(.2,.75,.2,1), box-shadow .4s ease; }
.offer-experience__card--relationship { grid-row: 1 / span 2; }
.offer-experience__card > a { position: absolute; inset: 0; display: block; color: white; text-decoration: none; overflow: hidden; }
.offer-experience__card img { width: 100%; height: 100%; object-fit: cover; transition: transform .85s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.offer-experience__card--relationship img { object-position: 52% center; }
.offer-experience__card--events img { object-position: center 62%; }
.offer-experience__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,14,25,.96) 0%, rgba(4,14,25,.66) 46%, rgba(4,14,25,.14) 78%), linear-gradient(90deg, rgba(4,14,25,.25), transparent 60%); transition: background .4s ease; }
.offer-experience__number { position: absolute; top: 26px; right: 28px; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(237,207,140,.58); border-radius: 50%; color: var(--gold-2); font-family: var(--serif); font-size: .85rem; transition: color .3s ease, background .3s ease, transform .3s ease; }
.offer-experience__copy { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 32px 36px; }
.offer-experience__card--relationship .offer-experience__copy { padding: 42px; }
.offer-experience__copy > span { display: block; margin-bottom: 8px; color: var(--gold-2); font-size: .64rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.offer-experience__copy h3 { max-width: 560px; margin: 0 0 12px; color: white; font-size: clamp(2rem, 3vw, 3.2rem); }
.offer-experience__card--relationship h3 { font-size: clamp(2.35rem, 4vw, 4.25rem); }
.offer-experience__copy p { max-width: 590px; margin: 0 0 20px; color: #d6dfe5; font-size: .9rem; line-height: 1.6; }
.offer-experience__copy strong { display: inline-flex; align-items: center; gap: 11px; color: white; font-size: .66rem; letter-spacing: .11em; text-transform: uppercase; }
.offer-experience__copy strong i { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid rgba(237,207,140,.56); border-radius: 50%; color: var(--gold-2); font-style: normal; transition: transform .25s ease, background .25s ease, color .25s ease; }
.offer-experience__card > a:hover img, .offer-experience__card > a:focus-visible img { transform: scale(1.055); filter: saturate(1.08); }
.offer-experience__card:hover, .offer-experience__card:focus-within { z-index: 2; transform: translateY(-8px); box-shadow: 0 28px 58px rgba(7,20,34,.24); }
.offer-experience__card > a:hover .offer-experience__shade, .offer-experience__card > a:focus-visible .offer-experience__shade { background: linear-gradient(0deg, rgba(4,14,25,.98) 0%, rgba(4,14,25,.68) 48%, rgba(4,14,25,.06) 82%); }
.offer-experience__card > a:hover .offer-experience__number, .offer-experience__card > a:focus-visible .offer-experience__number { color: var(--ink); background: var(--gold-2); transform: rotate(6deg); }
.offer-experience__card > a:hover .offer-experience__number, .offer-experience__card > a:focus-visible .offer-experience__number { animation: offerBadgeFloat 1.9s ease-in-out infinite; }
.offer-experience__card > a:hover strong i, .offer-experience__card > a:focus-visible strong i { color: var(--ink); background: var(--gold-2); transform: translate(2px,-2px); }
.offer-experience__card > a:hover strong i, .offer-experience__card > a:focus-visible strong i { animation: offerArrowFloat 1.5s ease-in-out .12s infinite; }
.offer-experience__card > a:focus-visible { outline: 3px solid var(--gold-2); outline-offset: -5px; }
.offer-experience__footer { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-top: 32px; padding-top: 30px; border-top: 1px solid #cec6b8; }
.offer-experience__footer p { margin: 0; color: var(--muted); }
.offer-experience__footer p span { color: var(--ink); font-family: var(--serif); font-size: 1.1rem; }
@keyframes offerBadgeFloat { 0%, 100% { transform: translateY(0) rotate(6deg); } 50% { transform: translateY(-7px) rotate(2deg); } }
@keyframes offerArrowFloat { 0%, 100% { transform: translate(2px,-2px); } 50% { transform: translate(5px,-6px); } }

/* The tribe you can trust */
.trust-section { position: relative; overflow: hidden; color: white; background: var(--ink); }
.trust-section::before { content: ''; position: absolute; width: 620px; height: 620px; right: -390px; top: -390px; border: 1px solid rgba(237,207,140,.17); border-radius: 50%; }
.trust-section__heading { position: relative; display: grid; grid-template-columns: 1.08fr .72fr; gap: clamp(60px, 9vw, 130px); align-items: end; margin-bottom: 54px; }
.trust-section__heading h2 { margin: 0; color: white; font-size: clamp(3.7rem, 6.5vw, 7rem); line-height: .88; }
.trust-section__heading h2 em { color: var(--gold-2); font-weight: 400; }
.trust-section__heading > div:last-child { padding-bottom: 7px; }
.trust-section__lead { margin: 0 0 14px; color: white; font-family: var(--serif); font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.3; }
.trust-section__heading > div:last-child > p:last-child { margin: 0; color: #c8d3dc; line-height: 1.75; }
.trust-section__body { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; }
.trust-section__visual { position: relative; min-height: 560px; margin: 0; overflow: hidden; }
.trust-section__visual::after { content: ''; position: absolute; inset: 32% 0 0; background: linear-gradient(transparent, rgba(4,14,25,.94)); }
.trust-section__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.trust-section__visual:hover img { transform: scale(1.035); }
.trust-section__visual figcaption { position: absolute; z-index: 1; left: 36px; right: 36px; bottom: 32px; }
.trust-section__visual figcaption span { display: block; margin-bottom: 8px; color: var(--gold-2); font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.trust-section__visual figcaption strong { display: block; max-width: 590px; color: white; font-family: var(--serif); font-size: clamp(1.55rem, 2.4vw, 2.6rem); font-weight: 400; line-height: 1.12; }
.trust-section__principles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.trust-section__principles article { min-height: 274px; padding: 29px 27px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.035); transition: transform .35s cubic-bezier(.2,.75,.2,1), border-color .35s ease, background .35s ease; }
.trust-section__principles article:hover { transform: translateY(-6px); border-color: rgba(237,207,140,.56); background: rgba(255,255,255,.065); }
.trust-section__principles article > span { display: grid; width: 38px; height: 38px; margin-bottom: 48px; place-items: center; border: 1px solid rgba(237,207,140,.5); border-radius: 50%; color: var(--gold-2); font-family: var(--serif); font-size: .72rem; }
.trust-section__principles h3 { margin: 0 0 10px; color: white; font-size: clamp(1.35rem, 1.8vw, 1.85rem); }
.trust-section__principles p { margin: 0; color: #c8d3dc; font-size: .83rem; line-height: 1.65; }
.trust-section__footer { display: flex; justify-content: space-between; gap: 38px; align-items: center; margin-top: 34px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.17); }
.trust-section__footer > p { max-width: 700px; margin: 0; color: #c8d3dc; }
.trust-section__footer > p span { color: white; font-family: var(--serif); font-size: 1.12rem; }
.trust-section__footer .button-row { flex: 0 0 auto; margin: 0; }

.vibe-moments__heading { display: grid; grid-template-columns: 1fr .65fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.vibe-moments__heading h2 { margin-bottom: 0; }
.vibe-moments__heading > p { margin: 0 0 8px; color: var(--muted); }
.vibe-moments__grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: 260px 260px; gap: 14px; }
.vibe-moments__grid figure { position: relative; margin: 0; overflow: hidden; background: var(--ink); }
.vibe-moments__grid figure:first-child { grid-row: span 2; }
.vibe-moments__grid figure:last-child { grid-column: span 2; }
.vibe-moments__grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.vibe-moments__grid figure:hover img { transform: scale(1.045); }
.vibe-moments__grid figure::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(4,14,25,.82)); }
.vibe-moments__grid figcaption { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 18px; color: white; font-family: var(--serif); font-size: 1.2rem; }

.signature-experiences { position: relative; min-height: 640px; display: grid; align-items: center; isolation: isolate; color: white; background: var(--ink); overflow: hidden; }
.signature-experiences::before { content: ''; position: absolute; z-index: -2; inset: 0; background: var(--signature) center/cover no-repeat; transition: transform 1.2s ease; }
.signature-experiences::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(4,14,25,.96), rgba(4,14,25,.78) 48%, rgba(4,14,25,.22)); }
.signature-experiences:hover::before { transform: scale(1.025); }
.signature-experiences__inner { padding: 100px 0; }
.signature-experiences__inner h2 { max-width: 720px; }
.signature-experiences__inner p { max-width: 600px; color: #d9e1e7; font-size: 1.05rem; }

/* Home contact experience */
.home-contact { position: relative; overflow: hidden; color: white; background: var(--ink); }
.home-contact::before { content: ''; position: absolute; width: 720px; height: 720px; left: -430px; bottom: -470px; border: 1px solid rgba(237,207,140,.2); border-radius: 50%; }
.home-contact::after { content: ''; position: absolute; width: 310px; height: 310px; left: -155px; bottom: -155px; border: 1px solid rgba(237,207,140,.12); border-radius: 50%; }
.home-contact__layout { position: relative; z-index: 1; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(55px, 8vw, 110px); align-items: center; }
.home-contact__intro h2 { margin-bottom: 24px; color: white; font-size: clamp(3.5rem, 6vw, 6.2rem); }
.home-contact__intro h2 em { color: var(--gold-2); font-weight: 400; }
.home-contact__lede { max-width: 560px; color: #cbd5dd; font-family: var(--serif); font-size: clamp(1.25rem, 1.7vw, 1.65rem); line-height: 1.5; }
.home-contact__topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0 34px; }
.home-contact__topics span { padding: 7px 11px; border: 1px solid rgba(237,207,140,.3); color: var(--gold-2); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-contact__details { display: grid; border-top: 1px solid rgba(255,255,255,.16); }
.home-contact__details > a, .home-contact__details > div { display: grid; grid-template-columns: 42px 1fr auto; gap: 14px; align-items: center; min-height: 82px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.16); color: white; text-decoration: none; }
.home-contact__details > a { transition: padding .25s ease, color .25s ease; }
.home-contact__details > a:hover, .home-contact__details > a:focus-visible { padding-left: 9px; color: var(--gold-2); outline: none; }
.home-contact__icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(237,207,140,.38); border-radius: 50%; color: var(--gold-2); font-size: .85rem; }
.home-contact__details small { display: block; margin-bottom: 1px; color: #8fa0ad; font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-contact__details strong { display: block; overflow-wrap: anywhere; font-size: .9rem; font-weight: 600; }
.home-contact__details i { color: var(--gold-2); font-size: 1rem; font-style: normal; }
.home-contact__promise { display: flex; align-items: center; gap: 9px; margin: 22px 0 0; color: #98a8b4; font-size: .75rem; }
.home-contact__promise span { color: #78b691; font-size: .65rem; }
.home-contact__form { border-top: 4px solid var(--gold); color: var(--ink); background: #f8f5ef; box-shadow: 0 34px 90px rgba(0,0,0,.28); }
.home-contact__form > header { display: flex; justify-content: space-between; gap: 30px; align-items: start; padding: 34px 40px 28px; border-bottom: 1px solid #ddd6ca; }
.home-contact__form > header span { color: var(--gold); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.home-contact__form > header h3 { margin: 5px 0 0; font-size: clamp(1.8rem, 2.6vw, 2.7rem); }
.home-contact__form > header b { color: #d8d0c3; font-family: var(--serif); font-size: 3rem; font-weight: 400; line-height: 1; }
.home-contact__form .status { margin: 28px 40px 0; }
.home-contact__form form { padding: 34px 40px 40px; }
.home-contact__form .field { gap: 9px; }
.home-contact__form .field label { display: flex; justify-content: space-between; gap: 12px; color: #263747; font-size: .68rem; letter-spacing: .12em; }
.home-contact__form .field label > span { color: var(--gold); }
.home-contact__form .field label small { color: #929da5; font-size: .6rem; font-weight: 700; letter-spacing: .07em; }
.home-contact__form .field input, .home-contact__form .field textarea { min-height: 58px; padding: 15px 16px; border: 1px solid #c8c3ba; background: white; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.home-contact__form .field textarea { min-height: 180px; }
.home-contact__form .field input:hover, .home-contact__form .field textarea:hover { border-color: #9ca6ac; }
.home-contact__form .field input:focus, .home-contact__form .field textarea:focus { border-color: var(--gold); outline: none; box-shadow: 0 0 0 3px rgba(205,162,77,.18); background: #fffefa; }
.home-contact__form .field:focus-within label { color: var(--gold); }
.home-contact__form textarea::placeholder { color: #99a1a7; }
.home-contact__submit { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; margin-top: 4px; }
.home-contact__submit > small { max-width: 390px; color: #7e8a93; font-size: .7rem; line-height: 1.5; }
.home-contact__submit .button { min-width: 190px; color: white; background: var(--ink); border-color: var(--ink); }
.home-contact__submit .button:hover, .home-contact__submit .button:focus-visible { color: var(--ink); background: var(--gold-2); border-color: var(--gold-2); }

.event-gallery-section { overflow: hidden; color: white; background: var(--ink); }
.event-gallery__heading { display: grid; grid-template-columns: 1.05fr .7fr; gap: clamp(55px, 9vw, 120px); align-items: end; margin-bottom: 52px; }
.event-gallery__heading h2 { margin: 0; color: white; font-size: clamp(3.2rem, 5.8vw, 6.2rem); line-height: .92; }
.event-gallery__heading h2 em { color: var(--gold-2); font-weight: 400; }
.event-gallery__heading > p { margin: 0 0 8px; color: #c8d3dc; line-height: 1.75; }
.event-carousel { position: relative; outline: none; }
.event-carousel:focus-visible { outline: 2px solid var(--gold-2); outline-offset: 8px; }
.event-carousel__viewport { overflow: visible; }
.event-carousel__track { display: flex; gap: 18px; transition: transform .75s cubic-bezier(.2,.76,.2,1); will-change: transform; }
.event-carousel__slide { position: relative; flex: 0 0 82%; height: 560px; overflow: hidden; background: #14283a; opacity: .48; transform: scale(.965); transform-origin: left center; transition: opacity .55s ease, transform .55s ease; }
.event-carousel__slide.is-active { opacity: 1; transform: scale(1); }
.event-carousel__slide img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.event-carousel__slide.is-active:hover img { transform: scale(1.035); }
.event-carousel__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,14,25,.94), rgba(4,14,25,.34) 48%, rgba(4,14,25,.04)); }
.event-carousel__caption { position: absolute; z-index: 1; left: 42px; right: 42px; bottom: 38px; }
.event-carousel__caption > span { display: block; margin-bottom: 9px; color: var(--gold-2); font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.event-carousel__caption h3 { margin: 0 0 9px; color: white; font-size: clamp(2.2rem, 4vw, 4.2rem); }
.event-carousel__caption p { margin: 0; color: #d6dfe5; font-size: .92rem; }
.event-carousel__controls { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; margin-top: 28px; }
.event-carousel__buttons { display: flex; gap: 8px; }
.event-carousel__buttons button { width: 49px; height: 49px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: white; background: transparent; font-size: 1.2rem; transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease; }
.event-carousel__buttons button:hover, .event-carousel__buttons button:focus-visible { color: var(--ink); background: var(--gold-2); border-color: var(--gold-2); transform: translateY(-2px); outline: none; }
.event-carousel__progress { display: flex; justify-content: center; gap: 8px; }
.event-carousel__progress button { width: 34px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.24); transition: width .3s ease, background .3s ease; }
.event-carousel__progress button.is-active { width: 66px; background: var(--gold-2); }
.event-carousel__count { display: flex; align-items: center; gap: 10px; color: #8fa0ad; font-family: var(--serif); font-size: .88rem; }
.event-carousel__count span:first-child { color: var(--gold-2); font-size: 1.25rem; }
.event-carousel__count i { width: 32px; height: 1px; background: rgba(255,255,255,.3); }

.event-introduction { position: relative; overflow: hidden; color: white; background: var(--ink); }
.event-introduction::after { content: ''; position: absolute; width: 580px; height: 580px; right: -360px; top: -360px; border: 1px solid rgba(237,207,140,.2); border-radius: 50%; }
.event-introduction__heading { position: relative; z-index: 1; display: grid; grid-template-columns: 1.02fr .78fr; gap: clamp(60px, 9vw, 130px); align-items: end; }
.event-introduction__heading h2 { margin: 0; color: white; font-size: clamp(3.6rem, 6.4vw, 6.9rem); line-height: .9; }
.event-introduction__heading h2 em { color: var(--gold-2); font-weight: 400; }
.event-introduction__heading > p { margin: 0 0 7px; color: #c8d3dc; font-size: 1rem; line-height: 1.8; }
.event-introduction__path { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(6, auto); justify-content: center; gap: clamp(14px, 2vw, 28px); align-items: center; margin: 64px 0 54px; padding: 24px 28px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.035); }
.event-introduction__path span { display: flex; align-items: center; gap: 13px; color: white; font-family: var(--serif); font-size: clamp(1.05rem, 1.6vw, 1.4rem); }
.event-introduction__path span b { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(237,207,140,.48); border-radius: 50%; color: var(--gold-2); font-family: var(--sans); font-size: .58rem; letter-spacing: .08em; }
.event-introduction__path i { color: var(--gold-2); font-size: 1.4rem; font-style: normal; }
.event-introduction__path strong { color: var(--gold-2); font-family: var(--serif); font-size: 1.3rem; font-style: italic; font-weight: 400; }
.event-introduction__closing { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 48px; align-items: center; padding-top: 34px; border-top: 1px solid rgba(255,255,255,.16); }
.event-introduction__closing p { max-width: 880px; margin: 0; color: white; font-family: var(--serif); font-size: clamp(1.4rem, 2.25vw, 2.15rem); line-height: 1.4; }
.event-introduction__closing .button { flex: 0 0 auto; }

.event-cards-section { position: relative; overflow: hidden; }
.event-cards-section::before { content: 'STL'; position: absolute; left: -22px; top: 25px; color: rgba(7,20,34,.035); font-family: var(--serif); font-size: clamp(9rem, 19vw, 18rem); line-height: 1; }
.event-cards-section > .wrap { position: relative; }
.event-card-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 360px; gap: 16px; margin-top: 56px; }
.event-card { position: relative; min-width: 0; overflow: hidden; background: var(--ink); transition: transform .42s cubic-bezier(.2,.75,.2,1), box-shadow .42s ease; }
.event-card--1, .event-card--6 { grid-column: span 7; }
.event-card--2, .event-card--5 { grid-column: span 5; }
.event-card--3, .event-card--4 { grid-column: span 6; }
.event-card > a { position: absolute; inset: 0; display: block; overflow: hidden; color: white; text-decoration: none; }
.event-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.event-card--3 img { object-position: center 42%; }
.event-card__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,14,25,.97), rgba(4,14,25,.64) 52%, rgba(4,14,25,.08)); transition: background .4s ease; }
.event-card__number { position: absolute; top: 24px; right: 25px; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(237,207,140,.62); border-radius: 50%; color: var(--gold-2); font-family: var(--serif); font-size: .78rem; transition: transform .35s ease, color .35s ease, background .35s ease; }
.event-card__copy { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 30px 32px; }
.event-card__copy > span { display: block; margin-bottom: 8px; color: var(--gold-2); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.event-card__copy h3 { max-width: 620px; margin: 0 0 10px; color: white; font-size: clamp(1.8rem, 3vw, 3.1rem); }
.event-card__copy p { margin: 0 0 17px; color: #d5dee5; font-size: .78rem; }
.event-card__copy strong { display: inline-flex; align-items: center; gap: 10px; color: white; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.event-card__copy strong i { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(237,207,140,.55); border-radius: 50%; color: var(--gold-2); font-style: normal; transition: transform .3s ease, color .3s ease, background .3s ease; }
.event-card:hover, .event-card:focus-within { z-index: 2; transform: translateY(-7px); box-shadow: 0 28px 60px rgba(7,20,34,.22); }
.event-card > a:hover img, .event-card > a:focus-visible img { transform: scale(1.055); filter: saturate(1.08); }
.event-card > a:hover .event-card__number, .event-card > a:focus-visible .event-card__number { color: var(--ink); background: var(--gold-2); animation: offerBadgeFloat 1.9s ease-in-out infinite; }
.event-card > a:hover strong i, .event-card > a:focus-visible strong i { color: var(--ink); background: var(--gold-2); transform: translate(3px,-3px); }
.event-card > a:focus-visible { outline: 3px solid var(--gold-2); outline-offset: -5px; }

.page-hero { position: relative; isolation: isolate; min-height: 440px; display: grid; align-items: end; padding: clamp(90px, 12vw, 165px) 0 72px; color: white; background: var(--ink); overflow: hidden; }
.page-hero::before { content: ''; position: absolute; z-index: -2; inset: 0; background: var(--page-hero) center/cover no-repeat; transform: scale(1.01); }
.page-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(4,14,25,.98) 0%, rgba(4,14,25,.9) 31%, rgba(4,14,25,.5) 58%, rgba(4,14,25,.16) 100%), linear-gradient(0deg, rgba(4,14,25,.45), transparent 55%); }
.page-hero h1 { max-width: 980px; font-size: clamp(3rem, 6vw, 5.6rem); }
.page-hero p { max-width: 680px; color: #e1e8ed; font-size: 1.1rem; }
.crumbs { margin-bottom: 42px; color: #9fafbb; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.crumbs a { color: var(--gold-2); }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 80px; align-items: start; }
.prose h2 { margin-top: 1.4em; }
.prose h3 { margin-top: 1.6em; }
.prose p, .prose li { color: #354657; }
.prose ul { padding-left: 20px; }
.side-card { position: sticky; top: 30px; padding: 30px; background: var(--cream); border-top: 3px solid var(--gold); }

.value-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 42px; }
.value-card { padding: 34px; border: 1px solid #d8d3ca; background: white; }
.value-card .kicker { color: var(--gold); font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.journey { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 55px; border: 1px solid rgba(255,255,255,.18); }
.journey-item { position: relative; overflow: hidden; padding: 34px 28px; border-right: 1px solid rgba(255,255,255,.18); transition: transform .35s ease, background .35s ease, box-shadow .35s ease; }
.journey-item:last-child { border: 0; }
.journey-item span { color: var(--gold-2); font-family: var(--serif); font-size: 2.1rem; }
.journey-item p { color: #c9d2da; }
.journey-item::before { content: ''; position: absolute; inset: auto 0 0; height: 3px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .4s ease; }
.journey-item:hover, .journey-item:focus-visible { z-index: 2; outline: 0; background: rgba(255,255,255,.065); box-shadow: 0 22px 50px rgba(0,0,0,.24); transform: translateY(-9px); }
.journey-item:hover::before, .journey-item:focus-visible::before { transform: scaleX(1); }
.journey-icon { width: 78px; height: 78px; display: grid; place-items: center; margin-bottom: 34px; border: 1px solid rgba(205,162,77,.48); border-radius: 50%; color: var(--gold-2); background: rgba(205,162,77,.05); transition: color .35s ease, background .35s ease, border-color .35s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
.journey-icon svg { width: 43px; height: 43px; overflow: visible; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.journey-icon svg path, .journey-icon svg circle { stroke-dasharray: 180; stroke-dashoffset: 0; transition: stroke-dashoffset .65s ease; }
.journey-item:hover .journey-icon, .journey-item:focus-visible .journey-icon { color: var(--ink); background: var(--gold-2); border-color: var(--gold-2); transform: translateY(-6px) rotate(-4deg) scale(1.06); }
.journey-item:hover .journey-icon svg path, .journey-item:hover .journey-icon svg circle, .journey-item:focus-visible .journey-icon svg path, .journey-item:focus-visible .journey-icon svg circle { animation: journeyDraw .75s ease both; }
.journey-item--love:hover .journey-icon, .journey-item--love:focus-visible .journey-icon { animation: journeyPulse .8s ease; }
.journey-item--marriage:hover .journey-icon, .journey-item--marriage:focus-visible .journey-icon { transform: translateY(-6px) rotate(8deg) scale(1.06); }
@keyframes journeyDraw { 0% { stroke-dashoffset: 180; } 100% { stroke-dashoffset: 0; } }
@keyframes journeyPulse { 0%,100% { transform: translateY(-6px) scale(1.06); } 45% { transform: translateY(-6px) scale(1.16); } 70% { transform: translateY(-6px) scale(1.1); } }

.values-manifesto { position: relative; overflow: hidden; padding: clamp(95px, 12vw, 170px) 0; background: #f5f0e7; }
.values-manifesto::before { content: ''; position: absolute; left: -15vw; bottom: -26vw; width: 50vw; height: 50vw; border: 1px solid rgba(205,162,77,.21); border-radius: 50%; }
.values-manifesto__layout { position: relative; display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(70px, 11vw, 155px); align-items: start; }
.values-manifesto__heading { position: sticky; top: 135px; }
.values-manifesto__heading h2 { margin-bottom: 28px; font-size: clamp(3.6rem, 6.5vw, 7rem); line-height: .84; }
.values-manifesto__heading h2 em { color: var(--gold); font-weight: 400; }
.values-manifesto__heading p { max-width: 440px; color: var(--muted); }
.values-manifesto__heading > span { position: absolute; z-index: -1; right: -25px; bottom: -110px; color: rgba(205,162,77,.09); font-family: var(--serif); font-size: 12rem; line-height: 1; }
.values-manifesto__logo { display: block; width: min(310px, 78%); height: auto; margin-top: 42px; padding: 18px 22px; box-sizing: border-box; border: 1px solid rgba(205,162,77,.46); border-radius: 18px; background: #071827; box-shadow: 0 18px 38px rgba(7,20,34,.16); }
.values-manifesto__list { border-top: 1px solid #cec5b7; }
.values-commitment { display: grid; grid-template-columns: 76px 46px 1fr; gap: 20px; align-items: center; padding: 32px 0; border-bottom: 1px solid #cec5b7; transition: padding-left .35s ease, background .35s ease; }
.values-commitment:focus-visible { outline: 2px solid var(--gold); outline-offset: 6px; }
.values-commitment:hover { padding-left: 18px; background: rgba(255,255,255,.42); }
.values-commitment__icon { width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid rgba(205,162,77,.55); border-radius: 50%; color: #a47b31; transition: color .35s ease, background .35s ease, transform .4s ease; }
.values-commitment__icon svg { width: 35px; height: 35px; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.values-commitment > span { color: var(--gold); font-size: .67rem; font-weight: 900; letter-spacing: .14em; }
.values-commitment h3 { margin: 0 0 5px; font-size: clamp(1.65rem, 2.6vw, 2.5rem); }
.values-commitment p { margin: 0; color: var(--muted); }
.values-commitment:hover .values-commitment__icon, .values-commitment:focus-visible .values-commitment__icon { color: var(--ink); background: var(--gold-2); transform: rotate(-7deg) scale(1.08); }
.values-commitment:hover .values-commitment__icon svg path, .values-commitment:hover .values-commitment__icon svg circle { animation: journeyDraw .7s ease both; stroke-dasharray: 180; }

.values-vision { position: relative; overflow: hidden; padding: clamp(105px, 13vw, 180px) 0 clamp(85px, 10vw, 125px); color: white; background: var(--ink); }
.values-vision::before { content: 'VISION'; position: absolute; top: 25px; right: -25px; color: rgba(255,255,255,.025); font-family: var(--serif); font-size: clamp(9rem, 21vw, 24rem); line-height: 1; }
.values-vision__top { position: relative; display: grid; grid-template-columns: .34fr 1.66fr; gap: 45px; padding-bottom: clamp(60px, 8vw, 105px); border-bottom: 1px solid rgba(255,255,255,.17); }
.values-vision__label { display: flex; align-items: flex-start; gap: 18px; padding-top: 13px; color: var(--gold-2); font-size: .7rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.values-vision__label i { flex: 1; height: 1px; margin-top: 7px; background: rgba(205,162,77,.55); }
.values-vision__top h2 { max-width: 940px; margin: 0; font-size: clamp(3.3rem, 6.2vw, 6.8rem); line-height: .92; }
.values-vision__top h2 em { color: var(--gold-2); font-weight: 400; }
.values-vision__body { position: relative; display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(60px, 10vw, 150px); padding-top: clamp(65px, 9vw, 115px); }
.values-vision__aside { display: flex; flex-direction: column; justify-content: space-between; min-height: 360px; padding-left: 27px; border-left: 1px solid var(--gold); }
.values-vision__aside span { color: var(--gold-2); font-family: var(--serif); font-size: clamp(2rem, 3.6vw, 3.6rem); line-height: 1.06; }
.values-vision__aside strong { max-width: 250px; color: #93a4b2; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.values-vision__copy { max-width: 760px; }
.values-vision__copy .lede { color: white; font-size: clamp(1.45rem, 2.3vw, 2.05rem); }
.values-vision__copy p:not(.lede) { color: #b9c6cf; font-size: 1.02rem; line-height: 1.85; }
.values-cycle { position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 45px; margin-top: clamp(80px, 10vw, 135px); padding: 42px 48px; color: var(--ink); background: var(--gold-2); box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.values-cycle small { font-size: .65rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.values-cycle h3 { margin: 7px 0 6px; font-size: clamp(2.8rem, 5vw, 5rem); }
.values-cycle p { max-width: 600px; margin: 0; }
.values-cycle .button { flex: 0 0 auto; color: white; background: var(--ink); border-color: var(--ink); }
.values-cycle .button:hover { color: var(--ink); background: white; border-color: white; }

.tier-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin: 40px 0; }
.tier { position: relative; padding: 38px; border: 1px solid #d4cec2; background: white; }
.tier.featured { border-color: var(--gold); box-shadow: var(--shadow); }
.tier-badge { display: inline-block; margin-bottom: 18px; padding: 5px 10px; color: var(--ink); background: var(--gold-2); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.price { color: var(--ink); font-family: var(--serif); font-size: 2.3rem; }
.tier ul { padding-left: 20px; }
.tier-title { display: flex; align-items: center; gap: 12px; }
.tier-title h3 { margin: 0; }
.info-trigger { width: 28px; height: 28px; display: inline-grid; place-items: center; flex: 0 0 auto; padding: 0; border: 1px solid var(--gold); border-radius: 50%; color: var(--ink); background: var(--gold-2); font-family: var(--serif); font-size: 1rem; font-weight: 700; cursor: pointer; }
.info-trigger:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.tier-popover { position: absolute; z-index: 5; left: 30px; right: 30px; top: 108px; padding: 22px; color: white; background: var(--ink); box-shadow: 0 16px 42px rgba(4,14,25,.28); }
.tier-popover::before { content: ''; position: absolute; top: -8px; left: 132px; width: 16px; height: 16px; background: var(--ink); transform: rotate(45deg); }
.tier-popover strong { color: var(--gold-2); font-family: var(--serif); font-size: 1.15rem; }
.tier-popover p { margin-bottom: 0; color: #d5dee5; font-size: .88rem; }
.tier:has(.info-trigger:hover) .tier-popover, .tier:has(.info-trigger:focus) .tier-popover, .tier-popover:hover { display: block; }
.side-card--dark { color: var(--ink); }
.application-faq { margin-top: 28px; padding: 18px 20px; border: 1px solid #d2cec6; background: var(--cream); }
.application-faq summary { cursor: pointer; font-family: var(--serif); font-size: 1.15rem; font-weight: 600; }
.application-faq p { color: var(--muted); }

.form-shell { padding: clamp(26px, 5vw, 58px); background: var(--cream); border-top: 3px solid var(--gold); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field--full { grid-column: 1 / -1; }
.field label, .fieldset legend { font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #bfc4c6; border-radius: 0; background: white; color: var(--ink); }
.field textarea { min-height: 150px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline: 2px solid var(--gold); outline-offset: 2px; border-color: var(--gold); }
.login-username, .login-password, .login-remember { margin-bottom: 18px; }
.login-username label, .login-password label { display: block; margin-bottom: 7px; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.login-username input, .login-password input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #bfc4c6; background: white; }
.login-submit input { min-height: 48px; padding: 12px 24px; border: 1px solid var(--ink); background: var(--ink); color: white; font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.choice { display: flex; align-items: flex-start; gap: 10px; margin: 10px 0; }
.choice input { margin-top: 7px; accent-color: var(--gold); }
.fieldset { margin: 0; padding: 0; border: 0; }
.status { margin-bottom: 24px; padding: 14px 18px; background: #e8f2ec; border-left: 3px solid #32704b; }
.status--error { background: #f6e9e9; border-color: var(--danger); }
.content-popout { width: var(--wrap); margin: 0 auto; border: 1px solid #d5d0c7; background: var(--paper); }
.content-popout > summary { position: relative; padding: 24px 64px 24px 28px; color: var(--ink); font-family: var(--serif); font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 600; cursor: pointer; list-style: none; }
.content-popout > summary::-webkit-details-marker { display: none; }
.content-popout > summary::after { content: '+'; position: absolute; right: 26px; top: 50%; color: var(--gold); font-family: var(--sans); font-size: 1.8rem; font-weight: 300; transform: translateY(-50%); }
.content-popout[open] > summary::after { content: '−'; }
.content-popout__body { padding: 12px 28px 34px; border-top: 1px solid #e0dcd4; }
.section--dark .content-popout { border-color: rgba(255,255,255,.18); background: var(--ink-2); }
.section--dark .content-popout > summary { color: white; }
.section--dark .content-popout__body { border-color: rgba(255,255,255,.18); }
.intro-popout { max-width: 640px; margin: 24px auto; border-top: 1px solid #d9d3c7; border-bottom: 1px solid #d9d3c7; text-align: left; }
.intro-popout > summary { position: relative; padding: 15px 44px 15px 2px; color: var(--ink); font-size: .76rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; list-style: none; }
.intro-popout > summary::-webkit-details-marker { display: none; }
.intro-popout > summary::after { content: '+'; position: absolute; right: 4px; top: 50%; color: var(--gold); font-family: var(--serif); font-size: 1.5rem; font-weight: 400; transform: translateY(-50%); }
.intro-popout[open] > summary::after { content: '−'; }
.intro-popout__body { padding: 2px 2px 18px; color: var(--slate); font-size: .94rem; }
.welcome-section { position: relative; overflow: hidden; background: #f4f0e8; }
.welcome-section::before { content: ''; position: absolute; width: 520px; height: 520px; left: -270px; top: -260px; border: 1px solid rgba(205,162,77,.28); border-radius: 50%; }
.welcome-editorial { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(54px, 8vw, 110px); align-items: start; }
.welcome-editorial__intro { position: sticky; top: 34px; padding-top: 24px; }
.welcome-editorial__intro h2 { max-width: 500px; margin: 22px 0 30px; font-size: clamp(3rem, 5vw, 5.25rem); line-height: .98; }
.welcome-deck { max-width: 470px; color: #354657; font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.5; }
.welcome-portrait { position: relative; margin: 38px 0 0; }
.welcome-portrait::before { content: ''; position: absolute; inset: 16px -14px -16px 14px; border: 1px solid rgba(205,162,77,.65); }
.welcome-portrait img { position: relative; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 48% 35%; filter: saturate(.82) contrast(1.02); }
.welcome-portrait figcaption { position: absolute; right: -14px; bottom: -16px; min-width: 190px; display: flex; flex-direction: column; padding: 14px 18px; color: white; background: var(--ink); }
.welcome-portrait figcaption strong { color: var(--gold-2); font-family: var(--serif); font-size: 1.15rem; font-weight: 500; }
.welcome-portrait figcaption span { margin-top: 2px; color: #b9c6cf; font-size: .64rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.welcome-quote { margin: 38px 0 30px; padding: 0 0 0 25px; border-left: 2px solid var(--gold); color: var(--ink); font-family: var(--serif); font-size: 1.2rem; font-style: italic; line-height: 1.55; }
.welcome-pillars { display: flex; flex-wrap: wrap; gap: 8px; }
.welcome-pillars span { padding: 8px 11px; border: 1px solid #d3c9b8; color: #586775; background: rgba(255,255,255,.45); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.welcome-letter { position: relative; padding: clamp(38px, 6vw, 72px); border-top: 4px solid var(--gold); background: white; box-shadow: 0 30px 80px rgba(7,23,38,.1); }
.welcome-letter::after { content: '“'; position: absolute; right: 38px; top: 24px; color: rgba(205,162,77,.16); font-family: var(--serif); font-size: 9rem; line-height: 1; }
.welcome-letter__top { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 24px; margin-bottom: 46px; color: var(--gold); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.welcome-letter h3 { position: relative; z-index: 1; max-width: 640px; margin-bottom: 28px; font-size: clamp(2rem, 3vw, 3.1rem); }
.welcome-letter p { max-width: 680px; color: #344656; font-size: 1rem; line-height: 1.85; }
.welcome-letter p + p { margin-top: 16px; }
.welcome-letter__signature { display: flex; flex-direction: column; gap: 5px; margin-top: 40px; padding-top: 28px; border-top: 1px solid #ddd7ce; }
.welcome-letter__signature span { color: var(--gold); font-family: var(--serif); font-size: 1.8rem; font-style: italic; }
.welcome-letter__signature small { color: #7a878f; font-size: .7rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.application-preview { position: relative; overflow: hidden; }
.application-preview::after { content: ''; position: absolute; width: 560px; height: 560px; right: -300px; top: -310px; border: 1px solid rgba(205,162,77,.22); border-radius: 50%; }
.application-preview__heading { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .75fr; gap: 70px; align-items: end; margin-bottom: 50px; }
.application-preview__heading h2 { margin-bottom: 0; }
.application-preview__heading > p { margin: 0; color: #c8d2da; font-size: 1rem; }
.application-preview__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .875fr .875fr; gap: 18px; align-items: stretch; }
.application-preview-card { position: relative; min-height: 100%; padding: 30px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.045); transition: transform .3s ease, border-color .3s ease, background .3s ease; }
.application-preview-card:hover { transform: translateY(-5px); border-color: rgba(205,162,77,.65); background: rgba(255,255,255,.07); }
.application-preview-card:nth-child(2) { transition-delay: .08s; }
.application-preview-card:nth-child(3) { transition-delay: .16s; }
.application-preview-card > header { display: flex; align-items: center; gap: 15px; margin-bottom: 26px; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.13); }
.application-preview-card > header > span { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; color: var(--ink); border-radius: 50%; background: var(--gold-2); font-family: var(--serif); }
.application-preview-card > header small { display: block; color: var(--gold-2); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.application-preview-card h3 { margin: 2px 0 0; color: white; font-size: 1.35rem; }
.application-preview-card__body > p { color: #d1dae1; }
.application-preview-card__body ul { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.application-preview-card__body li { position: relative; padding-left: 25px; color: #cbd5dc; font-size: .88rem; line-height: 1.65; }
.application-preview-card__body li::before { content: '✓'; position: absolute; left: 0; top: 1px; color: var(--gold-2); font-weight: 900; }
.application-preview-card__choices { display: flex; gap: 10px; margin-top: 30px; }
.application-preview-card__choices span { min-width: 76px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.24); color: white; text-align: center; font-size: .8rem; font-weight: 700; }
.application-preview__note { position: relative; z-index: 1; display: flex; justify-content: center; gap: 10px; margin: 30px 0 0; color: #aebdc8; font-size: .82rem; text-align: center; }
.application-preview__note span { color: var(--gold-2); font-weight: 900; }
.footer-disclaimer { margin: 18px 0; border-top: 1px solid #263846; border-bottom: 1px solid #263846; }
.footer-disclaimer summary { padding: 10px 0; color: var(--gold-2); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.footer-disclaimer div { padding-top: 10px; }
.application-layout { align-items: start; }
.application-shell { background: white; box-shadow: 0 24px 70px rgba(7,23,38,.1); }
.application-progress { display: flex; align-items: center; gap: 16px; margin-bottom: 34px; }
.application-progress__bar { flex: 1; height: 4px; overflow: hidden; background: #e5e1d9; }
.application-progress__bar i { display: block; width: 33.333%; height: 100%; background: var(--gold); transition: width .35s ease; }
.application-progress__label, .step-kicker { color: var(--gold); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.application-step[hidden] { display: none; }
.application-step h3 { margin-bottom: 12px; font-size: clamp(2rem, 4vw, 3rem); }
.application-step > p { color: var(--muted); }
.application-step .fieldset { margin: 26px 0; }
.application-step .field { margin-top: 24px; }
.choice-group { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.choice-group legend { width: 100%; margin-bottom: 8px; }
.choice--inline { margin: 0; padding: 9px 14px; border: 1px solid #d2cec6; background: var(--cream); }
.tier-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0 18px; }
.tier-choice { position: relative; display: block; cursor: pointer; }
.tier-choice input { position: absolute; opacity: 0; }
.tier-choice span { display: block; min-height: 180px; padding: 26px; border: 1px solid #d2cec6; background: var(--cream); transition: border-color .2s, box-shadow .2s, transform .2s; }
.tier-choice strong { display: block; margin-bottom: 12px; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.tier-choice small { color: var(--muted); font-size: .88rem; line-height: 1.65; }
.tier-choice input:checked + span { border-color: var(--gold); box-shadow: inset 0 0 0 2px var(--gold); transform: translateY(-2px); }
.tier-choice input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 3px; }
.application-actions { display: flex; justify-content: space-between; gap: 14px; margin-top: 34px; }
.application-actions--end { justify-content: flex-end; }
.application-actions .button--ghost { color: var(--ink); background: transparent; border-color: #7f8a92; }
.application-actions .button--ghost:hover, .application-actions .button--ghost:focus-visible { color: var(--white); border-color: var(--ink); background: var(--ink); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Membership cards and modal application */
.tier-intro { max-width: 670px; margin-inline: auto; }
.tier-grid--interactive { max-width: 1040px; margin: 48px auto 24px; gap: 28px; }
.tier-card { appearance: none; min-height: 560px; display: flex; flex-direction: column; align-items: stretch; padding: 42px; color: var(--ink); text-align: left; font: inherit; cursor: pointer; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.tier-card::after { content: ''; position: absolute; width: 190px; height: 190px; right: -95px; bottom: -95px; border: 1px solid rgba(205,162,77,.28); border-radius: 50%; transition: transform .35s ease; }
.tier-card:hover, .tier-card:focus-visible { transform: translateY(-7px); border-color: var(--gold); box-shadow: 0 28px 65px rgba(7,23,38,.16); outline: none; }
.tier-card:hover::after, .tier-card:focus-visible::after { transform: scale(1.18); }
.tier-card.featured { color: white; background: var(--ink); border-color: var(--gold); box-shadow: 0 24px 58px rgba(7,23,38,.18); }
.tier-card.featured .price, .tier-card.featured .tier-card__name { color: white; }
.tier-card.featured .tier-card__billing, .tier-card.featured .tier-card__benefits { color: #cbd5dc; }
.tier-card.featured .tier-card__rule { background: rgba(255,255,255,.16); }
.tier-step { display: inline-flex; align-self: flex-start; margin-bottom: 12px; color: var(--gold); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tier-card.featured .tier-step { color: var(--gold-2); }
.tier-card__heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 22px; }
.tier-card__name { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; }
.tier-card__arrow { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(205,162,77,.6); border-radius: 50%; color: var(--gold-2); font-size: 1.1rem; }
.tier-card .price { display: block; font-size: 1.75rem; }
.tier-card__billing { display: block; margin-top: 5px; color: var(--muted); font-size: .85rem; }
.tier-card__rule { display: block; width: 100%; height: 1px; margin: 28px 0; background: #ded9d0; }
.tier-card__benefits { display: grid; gap: 13px; color: #354657; font-size: .92rem; }
.tier-card__benefits > span { position: relative; padding-left: 24px; }
.tier-card__benefits > span::before { content: '✓'; position: absolute; left: 0; color: var(--gold); font-weight: 800; }
.tier-card__cta { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 34px; color: var(--gold-2); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tier-card.is-sold-out, .tier-card.is-sold-out:hover, .tier-card.is-sold-out:focus-visible { cursor: not-allowed; transform: none; box-shadow: none; filter: saturate(.55); opacity: .72; }
.tier-card.is-sold-out .tier-card__cta { color: currentColor; }
.tier-choice.is-sold-out { cursor: not-allowed; }
.tier-choice.is-sold-out span { opacity: .58; background: #ece9e2; }
.tier-note { max-width: 700px; margin-inline: auto; }

/* Member experience between Steps 4 and 5 */
.member-benefits { position: relative; overflow: hidden; background: #f3efe7; }
.member-benefits::before { content: ''; position: absolute; width: 620px; height: 620px; left: -430px; top: 180px; border: 1px solid rgba(205,162,77,.28); border-radius: 50%; }
.member-benefits__intro { display: grid; grid-template-columns: 1.1fr .65fr; gap: 80px; align-items: end; margin-bottom: 54px; }
.member-benefits__intro h2 { max-width: 780px; margin-bottom: 0; }
.member-benefits__intro > p { margin: 0 0 8px; color: var(--muted); font-size: 1.03rem; }
.benefits-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; color: var(--gold); font-size: .7rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.benefits-kicker::before { content: ''; width: 34px; height: 1px; background: var(--gold); }
.member-benefits__event { display: grid; grid-template-columns: 1.18fr .82fr; min-height: 520px; color: white; background: var(--ink); box-shadow: 0 28px 70px rgba(7,20,34,.16); }
.member-benefits__event figure { position: relative; min-height: 520px; margin: 0; overflow: hidden; }
.member-benefits__event figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 55%, rgba(7,20,34,.48)); }
.member-benefits__event figure img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.member-benefits__event:hover figure img { transform: scale(1.035); }
.member-benefits__event figcaption { position: absolute; z-index: 1; left: 28px; bottom: 25px; padding: 9px 13px; color: var(--ink); background: var(--gold-2); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.member-benefits__event-copy, .member-benefits__session-copy { position: relative; padding: 54px 48px; }
.member-benefits__number { position: absolute; right: 32px; top: 24px; color: rgba(237,207,140,.18); font-family: var(--serif); font-size: 4.6rem; line-height: 1; }
.member-benefits__event-copy h3, .member-benefits__session-copy h3 { position: relative; margin: 10px 0 24px; font-size: clamp(2rem, 3vw, 3.15rem); }
.member-benefits__event-copy p { color: #c8d2da; font-size: .95rem; }
.member-benefits__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.member-benefits__tags span { padding: 9px 12px; border: 1px solid rgba(237,207,140,.32); color: var(--gold-2); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.member-benefits__sessions { display: grid; grid-template-columns: .8fr 1.2fr; align-items: stretch; margin-top: 28px; border: 1px solid #d9d1c3; background: var(--paper); }
.member-benefits__portrait { position: relative; min-height: 600px; margin: 0; overflow: hidden; }
.member-benefits__portrait::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,20,34,.76), transparent 52%); }
.member-benefits__portrait img { width: 100%; height: 100%; display: block; object-fit: cover; }
.member-benefits__portrait figcaption { position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 30px; color: white; }
.member-benefits__portrait figcaption span { display: block; margin-bottom: 8px; color: var(--gold-2); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.member-benefits__portrait figcaption strong { font-family: var(--serif); font-size: 1.7rem; font-weight: 500; line-height: 1.2; }
.member-benefits__session-copy { padding: 52px 56px; color: var(--ink); }
.member-benefits__session-copy > p { color: var(--muted); }
.member-benefits__availability { display: flex; align-items: center; gap: 9px; margin: 24px 0 !important; padding: 14px 16px; border-left: 2px solid var(--gold); background: #f4f0e8; color: var(--ink) !important; font-size: .76rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.member-benefits__availability span { color: var(--gold); font-size: .65rem; }
.member-benefits__topics { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; border-top: 1px solid #ddd6ca; }
.member-benefits__topics span { position: relative; padding: 14px 4px 14px 20px; border-bottom: 1px solid #ddd6ca; color: #334556; font-size: .82rem; }
.member-benefits__topics span::before { content: '•'; position: absolute; left: 2px; color: var(--gold); font-size: 1.2rem; line-height: 1; }
.member-benefits__film { display: grid; grid-template-columns: auto .8fr 1.15fr; gap: 25px 34px; align-items: center; margin-top: 28px; padding: 34px 40px; color: white; background: var(--ink-2); }
.member-benefits__film-mark { width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid rgba(237,207,140,.5); border-radius: 50%; color: var(--gold-2); }
.member-benefits__film h3 { margin: 4px 0 0; color: white; font-size: 1.6rem; }
.member-benefits__film p { margin: 0; color: #c4d0d8; font-size: .9rem; }

/* Step 5 applicant details */
.applicant-details { position: relative; overflow: hidden; color: white; background: var(--ink); }
.applicant-details::before { content: '05'; position: absolute; right: -10px; top: -105px; color: rgba(255,255,255,.025); font-family: var(--serif); font-size: 24rem; line-height: 1; pointer-events: none; }
.applicant-details__layout { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: start; }
.applicant-details__content { max-width: 680px; }
.applicant-details__content h2 { margin-bottom: 18px; }
.applicant-details__content .lede { color: #c7d1d9; }
.applicant-details__list { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 42px 0; padding: 0; border-top: 1px solid rgba(255,255,255,.16); list-style: none; }
.applicant-details__list li { min-height: 74px; display: flex; align-items: center; gap: 15px; padding: 16px 18px 16px 0; border-bottom: 1px solid rgba(255,255,255,.16); color: #eef2f5; }
.applicant-details__list li:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.16); }
.applicant-details__list li:nth-child(even) { padding-left: 20px; }
.applicant-details__list span { color: var(--gold-2); font-family: var(--serif); font-size: .8rem; }
.applicant-details__answers { display: grid; gap: 12px; }
.applicant-details__answers details { border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.055); transition: border-color .25s ease, background .25s ease; }
.applicant-details__answers details:hover { border-color: rgba(237,207,140,.58); background: rgba(255,255,255,.075); }
.applicant-details__answers summary { position: relative; padding: 21px 54px 21px 22px; color: white; font-family: var(--serif); font-size: 1.15rem; cursor: pointer; list-style: none; }
.applicant-details__answers summary::-webkit-details-marker { display: none; }
.applicant-details__answers summary::after { content: '+'; position: absolute; right: 22px; top: 50%; color: var(--gold-2); font-family: var(--sans); font-size: 1.5rem; font-weight: 300; transform: translateY(-50%); transition: transform .25s ease; }
.applicant-details__answers details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.applicant-details__answers details[open] summary { border-bottom: 1px solid rgba(255,255,255,.14); }
.applicant-details__answers p { margin: 0; padding: 18px 22px 0; color: #c8d2da; font-size: .92rem; }
.applicant-details__answers p:last-child { padding-bottom: 22px; }
.applicant-details__visual { position: sticky; top: 110px; margin: 0; padding: 14px; border: 1px solid rgba(237,207,140,.4); background: rgba(255,255,255,.045); }
.applicant-details__visual::before { content: ''; position: absolute; inset: 32px -18px -18px 32px; z-index: -1; border: 1px solid rgba(237,207,140,.18); }
.applicant-details__visual img { width: 100%; height: 610px; display: block; object-fit: cover; }
.applicant-details__visual figcaption { padding: 22px 10px 10px; }
.applicant-details__visual figcaption span { display: block; margin-bottom: 7px; color: var(--gold-2); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.applicant-details__visual figcaption strong { display: block; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; line-height: 1.3; }

body.application-modal-open { overflow: hidden; }
.application-modal[hidden] { display: none; }
.application-modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 20px; }
.application-modal__backdrop { position: absolute; inset: 0; background: rgba(3,11,19,.78); backdrop-filter: blur(8px); }
.application-modal__dialog { position: relative; width: min(1060px, 100%); max-height: calc(100vh - 40px); overflow: auto; overscroll-behavior: contain; color: var(--ink); background: #fff; box-shadow: 0 40px 110px rgba(0,0,0,.45); }
.application-modal__close { position: absolute; z-index: 3; top: 21px; right: 22px; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: transparent; font-size: 1.65rem; line-height: 1; cursor: pointer; }
.application-modal__close:hover, .application-modal__close:focus-visible { color: var(--ink); background: var(--gold-2); outline: none; }
.application-modal__header { min-height: 170px; display: flex; align-items: end; padding: 38px 78px 34px 54px; color: white; background: radial-gradient(circle at 88% 15%, rgba(205,162,77,.3), transparent 30%), var(--ink); }
.application-modal__header h2 { margin: 4px 0 5px; font-size: clamp(2.25rem, 4vw, 3.8rem); }
.application-modal__header p { margin: 0; color: #cbd5dc; }
.application-stepper { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 54px; border-bottom: 1px solid #e4e0d8; background: #faf8f4; }
.application-stepper > span { position: relative; display: flex; align-items: center; gap: 11px; padding: 22px 10px 20px 0; color: #8a949b; }
.application-stepper > span::after { content: ''; position: absolute; left: 0; right: 20px; bottom: -1px; height: 3px; background: transparent; }
.application-stepper i { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #bfc5c8; border-radius: 50%; font-style: normal; font-size: .75rem; font-weight: 800; }
.application-stepper b { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.application-stepper > span.is-active { color: var(--ink); }
.application-stepper > span.is-active::after { background: var(--gold); }
.application-stepper > span.is-active i { color: var(--ink); border-color: var(--gold); background: var(--gold-2); }
.application-stepper > span.is-complete i { color: white; border-color: var(--ink); background: var(--ink); }
.application-modal > .application-modal__dialog > .status { margin: 24px 54px 0; }
.application-modal__body { padding: 44px 54px 52px; }
.application-step { max-width: 820px; margin: 0 auto; }
.application-step h3 { margin: 5px 0 10px; font-size: clamp(2.15rem, 4vw, 3.35rem); }
.application-step > p { max-width: 680px; }
.application-step.is-active { animation: applicationStepIn .42s cubic-bezier(.2,.75,.25,1) both; }
.application-mini-step { position: relative; margin-top: 24px; padding: 28px; border: 1px solid #ddd8cf; background: #fff; box-shadow: 0 12px 32px rgba(7,23,38,.055); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.application-mini-step::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--gold); transform: scaleY(0); transform-origin: top; transition: transform .35s ease; }
.application-mini-step:hover { transform: translateY(-2px); border-color: #cfc3ae; box-shadow: 0 18px 42px rgba(7,23,38,.085); }
.application-mini-step:hover::before { transform: scaleY(1); }
.application-mini-step > header { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.application-mini-step > header > span { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; color: var(--gold-2); border-radius: 50%; background: var(--ink); font-family: var(--serif); font-size: 1rem; }
.application-mini-step > header small { display: block; margin-bottom: 2px; color: var(--gold); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.application-mini-step h4 { margin: 0; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.application-mini-step > p { margin: 0 0 20px; color: var(--muted); font-size: .92rem; }
.application-mini-step .fieldset { margin: 0; }
.application-mini-step .field { margin-top: 0; }
.application-mini-step .choice input { width: 18px; height: 18px; margin-top: 3px; }
.application-step.is-active .application-mini-step { animation: miniStepIn .46s cubic-bezier(.2,.75,.25,1) both; }
.application-step.is-active .application-mini-step:nth-of-type(2) { animation-delay: .07s; }
.application-step.is-active .application-mini-step:nth-of-type(3) { animation-delay: .14s; }
.application-step .choice:not(.choice--inline) { margin: 0 0 10px; padding: 15px 17px; border: 1px solid #ddd8cf; background: #faf8f4; }
.application-step .choice input { flex: 0 0 auto; }
.tier-choice-grid { gap: 16px; margin: 27px 0 18px; }
.tier-choice span { min-height: 178px; padding: 24px; border-radius: 2px; background: #faf8f4; }
.tier-choice em { display: block; margin-bottom: 14px; color: var(--gold); font-size: .68rem; font-style: normal; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tier-choice strong { margin-bottom: 8px; font-size: 1.6rem; }
.tier-choice small { display: block; }
.tier-choice small + small { margin-top: 10px; }
.membership-detail { margin: 18px 0; padding: 22px 24px; border-left: 3px solid var(--gold); background: #f4f0e8; }
.membership-detail[hidden] { display: none; }
.membership-detail > strong { font-family: var(--serif); font-size: 1.25rem; }
.membership-detail p { margin: 8px 0 0; color: var(--muted); font-size: .9rem; }
.membership-detail details { margin-top: 14px; border-top: 1px solid #d9d1c4; }
.membership-detail summary { padding-top: 13px; color: var(--ink); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.application-assurance { display: flex; align-items: flex-start; gap: 10px; padding-top: 4px; color: var(--muted); font-size: .86rem; }
.application-assurance span { color: var(--gold); font-weight: 900; }
.application-review { display: grid; grid-template-columns: 1fr auto; gap: 2px 20px; align-items: center; margin-top: 24px; padding: 18px 20px; border: 1px solid #d8d3ca; background: #faf8f4; }
.application-review span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.application-review strong { grid-row: span 2; font-family: var(--serif); font-size: 1.35rem; }
.application-review small { color: var(--muted); }
.application-cost { margin-top: 30px; border: 1px solid #d7d0c4; background: #fff; box-shadow: 0 16px 40px rgba(7,20,34,.07); }
.application-cost > header { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding: 24px 26px; color: white; background: var(--ink); }
.application-cost > header span { color: var(--gold-2); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.application-cost > header h4 { margin: 5px 0 0; color: white; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.application-cost > header > strong { color: var(--gold-2); font-family: var(--serif); font-size: 1.25rem; font-weight: 500; white-space: nowrap; }
.application-cost__rows { padding: 8px 26px; }
.application-cost__rows p { display: flex; justify-content: space-between; gap: 24px; margin: 0; padding: 15px 0; border-bottom: 1px solid #e7e1d8; color: var(--muted); font-size: .86rem; }
.application-cost__rows p:last-child { border-bottom: 0; }
.application-cost__rows strong { max-width: 55%; color: var(--ink); text-align: right; }
.application-cost > footer { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; padding: 20px 26px; border-top: 1px solid #d7d0c4; background: #f6f2ea; }
.application-cost > footer > div { min-width: 120px; padding-right: 22px; border-right: 1px solid #d7d0c4; }
.application-cost > footer span { display: block; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.application-cost > footer strong { display: block; color: var(--ink); font-family: var(--serif); font-size: 2rem; }
.application-cost > footer p { margin: 0; color: var(--muted); font-size: .8rem; }
.payment-preference { margin: 28px 0 0; padding: 0; border: 0; }
.payment-preference legend { font-family: var(--serif); font-size: 1.35rem; font-weight: 600; }
.payment-preference > p { margin: 6px 0 16px; color: var(--muted); font-size: .86rem; }
.payment-preference__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.payment-preference__grid label { position: relative; cursor: pointer; }
.payment-preference__grid input { position: absolute; opacity: 0; }
.payment-preference__grid label > span { min-height: 130px; display: flex; flex-direction: column; justify-content: center; padding: 18px; border: 1px solid #d7d0c4; background: #faf8f4; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.payment-preference__grid b { width: 31px; height: 31px; display: grid; place-items: center; margin-bottom: 12px; border: 1px solid #c9b98f; border-radius: 50%; color: var(--gold); font-size: .85rem; }
.payment-preference__grid strong { color: var(--ink); font-size: .86rem; }
.payment-preference__grid small { margin-top: 4px; color: var(--muted); }
.payment-preference__grid input:checked + span { transform: translateY(-2px); border-color: var(--gold); box-shadow: inset 0 0 0 2px var(--gold), 0 10px 24px rgba(7,20,34,.08); }
.payment-preference__grid input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 3px; }
.application-modal .field input, .application-modal .field textarea { border-radius: 2px; background: #fcfbf8; }
@keyframes applicationStepIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes miniStepIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .application-step.is-active, .application-step.is-active .application-mini-step { animation: none; }
  .application-mini-step, .tier-card { transition: none; }
}

.cta { position: relative; overflow: hidden; padding: 90px 0; color: white; background: var(--ink-2); }
.cta::before { content: ''; position: absolute; width: 420px; height: 420px; right: -120px; top: -180px; border: 1px solid rgba(205,162,77,.35); border-radius: 50%; }
.cta-inner { position: relative; display: grid; grid-template-columns: 1.3fr .7fr; gap: 40px; align-items: end; }
.cta .button-row { justify-content: flex-end; }
.offer-ticker { position: relative; z-index: 3; overflow: hidden; color: white; background: #0b1d2e; border-top: 1px solid rgba(237,207,140,.28); border-bottom: 1px solid rgba(237,207,140,.28); }
.offer-ticker::before, .offer-ticker::after { content: ''; position: absolute; z-index: 2; top: 0; bottom: 0; width: min(9vw, 110px); pointer-events: none; }
.offer-ticker::before { left: 0; background: linear-gradient(90deg, #0b1d2e, transparent); }
.offer-ticker::after { right: 0; background: linear-gradient(270deg, #0b1d2e, transparent); }
.offer-ticker__track { display: flex; width: max-content; animation: offerTicker 32s linear infinite; }
.offer-ticker:hover .offer-ticker__track, .offer-ticker:focus-within .offer-ticker__track { animation-play-state: paused; }
.offer-ticker__group { min-width: max-content; min-height: 48px; display: flex; align-items: center; gap: 22px; padding-right: 22px; color: #d7e0e7; font-size: .72rem; letter-spacing: .035em; white-space: nowrap; }
.offer-ticker__group strong { color: white; font-family: var(--serif); font-size: .86rem; font-weight: 500; }
.offer-ticker__label { padding: 5px 9px; color: var(--ink); background: var(--gold-2); border-radius: 999px; font-size: .57rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.offer-ticker__group i { width: 4px; height: 4px; flex: 0 0 auto; border-radius: 50%; background: var(--gold-2); }
@keyframes offerTicker { to { transform: translateX(-50%); } }

.platform-story { position: relative; overflow: hidden; color: white; background: var(--ink); }
.platform-story::after { content: ''; position: absolute; width: 520px; height: 520px; left: -330px; bottom: -350px; border: 1px solid rgba(237,207,140,.22); border-radius: 50%; }
.platform-story__layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(55px, 8vw, 110px); align-items: center; }
.platform-story__copy h2 { margin: 0 0 32px; color: white; font-size: clamp(3.3rem, 6vw, 6.6rem); line-height: .9; }
.platform-story__copy h2 em { color: var(--gold-2); font-weight: 400; }
.platform-story__copy p { max-width: 730px; color: #cbd6df; line-height: 1.75; }
.platform-story__copy .platform-story__lead { color: white; font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.85rem); line-height: 1.45; }
.platform-story__visual { position: relative; min-height: 650px; margin: 0; overflow: hidden; }
.platform-story__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,14,25,.88), transparent 58%); }
.platform-story__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.platform-story__visual figcaption { position: absolute; z-index: 1; left: 38px; right: 38px; bottom: 34px; }
.platform-story__visual figcaption span { display: block; margin-bottom: 8px; color: var(--gold-2); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.platform-story__visual figcaption strong { display: block; color: white; font-family: var(--serif); font-size: clamp(1.45rem, 2.2vw, 2.1rem); font-weight: 400; line-height: 1.25; }
.difference-welcome { background: var(--paper); }
.difference-welcome__layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(52px, 8vw, 110px); align-items: center; }
.difference-welcome__visual { position: relative; min-height: 630px; margin: 0; overflow: hidden; }
.difference-welcome__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.difference-welcome__visual figcaption { position: absolute; left: 0; bottom: 0; padding: 15px 22px; color: var(--ink); background: var(--gold-2); font-size: .64rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.difference-welcome__copy h2 { max-width: 720px; font-size: clamp(2.8rem, 5vw, 5.2rem); line-height: .95; }
.difference-welcome__problem { margin: 34px 0 28px; padding: 27px 30px; border-left: 3px solid var(--gold); background: var(--cream); }
.difference-welcome__problem span { color: var(--gold); font-size: .64rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.difference-welcome__problem h3 { margin: 9px 0 8px; font-size: 1.65rem; }
.difference-welcome__problem p { margin: 0; color: var(--muted); }
.difference-welcome__copy .button-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 590px; margin-top: 34px; padding-top: 20px; border-top: 1px solid #ddd4c7; }
.difference-welcome__copy .button-row .button,
.difference-welcome__copy .button-row .text-link { min-height: 58px; display: inline-flex; align-items: center; justify-content: center; padding: 14px 18px; border: 1px solid var(--ink); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.difference-welcome__copy .button-row .text-link { color: var(--ink); background: transparent; }
.difference-welcome__copy .button-row .text-link:hover { color: white; background: var(--ink); }
.difference-principles { position: relative; overflow: hidden; color: white; background: #071827; }
.difference-principles::before { content: ''; position: absolute; width: 560px; height: 560px; left: -290px; bottom: -360px; border: 1px solid rgba(213,169,81,.22); border-radius: 50%; }
.difference-principles__layout { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(70px, 10vw, 150px); align-items: start; }
.difference-principles__intro { position: sticky; top: 150px; }
.difference-principles__intro h2 { margin: 18px 0 28px; color: white; font-size: clamp(3.8rem, 6.4vw, 7rem); line-height: .86; }
.difference-principles__intro h2 em { color: var(--gold-2); font-weight: 400; }
.difference-principles__intro p { max-width: 480px; color: #b8c5cf; font-size: 1rem; line-height: 1.8; }
.difference-principles__mark { width: min(310px, 72%); height: auto; display: block; margin-top: 54px; opacity: .9; filter: drop-shadow(0 16px 30px rgba(0,0,0,.18)); }
.difference-principles__list { border-top: 1px solid rgba(255,255,255,.2); }
.difference-principle { position: relative; display: grid; grid-template-columns: 74px 1fr; gap: 24px; padding: 42px 0 46px; border-bottom: 1px solid rgba(255,255,255,.2); transition: padding-left .35s ease, background .35s ease; }
.difference-principle::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(213,169,81,.12), transparent 75%); opacity: 0; transition: opacity .35s ease; }
.difference-principle:hover { padding-left: 22px; }
.difference-principle:hover::before { opacity: 1; }
.difference-principle > span { color: var(--gold-2); font-family: var(--serif); font-size: 1.15rem; }
.difference-principle h3 { margin: -7px 0 12px; color: white; font-size: clamp(2rem, 3.4vw, 3.5rem); line-height: 1; }
.difference-principle p { max-width: 620px; margin: 0; color: #b8c5cf; line-height: 1.7; }
.community-covenant { position: relative; overflow: hidden; background: var(--paper); }
.community-covenant::before { content: ''; position: absolute; width: 430px; height: 430px; top: -280px; left: 12%; border: 1px solid rgba(205,162,77,.25); border-radius: 50%; }
.community-covenant__layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(65px, 10vw, 150px); align-items: center; }
.community-covenant__copy h2 { margin: 18px 0 34px; font-size: clamp(3.8rem, 7vw, 7.5rem); line-height: .86; }
.community-covenant__copy h2 em { color: var(--gold); font-weight: 400; }
.community-covenant__copy .lede { max-width: 780px; color: var(--ink); font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.45; }
.community-covenant__copy p:not(.lede) { max-width: 720px; color: var(--muted); line-height: 1.75; }
.community-covenant__promise { position: relative; min-height: 510px; display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 6vw, 76px); color: white; background: var(--ink); clip-path: polygon(0 0, 92% 0, 100% 10%, 100% 100%, 8% 100%, 0 90%); }
.community-covenant__promise::after { content: ''; position: absolute; width: 320px; height: 320px; right: -190px; top: -170px; border: 1px solid rgba(237,207,140,.3); border-radius: 50%; }
.community-covenant__promise > span { color: var(--gold-2); font-size: .66rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.community-covenant__promise > strong { display: block; margin: 22px 0 34px; color: white; font-family: var(--serif); font-size: clamp(2rem, 3.6vw, 3.5rem); font-weight: 400; line-height: 1.05; }
.community-covenant__promise > div { display: flex; flex-wrap: wrap; gap: 9px; }
.community-covenant__promise i { padding: 8px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #d4dde4; font-size: .67rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.community-covenant__promise > a { display: flex; align-items: center; justify-content: space-between; margin-top: 48px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.22); color: white; font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.community-covenant__promise > a b { color: var(--gold-2); font-size: 1.3rem; }
.community-keys { background: var(--cream); }
.community-keys__layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 9vw, 135px); align-items: start; }
.community-keys__intro { position: sticky; top: 145px; }
.community-keys__intro h2 { margin: 18px 0 28px; font-size: clamp(3rem, 5.2vw, 5.6rem); line-height: .92; }
.community-keys__intro p { max-width: 480px; color: var(--muted); line-height: 1.75; }
.community-keys__intro > span { display: block; margin-top: 70px; color: rgba(7,24,39,.08); font-family: var(--serif); font-size: clamp(5rem, 10vw, 10rem); line-height: .8; }
.community-keys__list { border-top: 1px solid #cfc7bb; }
.community-key { border-bottom: 1px solid #cfc7bb; }
.community-key summary { position: relative; display: grid; grid-template-columns: 62px 1fr; gap: 24px; align-items: center; padding: 30px 54px 30px 0; cursor: pointer; list-style: none; }
.community-key summary::-webkit-details-marker { display: none; }
.community-key summary::after { content: '+'; position: absolute; right: 5px; top: 50%; color: var(--gold); font-family: var(--sans); font-size: 1.7rem; font-weight: 300; transform: translateY(-50%); transition: transform .3s ease; }
.community-key[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.community-key summary > span { color: var(--gold); font-family: var(--serif); font-size: 1.05rem; }
.community-key summary small { display: block; margin-bottom: 6px; color: var(--gold); font-size: .59rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.community-key summary h3 { margin: 0; font-size: clamp(1.65rem, 2.8vw, 2.8rem); line-height: 1.08; transition: color .25s ease, transform .25s ease; }
.community-key summary:hover h3 { color: var(--gold); transform: translateX(6px); }
.community-key > p { max-width: 720px; margin: -4px 52px 0 86px; padding: 0 0 34px; color: var(--muted); line-height: 1.8; animation: keyReveal .35s ease both; }
@keyframes keyReveal { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.community-finale { display: grid; grid-template-columns: 1fr 1fr; min-height: 760px; color: white; background: var(--ink); }
.community-finale__image { min-height: 620px; background: linear-gradient(0deg, rgba(5,17,29,.35), rgba(5,17,29,.08)), url('assets/images/hero-community.jpg') center/cover no-repeat; }
.community-finale__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(55px, 8vw, 120px); }
.community-finale__content h2 { margin: 18px 0 25px; color: white; font-size: clamp(3.5rem, 6vw, 6.5rem); line-height: .9; }
.community-finale__content p { max-width: 680px; color: #c0cbd4; line-height: 1.75; }
.community-finale__rule { width: 100%; height: 1px; margin: 38px 0; background: rgba(255,255,255,.2); }
.community-finale__content > span { color: var(--gold-2); font-family: var(--serif); font-size: clamp(1.6rem, 2.5vw, 2.4rem); }
.community-finale__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.community-finale__safety { margin-top: 38px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); font-size: .78rem; }
.community-finale__safety strong { color: var(--gold-2); }
.community-key--safety { border-bottom-color: rgba(154,54,45,.42); }
.community-key--safety summary small { color: #9a362d; }
.community-key--safety summary > span { border-color: rgba(154,54,45,.5); color: #9a362d; }
.trust-growth { position: relative; overflow: hidden; }
.trust-growth__heading { max-width: 850px; margin: 0 auto 78px; text-align: center; }
.trust-growth__heading h2 { margin-bottom: 24px; font-size: clamp(3rem, 5.8vw, 6rem); line-height: .92; }
.trust-growth__heading h2 em { color: var(--gold); font-weight: 400; }
.trust-growth__heading p { max-width: 660px; margin: 0 auto; color: var(--muted); }
.trust-growth__timeline { position: relative; display: flex; flex-direction: column; gap: 36px; }
.trust-growth__timeline::before { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: linear-gradient(var(--gold), rgba(205,162,77,.15)); transform: translateX(-50%); }
.trust-growth__card { position: relative; width: calc(50% - 44px); min-height: 230px; display: grid; grid-template-columns: auto 1fr; gap: 25px; align-items: start; padding: 36px 38px; border: 1px solid #d9d2c6; background: rgba(255,255,255,.92); box-shadow: 0 20px 50px rgba(7,20,34,.07); }
.trust-growth__card:nth-child(even) { align-self: flex-end; }
.trust-growth__card::after { content: ''; position: absolute; top: 48px; width: 44px; height: 1px; background: var(--gold); }
.trust-growth__card:nth-child(odd)::after { right: -45px; }
.trust-growth__card:nth-child(even)::after { left: -45px; }
.trust-growth__card.reveal:nth-child(odd) { transform: translateX(-85px); }
.trust-growth__card.reveal:nth-child(even) { transform: translateX(85px); }
.trust-growth__card.reveal.in { transform: none; }
.trust-growth__number { width: 55px; height: 55px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-family: var(--serif); font-size: 1.1rem; }
.trust-growth__card small { display: block; margin: 4px 0 10px; color: var(--gold); font-size: .64rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.trust-growth__card h3 { margin: 0 0 13px; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.trust-growth__card p { margin: 0; color: var(--muted); line-height: 1.7; }
.why-editorial { overflow: hidden; background: var(--paper); }
.why-editorial__layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px, 10vw, 150px); align-items: start; }
.why-editorial__heading { position: relative; }
.why-editorial__heading h2 { margin: 0; font-size: clamp(3.7rem, 7vw, 7.4rem); line-height: .88; }
.why-editorial__heading h2 em { color: var(--gold); font-weight: 400; }
.why-editorial__heading > span { position: absolute; left: -26px; top: 185px; color: rgba(205,162,77,.14); font-family: var(--serif); font-size: 10rem; line-height: 1; }
.why-editorial__copy { padding-top: 20px; }
.why-editorial__copy p { color: #354657; font-size: 1.02rem; line-height: 1.85; }
.why-editorial__copy .lede { color: var(--ink); font-family: var(--serif); font-size: clamp(1.4rem, 2.3vw, 2rem); line-height: 1.5; }
.why-editorial__copy p + p { margin-top: 28px; }
.why-editorial__community { margin-top: 100px; padding-top: 56px; border-top: 1px solid #d9d1c4; }
.why-editorial__community > span { color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.why-editorial__community h3 { max-width: 940px; margin: 15px 0 24px; font-size: clamp(3rem, 6vw, 6.2rem); line-height: .92; }
.why-editorial__community p { max-width: 760px; color: var(--muted); font-size: 1.05rem; }

/* Our Dream — editorial journey */
.dream-opening { position: relative; overflow: hidden; padding: clamp(90px, 11vw, 155px) 0 clamp(110px, 13vw, 180px); background: #f5f0e7; }
.dream-opening::after { content: ''; position: absolute; right: -9vw; bottom: -21vw; width: 42vw; height: 42vw; border: 1px solid rgba(205,162,77,.22); border-radius: 50%; }
.dream-opening__layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(58px, 9vw, 130px); align-items: center; }
.dream-opening__visual { position: relative; min-height: 650px; }
.dream-opening__image { position: absolute; object-fit: cover; box-shadow: 0 32px 80px rgba(7,20,34,.18); }
.dream-opening__image--main { inset: 0 12% 80px 0; width: 88%; height: calc(100% - 80px); filter: saturate(.78) contrast(1.02); }
.dream-opening__image--accent { right: 0; bottom: 0; width: 48%; height: 245px; border: 12px solid #f5f0e7; }
.dream-opening__visual > span { position: absolute; z-index: 2; left: -20px; bottom: 2px; color: white; font-family: var(--serif); font-size: clamp(3rem, 6vw, 6.2rem); line-height: .76; letter-spacing: -.06em; text-shadow: 0 4px 28px rgba(7,20,34,.35); }
.dream-opening__copy { position: relative; z-index: 1; }
.dream-opening__copy h2 { margin-bottom: 32px; font-size: clamp(3.6rem, 6vw, 6.7rem); line-height: .88; }
.dream-opening__copy h2 em { color: var(--gold); font-weight: 400; }
.dream-opening__copy .lede { max-width: 610px; }
.dream-opening__note { display: grid; grid-template-columns: 58px 1fr; gap: 20px; align-items: start; margin-top: 45px; padding-top: 24px; border-top: 1px solid #d4cbbb; }
.dream-opening__note i { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-family: var(--serif); font-style: normal; }
.dream-opening__note p { max-width: 440px; margin: 5px 0 0; color: var(--muted); }
.dream-release { position: relative; overflow: hidden; padding: clamp(95px, 12vw, 165px) 0 0; color: white; background: var(--ink); }
.dream-release::before { content: ''; position: absolute; top: -280px; right: -120px; width: 620px; height: 620px; border: 1px solid rgba(205,162,77,.18); border-radius: 50%; }
.dream-release__layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(60px, 10vw, 150px); align-items: center; }
.dream-release__statement > span { color: var(--gold-2); font-size: .69rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.dream-release__statement h2 { max-width: 790px; margin-top: 24px; font-size: clamp(3rem, 5.4vw, 5.8rem); line-height: .98; }
.dream-release__portrait { position: relative; margin: 0; }
.dream-release__portrait img { width: 100%; height: 550px; object-fit: cover; filter: saturate(.68); }
.dream-release__portrait::before { content: ''; position: absolute; z-index: 1; inset: -22px 22px 22px -22px; border: 1px solid rgba(205,162,77,.6); pointer-events: none; }
.dream-release__portrait figcaption { position: absolute; z-index: 2; left: -60px; bottom: 48px; padding: 20px 24px; color: var(--ink); background: var(--gold-2); font-family: var(--serif); font-size: clamp(1.4rem, 2.2vw, 2.2rem); line-height: 1.05; }
.dream-release__portrait figcaption em { font-weight: 400; }
.dream-release__marquee { display: flex; width: max-content; margin-top: clamp(75px, 10vw, 125px); border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.13); font-family: var(--serif); font-size: clamp(3rem, 6vw, 6.6rem); line-height: 1.25; white-space: nowrap; animation: dreamMarquee 38s linear infinite; }
@keyframes dreamMarquee { to { transform: translateX(-50%); } }
.dream-principles { padding: clamp(100px, 13vw, 180px) 0; background: #fff; }
.dream-principles__layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(55px, 9vw, 130px); align-items: start; }
.dream-principles__intro { position: sticky; top: 140px; }
.dream-principles__intro p { max-width: 330px; color: var(--muted); font-family: var(--serif); font-size: 1.45rem; line-height: 1.5; }
.dream-principles__words { border-top: 1px solid #d9d2c6; }
.dream-principles__words > span { position: relative; display: grid; grid-template-columns: 75px 1fr; align-items: center; padding: 30px 0; border-bottom: 1px solid #d9d2c6; color: var(--ink); font-family: var(--serif); font-size: clamp(3.2rem, 6vw, 6.5rem); line-height: 1; transition: padding-left .35s ease, color .35s ease; }
.dream-principles__words > span::after { content: '→'; position: absolute; right: 8px; color: var(--gold); font-family: var(--sans); font-size: .35em; opacity: 0; transform: translateX(-20px); transition: opacity .35s ease, transform .35s ease; }
.dream-principles__words > span:hover { padding-left: 22px; color: #9d7733; }
.dream-principles__words > span:hover::after { opacity: 1; transform: none; }
.dream-principles__words i { color: var(--gold); font-family: var(--sans); font-size: .65rem; font-style: normal; font-weight: 900; letter-spacing: .15em; }
.dream-principles__closing { grid-column: 2; max-width: 720px; margin: 35px 0 0; color: var(--muted); font-size: 1.06rem; }
.dream-finale { position: relative; isolation: isolate; min-height: 760px; display: grid; align-items: end; padding: 120px 0 90px; color: white; background: var(--dream-finale) center/cover no-repeat; }
.dream-finale::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(4,14,25,.96), rgba(4,14,25,.54) 58%, rgba(4,14,25,.1)), linear-gradient(0deg, rgba(4,14,25,.66), transparent 55%); }
.dream-finale__content h2 { max-width: 930px; font-size: clamp(3.3rem, 6.5vw, 7rem); line-height: .92; }
.dream-finale__content p { margin: 28px 0 38px; color: var(--gold-2); font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2.45rem); font-style: italic; }
.dream-finale__content .button-row { display: flex; flex-wrap: wrap; gap: 12px; }

.site-footer { color: #c6d0d9; background: #040d16; }
.footer-main { display: grid; grid-template-columns: 1.25fr .75fr .8fr 1fr; gap: 45px; padding: 75px 0; }
.footer-main h3 { color: white; font-family: var(--sans); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.footer-main p, .footer-main li, .footer-main a { color: #9faeba; font-size: .88rem; }
.footer-main ul { margin: 0; padding: 0; list-style: none; }
.footer-main li { margin: 8px 0; }
.footer-main a:hover { color: white; }
.footer-brand p { font-size: .78rem; line-height: 1.6; }
.footer-social { color: var(--gold-2) !important; text-transform: uppercase; letter-spacing: .08em; }
.original-credit { color: #657785; }
.footer-brand img { width: 130px; margin-bottom: 24px; }
.newsletter { display: grid; grid-template-columns: 1fr 48px; gap: 8px; }
.newsletter input { min-width: 0; width: 100%; padding: 12px; border: 1px solid #334656; background: #0c1b28; color: white; }
.newsletter input[name="phone"] { grid-column: 1 / -1; }
.newsletter button { width: 48px; border: 0; background: var(--gold); color: var(--ink); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding: 22px 0; border-top: 1px solid #1d2a36; color: #788a99; font-size: .78rem; }

.reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s ease; }
.reveal.in { opacity: 1; transform: none; }

@media (max-width: 1080px) {
  .header-top { grid-template-columns: 140px 1fr auto; }
  .site-nav { position: fixed; inset: 117px 0 0; display: none; padding: 40px 28px; background: var(--ink); }
  .site-nav.open { display: block; }
  .site-nav ul { display: grid; gap: 8px; }
  .site-nav a { display: block; padding: 10px 0; font-family: var(--serif); font-size: 1.4rem; }
  .menu-toggle { display: block; }
  .footer-main { grid-template-columns: repeat(2, 1fr); }
  .difference-principles__layout { grid-template-columns: 1fr; gap: 48px; }
  .difference-principles__intro { position: static; }
  .difference-principles__intro p { max-width: 680px; }
  .difference-principles__mark { display: none; }
  .community-covenant__layout { grid-template-columns: 1fr; gap: 50px; }
  .community-covenant__promise { min-height: 390px; }
  .community-keys__layout { grid-template-columns: 1fr; gap: 44px; }
  .community-keys__intro { position: static; }
  .community-keys__intro > span { display: none; }
  .community-finale { grid-template-columns: .85fr 1.15fr; }
  .values-manifesto__layout { grid-template-columns: .75fr 1.25fr; gap: 55px; }
  .values-vision__body { gap: 60px; }
  .dream-opening__layout, .dream-release__layout { grid-template-columns: 1fr 1fr; gap: 48px; }
  .dream-opening__visual { min-height: 540px; }
  .dream-release__portrait img { height: 470px; }
  .dream-principles__layout { grid-template-columns: .55fr 1.45fr; gap: 45px; }
}

@media (max-width: 760px) {
  :root { --wrap: min(100% - 28px, 1180px); }
  .header-top { min-height: 76px; grid-template-columns: 1fr auto; }
  .header-utility__inner > span, .header-utility a[href^="tel:"] { display: none; }
  .header-utility__inner { justify-content: center; }
  .header-utility nav { width: 100%; justify-content: space-between; gap: 12px; }
  .brand img { width: 96px; height: 62px; }
  .header-actions .button { display: inline-flex; min-height: 38px; padding: 8px 12px; font-size: .66rem; }
  .site-nav { inset: 107px 0 0; }
  .hero { min-height: 570px; }
  .hero::after { background: linear-gradient(180deg, rgba(4,14,25,.24), rgba(4,14,25,.96) 66%, rgba(4,14,25,.99)); }
  .hero-slides span { background-position: 62% center; }
  .hero-inner { padding: 78px 0 46px; }
  .hero h1 { font-size: clamp(2.75rem, 12vw, 4rem); }
  .hero-stat { flex-wrap: wrap; gap: 22px; }
  .home-manifesto__intro { grid-template-columns: 1fr; }
  .home-manifesto__intro > div:last-child { grid-template-columns: 1fr; }
  .home-manifesto__path { grid-template-columns: 1fr; gap: 44px; }
  .home-manifesto__path::before { display: none; }
  .home-manifesto__path li { padding-left: 28px; border-left: 1px solid rgba(213,169,81,.35); }
  .home-manifesto__path li > i { left: -8px; top: 4px; }
  .home-manifesto__path strong { min-height: 0; }
  .home-manifesto__footer { align-items: flex-start; flex-direction: column; }
  .vibe-moments__heading { grid-template-columns: 1fr; gap: 18px; }
  .event-introduction__heading { grid-template-columns: 1fr; gap: 28px; }
  .event-introduction__heading h2 br { display: none; }
  .event-introduction__path { grid-template-columns: 1fr; gap: 12px; margin: 40px 0; }
  .event-introduction__path i { padding-left: 10px; transform: rotate(90deg); transform-origin: left center; }
  .event-introduction__closing { align-items: stretch; flex-direction: column; }
  .event-introduction__closing .button { width: 100%; }
  .event-card-grid { grid-template-columns: 1fr; grid-auto-rows: 390px; }
  .event-card--1, .event-card--2, .event-card--3, .event-card--4, .event-card--5, .event-card--6 { grid-column: auto; }
  .event-card__copy { padding: 26px 22px; }
  .offer-experience__heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 36px; }
  .offer-experience__heading h2 br { display: none; }
  .offer-experience__grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .offer-experience__card, .offer-experience__card--relationship { min-height: 450px; grid-row: auto; }
  .offer-experience__copy, .offer-experience__card--relationship .offer-experience__copy { padding: 28px 24px; }
  .offer-experience__footer { align-items: stretch; flex-direction: column; }
  .offer-experience__footer .button { width: 100%; }
  .trust-section__heading { grid-template-columns: 1fr; gap: 26px; margin-bottom: 38px; }
  .trust-section__heading h2 br { display: none; }
  .trust-section__body { grid-template-columns: 1fr; }
  .trust-section__visual { min-height: 430px; }
  .trust-section__visual figcaption { left: 24px; right: 24px; bottom: 24px; }
  .trust-section__principles { grid-template-columns: 1fr; }
  .trust-section__principles article { min-height: auto; padding: 24px 22px; }
  .trust-section__principles article > span { margin-bottom: 25px; }
  .trust-section__footer { align-items: stretch; flex-direction: column; }
  .trust-section__footer .button-row { width: 100%; }
  .trust-section__footer .button { flex: 1 1 100%; }
  .vibe-moments__grid { grid-template-columns: 1fr; grid-template-rows: repeat(4, 260px); }
  .vibe-moments__grid figure:first-child, .vibe-moments__grid figure:last-child { grid-column: auto; grid-row: auto; }
  .signature-experiences { min-height: 560px; }
  .home-contact__layout { grid-template-columns: 1fr; gap: 50px; }
  .home-contact__intro h2 br { display: none; }
  .home-contact__form > header { padding: 28px 22px 24px; }
  .home-contact__form form { padding: 26px 22px 30px; }
  .home-contact__form .status { margin: 22px 22px 0; }
  .home-contact__submit { grid-template-columns: 1fr; }
  .home-contact__submit .button { width: 100%; }
  .page-hero { min-height: 390px; padding: 110px 0 54px; }
  .page-hero::before { background-position: 66% center; }
  .page-hero::after { background: linear-gradient(180deg, rgba(4,14,25,.34), rgba(4,14,25,.94) 68%, rgba(4,14,25,.99)); }
  .page-hero h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .welcome-editorial { grid-template-columns: 1fr; gap: 42px; }
  .welcome-editorial__intro { position: static; padding-top: 0; }
  .welcome-editorial__intro h2 { font-size: clamp(2.8rem, 13vw, 4.15rem); }
  .welcome-letter { padding: 34px 24px; }
  .welcome-letter::after { right: 16px; top: 18px; font-size: 6rem; }
  .welcome-letter__top { margin-bottom: 34px; }
  .application-preview__heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 34px; }
  .application-preview__grid { grid-template-columns: 1fr; }
  .application-preview-card { padding: 24px 20px; }
  .announcement-inner { grid-template-columns: 1fr; gap: 5px; padding: 22px 0; }
  .split, .split--wide, .manifesto, .content-grid, .cta-inner { grid-template-columns: 1fr; }
  .manifesto-quote, .side-card { position: static; }
  .card-grid, .tier-grid { grid-template-columns: 1fr; }
  .event-gallery__heading { grid-template-columns: 1fr; gap: 22px; }
  .event-gallery__heading h2 br { display: none; }
  .event-carousel__track { gap: 12px; }
  .event-carousel__slide { flex-basis: 91%; height: 430px; }
  .event-carousel__caption { left: 24px; right: 24px; bottom: 24px; }
  .event-carousel__controls { grid-template-columns: auto 1fr; }
  .event-carousel__progress { justify-content: flex-end; }
  .event-carousel__count { display: none; }
  .journey { grid-template-columns: 1fr 1fr; }
  .journey-item:nth-child(2) { border-right: 0; }
  .journey-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .form-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .tier-choice-grid { grid-template-columns: 1fr; }
  .application-actions { align-items: stretch; flex-direction: column-reverse; }
  .application-actions .button { width: 100%; }
  .tier-card { min-height: 510px; padding: 30px 26px; }
  .member-benefits__intro, .member-benefits__event, .member-benefits__sessions { grid-template-columns: 1fr; }
  .member-benefits__intro { gap: 18px; margin-bottom: 34px; }
  .member-benefits__event figure { min-height: 320px; }
  .member-benefits__event-copy, .member-benefits__session-copy { padding: 36px 24px; }
  .member-benefits__portrait { min-height: 430px; }
  .member-benefits__topics { grid-template-columns: 1fr; }
  .member-benefits__film { grid-template-columns: auto 1fr; padding: 28px 22px; }
  .member-benefits__film p { grid-column: 1 / -1; }
  .applicant-details__layout { grid-template-columns: 1fr; gap: 44px; }
  .applicant-details__list { grid-template-columns: 1fr; }
  .applicant-details__list li:nth-child(odd) { border-right: 0; }
  .applicant-details__list li:nth-child(even) { padding-left: 0; }
  .applicant-details__visual { position: static; order: -1; }
  .applicant-details__visual img { height: 430px; }
  .application-modal { align-items: end; padding: 0; }
  .application-modal__dialog { width: 100%; max-height: 94vh; border-radius: 18px 18px 0 0; }
  .application-modal__header { min-height: 145px; padding: 32px 62px 26px 24px; }
  .application-modal__close { top: 18px; right: 18px; }
  .application-stepper { padding: 0 18px; }
  .application-stepper > span { justify-content: center; padding: 17px 4px; }
  .application-stepper b { display: none; }
  .application-stepper > span::after { right: 0; }
  .application-modal__body { padding: 30px 20px 34px; }
  .application-modal > .application-modal__dialog > .status { margin: 18px 20px 0; }
  .application-mini-step { padding: 22px 18px; }
  .application-mini-step > header > span { width: 40px; height: 40px; }
  .application-mini-step .choice:not(.choice--inline) { padding: 13px; }
  .application-review { grid-template-columns: 1fr; }
  .application-review strong { grid-row: auto; margin: 4px 0; }
  .application-cost > header { align-items: start; flex-direction: column; }
  .application-cost__rows p { align-items: start; flex-direction: column; gap: 4px; }
  .application-cost__rows strong { max-width: none; text-align: left; }
  .application-cost > footer { grid-template-columns: 1fr; }
  .application-cost > footer > div { padding: 0 0 14px; border-right: 0; border-bottom: 1px solid #d7d0c4; }
  .payment-preference__grid { grid-template-columns: 1fr; }
  .payment-preference__grid label > span { min-height: 104px; }
  .footer-main { grid-template-columns: 1fr; }
  .offer-ticker__group { min-height: 44px; gap: 16px; padding-right: 16px; font-size: .68rem; }
  .offer-ticker__track { animation-duration: 25s; }
  .platform-story__layout, .difference-welcome__layout { grid-template-columns: 1fr; }
  .difference-welcome__copy .button-row { grid-template-columns: 1fr; }
  .difference-principle { grid-template-columns: 46px 1fr; gap: 12px; padding: 30px 0 34px; }
  .difference-principle:hover { padding-left: 10px; }
  .community-covenant__promise { min-height: 360px; padding: 38px 28px; clip-path: polygon(0 0, 94% 0, 100% 8%, 100% 100%, 6% 100%, 0 92%); }
  .community-key summary { grid-template-columns: 42px 1fr; gap: 12px; padding: 25px 42px 25px 0; }
  .community-key > p { margin: 0 20px 0 54px; padding-bottom: 28px; }
  .community-finale { grid-template-columns: 1fr; }
  .community-finale__image { min-height: 420px; }
  .community-finale__content { padding: 58px 24px 68px; }
  .values-manifesto { padding: 82px 0 95px; }
  .values-manifesto__layout, .values-vision__top, .values-vision__body { grid-template-columns: 1fr; gap: 42px; }
  .values-manifesto__heading { position: static; }
  .values-manifesto__heading h2 br { display: none; }
  .values-manifesto__heading > span { display: none; }
  .values-manifesto__logo { width: min(280px, 72vw); margin-top: 32px; padding: 15px 18px; }
  .values-commitment { grid-template-columns: 58px 34px 1fr; gap: 12px; padding: 25px 0; }
  .values-commitment:hover { padding-left: 8px; }
  .values-commitment__icon { width: 52px; height: 52px; }
  .values-commitment__icon svg { width: 29px; height: 29px; }
  .values-vision { padding: 86px 0 70px; }
  .values-vision__top { padding-bottom: 55px; }
  .values-vision__label { max-width: 180px; }
  .values-vision__aside { min-height: 220px; }
  .values-cycle { align-items: stretch; flex-direction: column; margin-top: 75px; padding: 34px 24px; }
  .values-cycle .button { width: 100%; }
  .dream-opening { padding: 76px 0 100px; }
  .dream-opening__layout, .dream-release__layout, .dream-principles__layout { grid-template-columns: 1fr; }
  .dream-opening__visual { min-height: 520px; }
  .dream-opening__copy h2 { margin-top: 12px; }
  .dream-release { padding-top: 88px; }
  .dream-release__portrait { width: calc(100% - 28px); margin: 34px 0 0 28px; }
  .dream-release__portrait img { height: 500px; }
  .dream-release__portrait figcaption { left: -28px; }
  .dream-principles__intro { position: static; }
  .dream-principles__words > span { grid-template-columns: 46px 1fr; font-size: clamp(2.8rem, 13vw, 4.5rem); }
  .dream-principles__closing { grid-column: 1; }
  .dream-finale { min-height: 650px; padding: 100px 0 70px; background-position: 62% center; }
  .dream-finale::before { background: linear-gradient(0deg, rgba(4,14,25,.97), rgba(4,14,25,.25) 82%); }
  .platform-story__visual, .difference-welcome__visual { min-height: 470px; }
  .trust-growth__heading { margin-bottom: 50px; text-align: left; }
  .trust-growth__heading p { margin-left: 0; }
  .trust-growth__timeline { gap: 18px; }
  .trust-growth__timeline::before { left: 23px; }
  .trust-growth__card, .trust-growth__card:nth-child(even) { width: calc(100% - 42px); align-self: flex-end; grid-template-columns: 46px 1fr; gap: 17px; min-height: 0; padding: 27px 24px; }
  .trust-growth__card::after, .trust-growth__card:nth-child(odd)::after, .trust-growth__card:nth-child(even)::after { left: -20px; right: auto; top: 39px; width: 19px; }
  .trust-growth__card.reveal:nth-child(odd), .trust-growth__card.reveal:nth-child(even) { transform: translateX(45px); }
  .trust-growth__card.reveal.in { transform: none; }
  .trust-growth__number { width: 46px; height: 46px; }
  .why-editorial__layout { grid-template-columns: 1fr; gap: 34px; }
  .why-editorial__heading > span { display: none; }
  .why-editorial__community { margin-top: 64px; }
  .footer-bottom { flex-direction: column; }
  .cta .button-row { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .hero-slides span { display: none; }
  .hero-slides span:first-child { display: block; opacity: 1; transform: none; }
  .reveal { opacity: 1; transform: none; }
}
