:root {
  --navy: #07173d;
  --navy-deep: #040a1d;
  --ink: #11151b;
  --gold: #d4af5a;
  --gold-bright: #efd98e;
  --bronze: #8e672c;
  --stone: #eee9dc;
  --paper: #f7f4eb;
  --line: rgba(212,175,90,.34);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 1rem/1.65 "DM Sans", sans-serif; }
a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 20; background: white; padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 10; color: white; border-bottom: 1px solid rgba(255,255,255,.13); transition: background .25s, box-shadow .25s; }
.site-header.scrolled { background: rgba(4,10,29,.96); box-shadow: 0 8px 30px rgba(0,0,0,.2); }
.nav-shell { width: min(1180px, calc(100% - 3rem)); height: 86px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.brand-logo { width: 46px; height: 46px; object-fit: cover; border-radius: 50%; box-shadow: 0 0 0 1px rgba(212,175,90,.35); }
.brand-name { color: var(--gold-bright); font: 1.16rem/1 "Forum", serif; letter-spacing: .12em; text-transform: uppercase; }
.brand-name small { display: block; margin-top: .32rem; color: white; font: 500 .56rem/1 "DM Sans", sans-serif; letter-spacing: .55em; }
#site-nav { display: flex; align-items: center; gap: 1.75rem; }
#site-nav a { position: relative; text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-size: .74rem; font-weight: 600; }
#site-nav a:not(.nav-portal)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.5rem; height: 1px; background: var(--gold); transition: right .2s; }
#site-nav a:hover::after, #site-nav a:focus-visible::after { right: 0; }
.nav-portal { border: 1px solid var(--gold); padding: .75rem 1rem; color: var(--gold-bright); }
.menu-toggle { display: none; color: white; background: transparent; border: 1px solid var(--line); padding: .6rem .8rem; text-transform: uppercase; letter-spacing: .12em; }
.hero { min-height: 830px; height: 100svh; position: relative; display: grid; align-items: center; overflow: hidden; color: white; background: var(--navy-deep); }
.hero-image { position: absolute; inset: 0; background: url('https://upload.wikimedia.org/wikipedia/commons/9/9a/CMC-Union_Terminal.jpg') center 44% / cover no-repeat; transform: scale(1.02); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,10,29,.98) 0%, rgba(4,10,29,.88) 41%, rgba(4,10,29,.28) 74%, rgba(4,10,29,.48) 100%), linear-gradient(0deg, rgba(4,10,29,.92), transparent 45%); }
.hero-frame { position: absolute; inset: 115px 2.4rem 2.4rem; border: 1px solid rgba(212,175,90,.35); clip-path: polygon(0 0, 42% 0, 44% 2px, 56% 2px, 58% 0, 100% 0, 100% 100%, 0 100%); }
.hero-frame::before, .hero-frame::after { content: ""; position: absolute; bottom: 0; width: 140px; height: 140px; border-top: 1px solid var(--line); }
.hero-frame::before { left: 0; transform: skewY(-45deg); transform-origin: left bottom; }
.hero-frame::after { right: 0; transform: skewY(45deg); transform-origin: right bottom; }
.hero-content { position: relative; width: min(1180px, calc(100% - 3rem)); margin: 4rem auto 0; }
.eyebrow { color: var(--gold-bright); text-transform: uppercase; letter-spacing: .3em; font-size: .73rem; font-weight: 600; }
.eyebrow.dark { color: var(--bronze); }
h1, h2, h3 { font-family: "Forum", Georgia, serif; font-weight: 400; }
h1 { max-width: 900px; margin: 1.2rem 0 1.4rem; font-size: clamp(4rem, 7.2vw, 7.5rem); line-height: .89; letter-spacing: -.025em; text-wrap: balance; }
h1 em, .closing h2 em { color: var(--gold-bright); font-style: normal; }
.hero-copy { max-width: 650px; margin: 0 0 2.2rem; color: rgba(255,255,255,.78); font-size: 1.15rem; }
.hero-copy strong { color: white; }
.hero-actions, .closing-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 0 1.6rem; text-decoration: none; text-transform: uppercase; letter-spacing: .13em; font-size: .75rem; font-weight: 600; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button-gold { color: #11100b; background: linear-gradient(120deg, #b78c32, #f0d875 52%, #bc9036); }
.button-line { color: white; border: 1px solid rgba(255,255,255,.55); }
.hero-index { position: absolute; right: 4rem; bottom: 4rem; display: flex; align-items: center; gap: .75rem; color: white; font-size: .68rem; letter-spacing: .1em; }
.hero-index i { display: block; width: 64px; height: 1px; background: var(--gold); }
.photo-credit { position: absolute; left: 4rem; bottom: 3.2rem; margin: 0; opacity: .55; font-size: .64rem; letter-spacing: .08em; }
.guild-invitation { position: relative; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr); width: 100%; min-height: 100svh; color: white; background: #071229; border-block: 1px solid rgba(212,175,90,.72); overflow: hidden; isolation: isolate; }
.guild-invitation::before { content: ""; position: absolute; z-index: 4; inset: 2rem; border: 1px solid rgba(212,175,90,.34); pointer-events: none; }
.guild-invitation::after { content: ""; position: absolute; z-index: 5; inset: 0; background: linear-gradient(112deg,#5b1225 0 42%,#b48534 42.2% 42.7%,#081631 43% 100%); pointer-events: none; transform: translateX(-105%); }
.guild-invitation.motion-ready::after { transform: translateX(0); transition: transform 1.05s cubic-bezier(.72,0,.18,1); }
.guild-invitation.motion-ready.is-visible::after { transform: translateX(105%); }
.guild-invitation-image { position: relative; min-height: 100svh; overflow: hidden; }
.guild-invitation-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,10,29,.08) 48%,#081632 100%),linear-gradient(0deg,rgba(4,10,29,.48),transparent 54%); }
.guild-invitation-image img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; display: block; transform: scale(1); }
.guild-invitation.motion-ready .guild-invitation-image img { transform: scale(1.1); transition: transform 1.45s cubic-bezier(.2,.7,.2,1); }
.guild-invitation.motion-ready.is-visible .guild-invitation-image img { transform: scale(1); }
.guild-invitation-copy { position: relative; z-index: 3; align-self: center; padding: clamp(5rem,8vw,9rem) clamp(3.5rem,7vw,8rem) clamp(6rem,9vw,10rem) clamp(3rem,6vw,7rem); background: radial-gradient(circle at 15% 30%,rgba(212,175,90,.13),transparent 32%),linear-gradient(135deg,#0a1939,#071229 64%,#260b17); }
.guild-invitation-copy::before { content: "The Renaissance USA Guild"; display: block; margin-bottom: 1.2rem; color: rgba(255,255,255,.38); font-size: .66rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.guild-invitation.motion-ready .guild-invitation-copy > * { opacity: 0; transform: translateY(34px); transition: opacity .65s ease,transform .75s cubic-bezier(.2,.7,.2,1); }
.guild-invitation.motion-ready.is-visible .guild-invitation-copy > * { opacity: 1; transform: translateY(0); }
.guild-invitation.motion-ready.is-visible .guild-invitation-copy > :nth-child(2) { transition-delay: .1s; }
.guild-invitation.motion-ready.is-visible .guild-invitation-copy > :nth-child(3) { transition-delay: .18s; }
.guild-invitation.motion-ready.is-visible .guild-invitation-copy > :nth-child(4) { transition-delay: .25s; }
.guild-invitation.motion-ready.is-visible .guild-invitation-copy > :nth-child(5) { transition-delay: .32s; }
.guild-invitation-copy h2 { max-width: 640px; margin: .65rem 0 1.35rem; font-size: clamp(4rem,6.3vw,7rem); line-height: .88; }
.guild-invitation-copy h2 em { color: var(--gold-bright); font-style: normal; }
.guild-invitation-copy > p:not(.eyebrow,.guild-invitation-standard) { max-width: 620px; margin: 0 0 1.2rem; color: rgba(255,255,255,.75); font-size: clamp(1rem,1.3vw,1.2rem); }
.guild-invitation-standard { margin: 0 0 2rem; color: var(--gold-bright); font: 1.08rem/1.4 "Forum",serif; letter-spacing: .07em; }
.guild-invitation-cue { position: absolute; z-index: 4; right: 3.5rem; bottom: 3rem; display: flex; align-items: center; gap: .8rem; color: rgba(255,255,255,.56); font-size: .62rem; letter-spacing: .17em; text-transform: uppercase; }
.guild-invitation-cue i { width: 54px; height: 1px; background: var(--gold); }
.manifesto { display: grid; grid-template-columns: .2fr 1.15fr .85fr; gap: clamp(2rem,5vw,6rem); width: min(1180px, calc(100% - 3rem)); margin: auto; padding: 9rem 0; }
.section-number { color: var(--bronze); font: 1.1rem/1 "Forum", serif; border-top: 1px solid var(--gold); padding-top: .65rem; }
.manifesto h2, .model h2, .standards h2 { margin: .9rem 0 0; font-size: clamp(2.8rem, 4.4vw, 5rem); line-height: 1.02; letter-spacing: -.02em; }
.manifesto-copy { padding-top: 2rem; color: #4d4d4a; }
.manifesto-copy p:first-child { color: var(--ink); font-size: 1.1rem; }
.text-link { display: inline-flex; gap: .8rem; align-items: center; margin-top: 1rem; color: var(--navy); font-size: .8rem; text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-weight: 600; border-bottom: 1px solid var(--gold); padding-bottom: .4rem; }
.text-link span { font-size: 1.2rem; color: var(--bronze); }
.button-navy { color: white; background: var(--navy); border: 1px solid var(--navy); }
.model { background: var(--navy-deep); color: white; padding: 9rem max(1.5rem, calc((100% - 1180px)/2)); }
.model-heading { display: grid; grid-template-columns: 1.1fr .9fr; column-gap: 5rem; align-items: end; margin-bottom: 4rem; }
.model-heading .eyebrow { grid-column: 1 / -1; }
.model-heading h2 { max-width: 740px; }
.model-heading > p:last-child { color: rgba(255,255,255,.62); margin: 0 0 .4rem; }
.foundation-card { position: relative; display: grid; grid-template-columns: 70px 1fr .85fr; gap: 2rem; padding: 3rem; background: linear-gradient(120deg, rgba(27,48,94,.86), rgba(9,21,53,.95)); border: 1px solid var(--gold); overflow: hidden; }
.foundation-card::after { content: ""; position: absolute; right: -90px; top: -90px; width: 260px; height: 260px; border: 1px solid var(--line); transform: rotate(45deg); }
.card-mark { color: var(--gold-bright); font: 2rem/1 "Forum", serif; }
.card-label { color: var(--gold); text-transform: uppercase; letter-spacing: .18em; font-size: .7rem; font-weight: 600; }
.foundation-card h3, .pillar-card h3 { margin: .5rem 0 .8rem; font-size: 2.2rem; line-height: 1.05; }
.foundation-card p, .pillar-card p { color: rgba(255,255,255,.68); }
.foundation-card ul { margin: 2.4rem 0 0; padding: 0; list-style: none; position: relative; z-index: 1; }
.foundation-card li { padding: .7rem 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .9rem; }
.supporting-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(212,175,90,.45); border-top: 0; }
.pillar-card { min-height: 310px; padding: 2.7rem; border-right: 1px solid rgba(212,175,90,.3); transition: background .25s, transform .25s; }
.pillar-card:last-child { border-right: 0; }
.pillar-card:hover { background: rgba(212,175,90,.07); transform: translateY(-4px); }
.pillar-card .card-mark { display: block; margin-bottom: 3rem; }
.card-link { display: inline-flex; gap: .7rem; margin-top: 1rem; color: var(--gold-bright); text-decoration: none; text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; }
.guild-actions { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.guild-actions .text-link { margin-top: 0; }
.guild { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem,7vw,8rem); width: min(1180px, calc(100% - 3rem)); margin: auto; padding: 9rem 0; align-items: center; }
.guild-intro h2 { margin: .9rem 0 1.5rem; font-size: clamp(3.3rem,5.3vw,5.8rem); line-height: .95; }
.guild-intro > p:not(.eyebrow) { color: #5f5b52; margin-bottom: 2rem; }
.guild-categories { border-top: 1px solid #b9aa82; }
.guild-categories a { display: grid; grid-template-columns: 44px 1fr; gap: .25rem 1.2rem; padding: 1.5rem .7rem; text-decoration: none; border-bottom: 1px solid #b9aa82; transition: background .2s, padding .2s; }
.guild-categories a:hover { background: #eee9dc; padding-left: 1.2rem; }
.guild-categories span { grid-row: 1 / 3; color: var(--bronze); font: 1rem/1.5 "Forum",serif; }
.guild-categories b { font: 1.45rem/1.2 "Forum",serif; }
.guild-categories small { color: #6e695f; font-size: .8rem; }
.standards { width: min(1180px, calc(100% - 3rem)); margin: auto; padding: 9rem 0; }
.standards-title { display: grid; grid-template-columns: 1fr .72fr; gap: 5rem; align-items: end; margin-bottom: 4rem; }
.standards-title .eyebrow { grid-column: 1 / -1; }
.standards-title p:last-child { color: #5f5b52; }
.standard-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.standard { position: relative; min-height: 410px; padding: 2.8rem; overflow: hidden; border: 1px solid #c6b991; }
.standard::after { content: attr(data-letter); position: absolute; right: -1rem; bottom: -5rem; color: rgba(212,175,90,.12); font: 18rem/1 "Forum", serif; }
.standard.heritage::after { content: "H"; }
.standard.heirloom::after { content: "HH"; right: -6rem; }
.standard-top { display: flex; justify-content: space-between; text-transform: uppercase; letter-spacing: .15em; font-size: .73rem; }
.standard-top b { color: var(--bronze); }
.standard h3 { max-width: 390px; margin: 6rem 0 1rem; font-size: 2.5rem; line-height: 1.05; }
.standard p { max-width: 490px; color: #59564f; position: relative; z-index: 1; }
.heirloom { color: white; background: var(--navy); border-color: var(--gold); }
.heirloom p { color: rgba(255,255,255,.68); }
.standard-code { position: absolute; left: 2.8rem; bottom: 2.2rem; color: var(--bronze); letter-spacing: .2em; font-size: .72rem; }
.closing { position: relative; color: white; background: linear-gradient(135deg, #091b48, #040a1d); padding: 9rem max(1.5rem, calc((100% - 1180px)/2)); overflow: hidden; }
.closing::before { content: ""; position: absolute; width: 650px; height: 650px; border: 1px solid var(--line); border-radius: 50%; right: -120px; top: -260px; box-shadow: 0 0 0 80px rgba(212,175,90,.025), 0 0 0 160px rgba(212,175,90,.018); }
.closing h2 { margin: .8rem 0 1.3rem; font-size: clamp(4rem, 7vw, 7rem); line-height: .9; }
.closing > p:not(.eyebrow) { max-width: 620px; color: rgba(255,255,255,.67); font-size: 1.1rem; }
.closing-actions { margin-top: 2.2rem; }
.text-link.light { color: white; margin: 0 0 0 1rem; }
footer { color: rgba(255,255,255,.72); background: #02050d; padding: 3.5rem max(1.5rem, calc((100% - 1180px)/2)); display: flex; justify-content: space-between; align-items: end; border-top: 1px solid var(--line); }
footer .brand { color: white; }
.footer-brand p { margin: 1rem 0 0; font-size: .8rem; }
.footer-meta { display: flex; gap: 2rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
.directory-page { background: var(--paper); }
.directory-hero { color: white; background: radial-gradient(circle at 78% 24%, rgba(212,175,90,.17), transparent 24%), linear-gradient(135deg,#07173d,#030817); padding: 12rem max(1.5rem,calc((100% - 1180px)/2)) 7rem; border-bottom: 1px solid var(--gold); }
.directory-hero h1 { margin: 1rem 0 1.5rem; }
.directory-hero h2 { margin: 1rem 0 1.5rem; color: white; font-size: clamp(4rem,7vw,7rem); line-height: .9; }
.directory-hero h2 em { color: var(--gold-bright); font-style: normal; }
.directory-hero > p:last-child { max-width: 700px; color: rgba(255,255,255,.72); font-size: 1.12rem; }
.directory-shell { width: min(1180px,calc(100% - 3rem)); margin: auto; padding: 4rem 0 8rem; }
.directory-tools { padding: 1.5rem; border: 1px solid #cabd99; background: white; }
.search-field { display: grid; gap: .5rem; color: var(--bronze); font-size: .7rem; text-transform: uppercase; letter-spacing: .15em; font-weight: 600; }
.search-field input { width: 100%; border: 0; border-bottom: 1px solid #a99f84; padding: .7rem 0 1rem; color: var(--ink); background: transparent; font: 1.35rem "Forum",serif; outline: 0; }
.search-field input:focus { border-bottom-color: var(--navy); }
.filter-group { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem; }
.filter { border: 1px solid #c7bfa9; background: transparent; padding: .65rem .9rem; color: #4b4a46; font: 600 .7rem "DM Sans",sans-serif; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.filter.active,.filter:hover { color: white; background: var(--navy); border-color: var(--navy); }
.directory-status { text-align: center; padding: 7rem 1rem 5rem; max-width: 800px; margin: auto; }
.directory-logo { display: block; width: 112px; height: 112px; object-fit: cover; margin: 0 auto 2rem; border-radius: 50%; box-shadow: 0 0 0 1px var(--gold),0 10px 30px rgba(7,23,61,.12); }
.directory-status h2 { margin: 1rem 0; font-size: clamp(2.5rem,4vw,4rem); line-height: 1; }
.directory-status > p:not(.eyebrow) { color: #656158; }
.directory-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; }
.directory-actions .text-link { margin-top: 0; }
.how-it-works { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid #cabd99; }
.how-it-works article { padding: 2rem; border-right: 1px solid #cabd99; }
.how-it-works article:last-child { border: 0; }
.how-it-works span { color: var(--bronze); font-size: .75rem; letter-spacing: .15em; }
.how-it-works h3 { font-size: 1.8rem; margin: 1.5rem 0 .5rem; }
.how-it-works p { color: #625e55; font-size: .9rem; }
.partnership-page { background: #f5f0e3; }
.catalog-full { scroll-margin-top: 86px; background: var(--paper); }
.catalog-full .directory-hero { padding-top: 7rem; }
.exposition-hero { position: relative; min-height: 950px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: white; background: radial-gradient(ellipse at center,rgba(150,35,54,.55),transparent 48%),linear-gradient(90deg,#17040a,#4b0e1b 17%,#25060d 100%); padding: 13rem max(2.2rem,calc((100% - 1180px)/2)) 7rem; overflow: hidden; }
.exposition-hero::before { content: ""; position: absolute; inset: 0; opacity: .32; background: repeating-linear-gradient(90deg,#21050b 0,#21050b 7%,#521021 7.5%,#27070f 11%,#21050b 15%); }
.exposition-border { position: absolute; inset: 7.2rem 2rem 2rem; border: 1px solid rgba(239,217,142,.52); box-shadow: inset 0 0 70px rgba(0,0,0,.45); }
.exposition-border::before,.exposition-border::after { content: ""; position: absolute; width: 130px; height: 130px; border: 1px solid rgba(239,217,142,.45); transform: rotate(45deg); }
.exposition-border::before { left: -66px; top: -66px; }.exposition-border::after { right: -66px; bottom: -66px; }
.theater-canopy { position: absolute; z-index: 1; top: 76px; left: 50%; width: min(1020px,calc(100% - 5rem)); height: 62px; transform: translateX(-50%); border: 2px solid #d4af5a; background-color: #3a0b16; background-image: radial-gradient(circle,#fff1ad 0 3px,#d4af5a 4px 6px,transparent 7px); background-size: 27px 27px; box-shadow: 0 10px 35px rgba(0,0,0,.55),0 0 22px rgba(255,215,112,.28); }
.theater-canopy span { position: absolute; bottom: -28px; width: 34%; height: 28px; background: linear-gradient(#d4af5a,#7c541d); clip-path: polygon(0 0,100% 0,94% 100%,6% 100%); }.theater-canopy span:nth-child(1){left:0}.theater-canopy span:nth-child(2){left:33%}.theater-canopy span:nth-child(3){right:0}
.exposition-kicker { position: absolute; z-index: 2; inset: 11.5rem max(3rem,calc((100% - 900px)/2)) auto; display: flex; justify-content: space-between; color: var(--gold-bright); text-transform: uppercase; letter-spacing: .18em; font-size: .65rem; }
.exposition-kicker b { font-weight: 500; }
.exposition-hero > *:not(.exposition-border,.exposition-seal) { position: relative; z-index: 1; }
.marquee-sign { position: relative; z-index: 1; width: min(900px,calc(100% - 3rem)); margin-top: 4rem; padding: 4.5rem 3rem 3.8rem; color: #2b0a12; background: linear-gradient(135deg,#fff9df,#e8d59a 48%,#fff4c9); border: 12px solid #a57325; outline: 3px solid #f5df8c; box-shadow: 0 0 0 12px #48101c,0 0 0 15px #d4af5a,0 20px 60px rgba(0,0,0,.58); }
.marquee-sign::before { content: ""; position: absolute; inset: 7px; border: 2px solid #6c1425; pointer-events: none; }
.marquee-sign .eyebrow { color: #7b1b2d; }.marquee-sign h1 { max-width: 900px; margin: .6rem 0 1rem; color: #07173d; font-size: clamp(4.3rem,7.3vw,7.7rem); text-shadow: 0 2px 0 white; }.marquee-sign h1 em { color: #78172a; }.marquee-billing { margin: 0; color: #6a4a18; text-transform: uppercase; letter-spacing: .24em; font-size: .75rem; font-weight: 600; }
.exposition-copy { position: relative; z-index: 1; max-width: 700px; margin: 3rem 0 1.7rem; color: rgba(255,255,255,.82); font-size: 1.12rem; }
.button-cream { color: #35101a; background: var(--gold-bright); }
.exposition-seal { position: absolute; right: max(4rem,calc((100% - 1180px)/2)); bottom: 4rem; width: 150px; height: 150px; display: grid; place-content: center; text-align: center; border: 1px solid var(--gold-bright); border-radius: 50%; box-shadow: inset 0 0 0 8px #4b1120,inset 0 0 0 9px var(--gold-bright); transform: rotate(-8deg); }
.exposition-seal span { color: var(--gold-bright); font: 2rem/1 "Forum",serif; }.exposition-seal small { margin-top: .5rem; text-transform: uppercase; letter-spacing: .15em; font-size: .55rem; }
.featured-billing { position: relative; color: white; background: #08090d; padding: 8rem max(1.5rem,calc((100% - 1180px)/2)); border-block: 1px solid #d4af5a; overflow: hidden; }
.featured-billing::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(90deg,transparent 49.8%,#d4af5a 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#d4af5a 50%,transparent 50.2%); background-size: 90px 90px; }
.billing-heading { position: relative; z-index: 1; max-width: 800px; margin: 0 auto 4rem; text-align: center; }.billing-heading h2 { margin: .7rem 0 1rem; color: var(--gold-bright); font-size: clamp(3.8rem,6vw,6.4rem); line-height: .9; }.billing-heading > p:last-child { max-width: 650px; margin-inline: auto; color: rgba(255,255,255,.65); }
.marquee-carousel { position: relative; z-index: 1; display: grid; grid-template-columns: 70px minmax(0,760px) 70px; align-items: center; justify-content: center; gap: 1.5rem; }
.carousel-stage { min-width: 0; }
.poster-case { position: relative; min-height: 510px; display: flex; flex-direction: column; justify-content: flex-end; padding: 4.5rem 4rem; color: #f7edcb; text-align: center; background: radial-gradient(circle at 50% 26%,rgba(226,65,91,.4),transparent 25%),linear-gradient(165deg,#671529,#2a0911); border: 13px solid #9b6d27; outline: 2px solid #e6ca75; box-shadow: 0 18px 38px rgba(0,0,0,.44); }
.poster-case[hidden] { display: none; }
.poster-case[data-slide="1"],.poster-case[data-slide="4"] { background: radial-gradient(circle at 50% 26%,rgba(50,104,199,.35),transparent 25%),linear-gradient(165deg,#0e2d66,#071329); }.poster-case[data-slide="2"],.poster-case[data-slide="5"] { background: radial-gradient(circle at 50% 26%,rgba(194,143,52,.33),transparent 25%),linear-gradient(165deg,#684819,#211405); }
.poster-case::before { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(255,239,178,.48); }
.poster-lights { position: absolute; inset: -10px; border: 2px dotted #fff2b1; filter: drop-shadow(0 0 5px #ffd76d); pointer-events: none; }
.poster-type { position: absolute; inset: 2.2rem 1rem auto; color: #f4d981; text-transform: uppercase; letter-spacing: .17em; font-size: .7rem; }.poster-case h3 { position: relative; margin: 0 0 1rem; font-size: clamp(3rem,5vw,5rem); line-height: .9; }.poster-case p,.poster-case a { position: relative; }.poster-case p { max-width: 560px; margin: 0 auto 1.5rem; color: rgba(255,255,255,.72); }.poster-case a { align-self: center; color: #f4d981; text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; text-underline-offset: .4rem; }
.carousel-arrow { width: 62px; height: 90px; color: #2d0a12; background: var(--gold-bright); border: 6px solid #91641f; outline: 1px solid #f7e5a7; font: 3.4rem/1 "Forum",serif; cursor: pointer; box-shadow: 0 0 18px rgba(255,220,111,.2); }.carousel-arrow:hover,.carousel-arrow:focus-visible { background: white; }
.carousel-program { position: relative; z-index: 1; display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; margin-top: 2.3rem; }.program-tab { color: rgba(255,255,255,.62); background: transparent; border: 1px solid rgba(212,175,90,.35); padding: .65rem .85rem; text-transform: uppercase; letter-spacing: .1em; font: 600 .63rem "DM Sans",sans-serif; cursor: pointer; }.program-tab.active,.program-tab:hover { color: #2d0a12; background: var(--gold-bright); border-color: var(--gold-bright); }
.billing-actions { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 2rem; flex-wrap: wrap; margin-top: 3rem; }.billing-actions .text-link { margin: 0; }
.catalog-entry { isolation: isolate; min-height: 0; padding: 7.4rem max(2.2rem,calc((100% - 1180px)/2)) 4.5rem; background: #07080c; }
.catalog-entry::before { z-index: -2; opacity: 1; background: linear-gradient(90deg,transparent 0 23%,#08090d 34% 66%,transparent 77%),repeating-linear-gradient(90deg,#26060e 0,#6b172d 4.5%,#310811 9%,#781b32 13%,#25060d 18%); box-shadow: inset 220px 0 160px rgba(0,0,0,.2),inset -220px 0 160px rgba(0,0,0,.2); }
.catalog-entry::after { content: ""; position: absolute; z-index: -1; inset: 7.2rem 12% 2rem; border: 1px solid rgba(239,217,142,.32); background: radial-gradient(ellipse at 50% 22%,rgba(129,31,49,.18),transparent 34%),linear-gradient(#0b0c11,#050609); box-shadow: 0 0 70px 35px rgba(0,0,0,.72),inset 0 0 80px rgba(0,0,0,.7); }
.catalog-entry .exposition-border { inset: 7.2rem 2rem 2rem; border-color: rgba(239,217,142,.38); }
.catalog-entry .theater-canopy { position: relative; top: auto; left: auto; flex: 0 0 auto; width: min(1020px,100%); margin: 0 auto 3.2rem; transform: none; }
.catalog-entry .exposition-kicker { position: relative; inset: auto; width: min(720px,calc(100% - 3rem)); margin: 0 auto .9rem; justify-content: center; gap: 1.2rem; line-height: 1.5; }
.catalog-entry .exposition-kicker span::after { content: "·"; margin-left: 1.2rem; color: rgba(238,202,107,.55); }
.catalog-intro { position: relative; z-index: 1; width: min(820px,calc(100% - 3rem)); margin: 0 auto 2rem; text-align: center; }
.catalog-intro h1 { max-width: 900px; margin: .45rem auto .65rem; color: white; font-size: clamp(3.2rem,5vw,5.2rem); line-height: .9; text-shadow: 0 3px 18px rgba(0,0,0,.55); }
.catalog-intro h1 em { color: var(--gold-bright); }
.catalog-intro > p:last-child { max-width: 620px; margin: 0 auto; color: rgba(255,255,255,.72); font-size: .96rem; }
.catalog-entry .marquee-carousel { width: min(940px,100%); }
.catalog-entry .poster-case { min-height: 430px; padding-top: 3.7rem; padding-bottom: 3.2rem; box-shadow: 0 22px 55px rgba(0,0,0,.62),0 0 30px rgba(212,175,90,.12); }
.catalog-entry .carousel-program { margin-top: 1.4rem; }
.catalog-entry .billing-actions { margin-top: 1.7rem; }
.guild-statement { display: grid; grid-template-columns: .2fr 1fr .85fr; gap: clamp(2rem,5vw,6rem); width: min(1180px,calc(100% - 3rem)); margin: auto; padding: 8rem 0; }
.catalog-number { align-self: start; padding-top: .7rem; color: #751d32; border-top: 1px solid #751d32; font: 1rem "Forum",serif; }
.guild-statement h2,.inclusions-heading h2,.standards-gateway h2,.partner-process h2 { margin: .7rem 0 0; font-size: clamp(2.8rem,4.5vw,4.8rem); line-height: 1; }
.guild-statement-copy { color: #5f574d; padding-top: 1.5rem; }
.guild-statement-copy p:first-child { color: var(--ink); font-size: 1.08rem; }
.independence-band { color: white; background: #07173d; padding: 8rem max(1.5rem,calc((100% - 1180px)/2)); }
.independence-band > h2 { margin: .7rem 0 4rem; max-width: 800px; font-size: clamp(3.5rem,6vw,6rem); line-height: .95; }
.principle-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.principle-grid article { min-height: 310px; padding: 2.3rem; border-right: 1px solid var(--line); }
.principle-grid article:last-child { border: 0; }.principle-grid span { color: var(--gold); font-size: .7rem; letter-spacing: .15em; }.principle-grid h3 { margin: 4rem 0 1rem; font-size: 2rem; line-height: 1.05; }.principle-grid p { color: rgba(255,255,255,.65); font-size: .9rem; }
.partner-inclusions { width: min(1180px,calc(100% - 3rem)); margin: auto; padding: 8rem 0; }
.inclusions-heading { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 5rem; margin-bottom: 4rem; }.inclusions-heading .eyebrow { grid-column: 1/-1; }.inclusions-heading > p:last-child { color: #5f574d; }
.inclusion-ledger { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #bbad89; background: #faf7ed; }
.inclusion-ledger article { display: grid; grid-template-columns: 52px 1fr; gap: 1rem; padding: 2rem; border-right: 1px solid #c9bfa7; border-bottom: 1px solid #c9bfa7; }.inclusion-ledger article:nth-child(2n) { border-right: 0; }.inclusion-ledger article:nth-last-child(-n+2) { border-bottom: 0; }.inclusion-ledger span { color: #751d32; font: 1rem "Forum",serif; }.inclusion-ledger h3 { margin: 0 0 .5rem; font-size: 1.65rem; }.inclusion-ledger p { margin: 0; color: #655f55; font-size: .9rem; }
.co-branding-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; color: white; background: #4b1120; padding: 8rem max(1.5rem,calc((100% - 1180px)/2)); border-block: 1px solid var(--gold); }
.co-branding-title h2 { margin: .7rem 0 0; color: var(--gold-bright); font-size: clamp(3.5rem,5.5vw,5.8rem); line-height: .92; }.co-branding-copy { color: rgba(255,255,255,.72); }.co-branding-copy p:first-child { color: white; font-size: 1.08rem; }
.co-branding-diagram { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 72px 1fr 1.45fr; gap: 1.2rem; align-items: stretch; margin-top: 1rem; padding: 1.5rem; border: 1px solid rgba(238,202,107,.5); background: rgba(8,9,13,.25); }
.diagram-brand,.diagram-result { position: relative; min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1.5rem; text-align: center; border: 1px solid rgba(238,202,107,.25); background: #300a15; }
.diagram-label { position: absolute; top: 1rem; left: 1rem; color: var(--gold-bright); font-size: .69rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.partner-mark { width: 86px; height: 86px; display: grid; place-items: center; margin-bottom: 1.1rem; color: #2d1a08; background: #f0dfb8; border: 3px double #b98c39; border-radius: 50%; font-family: var(--display); font-size: 2rem; }
.diagram-brand > img { width: 92px; height: 92px; margin-bottom: 1rem; object-fit: contain; border-radius: 50%; }
.diagram-brand strong { font-family: var(--display); font-size: 1.3rem; }.diagram-brand small,.diagram-result > small { margin-top: .45rem; color: rgba(255,255,255,.58); }
.diagram-join { display: grid; place-items: center; color: var(--gold-bright); font-family: var(--display); font-size: 3rem; }
.diagram-result { background: #07173d; }
.sample-package { width: min(210px,100%); min-height: 205px; display: flex; flex-direction: column; margin: 1.7rem auto .7rem; color: #081638; background: #efe4c8; border: 5px double #b98c39; box-shadow: 0 12px 25px rgba(0,0,0,.25); }
.sample-partner { padding: .65rem; color: #efe4c8; background: #741c31; font-size: .66rem; font-weight: 800; letter-spacing: .17em; }
.sample-product { flex: 1; display: grid; place-items: center; padding: 1rem; font-family: var(--display); font-size: 1.55rem; line-height: 1; text-transform: uppercase; }
.sample-rusa { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: .55rem; border-top: 1px solid #b98c39; font-size: .56rem; line-height: 1.25; text-align: left; text-transform: uppercase; }.sample-rusa img { width: 32px; height: 32px; border-radius: 50%; }
.co-branding-policy { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 1rem; border: 1px solid rgba(238,202,107,.45); background: rgba(238,202,107,.28); }
.co-branding-policy article { min-height: 255px; padding: 2rem 1.7rem; background: #3b0c18; }
.co-branding-policy span { color: var(--gold-bright); font-family: var(--display); font-size: 1.45rem; }
.co-branding-policy h3 { margin: 2.4rem 0 .8rem; color: white; font-size: 1.25rem; }
.co-branding-policy p { margin: 0; color: rgba(255,255,255,.68); font-size: .91rem; }
.co-branding-assurance { grid-column: 1 / -1; margin: -2rem 0 0; padding: 1.35rem 1.5rem; color: rgba(255,255,255,.76); border-left: 3px solid var(--gold-bright); background: rgba(8,9,13,.28); }
.co-branding-assurance strong { color: white; }
.co-branding-link { grid-column: 1 / -1; width: max-content; margin: -3rem auto 0; }
.standards-gateway { display: grid; grid-template-columns: .72fr 1fr .72fr; gap: 3rem; width: min(1180px,calc(100% - 3rem)); margin: auto; padding: 8rem 0; align-items: center; }
.standards-gateway-copy { text-align: center; }.standards-gateway-copy p:not(.eyebrow) { color: #615a50; }.standard-ticket { min-height: 360px; display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; border: 1px solid #ad9d77; text-align: center; }.standard-ticket span,.standard-ticket small { text-transform: uppercase; letter-spacing: .14em; font-size: .65rem; }.standard-ticket strong { font: 2rem/1.05 "Forum",serif; }.heirloom-ticket { color: white; background: var(--navy); border-color: var(--gold); }.heirloom-ticket span,.heirloom-ticket small { color: var(--gold-bright); }
.partner-process { color: var(--ink); background: #e8e0cc; padding: 8rem max(1.5rem,calc((100% - 1180px)/2)); }.partner-process > h2 { max-width: 700px; margin-bottom: 4rem; }.partner-process ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #a89770; }.partner-process li { padding: 2rem 1.5rem 0 0; }.partner-process li > span { color: #751d32; font-size: .7rem; letter-spacing: .15em; }.partner-process h3 { margin: 3rem 0 .5rem; font-size: 1.7rem; }.partner-process li p { color: #635c52; font-size: .88rem; }
.partnership-cta { text-align: center; color: white; background: linear-gradient(135deg,#270911,#5d1628); padding: 8rem 1.5rem; }.partnership-cta h2 { margin: .7rem 0 1rem; color: var(--gold-bright); font-size: clamp(4rem,7vw,7rem); line-height: .88; }.partnership-cta > p:not(.eyebrow) { max-width: 620px; margin: 0 auto 2rem; color: rgba(255,255,255,.72); }
@media (max-width: 900px) {
  #site-nav { position: fixed; inset: 86px 0 auto; display: none; padding: 2rem 1.5rem; background: rgba(4,10,29,.98); flex-direction: column; align-items: flex-start; }
  #site-nav.open { display: flex; }
  .menu-toggle { display: block; }
  .hero-content { margin-top: 7rem; }
  .hero-shade { background: linear-gradient(90deg, rgba(4,10,29,.94), rgba(4,10,29,.57)), linear-gradient(0deg, rgba(4,10,29,.92), transparent); }
  .guild-invitation { grid-template-columns: minmax(0,.8fr) minmax(420px,1.2fr); }
  .manifesto { grid-template-columns: 50px 1fr; }
  .manifesto-copy { grid-column: 2; }
  .model-heading, .standards-title { grid-template-columns: 1fr; gap: 1.5rem; }
  .foundation-card { grid-template-columns: 50px 1fr; }
  .foundation-card ul { grid-column: 2; margin-top: 0; }
  .supporting-grid { grid-template-columns: 1fr; }
  .pillar-card { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(212,175,90,.3); }
  .standard-panels { grid-template-columns: 1fr; }
  .guild { grid-template-columns: 1fr; }
  .how-it-works { grid-template-columns: 1fr; }
  .how-it-works article { border-right: 0; border-bottom: 1px solid #cabd99; }
  .guild-statement { grid-template-columns: 50px 1fr; }.guild-statement-copy { grid-column: 2; }
  .inclusions-heading,.co-branding-feature { grid-template-columns: 1fr; gap: 2rem; }
  .co-branding-policy { grid-template-columns: repeat(2,1fr); }
  .co-branding-assurance { margin-top: 0; }
  .co-branding-diagram { grid-template-columns: 1fr 50px 1fr; }.diagram-result { grid-column: 1 / -1; }
  .co-branding-link { margin-top: 0; }
  .principle-grid { grid-template-columns: 1fr; }.principle-grid article { border-right: 0; border-bottom: 1px solid var(--line); min-height: 0; }
  .marquee-carousel { grid-template-columns: 52px minmax(0,1fr) 52px; gap: .7rem; }.carousel-arrow { width: 50px; }.poster-case { min-height: 430px; padding: 3.5rem 2rem; }
  .catalog-entry { padding-top: 7.4rem; }.catalog-entry::after { inset-inline: 5%; }
  .standards-gateway { grid-template-columns: 1fr; }.standard-ticket { min-height: 280px; }
  .partner-process ol { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .nav-shell { width: calc(100% - 2rem); height: 74px; }
  #site-nav { top: 74px; }
  .brand-name { font-size: 1rem; }
  .brand-logo { width: 38px; height: 38px; }
  .hero { min-height: 760px; }
  .hero-frame { inset: 92px 1rem 1rem; }
  .hero-content { width: calc(100% - 2.5rem); }
  h1 { font-size: clamp(3.6rem, 17vw, 5rem); }
  .hero-copy { font-size: 1rem; }
  .photo-credit { left: 1.3rem; bottom: 1.7rem; }
  .hero-index { display: none; }
  .guild-invitation { grid-template-columns: 1fr; min-height: 100svh; }
  .guild-invitation::before { inset: .8rem; }
  .guild-invitation-image { min-height: 43svh; }
  .guild-invitation-image::after { background: linear-gradient(0deg,#091632,transparent 55%); }
  .guild-invitation-copy { min-height: 57svh; margin-top: -1px; padding: 3.4rem 2rem 4.5rem; }
  .guild-invitation-copy h2 { font-size: clamp(3.4rem,15vw,5rem); }
  .guild-invitation-cue { right: 1.7rem; bottom: 1.7rem; }
  .manifesto { width: calc(100% - 2.5rem); padding: 6rem 0; grid-template-columns: 1fr; }
  .section-number { width: 48px; }
  .manifesto-copy { grid-column: 1; padding-top: 0; }
  .model, .closing { padding-top: 6rem; padding-bottom: 6rem; }
  .foundation-card, .pillar-card, .standard { padding: 2rem; }
  .foundation-card { grid-template-columns: 1fr; }
  .foundation-card ul { grid-column: 1; }
  .pillar-card .card-mark { margin-bottom: 2rem; }
  .standards { width: calc(100% - 2.5rem); padding: 6rem 0; }
  .standard h3 { margin-top: 4rem; }
  .standard-code { left: 2rem; }
  .closing h2 { font-size: 4rem; }
  footer { display: block; }
  .footer-meta { margin-top: 2rem; display: grid; gap: .6rem; }
  .exposition-hero { min-height: 850px; padding-inline: 1.4rem; }.exposition-kicker { inset: 10.4rem 1.5rem auto; }.exposition-kicker b { display: none; }.exposition-border { inset: 6.2rem .8rem .8rem; }.exposition-seal { display: none; }.theater-canopy { top: 64px; width: calc(100% - 2rem); }.marquee-sign { width: calc(100% - 1rem); padding: 3.2rem 1.3rem 2.7rem; border-width: 7px; }.marquee-sign h1 { font-size: clamp(3.4rem,16vw,5rem); }.marquee-billing { font-size: .6rem; letter-spacing: .12em; }
  .catalog-entry { min-height: 0; padding: 6.3rem 1.2rem 4rem; }.catalog-entry::before { background: linear-gradient(90deg,rgba(75,14,27,.9) 0 8%,#07080c 18% 82%,rgba(75,14,27,.9) 92% 100%); }.catalog-entry::after { inset: 6.2rem .65rem .8rem; }.catalog-entry .exposition-border { inset: 6.2rem .6rem .8rem; }.catalog-entry .theater-canopy { top: auto; left: auto; width: 100%; margin: 0 auto 3rem; transform: none; }.catalog-entry .exposition-kicker { width: 100%; margin: 0 auto .75rem; }.catalog-entry .exposition-kicker span::after { display: none; }.catalog-intro { width: 100%; margin: 0 auto 1.6rem; }.catalog-intro h1 { font-size: clamp(2.8rem,12vw,4rem); }.catalog-intro > p:last-child { font-size: .9rem; }
  .guild-statement { width: calc(100% - 2.5rem); padding: 6rem 0; grid-template-columns: 1fr; }.guild-statement-copy { grid-column: 1; }.catalog-number { width: 50px; }
  .partner-inclusions,.standards-gateway { width: calc(100% - 2.5rem); padding: 6rem 0; }
  .co-branding-policy { grid-template-columns: 1fr; }
  .co-branding-policy article { min-height: 0; }
  .co-branding-diagram { grid-template-columns: 1fr; }.diagram-join { min-height: 44px; }.diagram-result { grid-column: auto; }
  .inclusion-ledger { grid-template-columns: 1fr; }.inclusion-ledger article,.inclusion-ledger article:nth-child(2n),.inclusion-ledger article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid #c9bfa7; }.inclusion-ledger article:last-child { border-bottom: 0; }
  .partner-process ol { grid-template-columns: 1fr; }.partner-process li { padding-bottom: 1.5rem; border-bottom: 1px solid #b7aa89; }
  .marquee-carousel { grid-template-columns: 1fr; }.carousel-arrow { position: absolute; z-index: 3; top: 50%; width: 42px; height: 66px; transform: translateY(-50%); border-width: 3px; font-size: 2.4rem; }.carousel-arrow.previous { left: -.7rem; }.carousel-arrow.next { right: -.7rem; }.poster-case { min-height: 500px; padding: 4rem 2rem; }.carousel-program { gap: .35rem; }.program-tab { padding: .55rem .6rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

.site-footer { display: block; padding: 5rem max(1.5rem,calc((100% - 1180px)/2)) 2rem; color: rgba(255,255,255,.7); background: #050609; border-top: 1px solid rgba(212,175,90,.35); }
.footer-main { display: grid; grid-template-columns: 1.5fr .7fr 1fr; gap: clamp(2rem,7vw,7rem); padding-bottom: 3rem; }
.footer-intro p { max-width: 390px; margin-top: 1.4rem; color: rgba(255,255,255,.58); }.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }.footer-column h2,.investment-disclaimer h2 { margin: 0 0 .5rem; color: var(--gold); font: 600 .72rem "DM Sans",sans-serif; letter-spacing: .18em; text-transform: uppercase; }.footer-column a { color: rgba(255,255,255,.76); }.footer-column a:hover { color: var(--gold-bright); }.follow-title { margin-top: 1.3rem !important; }.social-links { display: flex; gap: .55rem; flex-wrap: wrap; }.social-links a { padding: .55rem .75rem; border: 1px solid rgba(212,175,90,.35); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.investment-disclaimer { padding: 1.5rem; border: 1px solid rgba(212,175,90,.24); background: #090a12; }.investment-disclaimer p { margin: 0; color: rgba(255,255,255,.58); font-size: .78rem; line-height: 1.65; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; padding-top: 2rem; color: rgba(255,255,255,.42); font-size: .76rem; }.footer-bottom nav { display: flex; gap: 1.5rem; }.footer-bottom a { color: rgba(255,255,255,.58); }
.legal-page { background: #f4efe3; }.legal-main { padding: 10rem 1.5rem 6rem; }.legal-hero,.legal-document { width: min(900px,100%); margin-inline: auto; }.legal-hero { padding-bottom: 3rem; border-bottom: 1px solid #b9a97f; }.legal-hero h1 { margin: .5rem 0 1rem; color: var(--navy); font-size: clamp(3.8rem,8vw,7rem); }.legal-meta { display: flex; gap: 1.5rem; flex-wrap: wrap; color: #756b5d; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }.legal-document { padding-top: 2rem; }.legal-intro { color: #4f4a43; font-size: 1.05rem; }.legal-section { display: grid; grid-template-columns: 70px 1fr; gap: 1.5rem; padding: 2.5rem 0; border-bottom: 1px solid #d2c7ad; }.legal-number { color: #7a2033; font: 1.1rem "Forum",serif; }.legal-section h2 { margin: 0 0 1rem; color: var(--navy); font-size: 2rem; }.legal-section h3 { color: #2e2b26; font-size: 1rem; }.legal-section p,.legal-section li { color: #5c564d; }.legal-section ul { padding-left: 1.2rem; }.legal-section em { color: #403b34; }.legal-contact a { color: #741c31; text-decoration: underline; text-underline-offset: .2rem; }
@media (max-width: 700px) { .footer-main { grid-template-columns: 1fr; }.footer-bottom { flex-direction: column; }.footer-bottom nav { flex-wrap: wrap; }.legal-section { grid-template-columns: 1fr; gap: .5rem; }.legal-main { padding-top: 8rem; } }

/* Business division pages */
.division-page { background: #f3efe6; color: #10172b; }
.division-page .site-header.scrolled { background: rgba(7,23,61,.97); }
.division-hero { min-height: 680px; padding: 10rem max(7vw,2rem) 6rem; background: #07173d; color: #fff; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); align-items: center; gap: 5vw; position: relative; overflow: hidden; }
.division-hero::before { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(212,175,90,.38); pointer-events: none; }
.division-hero-copy { position: relative; z-index: 1; max-width: 850px; }
.division-hero h1 { font-family: Forum,serif; font-size: clamp(4rem,8vw,8rem); font-weight: 400; line-height: .88; margin: .7rem 0 1.5rem; }
.division-hero h1 em { color: #e3c568; font-style: normal; }
.division-hero-copy > p:not(.eyebrow) { font-size: clamp(1.05rem,1.7vw,1.35rem); line-height: 1.7; max-width: 710px; color: #d8dcea; }
.club-monogram,.venture-seal { width: min(29vw,360px); aspect-ratio: 1; border: 1px solid #d4af5a; border-radius: 50%; display: grid; place-content: center; text-align: center; color: #d4af5a; box-shadow: 0 0 0 10px #07173d,0 0 0 11px rgba(212,175,90,.45),0 0 70px rgba(212,175,90,.16); position: relative; }
.club-monogram span { font-family: Forum,serif; font-size: 9rem; line-height: .75; }
.club-monogram small,.venture-seal small { text-transform: uppercase; letter-spacing: .24em; margin-top: 1.4rem; }
.venture-seal span { font-family: Forum,serif; font-size: 4rem; line-height: 1; }
.division-intro { padding: 7rem max(7vw,2rem); display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: start; }
.division-intro h2 { font-family: Forum,serif; font-size: clamp(3rem,5vw,5.5rem); font-weight: 400; line-height: .98; margin: .7rem 0; }
.division-intro > p { font-size: 1.15rem; line-height: 1.8; margin-top: 2.5rem; }
.benefit-grid { margin: 0 max(7vw,2rem) 7rem; display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: #bcae8e; border: 1px solid #bcae8e; }
.benefit-grid article { background: #fff; padding: 2.2rem; }
.benefit-grid span,.service-list > article > span { color: #9a762b; font-size: .75rem; letter-spacing: .16em; }
.benefit-grid h3,.service-list h3 { font-family: Forum,serif; font-size: 2rem; font-weight: 400; }
.benefit-grid p,.service-list p { line-height: 1.7; color: #4a4f5c; }
.division-cta { background: #0b132b; color: #fff; padding: 6rem max(7vw,2rem); text-align: center; }
.division-cta h2 { font-family: Forum,serif; font-size: clamp(2.8rem,5vw,5rem); font-weight: 400; max-width: 880px; margin: 1rem auto; }
.division-cta > p:not(.eyebrow) { max-width: 720px; margin: 0 auto 2rem; line-height: 1.7; color: #cdd2df; }
.service-list { margin: 0 max(7vw,2rem) 7rem; border-top: 1px solid #bcae8e; }
.service-list article { display: grid; grid-template-columns: 70px 1fr; gap: 1.5rem; padding: 2rem 0; border-bottom: 1px solid #bcae8e; }
.service-list h3 { margin: 0 0 .4rem; }
.service-list p { margin: 0; max-width: 850px; }
.consultation-panel { margin-top: 1rem; padding: 6rem max(7vw,2rem); background: #711e32; color: #fff; display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: center; }
.consultation-panel h2 { font-family: Forum,serif; font-size: clamp(3rem,5vw,5.5rem); font-weight: 400; line-height: .98; margin: .7rem 0 1rem; }
.consultation-panel p { color: rgba(255,255,255,.78); line-height: 1.7; }
.consultation-action { padding: 2rem; border: 1px solid rgba(255,255,255,.28); background: rgba(0,0,0,.12); }
@media (max-width: 900px) { .division-hero { grid-template-columns: 1fr; min-height: 720px; }.club-monogram,.venture-seal { display: none; }.division-intro,.consultation-panel { grid-template-columns: 1fr; }.benefit-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .division-hero { padding: 8rem 1.4rem 4rem; min-height: 650px; }.division-hero::before { inset: 78px 10px 10px; }.division-hero h1 { font-size: clamp(3.6rem,17vw,5.4rem); }.division-intro { padding: 5rem 1.4rem; }.benefit-grid { margin: 0 1.4rem 5rem; grid-template-columns: 1fr; }.service-list { margin: 0 1.4rem 5rem; }.service-list article { grid-template-columns: 45px 1fr; }.division-cta,.consultation-panel { padding: 5rem 1.4rem; } }

/* Strategic Ventures: turn-of-the-century American study */
.ventures-page { background: #241611 url("assets/strategic-ventures-wallpaper.webp") center top / 640px auto repeat; color: #eadfc8; }
.ventures-page .site-header.scrolled { background: rgba(28,15,11,.97); border-bottom-color: #8b6838; }
.ventures-page .ventures-hero { min-height: 760px; margin: 0; padding-inline: max(8vw,3rem); background: linear-gradient(rgba(27,12,9,.65),rgba(27,12,9,.76)),url("assets/strategic-ventures-wallpaper.webp") center / 700px auto repeat; border: 22px solid #2a160f; border-top-width: 100px; box-shadow: inset 0 0 0 2px #815c30,inset 0 0 0 8px #130a07,inset 0 0 0 10px #a47b40; }
.ventures-page .ventures-hero::before { inset: 18px; border: 1px solid rgba(210,174,105,.65); }
.ventures-page .division-hero-copy { padding: 3.25rem; background: rgba(20,10,8,.82); border: 1px solid #9b7440; box-shadow: inset 0 0 0 6px #1d0e0a,inset 0 0 0 7px rgba(200,158,86,.45),0 24px 55px rgba(0,0,0,.4); }
.ventures-page .division-hero h1 { color: #f3e8d2; text-shadow: 0 2px 0 #110805; }
.ventures-page .division-hero h1 em { color: #d4af5a; }
.ventures-page .division-hero-copy > p:not(.eyebrow) { color: #dfd0b8; }
.ironwork-rule { width: min(320px,70%); margin: .4rem 0 1.35rem; color: #ba8d4a; font: 1.1rem/1 Georgia,serif; letter-spacing: .8rem; border-block: 1px solid rgba(186,141,74,.5); padding: .45rem 0; }
.ventures-page .venture-seal { border-radius: 2px; background: rgba(18,9,7,.88); border: 2px solid #a47b40; outline: 10px solid #20100c; box-shadow: 0 0 0 11px #7b592f,0 24px 55px rgba(0,0,0,.45); transform: rotate(2deg); }
.ventures-page .division-intro { position: relative; width: min(1120px,calc(100% - 4rem)); margin: 4rem auto; padding: 4rem; background: #efe3c9; color: #261711; border: 18px solid #301a11; box-shadow: inset 0 0 0 2px #9b7440,0 18px 45px rgba(0,0,0,.38); }
.ventures-page .division-intro h2 { color: #331a13; }
.ventures-page .division-intro > p { color: #5b4033; }
.ventures-page .dark-rule { grid-column: 1/-1; width: 100%; margin: 1rem 0 0; color: #6d4528; border-color: rgba(83,47,29,.38); text-align: center; }
.ventures-page .service-list { width: min(1120px,calc(100% - 4rem)); margin: 0 auto 5rem; padding: 1.5rem 3rem; background: rgba(239,227,201,.95); color: #261711; border: 18px solid #301a11; outline: 2px solid #9b7440; box-shadow: 0 22px 52px rgba(0,0,0,.42); }
.ventures-page .service-list article { border-bottom-color: #a98a61; }
.ventures-page .service-list article:last-child { border-bottom: 0; }
.ventures-page .service-list h3 { color: #391f16; }
.ventures-page .service-list p { color: #654b3e; }
.ventures-page .service-list > article > span { color: #8b5829; }
.ventures-page .consultation-panel { margin: 0; background: #1b0f0c; border-top: 18px solid #3b2116; border-bottom: 18px solid #3b2116; box-shadow: inset 0 2px 0 #9b7440,inset 0 -2px 0 #9b7440; }
.ventures-page .consultation-panel h2 { color: #f0e4cb; }
.ventures-page .consultation-panel p { color: #d5c5aa; }
@media (max-width: 900px) { .ventures-page .ventures-hero { border-inline-width: 12px; padding-inline: 1.5rem; }.ventures-page .division-hero-copy { padding: 2.25rem; }.ventures-page .division-intro,.ventures-page .service-list { width: min(100% - 2rem,1120px); }.ventures-page .division-intro { padding: 3rem 2rem; } }
@media (max-width: 600px) { .ventures-page .ventures-hero { border-width: 84px 8px 12px; padding: 3rem 1rem; min-height: 700px; }.ventures-page .division-hero-copy { padding: 1.6rem; }.ventures-page .division-intro { margin: 1.5rem auto; padding: 2.5rem 1.4rem; border-width: 10px; }.ventures-page .service-list { padding: .8rem 1.2rem; border-width: 10px; }.ironwork-rule { letter-spacing: .45rem; } }

/* Unified catalog: polished public directory below the featured presentation */
.partnership-page .catalog-full { padding: 0 max(1rem,calc((100% - 1260px)/2)) 5rem; background: #21070e; border-bottom: 1px solid #b98c39; }
.partnership-page .catalog-full .directory-hero { width: 100%; margin: 0 auto; padding: 6rem clamp(1.5rem,5vw,5rem) 4.5rem; color: #fff8df; background: #5a1021; border: 1px solid #d4af5a; border-top: 12px solid #b78432; box-shadow: inset 0 0 0 7px #2b0810,0 24px 55px rgba(0,0,0,.32); text-align: center; }
.partnership-page .catalog-full .directory-hero .eyebrow { color: #f2d47a; }
.partnership-page .catalog-full .directory-hero h2 { max-width: 900px; margin-inline: auto; color: #fff8df; text-shadow: 0 3px 0 #28060d; }
.partnership-page .catalog-full .directory-hero h2 em { color: #f1cf6d; }
.partnership-page .catalog-full .directory-hero > p:last-child { margin-inline: auto; color: rgba(255,248,223,.78); }
.partnership-page .catalog-full .directory-shell { width: 100%; margin: 0 auto; padding: clamp(1rem,3vw,2.5rem); color: #171612; background: #eee4ca; border: 1px solid #b98c39; border-top: 0; box-shadow: 0 28px 55px rgba(0,0,0,.35); }
.partnership-page .directory-tools { padding: clamp(1.25rem,3vw,2.25rem); background: #fffaf0; border: 1px solid #a88c58; box-shadow: inset 0 0 0 5px #eee2c4; }
.partnership-page .search-field { color: #70182a; }
.partnership-page .search-field input { font-size: clamp(1.25rem,2.2vw,1.65rem); border-bottom: 2px solid #8f7956; }
.partnership-page .search-field input:focus { border-bottom-color: #741c31; }
.partnership-page .filter { background: #f8f1df; border-color: #aa946c; color: #3d352b; }
.partnership-page .filter.active,.partnership-page .filter:hover,.partnership-page .filter:focus-visible { color: #fff8df; background: #741c31; border-color: #741c31; }
.partnership-page .directory-status { margin: 2rem auto; padding: 5.5rem clamp(1rem,4vw,4rem); background: rgba(255,250,240,.62); border-inline: 1px solid #c3af86; }
.partnership-page .directory-status h2 { color: #35101a; }
.partnership-page .directory-status > p:not(.eyebrow) { color: #5f5546; }
.partnership-page .how-it-works { background: #fffaf0; border-color: #a88c58; }
.partnership-page .how-it-works article { border-color: #c7b48d; }
.partnership-page .how-it-works h3 { color: #35101a; }

/* Co-branding: a darker presentation distinct from the browsing surface */
.partnership-page .co-branding-feature { position: relative; gap: 5rem; padding-top: 9rem; padding-bottom: 9rem; color: #f5eedc; background: #05070d; border-block: 12px solid #3a0b16; box-shadow: inset 0 2px 0 #bd8b3c,inset 0 -2px 0 #bd8b3c; }
.partnership-page .co-branding-feature .eyebrow { color: #d9b55f; }
.partnership-page .co-branding-title { padding-left: 2rem; border-left: 5px double #b98c39; }
.partnership-page .co-branding-title h2 { color: #f0d985; text-shadow: 0 3px 0 #25060e; }
.partnership-page .co-branding-copy { padding: 1.5rem 2rem; color: #c6c3bd; border: 1px solid rgba(212,175,90,.28); background: #0b1020; }
.partnership-page .co-branding-copy p:first-child { color: #f5eedc; }
.partnership-page .co-branding-diagram { padding: 2rem; background: #090b12; border: 1px solid #b98c39; box-shadow: inset 0 0 0 6px #18100d; }
.partnership-page .diagram-brand { background: #270811; border-color: rgba(238,202,107,.42); }
.partnership-page .diagram-result { background: #07173d; border-color: #94712f; }
.partnership-page .co-branding-policy { border-color: #9f7937; background: #9f7937; }
.partnership-page .co-branding-policy article { background: #101522; }
.partnership-page .co-branding-policy article:nth-child(even) { background: #19101a; }
.partnership-page .co-branding-policy h3 { color: #f5eedc; }
.partnership-page .co-branding-assurance { margin-top: 0; padding: 1.6rem 1.8rem; background: #241019; border: 1px solid #8f6b33; border-left-width: 5px; }
.partnership-page .co-branding-link { margin-top: 0; color: #f5eedc; }

/* Closing invitation: illuminated finale rather than another full-width dark block */
.partnership-page .partnership-cta { position: relative; padding: 8rem 1.5rem; color: #301019; background: #e9d9aa; border-block: 18px solid #5b1021; box-shadow: inset 0 3px 0 #c08b37,inset 0 -3px 0 #c08b37; }
.partnership-page .partnership-cta .eyebrow { color: #751d32; }
.partnership-page .partnership-cta h2 { width: min(900px,100%); margin-inline: auto; color: #641328; text-shadow: 0 2px 0 #fff6d8; }
.partnership-page .partnership-cta > p:not(.eyebrow) { color: #5c473d; }
.partnership-page .partnership-cta .button-cream { color: #fff7df; background: #641328; border: 1px solid #641328; box-shadow: 0 0 0 5px #e9d9aa,0 0 0 6px #9e762f; }
.partnership-page .partnership-cta .button-cream:hover,.partnership-page .partnership-cta .button-cream:focus-visible { color: #25100f; background: #d4af5a; }
@media (max-width: 900px) { .partnership-page .co-branding-feature { gap: 2.5rem; }.partnership-page .co-branding-title { padding-left: 1.25rem; }.partnership-page .directory-status { padding-block: 4rem; } }
@media (max-width: 600px) { .partnership-page .catalog-full { padding-inline: .55rem; padding-bottom: 2.5rem; }.partnership-page .catalog-full .directory-hero { padding: 4.5rem 1.25rem 3.5rem; border-top-width: 8px; }.partnership-page .catalog-full .directory-shell { padding: .8rem; }.partnership-page .directory-tools { padding: 1.2rem; }.partnership-page .filter-group { display: grid; grid-template-columns: 1fr 1fr; }.partnership-page .filter { min-height: 46px; }.partnership-page .directory-status { margin: .8rem 0; padding: 4rem 1rem; }.partnership-page .co-branding-feature { padding-top: 6rem; padding-bottom: 6rem; }.partnership-page .co-branding-diagram { padding: 1rem; }.partnership-page .partnership-cta { padding: 6rem 1.25rem; border-block-width: 12px; } }

/* Real Estate development ladder */
.real-estate-page { background: #e9e0ca; color: #151719; }
.real-estate-page .site-header.scrolled { background: rgba(5,11,25,.97); }
.development-hero { min-height: 820px; display: grid; align-items: center; padding: 11rem max(1.5rem,calc((100% - 1180px)/2)) 7rem; color: white; background: radial-gradient(circle at 79% 32%,rgba(212,175,90,.18),transparent 27%),linear-gradient(125deg,#050a18,#0a1d43 62%,#2e0b15); border-bottom: 1px solid #d4af5a; }
.development-hero-copy { max-width: 880px; }
.development-hero h1 { margin: .7rem 0 1.5rem; font-size: clamp(4.6rem,9vw,9rem); line-height: .84; }
.development-hero h1 em { color: #e2c46c; font-style: normal; }
.development-hero-copy > p:not(.eyebrow) { max-width: 740px; color: rgba(255,255,255,.72); font-size: clamp(1.05rem,1.8vw,1.35rem); line-height: 1.7; }
.development-hero-copy .button { margin-top: 1.5rem; }
.development-hero-index { display: flex; align-items: center; gap: 1rem; margin-top: 5rem; color: rgba(255,255,255,.48); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.development-hero-index i { width: min(380px,30vw); height: 1px; background: linear-gradient(90deg,#d4af5a,rgba(212,175,90,.2)); }
.development-intro { width: min(1000px,calc(100% - 3rem)); margin: auto; padding: 9rem 0; text-align: center; }
.development-intro h2 { margin: .7rem 0 1.5rem; color: #07173d; font-size: clamp(3.5rem,6vw,6.5rem); line-height: .92; }
.development-intro > p:last-child { max-width: 760px; margin-inline: auto; color: #5d584f; font-size: 1.05rem; line-height: 1.8; }
.development-roadmap { position: relative; color: white; background: #040711; border-block: 1px solid #a87c35; }
.roadmap-shell { width: min(1320px,100%); margin: auto; display: grid; grid-template-columns: minmax(360px,.9fr) minmax(480px,1.1fr); gap: clamp(2rem,5vw,6rem); padding: 0 max(1.5rem,4vw); }
.development-visual { position: sticky; top: 86px; height: calc(100svh - 86px); align-self: start; display: grid; grid-template-rows: auto minmax(0,1fr); padding: 2rem 0 1.5rem; overflow: hidden; }
.visual-heading { display: flex; justify-content: space-between; align-items: center; padding-bottom: 1rem; color: #c8ad6a; border-bottom: 1px solid rgba(212,175,90,.38); font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; }
.visual-heading b { color: white; font-weight: 500; }
.building-stage { position: relative; min-height: 0; display: grid; place-items: end center; }
.building-stage img { position: absolute; inset: 1rem 0 0; width: 100%; height: calc(100% - 1rem); object-fit: contain; object-position: center bottom; }
.building-ghost { opacity: .1; filter: grayscale(1) sepia(.25); }
.building-reveal { position: absolute; inset: 1rem 0 0; overflow: hidden; clip-path: inset(var(--reveal-top) 0 0 0); will-change: clip-path; }
.building-reveal img { inset: 0; height: 100%; filter: drop-shadow(0 22px 24px rgba(0,0,0,.62)); }
.rise-meter { position: absolute; left: 0; top: 5.2rem; bottom: 1.5rem; width: 2px; background: rgba(212,175,90,.16); }
.rise-meter i { position: absolute; inset: auto 0 0; height: var(--roadmap-progress); background: #d4af5a; box-shadow: 0 0 12px rgba(212,175,90,.7); }
.milestone-list { padding: 12vh 0; }
.milestone { min-height: 76vh; display: flex; flex-direction: column; justify-content: center; margin: 0; padding: clamp(2rem,4vw,4rem); opacity: .36; border-left: 1px solid rgba(212,175,90,.24); transition: opacity .35s,border-color .35s,background .35s; }
.milestone.active { opacity: 1; border-left: 4px solid #d4af5a; background: linear-gradient(90deg,rgba(212,175,90,.08),transparent 70%); }
.milestone header { display: flex; justify-content: space-between; gap: 1rem; color: #d4af5a; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.milestone header small { color: rgba(255,255,255,.42); font-size: inherit; }
.milestone-type { margin: clamp(4rem,10vh,7rem) 0 .75rem; color: #e0c46f; font-size: .76rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.milestone h2 { margin: 0 0 1.4rem; color: white; font-size: clamp(3.2rem,5vw,5.5rem); line-height: .91; }
.milestone > p:not(.milestone-type,.milestone-meta) { max-width: 690px; color: rgba(255,255,255,.7); font-size: 1.04rem; line-height: 1.8; }
.milestone-meta { margin-top: 2rem; padding-top: 1rem; color: rgba(224,196,111,.72); border-top: 1px solid rgba(212,175,90,.24); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.landmark-milestone h2 { color: #f0d985; font-size: clamp(4rem,6vw,6.8rem); }
.development-closing { padding: 10rem max(1.5rem,calc((100% - 1180px)/2)); color: white; background: radial-gradient(circle at 75% 30%,rgba(212,175,90,.15),transparent 26%),linear-gradient(130deg,#2f0812,#07173d); border-bottom: 1px solid #d4af5a; }
.development-closing h2 { max-width: 960px; margin: .7rem 0 1.5rem; font-size: clamp(4rem,7vw,7.4rem); line-height: .88; }
.development-closing h2 em { color: #e1c36c; font-style: normal; }
.development-closing > p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.7); font-size: 1.08rem; line-height: 1.8; }
.development-closing .button { margin-top: 1.8rem; }
@media (max-width: 900px) { .roadmap-shell { grid-template-columns: minmax(260px,.7fr) minmax(360px,1.3fr); gap: 1.5rem; padding-inline: 1.2rem; }.milestone { padding-inline: 2rem; }.development-hero { min-height: 760px; } }
@media (max-width: 700px) { .development-hero { min-height: 720px; padding: 9rem 1.35rem 5rem; }.development-hero h1 { font-size: clamp(4rem,18vw,6rem); }.development-hero-index { margin-top: 3.5rem; }.development-intro { padding: 6rem 0; }.roadmap-shell { display: block; padding: 0 1rem; }.development-visual { z-index: 2; top: 74px; height: 38svh; margin: 0 -1rem; padding: 1rem 1rem .5rem; background: rgba(4,7,17,.94); border-bottom: 1px solid rgba(212,175,90,.38); }.building-stage img { top: .5rem; }.rise-meter { left: 1rem; top: 4.2rem; bottom: .5rem; }.milestone-list { position: relative; z-index: 1; padding: 5vh 0 10vh; }.milestone { min-height: 62vh; margin-bottom: 8vh; padding: 2.2rem 1.4rem; opacity: .5; background: rgba(4,7,17,.94); border: 1px solid rgba(212,175,90,.18); }.milestone.active { border: 1px solid #d4af5a; background: rgba(12,17,31,.97); }.milestone-type { margin-top: 3.5rem; }.milestone header { display: grid; }.development-closing { padding: 7rem 1.4rem; } }
@media (prefers-reduced-motion: reduce) { .building-reveal { clip-path: inset(0); }.milestone { opacity: 1; transition: none; } }

/* Membership Club: 1950s Streamline Moderne with restrained Atomic Age details */
.membership-page { background: #e9dfc8; color: #17181b; }
.membership-page .site-header.scrolled { background: rgba(7,18,39,.97); border-bottom-color: rgba(210,173,91,.5); }
.membership-hero { position: relative; min-height: 880px; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); align-items: center; gap: 5vw; padding: 10rem max(1.5rem,calc((100% - 1240px)/2)) 6rem; color: white; overflow: hidden; background: #07162e; }
.membership-hero-image { position: absolute; inset: 0; background: url("assets/membership-lounge.webp") center / cover no-repeat; }
.membership-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,11,25,.98) 0%,rgba(4,11,25,.87) 39%,rgba(4,11,25,.32) 72%,rgba(4,11,25,.56) 100%),linear-gradient(0deg,rgba(4,11,25,.76),transparent 48%); }
.membership-hero-copy,.member-card-wrap { position: relative; z-index: 1; }
.membership-hero-copy { max-width: 760px; }
.membership-hero h1 { margin: .7rem 0 1.5rem; font-size: clamp(4.6rem,8vw,8rem); line-height: .85; }
.membership-hero h1 em { color: #e2c46b; font-style: normal; }
.membership-hero-copy > p:not(.eyebrow) { max-width: 690px; color: rgba(255,255,255,.77); font-size: clamp(1.05rem,1.6vw,1.28rem); line-height: 1.75; }
.member-card-wrap { align-self: end; margin-bottom: 2rem; transform: rotate(2deg); }
.member-card-wrap > p { max-width: 430px; margin: 1rem auto 0; color: rgba(255,255,255,.58); font-size: .68rem; line-height: 1.5; text-align: center; }
.member-card { width: min(100%,480px); aspect-ratio: 1.62; margin: auto; display: flex; flex-direction: column; justify-content: space-between; padding: 1.8rem; color: #f5eacb; background: linear-gradient(145deg,#091a3a,#07122b 54%,#3d0f1a); border: 2px solid #cba34d; border-radius: 28px 7px 28px 7px; box-shadow: inset 0 0 0 7px #0d244b,inset 0 0 0 8px rgba(222,188,105,.42),0 30px 60px rgba(0,0,0,.55); }
.member-card-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #e7ce82; font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.member-card-top img { width: 72px; height: 72px; object-fit: cover; border-radius: 50%; box-shadow: 0 0 0 1px #d4af5a; }
.member-card-lines { display: flex; align-items: center; justify-content: center; gap: .65rem; }
.member-card-lines i { display: block; width: 28%; height: 2px; background: linear-gradient(90deg,transparent,#d4af5a,transparent); }
.member-card-lines i:nth-child(2) { width: 12px; height: 12px; border: 1px solid #d4af5a; border-radius: 50%; background: transparent; }
.member-card-bottom { display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.member-card-bottom strong { font: 1.55rem/1 Forum,serif; letter-spacing: .04em; }
.member-card-bottom small { color: rgba(245,234,203,.56); font-size: .58rem; letter-spacing: .11em; text-align: right; text-transform: uppercase; }
.membership-intro { width: min(1180px,calc(100% - 3rem)); margin: auto; padding: 8rem 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.membership-intro h2 { margin: .7rem 0 0; color: #07173d; font-size: clamp(3.4rem,5.5vw,6rem); line-height: .92; }
.membership-intro > p { color: #5a544a; font-size: 1.12rem; line-height: 1.85; }
.membership-benefits { padding: 8rem max(1.5rem,calc((100% - 1240px)/2)); color: white; background: #07172f; border-block: 10px solid #6b1829; box-shadow: inset 0 2px 0 #c39743,inset 0 -2px 0 #c39743; }
.benefits-heading { display: grid; grid-template-columns: .45fr 1fr; gap: 4vw; align-items: end; margin-bottom: 4rem; }
.benefits-heading h2 { margin: 0; color: #f1dfaa; font-size: clamp(3.4rem,5vw,5.8rem); line-height: .92; }
.membership-page .benefit-grid { margin: 0; gap: 1px; background: #b4893f; border-color: #b4893f; }
.membership-page .benefit-grid article { min-height: 370px; display: flex; flex-direction: column; padding: 2rem; color: #17181b; background: #f4ecd8; border-radius: 34px 5px 34px 5px; }
.membership-page .benefit-grid article:nth-child(even) { background: #e7d8b7; }
.membership-page .benefit-grid span { color: #771d30; }
.membership-page .benefit-kicker { margin: 3.2rem 0 .3rem; color: #8a662d; font-size: .68rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.membership-page .benefit-grid h3 { margin: .4rem 0 1rem; color: #07173d; font-size: 2.2rem; }
.membership-page .benefit-grid p:last-child { margin: 0; color: #514b42; }
.membership-network { display: grid; grid-template-columns: .7fr 1fr .72fr; gap: clamp(2rem,5vw,5rem); align-items: center; padding: 9rem max(1.5rem,calc((100% - 1240px)/2)); color: #f5ead0; background: linear-gradient(115deg,#160d09,#2d160c 35%,#07162f 100%); border-block: 12px solid #080f20; box-shadow: inset 0 2px 0 #b98b3e,inset 0 -2px 0 #b98b3e; }
.network-mark { width: min(280px,100%); aspect-ratio: 1; display: grid; place-content: center; justify-items: center; gap: 1rem; margin: auto; background: #efe5cb; border: 14px solid #f7f0de; border-radius: 50%; box-shadow: 0 0 0 2px #841f33,0 0 0 13px #0c274a,0 22px 40px rgba(7,23,61,.22); }
.network-mark img { width: 130px; height: 130px; object-fit: cover; border-radius: 50%; }
.network-mark span { color: #741c31; font-size: .65rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.network-card-visual { margin: 0; transform: rotate(-2deg); }
.network-card-visual img { display: block; width: 100%; max-height: 600px; object-fit: cover; border: 2px solid #bd9148; border-radius: 30px 8px 30px 8px; box-shadow: 0 28px 55px rgba(0,0,0,.62),0 0 0 8px #0a1428,0 0 0 9px rgba(212,175,90,.5); }
.network-card-visual figcaption { margin-top: 1.2rem; color: rgba(245,234,208,.52); font-size: .62rem; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.network-copy .eyebrow { color: #d4af5a; }
.network-copy h2 { margin: .7rem 0 1rem; color: #f1dda3; font-size: clamp(3.4rem,5vw,5.8rem); line-height: .92; }
.network-copy > p:last-child { color: rgba(245,234,208,.7); line-height: 1.8; }
.network-list { display: grid; gap: .7rem; }
.network-list span { padding: 1.15rem 1.25rem; color: #f8efd8; background: #741c31; border-left: 7px solid #d4af5a; border-radius: 0 24px 24px 0; box-shadow: 0 8px 20px rgba(0,0,0,.24); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.membership-status { padding: 8rem max(1.5rem,calc((100% - 1180px)/2)); background: #f2ead6; }
.membership-status > div:first-child { display: grid; grid-template-columns: .4fr 1fr; gap: 4vw; align-items: end; margin-bottom: 4rem; }
.membership-status h2 { margin: 0; color: #07173d; font-size: clamp(3.4rem,5vw,5.8rem); line-height: .92; }
.status-ledger { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid #9f8b66; background: #9f8b66; gap: 1px; }
.status-ledger article { min-height: 260px; padding: 2rem; background: #fffaf0; }
.status-ledger span { color: #741c31; font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.status-ledger h3 { margin: 3rem 0 .7rem; color: #07173d; font-size: 1.8rem; }
.status-ledger p { color: #5c554a; line-height: 1.7; }
.membership-closing { display: grid; grid-template-columns: 1fr auto; gap: 5vw; align-items: end; padding: 8rem max(1.5rem,calc((100% - 1180px)/2)); color: white; background: radial-gradient(circle at 75% 20%,rgba(169,210,210,.18),transparent 24%),linear-gradient(120deg,#07172f,#3e0f1b); border-bottom: 1px solid #d4af5a; }
.membership-closing h2 { margin: .7rem 0 1rem; color: #f1dfaa; font-size: clamp(3.8rem,6vw,6.5rem); line-height: .9; }
.membership-closing p:not(.eyebrow) { max-width: 700px; color: rgba(255,255,255,.7); line-height: 1.75; }
.membership-closing .button { margin-bottom: .7rem; white-space: nowrap; }
@media (max-width: 1000px) { .membership-hero { grid-template-columns: 1fr; }.member-card-wrap { width: min(540px,100%); margin: 2rem 0 0; align-self: auto; }.membership-network { grid-template-columns: .75fr 1.25fr; }.network-list { grid-column: 1/-1; grid-template-columns: 1fr 1fr; }.membership-closing { grid-template-columns: 1fr; align-items: start; } }
@media (max-width: 700px) { .membership-hero { min-height: 920px; padding: 8rem 1.3rem 4rem; align-content: center; }.membership-hero-image { background-position: 62% center; }.membership-hero-shade { background: linear-gradient(0deg,rgba(4,11,25,.96),rgba(4,11,25,.46) 75%,rgba(4,11,25,.7)); }.membership-hero h1 { font-size: clamp(4rem,17vw,5.6rem); }.member-card { padding: 1.25rem; border-radius: 20px 5px 20px 5px; }.member-card-top img { width: 52px; height: 52px; }.member-card-bottom strong { font-size: 1.2rem; }.member-card-bottom small { font-size: .5rem; }.membership-intro,.benefits-heading,.membership-status > div:first-child { grid-template-columns: 1fr; }.membership-intro { padding: 6rem 0; }.membership-benefits,.membership-status,.membership-closing { padding: 6rem 1.3rem; }.membership-page .benefit-grid { grid-template-columns: 1fr; }.membership-page .benefit-grid article { min-height: 0; }.membership-network { grid-template-columns: 1fr; padding: 6rem 1.3rem; }.network-card-visual { width: min(420px,calc(100% - 1rem)); margin: 0 auto; }.network-list { grid-column: auto; grid-template-columns: 1fr; }.status-ledger { grid-template-columns: 1fr; }.status-ledger article { min-height: 0; }.membership-closing .button { white-space: normal; } }
