/* ===================== SUBPAGES v2 (light) ===================== */
.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,7vw,120px);align-items:start}
@media (max-width:860px){.intro{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,120px);align-items:center}
.split.rev .media{order:2}
.split .media{aspect-ratio:4/5;border-radius:var(--radius)}
.split .display{margin:18px 0 26px}
.split .body+.body{margin-top:14px}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev .media{order:0}.split .media{aspect-ratio:16/10}}

/* numbered rows */
.rows{border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:80px 1fr 1.3fr;gap:30px;padding:40px 0;border-bottom:1px solid var(--rule);align-items:baseline;transition:background .6s var(--ease)}
.row:hover{background:var(--gold-wash)}
.row .n{font-family:var(--serif);font-size:15px;color:var(--gold);letter-spacing:.16em;padding-left:6px}
.row h3{font-family:var(--serif);font-weight:300;font-size:clamp(24px,2.5vw,36px);margin:0;line-height:1.2}
.row p{margin:0;font-size:15px;color:var(--muted);line-height:1.85}
.on-slate .rows,.on-slate .row{border-color:var(--rule-slate)}
.on-slate .row p{color:var(--muted-slate)}
@media (max-width:760px){.row{grid-template-columns:1fr;gap:10px;padding:30px 0}}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 var(--gutter)}
.tile{position:relative;aspect-ratio:3/4;overflow:hidden;color:#fff;border-radius:var(--radius)}
.tile .media{position:absolute;inset:0}
.tile .media img{transition:transform 1.6s var(--ease)}
.tile:hover .media img{transform:scale(1.05)}
.tile .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,22,30,.78))}
.tile .t-copy{position:absolute;left:28px;right:28px;bottom:28px}
.tile .eyebrow{color:var(--gold-lt)}
.tile h3{font-family:var(--serif);font-weight:300;font-size:clamp(24px,2.2vw,32px);margin:8px 0 0;line-height:1.15}
@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}.tile{aspect-ratio:4/3}}

/* world map (club page) */
.map{position:relative;max-width:1100px;margin:56px auto 0}
.map svg{width:100%;height:auto;display:block}
.map .land{fill:rgba(238,240,244,.16)}
.map .arc{fill:none;stroke:var(--gold-lt);stroke-width:1.2;stroke-dasharray:4 5;opacity:.8}
.map .city circle{fill:var(--gold-lt)}
.map .city .pulse{fill:none;stroke:var(--gold-lt);stroke-width:1;opacity:.6;transform-box:fill-box;transform-origin:center;animation:pulse 2.8s infinite var(--ease)}
.map .city text{font-family:var(--sans);font-size:11px;letter-spacing:.24em;fill:#fff;text-transform:uppercase}
.map .city.office text{fill:var(--gold-lt)}
@keyframes pulse{from{transform:scale(.6);opacity:.8}to{transform:scale(3);opacity:0}}
.cities-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;margin:48px 0 0;padding:0;list-style:none}
.cities-list li{font-family:var(--serif);font-size:clamp(20px,2.4vw,34px);letter-spacing:.14em;text-transform:uppercase}
.cities-list li+li::before{content:"";display:inline-block;width:6px;height:6px;border:1px solid var(--gold-lt);transform:rotate(45deg);margin:0 .9em .25em}
.cities-list li.office{color:var(--gold-lt)}

/* journey */
.journey{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-top:56px;counter-reset:j;padding:0}
.journey li{list-style:none;position:relative;padding:28px 12px 0 0;border-top:1px solid var(--rule-slate);font-family:var(--serif);font-size:clamp(17px,1.5vw,22px);line-height:1.2}
.journey li::before{counter-increment:j;content:"0" counter(j);display:block;font-family:var(--sans);font-size:10px;color:var(--gold-lt);letter-spacing:.2em;margin-bottom:10px}
.journey li::after{content:"";position:absolute;left:0;top:-4px;width:7px;height:7px;background:var(--gold-lt);transform:rotate(45deg)}
.journey li.hl{color:var(--gold-lt)}
.journey.journey--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.journey,.journey.journey--4{grid-template-columns:1fr 1fr}.journey li{padding-bottom:26px}}

/* event records */
.records{border-top:1px solid var(--rule)}
.record{display:grid;grid-template-columns:110px 1.4fr 1fr 220px;gap:30px;align-items:center;padding:26px 0;border-bottom:1px solid var(--rule)}
.record .y{font-family:var(--serif);font-size:28px;color:var(--gold)}
.record h4{font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,25px);margin:0;line-height:1.25}
.record p{margin:0;font-size:13px;color:var(--muted)}
.record .media{aspect-ratio:16/10;border-radius:10px}
@media (max-width:860px){.record{grid-template-columns:1fr;gap:10px}.record .media{max-width:360px}}

/* journal */
.j-sections{display:flex;flex-wrap:wrap;gap:8px 30px;justify-content:center;padding:16px 0;border-bottom:1px solid var(--rule);margin-bottom:64px}
.j-sections a{font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.j-sections a:hover{color:var(--gold)}
.j-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px}
.j-card .media{aspect-ratio:4/3;margin-bottom:20px;border-radius:10px}
.j-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.18;margin:10px 0}
.j-card p{margin:0;font-size:14px;color:var(--muted)}
.j-card:hover h3{color:var(--gold)}
.j-feature{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center;padding-bottom:56px;border-bottom:1px solid var(--rule)}
.j-feature .media{aspect-ratio:16/10;margin:0}
.j-feature h3{font-size:clamp(32px,3.6vw,52px)}
.j-section-title{grid-column:1/-1;display:flex;align-items:baseline;gap:20px;margin-top:20px;border-top:3px double var(--ink);padding-top:16px}
.j-section-title h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(28px,3vw,40px);margin:0}
.j-section-title span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.soon{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:19px}
@media (max-width:900px){.j-grid{grid-template-columns:1fr 1fr}.j-feature{grid-template-columns:1fr}}
@media (max-width:560px){.j-grid{grid-template-columns:1fr}}

/* ---------- application ---------- */
.apply{min-height:100vh;display:grid;grid-template-columns:.9fr 1.1fr}
.apply-side{position:relative;overflow:hidden;color:#fff}
.apply-side .media{position:absolute;inset:0}
.apply-side .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,30,.2),rgba(20,22,30,.7))}
.apply-side-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:72px}
.apply-side-copy .eyebrow{color:var(--gold-lt)}
.apply-side-copy .display{margin:16px 0 18px}
.apply-side-copy .body{color:rgba(255,255,255,.82)}
.apply-main{padding:150px clamp(24px,6vw,110px) 80px;display:flex;flex-direction:column;background:var(--paper)}
.steps-nav{display:flex;gap:6px;margin-bottom:56px}
.steps-nav i{flex:1;height:1px;background:var(--rule);position:relative;overflow:hidden}
.steps-nav i::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.steps-nav i.done::after{transform:scaleX(1)}
.step{display:none;animation:stepIn .9s var(--ease)}
.step.on{display:block}
@keyframes stepIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.step-h{font-family:var(--serif);font-weight:300;font-size:clamp(32px,3.6vw,52px);margin:12px 0 44px;line-height:1.12}
.step-h small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.3em;color:var(--gold);margin-bottom:14px;text-transform:uppercase}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
@media (max-width:640px){.grid2{grid-template-columns:1fr}}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:30px}
.choices label{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--rule);border-radius:10px;cursor:pointer;font-size:14px;background:rgba(255,255,255,.35);transition:border-color .4s,background .4s}
.choices input{appearance:none;-webkit-appearance:none;width:12px;height:12px;border:1px solid var(--gold);transform:rotate(45deg);margin:0;flex-shrink:0;transition:background .3s}
.choices input:checked{background:var(--gold)}
.choices label:has(input:checked){border-color:var(--gold);background:var(--gold-wash)}
@media (max-width:640px){.choices{grid-template-columns:1fr}}
.yn{display:flex;gap:10px;margin-bottom:30px}
.yn label{flex:1}
.step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:20px}
.back{background:none;border:0;color:var(--muted);font:inherit;font-size:11px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;padding:0}
.back:hover{color:var(--gold)}
.err{color:#a5523a;font-size:13px;min-height:20px;margin:-10px 0 10px}
.received{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(200,173,118,.16),transparent 70%),#100e0b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--gutter);opacity:0;pointer-events:none;transition:opacity 2s var(--ease)}
.received.on{opacity:1;pointer-events:auto}
.received img{width:84px;margin-bottom:48px;opacity:0;transition:opacity 2s 1s}
.received.on img{opacity:1}
.received p{font-family:var(--serif);font-weight:300;font-size:clamp(22px,2.6vw,36px);margin:0;color:#f3ead8;opacity:0;transition:opacity 2s 2s;line-height:1.4}
.received p+p{font-size:clamp(16px,1.6vw,20px);color:rgba(243,234,216,.6);margin-top:16px;transition-delay:2.8s}
.received.on p{opacity:1}
.received a{margin-top:64px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:#c8ad76;opacity:0;transition:opacity 2s 3.6s}
.received.on a{opacity:1}
@media (max-width:900px){.apply{grid-template-columns:1fr}.apply-side{min-height:52vh}.apply-main{padding-top:64px}}

/* ---------- login / portal ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:140px var(--gutter) 80px;position:relative;overflow:hidden;background:var(--ivory)}
.login-wrap .media{position:absolute;inset:0;opacity:.35}
.login-wrap .media::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(237,227,208,.95),rgba(237,227,208,.6))}
.login-card{position:relative;width:100%;max-width:440px;text-align:center;background:rgba(255,255,255,.75);backdrop-filter:blur(10px);padding:56px 44px;border-radius:var(--radius);box-shadow:0 30px 80px rgba(47,54,71,.12)}
.login-card img{width:56px;margin:0 auto 26px}
.login-card .display{margin-bottom:40px}
.login-card .field{text-align:left}
.login-card .btn{width:100%;justify-content:center;margin-top:10px}
.login-card .fine{margin-top:26px;font-size:12px;color:var(--muted)}
.login-card .fine a{color:var(--gold)}

.portal-top{padding:150px var(--gutter) 60px;background:var(--slate);color:#fff}
.portal-top .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.portal-top .eyebrow{color:var(--gold-lt)}
.portal-top .display{margin-top:16px}
.badge{display:flex;align-items:center;gap:18px;padding:18px 24px;border:1px solid var(--rule-slate);border-radius:12px}
.badge img{width:40px}
.badge b{display:block;font-family:var(--serif);font-weight:400;font-size:20px;color:#fff}
.badge span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-lt)}
.modules{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:18px var(--gutter) 80px;background:var(--slate)}
.module{position:relative;min-height:44vh;padding:44px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:var(--radius);
  background:linear-gradient(145deg,#f7eedb 0%,#e8d6ae 55%,#d3b77c 100%);color:var(--ink);transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.module::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0%,rgba(255,255,255,.6),transparent 55%)}
.module:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,.25)}
.module h2{position:relative;font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.2vw,46px);margin:0}
.module ul{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:14px;color:#5b5240}
.module ul li{display:flex;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid rgba(91,82,64,.2)}
.module .eyebrow{position:relative;color:#6d5a33}
@media (max-width:820px){.modules{grid-template-columns:1fr}.module{padding:32px;min-height:auto;gap:40px}}
.demo-note{font-size:11px;letter-spacing:.12em;color:var(--muted-slate);text-align:center;padding:20px var(--gutter);background:var(--slate);margin:0}

/* legal */
.legal{max-width:760px;margin:0 auto}
.legal h2{font-family:var(--serif);font-weight:400;font-size:28px;margin:48px 0 14px}
.legal p,.legal li{color:var(--muted);font-size:15px}
.map .arc{animation:flow 1.8s linear infinite}
@keyframes flow{to{stroke-dashoffset:-18}}

/* ---------- member gate (5 Hertford Street–style) ---------- */
body.gate-page{background:var(--slate)}
.gate{position:relative;min-height:100vh;min-height:100svh;background:var(--slate);color:var(--on-slate);display:flex;align-items:center;justify-content:center;overflow:hidden}
.gate-top{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:32px var(--gutter);z-index:3}
.gate-top nav{display:flex;gap:28px}
.gate-top a,.gate-addr{font-family:var(--serif);font-size:19px;font-weight:500;color:#f5ece1}
.gate-top nav a{border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .4s}
.gate-top nav a:hover{color:var(--gold-lt)}
.gate-back{font-size:14px!important;font-weight:400!important;opacity:.6;letter-spacing:.04em}
.gate-back:hover{opacity:1}
.gate-mark{position:relative;width:min(78vw,1120px);display:grid;place-items:center;transition:transform 1.2s var(--ease),opacity 1.2s var(--ease)}
.gate-flourish{width:100%;height:auto;opacity:0;animation:flourishIn 2.6s .2s var(--ease) forwards}
@keyframes flourishIn{from{opacity:0;clip-path:inset(0 50% 0 50%)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.gate-name{position:absolute;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(26px,4.4vw,64px);color:var(--gold-lt);letter-spacing:-.005em;white-space:nowrap;
  opacity:0;animation:nameIn 1.8s 1.4s var(--ease) forwards}
@keyframes nameIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gate-addr{position:absolute;right:var(--gutter);bottom:32px;margin:0}
.gate-panel{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:#4a2226;box-shadow:-30px 0 80px rgba(0,0,0,.25);z-index:4;
  transform:translateX(100%);transition:transform .9s var(--ease);display:flex;align-items:center;padding:0 48px}
.gate.open .gate-panel{transform:none}
.gate.open .gate-mark{transform:translateX(-12vw) scale(.86);opacity:.5}
.gate-close{position:absolute;top:26px;right:30px;background:none;border:0;color:#f5ece1;font-size:30px;cursor:pointer;line-height:1}
.gate-form{width:100%}
.gate-form img{width:46px;margin-bottom:22px}
.gate-form h1{font-family:var(--serif);font-weight:400;font-style:italic;font-size:40px;margin:0 0 36px;color:#f5ece1}
.gate-form .field label{color:var(--gold-lt)}
.gate-form .field input{color:#f5ece1;border-color:rgba(245,236,225,.25)}
.gate-form .field input:focus{border-color:var(--gold-lt)}
.gate-form .btn{width:100%;justify-content:center;margin-top:8px}
.gate-form .btn::before{background:#f5ece1}
.gate-form .btn:hover{color:var(--slate);border-color:#f5ece1}
.gate-form .fine{margin-top:22px;font-size:13px;color:var(--muted-slate)}
.gate-form .fine a{color:var(--gold-lt);border-bottom:1px solid currentColor}
@media (max-width:700px){.gate-top{padding:22px 20px}.gate-top nav{gap:16px}.gate-top a,.gate-addr{font-size:15px}.gate-back{display:none}.gate-mark{width:94vw}.gate-addr{left:20px;right:20px;text-align:center;font-size:13px}.gate.open .gate-mark{opacity:0}.gate-panel{padding:0 28px}}

/* ---------- v4 components ---------- */
.domain{display:grid;grid-template-columns:260px 1fr;gap:40px;padding:48px 0;border-top:1px solid var(--rule)}
.domain:last-child{border-bottom:1px solid var(--rule)}
.domain-head span{display:block;font-size:10px;letter-spacing:.28em;color:var(--gold);margin-bottom:12px}
.domain-head h3{font-family:var(--serif);font-weight:300;font-size:clamp(26px,2.6vw,38px);margin:0;line-height:1.15;position:sticky;top:120px}
.domain .rows{border-top:0}
.domain .row{grid-template-columns:40px 1fr 1.4fr;padding:26px 0}
.domain .row:last-child{border-bottom:0}
.domain .row h3{font-size:clamp(21px,1.9vw,27px)}
@media (max-width:860px){.domain{grid-template-columns:1fr;gap:10px}.domain .row{grid-template-columns:1fr}}
.circles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.circle-card{background:var(--ivory);border-radius:var(--radius);padding:40px 34px;display:flex;flex-direction:column;box-shadow:0 1px 0 var(--rule);transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.circle-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(90,42,47,.12)}
.c-badge{width:64px;margin-bottom:22px}
.circle-card h3{font-family:var(--serif);font-weight:300;font-size:clamp(28px,2.6vw,38px);margin:10px 0 14px}
.c-for{font-size:14.5px;color:var(--muted);line-height:1.8;margin:0 0 20px}
.circle-card ul{list-style:none;margin:0 0 30px;padding:18px 0 0;border-top:1px solid var(--rule);display:grid;gap:10px;font-size:13.5px;color:var(--ink);line-height:1.6}
.circle-card li{display:flex;gap:12px}
.circle-card li::before{content:"";width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg);flex-shrink:0;margin-top:.55em}
.circle-card .link{margin-top:auto;align-self:flex-start}
.circle-card .c-price{margin:auto 0 18px;font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.6vw,38px);line-height:1;color:var(--ink)}
.circle-card .c-price span{font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-left:10px}
.circle-card .c-price+.link{margin-top:0}
@media (max-width:980px){.circles{grid-template-columns:1fr}}
.rec-group{font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:40px 0 0;padding-bottom:14px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px;margin:48px 0;padding-top:36px;border-top:1px solid var(--rule)}
.contact-grid p{margin:8px 0 10px;font-family:var(--serif);font-size:21px;line-height:1.45}
.contact-grid p.eyebrow{font-family:var(--sans);font-size:11px;margin:0}
.contact-grid a:not(.link):hover{color:var(--gold)}
@media (max-width:560px){.contact-grid{grid-template-columns:1fr}}
.gala-band{background:linear-gradient(180deg,rgba(18,16,13,.58),rgba(18,16,13,.74)),url(../img/gala.jpg) center/cover;--on-slate:#fff;--muted-slate:rgba(255,255,255,.82);--band-strong:#fff;--band-accent:#d8bd85;--gold-lt:#d8bd85;--rule-slate:rgba(255,255,255,.22);--band-btn-fill:#fff;--band-btn-text:#2a2925;--band-line:rgba(255,255,255,.5);color:#fff}

/* ================= v5 cinematic subpages ================= */
/* video hero that shrinks into a framed card on scroll */
.vhero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;color:#fff;background:var(--paper)}
.vh-media{position:absolute;inset:0;overflow:hidden;background:#1b1514;will-change:clip-path}
.vh-media video{width:100%;height:100%;object-fit:cover;transform:scale(1.12);will-change:transform}
.vh-media::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(20,14,14,.05),rgba(20,14,14,.45) 80%),linear-gradient(180deg,rgba(20,14,14,.45),transparent 30%,transparent 55%,rgba(20,14,14,.7))}
.vh-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(70px,12vh,130px);max-width:980px;will-change:transform,opacity}
.vh-copy .eyebrow{color:var(--gold-lt)}
.vh-copy .display{margin:18px 0 22px;text-shadow:0 2px 40px rgba(0,0,0,.3)}
.vh-copy .display em{color:var(--gold-lt)}
.vh-copy .lede{color:rgba(255,255,255,.88);max-width:30em}
.vhero .scroll-cue{position:absolute;left:50%;bottom:26px;width:1px;height:52px;background:rgba(255,255,255,.25);overflow:hidden}
.vhero .scroll-cue span{position:absolute;left:0;top:-50%;width:1px;height:50%;background:#fff;animation:cue 2.4s infinite var(--ease)}
@keyframes cue{to{top:110%}}
html:not(.gsap) .vh-copy>*{animation:rise 1.6s var(--ease) both}
html:not(.gsap) .vh-copy>*:nth-child(2){animation-delay:.15s}html:not(.gsap) .vh-copy>*:nth-child(3){animation-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* scroll-scrubbed words */
.scrub-words .w{opacity:.16;transition:none}

/* stacked domain cards */
.office-domains{padding-bottom:40px}
.stack{padding:0 var(--gutter) 10vh;max-width:1400px;margin:0 auto}
.stack-card{position:sticky;top:96px;height:calc(100vh - 140px);min-height:520px;margin-bottom:6vh;border-radius:var(--radius);overflow:hidden;
  display:grid;grid-template-columns:1.05fr 1fr;background:var(--ivory);box-shadow:0 30px 80px rgba(62,29,32,.10);transform-origin:50% 0;will-change:transform}
.stack-card:nth-child(even){background:var(--slate);color:var(--on-slate)}
.sc-media{position:relative;overflow:hidden}
.sc-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.1)}
.sc-copy{padding:clamp(32px,4.5vw,72px);display:flex;flex-direction:column;justify-content:center;gap:4px}
.sc-n{font-size:11px;letter-spacing:.3em;color:var(--gold)}
.stack-card:nth-child(even) .sc-n{color:var(--gold-lt)}
.sc-copy h3{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.8vw,58px);line-height:1.05;margin:14px 0 30px}
.sc-item{padding:20px 0;border-top:1px solid var(--rule)}
.stack-card:nth-child(even) .sc-item{border-color:var(--rule-slate)}
.sc-item h4{font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.7vw,25px);margin:0 0 8px}
.sc-item p{margin:0;font-size:14.5px;line-height:1.8;color:var(--muted)}
.stack-card:nth-child(even) .sc-item p{color:var(--muted-slate)}
@media (max-width:900px){.stack-card{position:relative;top:0;height:auto;grid-template-columns:1fr}.sc-media{aspect-ratio:16/10}}

/* horizontal pinned gallery (generic) */
.record-sec{overflow:hidden}
.hpin{display:flex;align-items:center;gap:clamp(40px,5vw,90px);min-height:100vh;padding:0 var(--gutter)}
.hp-head{flex:0 0 clamp(300px,28vw,420px);position:relative;z-index:2;align-self:stretch;display:flex;flex-direction:column;justify-content:center;
  background:var(--ivory);box-shadow:60px 0 60px -10px var(--ivory);margin-left:calc(var(--gutter)*-1);padding-left:var(--gutter)}
.hp-head .display{margin:18px 0 22px}
.hp-head .body{margin-bottom:34px}
.hp-head .btn{align-self:flex-start}
.htrack{display:flex;gap:26px;will-change:transform;position:relative;z-index:1}
.ev-card{flex:0 0 clamp(280px,24vw,380px)}
.ev-card .media{aspect-ratio:4/3;background:var(--stone)}
.ev-card .media img{object-fit:cover;transition:transform 1.6s var(--ease)}
.ev-card:hover .media img{transform:scale(1.05)}
.ev-meta{display:flex;justify-content:space-between;margin:18px 0 6px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.ev-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(21px,1.8vw,26px);line-height:1.2;margin:0 0 8px}
.ev-place{margin:0;font-size:13px;color:var(--ink)}
.ev-desc{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.7}
@media (max-width:900px){.hpin{flex-direction:column;align-items:stretch;padding:110px var(--gutter)}.hp-head{flex:none;box-shadow:none;margin-left:0;padding-left:0}
  .htrack{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-right:calc(var(--gutter)*-1)}.ev-card{flex-basis:78vw;scroll-snap-align:start}}

/* membership circles on oxblood */
#circles{background:var(--slate);color:var(--on-slate)}
#circles .body{color:var(--muted-slate)}
#circles .eyebrow,#circles .display em{color:var(--gold-lt)}
#circles .circle-card{background:var(--ivory);color:var(--ink)}
.circles{perspective:1400px}
.j-quad{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}
.j-quad .media{aspect-ratio:5/7}
.j-quad h3{font-size:clamp(19px,1.6vw,23px)}
@media (max-width:900px){.j-quad{grid-template-columns:1fr 1fr}.j-quad .j-card:last-child{grid-column:1/-1}.j-quad .j-card:last-child .media{aspect-ratio:16/10}}
.field label .opt{font-style:normal;letter-spacing:.1em;text-transform:none;color:var(--muted)}
