*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --champagne: #f0e6c8; --gold: #b8972a; --gold-lt: #d4b558; --gold-pale: #f5ead4;
  --navy: #0a1628; --navy-mid: #142238; --navy-lt: #1e3355;
  --ivory: #faf7f0; --parch: #f2ead8; --cream: #fefcf7;
  --onyx: #0d0d0d; --charcoal: #1a1a1a; --mid: #3a3530; --muted: #7a7268;
  --border: rgba(184,151,42,0.25);
  color-scheme: light;
}
html { scroll-behavior: smooth; }
html.arrive { scroll-behavior: auto !important; }
body { font-family: 'EB Garamond', Georgia, serif; background: var(--cream); color: var(--charcoal); overflow-x: clip; }
img { display: block; object-fit: cover; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--gold-lt); outline-offset: 3px; }

.deco-line { display: flex; align-items: center; justify-content: center; gap: 0.8rem; margin: 0 auto 1.5rem; }
.deco-line::before, .deco-line::after { content: ''; flex: 1; height: 1px; background: var(--gold); opacity: 0.5; }
.deco-diamond { width: 6px; height: 6px; background: var(--gold); transform: rotate(45deg); flex-shrink: 0; }
.eyebrow { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.74rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.5rem; }

/* ── UTILITY BAR (tier 1) ── */
.utility { background: #060e1a; border-bottom: 1px solid rgba(184,151,42,0.15); }
.utility-inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.55rem 4rem; font-family: 'Montserrat', sans-serif; font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(240,230,200,0.55); }
.utility-inner .u-left { display: flex; gap: 1.6rem; flex-wrap: wrap; }
.utility-inner .u-left b { color: var(--gold-lt); font-weight: 500; }
.utility-inner .u-right { display: flex; gap: 1.6rem; }
.utility a { color: rgba(240,230,200,0.75); text-decoration: none; transition: color .2s; }
.utility a:hover { color: var(--gold-lt); }
.login-link { display: inline-flex; align-items: center; gap: .5rem; }
.login-link::before { content: ''; width: 7px; height: 9px; border: 1.2px solid currentColor; border-radius: 1px; box-shadow: inset 0 3px 0 -1.2px transparent; }

/* ── MAIN NAV (tier 2) ── */
nav.main { position: sticky; top: 0; z-index: 200; background: var(--navy); border-bottom: 1px solid var(--border); height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 0 4rem; }
.nav-side { display: flex; gap: 2.2rem; list-style: none; align-items: center; height: 100%; }
.nav-side > li { position: relative; height: 100%; display: flex; align-items: center; }
.nav-side > li > a { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: 0.76rem; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(240,230,200,0.85); text-decoration: none; transition: color 0.2s; display: flex; align-items: center; gap: .45rem; }
.nav-side > li > a:hover, .nav-side > li:has(:focus-visible) > a { color: var(--gold-lt); }
.has-drop > a::after { content: ''; width: 4px; height: 4px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .7; }
.drop { position: absolute; top: 100%; left: 50%; transform: translate(-50%, 6px); min-width: 230px; background: var(--navy); border: 1px solid var(--border); border-top: 2px solid var(--gold); list-style: none; padding: .7rem 0; opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s; }
.has-drop:hover .drop, .has-drop:has(:focus-visible) .drop { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.drop a { display: block; padding: .6rem 1.4rem; font-family: 'EB Garamond', serif; font-size: 1.08rem; color: rgba(240,230,200,0.75); text-decoration: none; transition: color .2s, background .2s; }
.drop a:hover { color: var(--champagne); background: rgba(184,151,42,0.08); }
.drop .new-pg::after { content: 'New'; font-family: 'Montserrat', sans-serif; font-size: .55rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); margin-left: .6rem; vertical-align: 2px; }
.nav-center { text-align: center; position: absolute; left: 50%; transform: translateX(-50%); text-decoration: none; }
.nav-monogram { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.8rem; color: var(--gold-lt); letter-spacing: 0.1em; line-height: 1; }
.nav-sub-name { font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 0.52rem; letter-spacing: 0.32em; text-transform: uppercase; color: rgba(240,230,200,0.45); margin-top: 0.2rem; }
.menu-btn { display: none; background: none; border: 1px solid var(--border); color: var(--champagne); font-family: 'Montserrat', sans-serif; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; padding: .55rem .9rem; cursor: pointer; }

/* mobile menu panel */
.m-menu { position: fixed; inset: 0; z-index: 300; background: var(--navy); overflow-y: auto; padding: 1.5rem 1.5rem 3rem; }
.m-menu-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; }
.m-menu-head .nav-monogram { font-size: 1.5rem; }
.m-group { border-top: 1px solid var(--border); padding: 1.2rem 0; }
.m-group > a { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: var(--champagne); text-decoration: none; display: block; }
.m-group ul { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin-top: .6rem; }
.m-group ul a { font-family: 'EB Garamond', serif; font-size: 1.05rem; color: rgba(240,230,200,.6); text-decoration: none; }
.m-cta { margin-top: 1.5rem; display: flex; flex-direction: column; gap: .8rem; }

/* ── HERO ── */
.hero { height: calc(100vh - 110px); min-height: 680px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--navy); }
.carousel { position: absolute; inset: 0; }
.c-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 2s cubic-bezier(0.4,0,0.2,1); }
.c-slide.active { opacity: 1; }
.c-slide img { width: 100%; height: 100%; object-position: center 42%; opacity: 0.65; filter: sepia(8%) contrast(1.04); }
.hero-vignette { position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse at center, transparent 35%, rgba(10,22,40,0.52) 100%), linear-gradient(to bottom, rgba(10,22,40,0.28) 0%, transparent 28%, transparent 68%, rgba(10,22,40,0.38) 100%); }
.hero-frame { position: absolute; z-index: 2; border: 1px solid rgba(184,151,42,0.28); inset: 3rem; pointer-events: none; }
.hero-frame::before, .hero-frame::after { content: ''; position: absolute; border: 1px solid rgba(184,151,42,0.12); }
.hero-frame::before { inset: -8px; } .hero-frame::after { inset: 8px; }
.corner { position: absolute; width: 24px; height: 24px; z-index: 3; }
.corner-tl { top: 3rem; left: 3rem; border-top: 2px solid var(--gold); border-left: 2px solid var(--gold); }
.corner-tr { top: 3rem; right: 3rem; border-top: 2px solid var(--gold); border-right: 2px solid var(--gold); }
.corner-bl { bottom: 3rem; left: 3rem; border-bottom: 2px solid var(--gold); border-left: 2px solid var(--gold); }
.corner-br { bottom: 3rem; right: 3rem; border-bottom: 2px solid var(--gold); border-right: 2px solid var(--gold); }
.hero-content { position: relative; z-index: 4; text-align: center; padding: 2rem; max-width: 900px; }
.hero-est { font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 0.72rem; letter-spacing: 0.42em; text-transform: uppercase; color: var(--gold); margin-bottom: 2rem; display: flex; align-items: center; justify-content: center; gap: 1rem; }
.hero-est::before, .hero-est::after { content: ''; width: 40px; height: 1px; background: var(--gold); opacity: 0.5; }
.hero-rule { width: 1px; height: 55px; background: linear-gradient(to bottom, transparent, var(--gold), transparent); margin: 0 auto 2rem; opacity: 0.7; }
.hero-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3.4rem, 9vw, 8rem); line-height: 0.95; color: var(--champagne); letter-spacing: 0.04em; margin-bottom: 0.5rem; }
.hero-title-italic { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; font-size: clamp(2.3rem, 6vw, 5.2rem); line-height: 1; color: var(--gold-lt); letter-spacing: 0.06em; display: block; margin-bottom: 1.8rem; }
.hero-divider { display: flex; align-items: center; justify-content: center; gap: 0.8rem; margin-bottom: 1.2rem; }
.hero-divider-line { width: 60px; height: 1px; background: rgba(184,151,42,0.4); }
.hero-divider span { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.82rem; letter-spacing: 0.26em; text-transform: uppercase; color: rgba(240,230,200,0.7); }
.hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 2.4vw, 1.6rem); color: rgba(240,230,200,0.75); margin-bottom: 1.2rem; letter-spacing: 0.02em; }
.hero-tagline { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: 0.84rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(240,230,200,0.65); margin-bottom: 2.8rem; }
.hero-btns { display: flex; gap: 1.2rem; justify-content: center; flex-wrap: wrap; }
.btn-gold { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.74rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--navy); background: var(--gold); border: none; padding: 1rem 2.5rem; cursor: pointer; text-decoration: none; display: inline-block; transition: background 0.2s; text-align: center; }
.btn-gold:hover { background: var(--gold-lt); }
.btn-outline { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: 0.74rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--champagne); background: transparent; border: 1px solid rgba(184,151,42,0.5); padding: 1rem 2.5rem; cursor: pointer; text-decoration: none; display: inline-block; transition: border-color 0.2s, color 0.2s; text-align: center; }
.btn-outline:hover { border-color: var(--gold); color: var(--gold-lt); }
.btn-outline.dark { color: var(--navy); border-color: var(--gold); }
.carousel-dots { position: absolute; bottom: 5rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.7rem; z-index: 5; }
.cdot { width: 7px; height: 7px; transform: rotate(45deg); border: 1.5px solid rgba(184,151,42,0.55); background: transparent; cursor: pointer; transition: background 0.3s; padding: 0; }
.cdot.active { background: var(--gold); border-color: var(--gold); }

/* ── DECLARATION BAND ── */
.declaration { background: var(--gold); padding: 1.1rem 0; overflow: hidden; white-space: nowrap; }
.decl-track { display: inline-flex; align-items: center; animation: marquee 34s linear infinite; }
.declaration:hover .decl-track { animation-play-state: paused; }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.decl-item { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--navy); padding: 0 2rem; flex-shrink: 0; }
.decl-sep { width: 5px; height: 5px; background: var(--navy); transform: rotate(45deg); flex-shrink: 0; opacity: 0.35; }

/* ── MANIFESTO ── */
.manifesto { background: var(--navy); padding: 8rem 4rem; text-align: center; position: relative; overflow: hidden; min-height: 500px; display: flex; align-items: center; justify-content: center; }
.manifesto-bg { position: absolute; inset: 0; z-index: 0; }
.manifesto-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: 0.62; filter: sepia(5%) contrast(1.02) brightness(1.15); }
.manifesto-overlay { position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse at center, rgba(10,22,40,0.1) 0%, rgba(10,22,40,0.45) 100%); }
.manifesto-inner { position: relative; z-index: 2; max-width: 780px; margin: 0 auto; }
.manifesto-quote { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; font-size: clamp(1.6rem, 3.5vw, 2.5rem); line-height: 1.55; color: var(--champagne); margin-bottom: 2.5rem; }
.manifesto-sub { font-family: 'EB Garamond', serif; font-size: 1.35rem; font-style: italic; line-height: 1.82; color: rgba(240,230,200,0.75); margin-bottom: 2rem; }
.text-link { font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-lt); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 3px; transition: color .2s; }
.text-link:hover { color: var(--champagne); }
.text-link.dark { color: var(--navy); }
.text-link.dark:hover { color: var(--gold); }

/* ── ON THE LAWNS ── */
.lawns { background: var(--navy-mid); border-top: 1px solid rgba(184,151,42,0.15); border-bottom: 1px solid rgba(184,151,42,0.15); }
.lawns-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); }
.lawns-label { padding: 3rem 2.5rem; border-right: 1px solid rgba(184,151,42,0.15); display: flex; flex-direction: column; justify-content: center; gap: 1rem; }
.lawns-label h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 2.3rem; line-height: 1.05; color: var(--champagne); }
.lawns-label h2 em { color: var(--gold-lt); }
.lawns-label .eyebrow { margin-bottom: 0; }
.lawn-item { padding: 3rem 2.2rem; border-right: 1px solid rgba(184,151,42,0.12); display: flex; flex-direction: column; gap: .5rem; }
.lawn-item:last-child { border-right: none; }
.lawn-k { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.64rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); }
.lawn-v { font-family: 'Playfair Display', serif; font-size: 1.55rem; color: var(--champagne); line-height: 1.2; }
.lawn-d { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.05rem; color: rgba(240,230,200,0.6); line-height: 1.5; }

/* ── EVENTS PREVIEW ── */
.events-section { background: var(--parch); padding: 7rem 5rem; }
.section-header { text-align: center; margin-bottom: 4rem; }
.h2-light { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.4rem, 5vw, 3.2rem); color: var(--navy); line-height: 1.1; }
.h2-light em { font-style: italic; color: var(--gold); }
.events-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; background: rgba(184,151,42,0.15); border: 1px solid rgba(184,151,42,0.2); max-width: 1200px; margin: 0 auto; }
.ev { background: var(--cream); padding: 2.8rem 2.4rem; position: relative; overflow: hidden; transition: background 0.25s; }
.ev:hover { background: var(--ivory); }
.ev::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--navy); }
.ev.prestige::before { background: var(--gold); height: 3px; }
.ev-tag { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--navy); background: rgba(10,22,40,0.07); padding: 0.25rem 0.7rem; display: inline-block; margin-bottom: 1.2rem; }
.ev-tag.gilt { color: #8a6f1c; background: rgba(184,151,42,0.14); }
.ev-date { font-family: 'Playfair Display', serif; font-size: 2.6rem; font-weight: 400; color: var(--navy); line-height: 1; margin-bottom: 0.3rem; }
.ev-month { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: #8a6f1c; margin-bottom: 1.1rem; }
.ev-title { font-family: 'Playfair Display', serif; font-size: 1.25rem; font-weight: 500; color: var(--charcoal); margin-bottom: 0.7rem; line-height: 1.3; }
.ev-desc { font-family: 'EB Garamond', serif; font-size: 1.05rem; line-height: 1.72; color: var(--mid); }
.events-more { text-align: center; margin-top: 3rem; }

/* ── MEMBERSHIP TEASER ── */
.membership { background: var(--cream); padding: 8rem 4rem; text-align: center; position: relative; overflow: hidden; }
.membership::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 640px; height: 640px; background: repeating-conic-gradient(rgba(184,151,42,0.03) 0deg 10deg, transparent 10deg 20deg); border-radius: 50%; pointer-events: none; }
.membership-inner { position: relative; z-index: 2; max-width: 920px; margin: 0 auto; }
.member-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1.1; color: var(--navy); margin-bottom: 1.4rem; }
.member-title em { font-style: italic; color: var(--gold); }
.member-body { font-family: 'EB Garamond', serif; font-size: 1.2rem; line-height: 1.8; color: var(--mid); margin: 0 auto 3rem; max-width: 640px; }
.steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: stretch; margin: 0 auto 3rem; text-align: left; }
.step { border: 1px solid var(--border); background: var(--cream); padding: 1.8rem 1.6rem; display: flex; flex-direction: column; gap: .45rem; }
.step.key { background: var(--navy); border-color: var(--gold); }
.step-n { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: #8a6f1c; }
.step.key .step-n { color: var(--gold-lt); }
.step-t { font-family: 'Playfair Display', serif; font-size: 1.35rem; color: var(--navy); line-height: 1.2; }
.step.key .step-t { color: var(--champagne); }
.step-d { font-family: 'EB Garamond', serif; font-size: 1.02rem; color: var(--muted); line-height: 1.5; }
.step.key .step-d { color: rgba(240,230,200,.7); }
.step-arrow { display: flex; align-items: center; justify-content: center; padding: 0 .9rem; color: var(--gold); }
.step-arrow span { width: 9px; height: 9px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.member-btns { display: flex; gap: 1.2rem; justify-content: center; flex-wrap: wrap; }
.member-dress { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.05rem; color: var(--muted); margin-top: 2rem; }

/* ── MOSAIC ── */
.mosaic { display: grid; grid-template-columns: repeat(12,1fr); grid-template-rows: 320px 320px; gap: 3px; background: var(--onyx); }
.mc { position: relative; overflow: hidden; }
.mc img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 7s ease; filter: sepia(3%); }
.mc:hover img { transform: scale(1.06); }
.mc-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 50%, rgba(10,22,40,0.6)); }
.mc-label { position: absolute; bottom: 1.2rem; left: 1.4rem; z-index: 2; font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(240,230,200,0.85); }
.mc-caption { position: absolute; bottom: 1.4rem; left: 1.6rem; right: 1.4rem; z-index: 2; }
.mc-caption-over { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: 0.35rem; }
.mc-caption-title { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.5rem; color: var(--champagne); line-height: 1.3; margin-bottom: .9rem; }
.mc1 { grid-column:1/6; grid-row:1/3; } .mc2 { grid-column:6/9; grid-row:1/2; } .mc3 { grid-column:9/13; grid-row:1/2; }
.mc4 { grid-column:6/9; grid-row:2/3; } .mc5 { grid-column:9/11; grid-row:2/3; } .mc6 { grid-column:11/13; grid-row:2/3; }

/* ── FOOTER ── */
footer { background: var(--onyx); padding: 5.5rem 5rem 3rem; border-top: 1px solid rgba(184,151,42,0.15); }
.foot-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 4rem; border-bottom: 1px solid rgba(184,151,42,0.12); margin-bottom: 2.5rem; }
.foot-brand { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.6rem; letter-spacing: 0.04em; color: var(--champagne); }
.foot-brand em { font-style: italic; color: var(--gold-lt); }
.foot-est { font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 0.6rem; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(240,230,200,0.4); margin-top: 0.4rem; line-height: 1.8; }
.foot-addr { font-family: 'EB Garamond', serif; font-size: 1.02rem; color: rgba(240,230,200,0.55); margin-top: 1.3rem; line-height: 1.6; }
.foot-addr span { color: var(--gold-lt); user-select: all; }
.foot-socials { display: flex; gap: 1rem; margin-top: 1.4rem; }
.foot-socials a { font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(240,230,200,0.5); text-decoration: none; border-bottom: 1px solid rgba(184,151,42,0.3); padding-bottom: 1px; transition: color 0.2s; }
.foot-socials a:hover { color: var(--gold-lt); }
.foot-col h4 { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.3rem; }
.foot-col ul { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
.foot-col a { font-family: 'EB Garamond', serif; font-size: 1.05rem; font-weight: 500; color: rgba(240,230,200,0.58); text-decoration: none; transition: color 0.2s; }
.foot-col a:hover { color: var(--champagne); }
.foot-col .lock::before { content: '◆ '; color: var(--gold); font-size: .6rem; vertical-align: 2px; }
.foot-bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.foot-copy { font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 0.6rem; letter-spacing: 0.14em; color: rgba(240,230,200,0.35); }
.foot-aff { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.foot-aff a { font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(240,230,200,0.4); text-decoration: none; transition: color 0.2s; }
.foot-aff a:hover { color: var(--gold); }

/* ── "PAGE IN PROGRESS" TOAST (mockup only) ── */
.toast { position: fixed; left: 50%; bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)); transform: translate(-50%, 20px); z-index: 400; background: var(--navy); border: 1px solid var(--gold); color: var(--champagne); font-family: 'EB Garamond', serif; font-size: 1.05rem; padding: .85rem 1.4rem; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; max-width: calc(100% - 32px); text-align: center; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.toast b { font-family: 'Montserrat', sans-serif; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-lt); font-weight: 600; margin-right: .6rem; }

/* ── HERO ENTRANCE ── */
@keyframes fadeUp { from { opacity: 0; transform: translateY(60px); } to { opacity: 1; transform: translateY(0); } }
.hero-content > * { animation: fadeUp 1s cubic-bezier(0.22,1,0.36,1) both; }
.hero-content > *:nth-child(2) { animation-delay: .12s; } .hero-content > *:nth-child(3) { animation-delay: .24s; }
.hero-content > *:nth-child(4) { animation-delay: .36s; } .hero-content > *:nth-child(5) { animation-delay: .48s; }
.hero-content > *:nth-child(6) { animation-delay: .6s; } .hero-content > *:nth-child(7) { animation-delay: .72s; }
.hero-content > *:nth-child(8) { animation-delay: .84s; }
@media (prefers-reduced-motion: reduce) { .hero-content > * { animation: none; } .decl-track { animation: none; } }

/* ── RESPONSIVE ── */
@media (max-width: 1180px) {
  .nav-side { display: none; }
  .menu-btn { display: block; }
  nav.main { padding: 0 1.5rem; }
  .nav-center { position: static; transform: none; text-align: left; }
  .utility-inner { padding: .55rem 1.5rem; }
  .lawns-inner { grid-template-columns: 1fr 1fr; }
  .lawns-label { grid-column: 1 / -1; border-right: none; border-bottom: 1px solid rgba(184,151,42,0.15); padding: 2.5rem 1.5rem 2rem; }
  .lawn-item { padding: 2rem 1.5rem; border-bottom: 1px solid rgba(184,151,42,0.12); }
  .foot-top { grid-template-columns: 1fr 1fr 1fr; }
  .foot-top > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 960px) {
  .hero { min-height: 600px; height: auto; padding: 5rem 0; }
  .hero-frame, .corner { display: none; }
  .manifesto, .events-section, .membership { padding: 5rem 1.5rem; }
  .events-grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .step-arrow { padding: .7rem 0; } .step-arrow span { transform: rotate(135deg); }
  .mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .mc1,.mc2,.mc3,.mc4,.mc5,.mc6 { grid-column: auto; grid-row: auto; height: 220px; }
  .mc1 { grid-column: 1 / -1; height: 320px; }
  footer { padding: 4rem 1.5rem 2rem; }
}
@media (max-width: 620px) {
  .utility-inner .u-left span:not(:first-child) { display: none; }
  .lawns-inner { grid-template-columns: 1fr; }
  .lawn-item { border-right: none; }
  .foot-top { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .hero-btns a { width: 100%; }
  .btn-gold, .btn-outline { padding: 1rem 1.6rem; }
}
/* ── MHCC INTRO CARD ── */
.mhcc-card { position: absolute; z-index: 6; left: 50%; top: 50%; transform: translate(-50%,-50%); cursor: pointer; }
.mhcc-card .viewport { position: relative; margin: 8px; overflow: hidden; padding: clamp(14px, 2vw, 24px); }
.mhcc-card[hidden] { display: none; }
.mhcc-card .mhcc-scale { position: relative; transform-origin: 50% 50%; }
.mhcc-card-bg { position: absolute; inset: 0; background: var(--champagne); border: 2px solid var(--gold); box-shadow: 0 24px 60px rgba(10,22,40,0.4); }
.mhcc-card-bg::after { content: ''; position: absolute; inset: 6px; border: 1px solid var(--gold); pointer-events: none; }
.mhcc-card .crop { position: relative; aspect-ratio: 1099/870; width: min(67vw, 54vh, 536px); }
.mhcc-card .crest { position: absolute; aspect-ratio: 1312/1320; width: 119.3813%; left: -11.6015%; top: -31.3793%; }
.mhcc-card .layer { position: absolute; inset: 0; transform-origin: 50% 50%; }
.mhcc-card .layer img { position: absolute; max-width: none; height: auto; display: block; object-fit: fill; }
.mhcc-card .mono { z-index: 3; } .mhcc-card .ball { z-index: 2; }

/* art deco trim on the intro card */
.mhcc-deco { position: absolute; inset: 0; pointer-events: none; color: var(--gold); }
.mhcc-deco .c { position: absolute; width: 22px; height: 22px; }
.mhcc-deco .c svg { display: block; width: 100%; height: 100%; }
.mhcc-deco .tl { top: -7px; left: -7px; }
.mhcc-deco .tr { top: -7px; right: -7px; transform: scaleX(-1); }
.mhcc-deco .bl { bottom: -7px; left: -7px; transform: scaleY(-1); }
.mhcc-deco .br { bottom: -7px; right: -7px; transform: scale(-1,-1); }
html.mhcc-intro-on .hero-content, html.mhcc-intro-on .hero-scroll { opacity: 0; }

/* keep the right-hand dropdown on screen */
.nav-side:last-of-type > li:last-child .drop { left: auto; right: -1rem; transform: translate(0, 6px); }
.nav-side:last-of-type > li:last-child:hover .drop, .nav-side:last-of-type > li:last-child:has(:focus-visible) .drop { transform: translate(0, 0); }

/* ── NAV v2: badge left, all items right ── */
.brand { display: flex; align-items: center; gap: .9rem; text-decoration: none; flex-shrink: 0; }
.badge { width: 50px; height: 50px; flex-shrink: 0; transition: transform .4s ease; }
.brand:hover .badge { transform: rotate(-8deg); }
.brand-words { display: flex; flex-direction: column; line-height: 1; }
.brand-name { font-family: 'Playfair Display', serif; font-size: 1.25rem; color: var(--champagne); letter-spacing: .03em; }
.brand-sub { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: .56rem; letter-spacing: .34em; text-transform: uppercase; color: var(--gold-lt); margin-top: .4rem; }
nav.main .nav-side { gap: 2.1rem; margin-left: auto; }
.drop a { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; padding: .75rem 1.4rem; }
.drop { min-width: 240px; }
.m-group ul a { font-family: 'Montserrat', sans-serif; font-size: .8rem; letter-spacing: .06em; }
@media (max-width: 1180px) { .badge { width: 44px; height: 44px; } }
@media (max-width: 420px) { .brand-name { font-size: 1.1rem; } }

/* ── HERO v2: content sits higher, title on one line ── */
.hero { height: calc(100svh - 110px); min-height: 560px; max-height: 880px; align-items: flex-start; padding-top: clamp(4.2rem, 9vh, 6.5rem); }
.hero-content { max-width: 1100px; padding: 0 2rem; }
.hero-est { margin-bottom: 1rem; }
.hero-rule { height: 30px; margin-bottom: 1.1rem; }
.hero-title { font-size: clamp(3rem, 7vw, 6.6rem); white-space: nowrap; margin-bottom: .2rem; }
.hero-title-italic { font-size: clamp(2rem, 4.6vw, 4.2rem); margin-bottom: 1.3rem; }
.hero-divider { margin-bottom: .9rem; }
.hero-sub { font-size: clamp(1.15rem, 2vw, 1.45rem); margin-bottom: .8rem; }
.hero-tagline { margin-bottom: 2rem; }
.carousel-dots { bottom: 4.2rem; }
@media (max-width: 760px) { .hero-title { white-space: normal; font-size: clamp(2.8rem, 13vw, 4rem); } }
@media (max-width: 960px) { .hero { height: auto; max-height: none; padding: 3.5rem 0 5.5rem; } }

@media (max-width: 620px) {
  .hero-title { line-height: 1.04; }
  .hero-est { letter-spacing: .22em; font-size: .62rem; gap: .6rem; }
  .hero-est::before, .hero-est::after { width: 22px; }
  .hero-divider span { letter-spacing: .16em; font-size: .72rem; }
  .hero-divider-line { width: 32px; }
  .hero-tagline { font-size: .7rem; letter-spacing: .12em; }
  .utility-inner { font-size: .58rem; letter-spacing: .12em; }
}

/* only one drop-down open at a time: hovering any menu item closes the others */
.nav-side:hover > li:not(:hover) > .drop { opacity: 0; visibility: hidden; }
.nav-side:hover > li:not(:hover) > a { color: rgba(240,230,200,0.85); }
.nav-side > li.closed > .drop { opacity: 0 !important; visibility: hidden !important; }

/* club name between the mallet heads */
.mhcc-card .crop { container-type: inline-size; }
.mhcc-words { position: absolute; z-index: 4; left: 50%; top: 77.5%; transform: translateX(-50%); width: 30%; display: flex; flex-direction: column; align-items: center; color: #386e51; text-align: center; pointer-events: none; }
.mhcc-words .w1 { font-family: 'Pinyon Script', 'Snell Roundhand', cursive; font-size: 6.1cqw; line-height: 1; white-space: nowrap; }
.mhcc-words .w-rule { display: flex; align-items: center; gap: 1.1cqw; margin: .5cqw 0 .9cqw; }
.mhcc-words .w-rule i { width: 5.5cqw; height: 1px; background: currentColor; opacity: .7; }
.mhcc-words .w-rule b { width: .9cqw; height: .9cqw; background: currentColor; transform: rotate(45deg); }
.mhcc-words { top: 80.5%; gap: 1.1cqw; }
.mhcc-words .w2 { line-height: 1; font-family: 'Cinzel', 'Trajan Pro', Georgia, serif; font-weight: 600; font-size: 2.55cqw; letter-spacing: .24em; margin-right: -.24em; text-transform: uppercase; white-space: nowrap; }

.mhcc-words { top: 78.5%; gap: 2.1cqw; }
.mhcc-words .w2 { text-transform: none; font-size: 2.5cqw; letter-spacing: .2em; margin-right: -.2em; line-height: 1.1; }
.mhcc-words .ini { font-weight: 600; font-size: 1.6em; letter-spacing: .06em; line-height: 0; }

/* name in IM Fell English SC: natural capitals for M H C C, small caps for the rest */
.mhcc-words .w2 { font-family: 'IM Fell English SC', 'Cinzel', Georgia, serif; font-weight: 400; font-size: 4.15cqw; letter-spacing: .12em; margin-right: -.12em; line-height: 1.05; }
.mhcc-words .ini { font-weight: 400; font-size: .86em; letter-spacing: .03em; }
.mhcc-words { top: 76.5%; gap: 0; width: 40%; }
.mhcc-words .w2 { line-height: .98 !important; }

/* ════════ INNER PAGES (shared) ════════ */
/* ── PAGE HERO ── */
.page-hero { position: relative; overflow: hidden; background: var(--navy); min-height: 520px; height: 62vh; max-height: 640px; display: flex; align-items: flex-end; justify-content: center; }
.page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-position: center 55%; opacity: .62; filter: sepia(6%) contrast(1.04); }
.page-hero .hero-vignette { background: linear-gradient(to bottom, rgba(10,22,40,.25) 0%, rgba(10,22,40,.05) 35%, rgba(10,22,40,.75) 100%); }
.page-hero .hero-frame { inset: 2.2rem; }
.page-hero .corner-tl, .page-hero .corner-tr { top: 2.2rem; } .page-hero .corner-bl, .page-hero .corner-br { bottom: 2.2rem; }
.page-hero .corner-tl, .page-hero .corner-bl { left: 2.2rem; } .page-hero .corner-tr, .page-hero .corner-br { right: 2.2rem; }
.ph-content { position: relative; z-index: 4; text-align: center; padding: 0 2rem 5.5rem; max-width: 980px; }
.crumb { font-family: 'Montserrat', sans-serif; font-size: .66rem; letter-spacing: .26em; text-transform: uppercase; color: rgba(240,230,200,.6); margin-bottom: 1.4rem; }
.crumb a { color: var(--gold-lt); text-decoration: none; }
.crumb a:hover { color: var(--champagne); }
.ph-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.6rem, 6vw, 5.2rem); line-height: 1.06; color: var(--champagne); text-wrap: balance; }
.ph-title em { font-style: italic; color: var(--gold-lt); }
.ph-deck { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.1rem, 2vw, 1.35rem); color: rgba(240,230,200,.78); max-width: 620px; margin: 1.4rem auto 0; line-height: 1.6; }
.ph-content > * { animation: fadeUp 1.4s cubic-bezier(.2,.7,.2,1) both; }
.ph-content > *:nth-child(2) { animation-delay: .15s; } .ph-content > *:nth-child(3) { animation-delay: .3s; }

/* ── IN-PAGE TABS ── */
.subnav { position: sticky; top: 78px; z-index: 150; background: var(--parch); border-bottom: 1px solid var(--border); }
.subnav ul { list-style: none; display: flex; justify-content: center; gap: 0; max-width: 900px; margin: 0 auto; }
.subnav a { display: block; padding: 1.05rem 2rem; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--navy); text-decoration: none; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.subnav a:hover { color: #8a6f1c; }
.subnav a.on { border-bottom-color: var(--gold); color: #8a6f1c; }
section[id] { scroll-margin-top: 140px; }

/* ── OUR STORY ── */
.story { background: var(--cream); padding: 7rem 4rem 6rem; }
.story-inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 5rem; align-items: start; }
.sec-eyebrow { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; color: #8a6f1c; margin-bottom: 1.2rem; display: flex; align-items: center; gap: .9rem; }
.sec-eyebrow::after { content: ''; width: 48px; height: 1px; background: var(--gold); opacity: .6; }
.sec-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.3rem, 4.4vw, 3.6rem); line-height: 1.08; color: var(--navy); text-wrap: balance; }
.sec-title em { font-style: italic; color: var(--gold); }
.story-quote { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.4rem; line-height: 1.6; color: var(--navy); border-left: 2px solid var(--gold); padding-left: 1.6rem; margin-top: 2.4rem; }
.prose p { font-family: 'EB Garamond', serif; font-size: 1.2rem; line-height: 1.85; color: var(--mid); margin-bottom: 1.4rem; max-width: 62ch; }
.prose p:first-child::first-letter { font-family: 'Playfair Display', serif; float: left; font-size: 4.2rem; line-height: .82; padding: .35rem .7rem 0 0; color: var(--gold); }
.story-strip { display: grid; grid-template-columns: 1.2fr .8fr 1.2fr; gap: 3px; background: var(--onyx); height: 46vh; min-height: 320px; max-height: 480px; }
.story-strip div { position: relative; overflow: hidden; }
.story-strip img { width: 100%; height: 100%; transition: transform 6s ease; filter: sepia(5%) contrast(1.03); }
.story-strip div:hover img { transform: scale(1.04); }

/* ── STATS ── */
.stats { background: var(--onyx); display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid rgba(184,151,42,0.15); }
.stat { padding: 3.2rem 1.5rem; text-align: center; border-right: 1px solid rgba(184,151,42,0.12); }
.stat:last-child { border-right: none; }
.stat-num { font-family: 'Playfair Display', serif; font-size: 3.2rem; color: var(--champagne); line-height: 1; }
.stat-num small { font-size: 1.4rem; color: var(--gold-lt); margin-left: .2rem; }
.stat-label { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(240,230,200,.55); margin-top: .8rem; }

/* ── THE LAWNS ── */
.lawns-sec { background: var(--navy); padding: 7rem 4rem; }
.lawns-sec-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.25fr; gap: 4.5rem; align-items: center; }
.lawns-sec .sec-title { color: var(--champagne); }
.lawns-sec .sec-title em { color: var(--gold-lt); }
.lawns-sec .sec-eyebrow { color: var(--gold); }
.lawns-sec p.lead { font-family: 'EB Garamond', serif; font-size: 1.2rem; line-height: 1.85; color: rgba(240,230,200,.72); margin: 1.6rem 0 2rem; max-width: 52ch; }
.amenity-list { display: flex; flex-direction: column; gap: .9rem; }
.amenity { display: flex; gap: 1rem; align-items: flex-start; font-family: 'EB Garamond', serif; font-size: 1.1rem; line-height: 1.55; color: rgba(240,230,200,.78); }
.amenity-icon { width: 6px; height: 6px; background: var(--gold); transform: rotate(45deg); flex-shrink: 0; margin-top: .62rem; }
.lawn-photos { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 300px 210px; gap: 3px; }
.lawn-photos div { position: relative; overflow: hidden; }
.lawn-photos div:first-child { grid-column: 1 / -1; }
.lawn-photos img { width: 100%; height: 100%; }
.lawn-photos .cap { position: absolute; left: 1rem; bottom: .9rem; font-family: 'Montserrat', sans-serif; font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(240,230,200,.9); text-shadow: 0 1px 6px rgba(0,0,0,.5); }

/* ── EXPERIENCE BANNER ── */
.experience { height: 62vh; min-height: 440px; max-height: 620px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.experience img { position: absolute; inset: 0; width: 100%; height: 100%; object-position: center 45%; }
.experience-overlay { position: absolute; inset: 0; background: rgba(10,22,40,0.55); }
.experience-content { position: relative; z-index: 2; text-align: center; padding: 2rem; max-width: 760px; }
.experience-content h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.4rem, 5.5vw, 4.4rem); line-height: 1.08; color: var(--champagne); margin-bottom: 1.4rem; }
.experience-content h2 em { color: var(--gold-lt); }
.experience-content p { font-family: 'EB Garamond', serif; font-size: 1.3rem; line-height: 1.8; color: rgba(240,230,200,.8); }
.experience-content p em { display: block; font-family: 'Playfair Display', serif; color: var(--gold-lt); margin-top: .6rem; }

/* ── LEADERSHIP ── */
.leaders { background: var(--parch); padding: 7rem 4rem; }
.leaders-head { text-align: center; max-width: 700px; margin: 0 auto 4rem; }
.leaders-head .sec-eyebrow { justify-content: center; }
.leaders-head .sec-eyebrow::before { content: ''; width: 48px; height: 1px; background: var(--gold); opacity: .6; }
.leaders-head p { font-family: 'EB Garamond', serif; font-size: 1.2rem; line-height: 1.75; color: var(--mid); margin-top: 1.2rem; }
.officers { display: grid; grid-template-columns: repeat(2, minmax(0, 340px)); justify-content: center; gap: 2rem; margin-bottom: 3rem; }
.officer { background: var(--cream); border: 1px solid var(--border); padding: 2.6rem 2rem 2.2rem; text-align: center; position: relative; }
.officer::before { content: ''; position: absolute; inset: 6px; border: 1px solid rgba(184,151,42,.15); pointer-events: none; }
.seal { width: 74px; height: 74px; margin: 0 auto 1.3rem; border-radius: 50%; border: 1.5px solid var(--gold); outline: 1px solid rgba(184,151,42,.4); outline-offset: 4px; display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.6rem; color: var(--navy); background: var(--gold-pale); }
.officer-name { font-family: 'Playfair Display', serif; font-size: 1.55rem; color: var(--navy); }
.officer-role { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .64rem; letter-spacing: .24em; text-transform: uppercase; color: #8a6f1c; margin-top: .6rem; }
.roles { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border: 1px solid var(--border); background: var(--cream); }
.role { padding: 1.8rem 1.6rem; border-right: 1px solid var(--border); }
.role:last-child { border-right: none; }
.role-k { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; color: #8a6f1c; margin-bottom: .5rem; }
.role-v { font-family: 'Playfair Display', serif; font-size: 1.2rem; color: var(--navy); }
.role-d { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1rem; color: var(--muted); margin-top: .2rem; }
.club-contact { text-align: center; margin-top: 3rem; font-family: 'EB Garamond', serif; font-size: 1.15rem; color: var(--mid); }
.club-contact span { color: var(--navy); border-bottom: 1px solid var(--gold); user-select: all; }

/* ── AFFILIATIONS ── */
.affil { background: var(--cream); border-top: 1px solid var(--border); padding: 3.2rem 4rem; }
.affil-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 2.4rem; flex-wrap: wrap; }
.affil-lab { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .66rem; letter-spacing: .26em; text-transform: uppercase; color: var(--muted); }
.affil a { font-family: 'Playfair Display', serif; font-size: 1.25rem; color: var(--navy); text-decoration: none; display: flex; align-items: center; gap: .7rem; }
.affil a::before { content: ''; width: 6px; height: 6px; background: var(--gold); transform: rotate(45deg); }
.affil a:hover { color: #8a6f1c; }

/* ── CTA ── */
.cta-band { background: var(--navy); padding: 6rem 4rem; text-align: center; position: relative; overflow: hidden; }
.cta-band::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 520px; height: 520px; background: repeating-conic-gradient(rgba(184,151,42,0.04) 0deg 10deg, transparent 10deg 20deg); border-radius: 50%; pointer-events: none; }
.cta-band h2 { position: relative; font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.2rem, 5vw, 3.6rem); color: var(--champagne); margin-bottom: 2.2rem; }
.cta-band h2 em { color: var(--gold-lt); }
.cta-band .member-btns { position: relative; }

@media (max-width: 1180px) {
  .subnav { top: 78px; }
}
@media (max-width: 960px) {
  .story, .lawns-sec, .leaders, .cta-band { padding: 5rem 1.5rem; }
  .affil { padding: 2.6rem 1.5rem; }
  .story-inner, .lawns-sec-inner { grid-template-columns: 1fr; gap: 2.8rem; }
  .story-strip { grid-template-columns: 1fr 1fr; height: auto; max-height: none; }
  .story-strip div { height: 220px; } .story-strip div:first-child { grid-column: 1 / -1; height: 260px; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stat:nth-child(2) { border-right: none; } .stat:nth-child(-n+2) { border-bottom: 1px solid rgba(184,151,42,0.12); }
  .officers { grid-template-columns: minmax(0, 1fr); }
  .roles { grid-template-columns: 1fr; }
  .role { border-right: none; border-bottom: 1px solid var(--border); } .role:last-child { border-bottom: none; }
  .page-hero .hero-frame, .page-hero .corner { display: none; }
  .ph-content { padding-bottom: 3.5rem; }
}
@media (max-width: 620px) {
  .subnav a { padding: .95rem .9rem; font-size: .6rem; letter-spacing: .14em; }
  .lawn-photos { grid-template-rows: 220px 150px; }
  .affil-inner { flex-direction: column; gap: 1.2rem; }
}

/* ════════ MORE INNER-PAGE COMPONENTS ════════ */
.band { padding: 7rem 4rem; }
.band.cream { background: var(--cream); } .band.parch { background: var(--parch); } .band.navy { background: var(--navy); }
.band-inner { max-width: 1140px; margin: 0 auto; }
.band-head { max-width: 720px; margin-bottom: 3.5rem; }
.band-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.band-head.center .sec-eyebrow { justify-content: center; }
.band-head.center .sec-eyebrow::before { content: ''; width: 48px; height: 1px; background: var(--gold); opacity: .6; }
.band-head p { font-family: 'EB Garamond', serif; font-size: 1.2rem; line-height: 1.75; color: var(--mid); margin-top: 1.2rem; }
.navy .sec-title { color: var(--champagne); } .navy .sec-title em { color: var(--gold-lt); }
.navy .sec-eyebrow { color: var(--gold); } .navy .band-head p { color: rgba(240,230,200,.72); }
.note { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.05rem; color: var(--muted); margin-top: 1.6rem; }
.navy .note { color: rgba(240,230,200,.55); }

/* schedule / calendar rows */
.rows { border-top: 1px solid var(--border); }
.row { display: grid; grid-template-columns: 170px minmax(0,1fr) auto; gap: 2rem; align-items: center; padding: 1.6rem 0; border-bottom: 1px solid var(--border); }
.row-when { font-family: 'Playfair Display', serif; font-size: 1.5rem; color: var(--navy); line-height: 1.1; }
.row-when small { display: block; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; color: #8a6f1c; margin-top: .35rem; }
.row-what h3 { font-family: 'Playfair Display', serif; font-weight: 500; font-size: 1.3rem; color: var(--charcoal); margin-bottom: .3rem; }
.row-what p { font-family: 'EB Garamond', serif; font-size: 1.08rem; line-height: 1.6; color: var(--mid); }
.navy .rows, .navy .row { border-color: rgba(184,151,42,.2); }
.navy .row-when { color: var(--champagne); } .navy .row-when small { color: var(--gold-lt); }
.navy .row-what h3 { color: var(--champagne); } .navy .row-what p { color: rgba(240,230,200,.66); }
.tag { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; padding: .35rem .75rem; white-space: nowrap; color: var(--navy); background: rgba(10,22,40,.07); }
.tag.gilt { color: #7a6118; background: rgba(184,151,42,.16); }
.navy .tag { color: var(--champagne); background: rgba(240,230,200,.08); } .navy .tag.gilt { color: var(--gold-lt); background: rgba(184,151,42,.16); }

/* card grids */
.cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2px; background: rgba(184,151,42,.18); border: 1px solid rgba(184,151,42,.22); }
.cards.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.cards.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.card { background: var(--cream); padding: 2.6rem 2.2rem; position: relative; display: flex; flex-direction: column; gap: .7rem; }
.card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--navy); }
.card.gilt::before { background: var(--gold); height: 3px; }
.card-k { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: #8a6f1c; }
.card h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.6rem; color: var(--navy); line-height: 1.15; }
.card p { font-family: 'EB Garamond', serif; font-size: 1.08rem; line-height: 1.7; color: var(--mid); }
.card .text-link { margin-top: auto; align-self: flex-start; padding-top: .8rem; }
.parch .card { background: var(--cream); } .cream .cards .card { background: var(--ivory); }

/* split: text + image */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 4.5rem; align-items: center; }
.split.flip > :first-child { order: 2; }
.split-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.split-img img { width: 100%; height: 100%; }
.split-img::after { content: ''; position: absolute; inset: 1rem; border: 1px solid rgba(240,230,200,.45); pointer-events: none; }
.checks { list-style: none; display: flex; flex-direction: column; gap: .9rem; margin-top: 1.6rem; }
.checks li { display: flex; gap: 1rem; font-family: 'EB Garamond', serif; font-size: 1.12rem; line-height: 1.55; color: var(--mid); }
.checks li::before { content: ''; width: 6px; height: 6px; background: var(--gold); transform: rotate(45deg); flex-shrink: 0; margin-top: .62rem; }
.navy .checks li { color: rgba(240,230,200,.78); }
.checks b { font-weight: 500; color: var(--navy); }
.navy .checks b { color: var(--champagne); }

/* numbered path (a real sequence) */
.path3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2rem; counter-reset: p; }
.path3 > div { border-top: 1px solid var(--gold); padding-top: 1.4rem; }
.path3 .n { font-family: 'Playfair Display', serif; font-style: italic; font-size: 2.6rem; color: var(--gold); line-height: 1; }
.path3 h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.4rem; color: var(--navy); margin: .6rem 0 .5rem; }
.path3 p { font-family: 'EB Garamond', serif; font-size: 1.08rem; line-height: 1.65; color: var(--mid); }
.navy .path3 h3 { color: var(--champagne); } .navy .path3 p { color: rgba(240,230,200,.7); }

/* contact block */
.contact-line { font-family: 'EB Garamond', serif; font-size: 1.1rem; color: var(--mid); line-height: 1.7; }
.contact-line .sel { color: var(--navy); border-bottom: 1px solid var(--gold); user-select: all; }
.navy .contact-line { color: rgba(240,230,200,.75); } .navy .contact-line .sel { color: var(--champagne); }

/* perks */
.perk-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border: 1px solid var(--border); max-width: 900px; margin: 0 auto; }
.perk-grid > div { padding: 2.2rem 1.6rem; text-align: center; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.perk-grid > div:nth-child(3n) { border-right: none; }
.perk-grid > div:nth-last-child(-n+3) { border-bottom: none; }
.perk-grid .d { width: 8px; height: 8px; background: var(--gold); transform: rotate(45deg); margin: 0 auto 1rem; }
.perk-grid h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.25rem; color: var(--navy); }
.perk-grid p { font-family: 'EB Garamond', serif; font-size: 1rem; color: var(--muted); margin-top: .35rem; line-height: 1.5; }

/* FAQ */
.faq { max-width: 860px; margin: 0 auto; border-top: 1px solid var(--border); }
.faq details { border-bottom: 1px solid var(--border); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.5rem 0; font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--navy); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ''; width: 9px; height: 9px; border-right: 1.5px solid var(--gold); border-bottom: 1.5px solid var(--gold); transform: rotate(45deg); transition: transform .25s; flex-shrink: 0; margin-top: -4px; }
.faq details[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
.faq summary:hover { color: #8a6f1c; }
.faq .a { font-family: 'EB Garamond', serif; font-size: 1.15rem; line-height: 1.75; color: var(--mid); padding: 0 0 1.6rem; max-width: 68ch; }

/* forms (mockup) */
.form { display: flex; flex-direction: column; gap: 1.2rem; }
.fr { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.fg { display: flex; flex-direction: column; min-width: 0; }
.fl { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom: .5rem; }
.fi { font-family: 'EB Garamond', serif; font-size: 1.05rem; color: var(--charcoal); background: var(--cream); border: 1px solid rgba(184,151,42,.3); padding: .85rem 1rem; outline: none; transition: border-color .2s; resize: vertical; width: 100%; border-radius: 0; }
.fi:focus { border-color: var(--gold); }
.form .btn-navy { align-self: flex-start; }
.btn-navy { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 0.74rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--champagne); background: var(--navy); border: none; padding: 1rem 2.5rem; cursor: pointer; text-decoration: none; display: inline-block; transition: background 0.2s; }
.btn-navy:hover { background: var(--navy-lt); }

/* people */
.people { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem; }
.person { border: 1px solid var(--border); background: var(--cream); padding: 2rem 1.8rem; }
.person .card-k { margin-bottom: .5rem; }
.person h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.4rem; color: var(--navy); margin-bottom: .6rem; }
.person p { font-family: 'EB Garamond', serif; font-size: 1.05rem; color: var(--mid); line-height: 1.6; overflow-wrap: anywhere; }
.person .sel { color: var(--navy); user-select: all; }

/* map card */
.map-card { position: relative; aspect-ratio: 16 / 10; overflow: hidden; display: flex; align-items: flex-end; }
.map-card img { position: absolute; inset: 0; width: 100%; height: 100%; }
.map-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,22,40,.85), rgba(10,22,40,.1) 60%); z-index: 1; }
.map-card .mc-in { position: relative; z-index: 2; padding: 2rem; }
.map-card .mc-in p { font-family: 'Playfair Display', serif; font-size: 1.35rem; color: var(--champagne); margin-bottom: 1.2rem; line-height: 1.35; }

/* gallery */
.gal { columns: 3 280px; column-gap: 6px; }
.gal button { display: block; width: 100%; margin: 0 0 6px; padding: 0; border: none; background: var(--onyx); cursor: zoom-in; position: relative; overflow: hidden; break-inside: avoid; }
.gal img { width: 100%; height: auto; display: block; transition: transform 1.2s ease, opacity .3s; }
.gal button:hover img { transform: scale(1.03); }
.gal .cap { position: absolute; left: 1rem; bottom: .9rem; font-family: 'Montserrat', sans-serif; font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(240,230,200,.95); text-shadow: 0 1px 8px rgba(0,0,0,.6); opacity: 0; transition: opacity .3s; }
.gal button:hover .cap, .gal button:focus-visible .cap { opacity: 1; }
.lightbox { position: fixed; inset: 0; z-index: 500; background: rgba(6,12,22,.94); display: flex; align-items: center; justify-content: center; padding: 4rem 5rem; }
.lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; border: 1px solid rgba(184,151,42,.35); }
.lightbox .lb-cap { position: absolute; bottom: 1.4rem; left: 0; right: 0; text-align: center; font-family: 'Montserrat', sans-serif; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(240,230,200,.7); }
.lb-btn { position: absolute; background: none; border: 1px solid rgba(184,151,42,.5); color: var(--champagne); width: 46px; height: 46px; cursor: pointer; font-size: 1.2rem; display: grid; place-items: center; }
.lb-btn:hover { border-color: var(--gold); color: var(--gold-lt); }
.lb-prev { left: 1.2rem; top: 50%; transform: translateY(-50%); } .lb-next { right: 1.2rem; top: 50%; transform: translateY(-50%); }
.lb-close { top: 1.2rem; right: 1.2rem; }

@media (max-width: 960px) {
  .band { padding: 5rem 1.5rem; }
  .cards, .cards.two, .cards.four, .people { grid-template-columns: minmax(0,1fr); }
  .split { grid-template-columns: minmax(0,1fr); gap: 2.4rem; }
  .split.flip > :first-child { order: 0; }
  .path3 { grid-template-columns: minmax(0,1fr); }
  .row { grid-template-columns: minmax(0,1fr); gap: .6rem; }
  .row .tag { justify-self: start; }
  .perk-grid { grid-template-columns: 1fr 1fr; }
  .perk-grid > div { border-right: 1px solid var(--border) !important; border-bottom: 1px solid var(--border) !important; }
  .perk-grid > div:nth-child(2n) { border-right: none !important; }
  .perk-grid > div:nth-last-child(-n+2) { border-bottom: none !important; }
  .fr { grid-template-columns: minmax(0,1fr); }
  .lightbox { padding: 4rem 1rem; }
}

/* subnav scrolls sideways on narrow screens instead of widening the page */
.subnav ul { overflow-x: auto; scrollbar-width: none; }
.subnav ul::-webkit-scrollbar { display: none; }
.subnav a { white-space: nowrap; }
@media (max-width: 960px) { .subnav ul { justify-content: flex-start; } }
.subnav ul { max-width: 1100px; }
.subnav a { padding-left: 1.5rem; padding-right: 1.5rem; }
[hidden] { display: none !important; }

/* portrait in a contact card */
.person-photo .portrait { float: right; width: 96px; height: 120px; object-fit: cover; object-position: center 20%; margin: 0 0 .8rem 1.2rem; border: 1px solid var(--gold); outline: 1px solid rgba(184,151,42,.35); outline-offset: 3px; }

/* last-season recap band */
.recap { background: var(--onyx); padding: 5.5rem 4rem; border-top: 1px solid rgba(184,151,42,.15); }
.recap-inner { max-width: 1140px; margin: 0 auto; }
.recap-head { text-align: center; margin-bottom: 3rem; }
.recap-head .sec-eyebrow { justify-content: center; color: var(--gold); }
.recap-head .sec-eyebrow::before { content: ''; width: 48px; height: 1px; background: var(--gold); opacity: .6; }
.recap-head .sec-title { color: var(--champagne); } .recap-head .sec-title em { color: var(--gold-lt); }
.recap-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid rgba(184,151,42,.15); }
.recap-grid > div { text-align: center; padding: 2.6rem 1.5rem; border-bottom: 1px solid rgba(184,151,42,.15); border-right: 1px solid rgba(184,151,42,.12); }
.recap-grid > div:nth-child(3n) { border-right: none; }
@media (max-width: 960px) { .recap { padding: 4.5rem 1.5rem; } .recap-grid { grid-template-columns: 1fr 1fr; } .recap-grid > div { border-right: 1px solid rgba(184,151,42,.12) !important; } .recap-grid > div:nth-child(2n) { border-right: none !important; } }
@media (max-width: 620px) { .stats .stat-num { font-size: 2.3rem; } .stat { padding: 2.4rem 1rem; } .stat-label { letter-spacing: .14em; } }

/* heritage timeline */
.timeline { list-style: none; max-width: 860px; margin: 0 auto; position: relative; }
.timeline::before { content: ''; position: absolute; left: 118px; top: .6rem; bottom: .6rem; width: 1px; background: var(--gold); opacity: .5; }
.timeline li { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 2.6rem; padding: 0 0 2.4rem; position: relative; }
.timeline li::before { content: ''; position: absolute; left: 114px; top: .55rem; width: 9px; height: 9px; background: var(--gold); transform: rotate(45deg); }
.timeline li.now::before { background: var(--navy); outline: 1px solid var(--gold); outline-offset: 2px; }
.timeline .yr { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.55rem; color: var(--gold); text-align: right; line-height: 1.2; }
.timeline h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.4rem; color: var(--navy); margin-bottom: .4rem; }
.timeline p { font-family: 'EB Garamond', serif; font-size: 1.12rem; line-height: 1.7; color: var(--mid); max-width: 62ch; }
.presidents { max-width: 860px; margin: 2rem auto 0; border-top: 1px solid var(--border); padding-top: 2rem; }
.presidents ul { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1.2rem 1.5rem; margin-top: 1.4rem; }
.presidents li { text-align: center; }
.presidents b { display: block; font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.1rem; color: var(--navy); }
.presidents span { font-family: 'Montserrat', sans-serif; font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: #8a6f1c; }
@media (max-width: 760px) {
  .timeline::before { left: 8px; } .timeline li { grid-template-columns: minmax(0,1fr); gap: .3rem; padding-left: 2rem; }
  .timeline li::before { left: 4px; } .timeline .yr { text-align: left; }
  .presidents ul { grid-template-columns: 1fr 1fr; }
}

/* ════════ SCROLL-REVEAL MOTION (driven by motion.js) ════════ */
.motion .rv { transition: opacity 1.4s ease-out var(--d,0ms), transform 1.6s cubic-bezier(.22,.61,.36,1) var(--d,0ms); }
.motion .rv.t:not(.in) { opacity: 0; transform: translateY(28px); }
.motion .rv.i:not(.in) { opacity: 0; transform: translateY(34px); }
.motion .rv.p { overflow: hidden; }
.motion .rv.p:not(.in) { opacity: 0; transform: translateY(30px); }
.motion .rv.p img { transition: scale 3s cubic-bezier(.22,.61,.36,1) var(--d,0ms), transform 7s ease, opacity 2.6s ease-in-out; }
.motion .rv.p:not(.in) img { scale: 1.32; }
/* headlines rise from behind a mask */
.motion .rv.m { overflow: hidden; padding-bottom: .14em; transition: none; }
.motion .rv.m .mask-in { display: inline-block; transition: transform 1.6s cubic-bezier(.22,.61,.36,1) var(--d,0ms), opacity 1.4s ease-out var(--d,0ms); }
.motion .rv.m:not(.in) .mask-in { transform: translateY(110%); opacity: 0; }
/* big photo bands settle from a slow zoom */
.motion .rv.k { transition: none; }
.motion .rv.k img { transition: scale 3.2s cubic-bezier(.16,1,.3,1); }
.motion .rv.k:not(.in) img { scale: 1.25; }
/* gentle parallax drift on hero photos */
.motion img.px { translate: 0 var(--py, 0px); scale: 1.2; }
.motion .rv.p:not(.in) img.px { scale: 1.28; }
.motion .rv.k:not(.in) img.px { scale: 1.4; }

/* subheadings in capitals */
.card h3, .row-what h3, .timeline h3, .path3 h3, .person h3, .perk-grid h3, .step-t, .lawn-v, .ev-title, .officer-name, .role-v, .mc-caption-title, .presidents b {
  text-transform: uppercase; letter-spacing: .07em; font-style: normal;
}
.card h3 { font-size: 1.3rem; } .row-what h3 { font-size: 1.08rem; } .timeline h3 { font-size: 1.15rem; } .path3 h3 { font-size: 1.15rem; }
.person h3 { font-size: 1.15rem; } .perk-grid h3 { font-size: 1.02rem; } .step-t { font-size: 1.1rem; } .lawn-v { font-size: 1.22rem; }
.ev-title { font-size: 1.02rem; } .officer-name { font-size: 1.25rem; } .role-v { font-size: 1rem; } .presidents b { font-size: .95rem; }
.mc-caption-title { font-size: 1.2rem; line-height: 1.35; }
.person h3 { overflow-wrap: anywhere; }

/* crossfading photo slideshows */
.slideshow img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 2.6s ease-in-out !important; animation: ssDrift 14s ease-in-out infinite alternate; }
.slideshow img.on { opacity: 1; }
.slideshow .ss-dots { position: absolute; z-index: 3; left: 1.6rem; bottom: 1.5rem; display: flex; gap: .55rem; }
.slideshow .ss-dots i { width: 7px; height: 7px; transform: rotate(45deg); border: 1.5px solid rgba(240,230,200,.85); transition: background .4s; }
.slideshow .ss-dots i.on { background: var(--gold-lt); border-color: var(--gold-lt); }
@keyframes ssDrift { from { transform: scale(1); } to { transform: scale(1.06); } }

@media (prefers-reduced-motion: reduce) { .slideshow img { animation: none; } }

/* stacked MHCC mark (replaces round badge) */
.mark { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: .28rem; padding: .42rem .55rem; border-top: 3px double var(--gold); border-bottom: 3px double var(--gold); font-family: 'Playfair Display', serif; color: var(--gold-lt); line-height: 1; flex-shrink: 0; transition: border-color .3s, color .3s; }
.mark span { font-size: 1.05rem; letter-spacing: .12em; margin-right: -.12em; }
.mark span:first-child { font-style: italic; }
.mark i { width: 100%; height: 1px; background: var(--gold); opacity: .65; }
.brand:hover .mark { color: var(--champagne); border-color: var(--gold-lt); }
.brand { gap: 1rem; }
.m-menu-head .mark span { font-size: .95rem; }
@media (max-width: 420px) { .mark span { font-size: .9rem; } }

/* homepage hero: spread the lines, buttons settle toward the bottom */
@media (min-width: 961px) {
  .hero { align-items: stretch; }
  .hero-content { display: flex; flex-direction: column; align-items: center; padding-bottom: clamp(6.6rem, 12vh, 8.5rem); }
  .hero-divider { margin-top: clamp(.8rem, 2.6vh, 2rem); margin-bottom: clamp(1.4rem, 4vh, 3rem); }
  .hero-sub { margin-bottom: clamp(1.2rem, 3.6vh, 2.7rem); }
  .hero-tagline { margin-bottom: 2rem; }
  .hero-btns { margin-top: auto; }
}
.utility-inner .u-left b { color: var(--gold-lt); font-weight: 500; }

@media (max-width: 620px) { .utility-inner .u-left .u-loc { display: none; } }

/* ════════ PHONE POLISH ════════ */
@media (max-width: 760px) {
  /* readable small labels (nothing under ~11px) */
  .utility-inner, .login-link, .crumb, .subnav a, .card-k, .tag, .stat-label, .cap, .role-k, .officer-role,
  .step-n, .lawn-k, .ev-tag, .ev-month, .mc-label, .mc-caption-over, .foot-est, .foot-copy, .foot-aff a,
  .fl, .affil-lab, .hero-est, .menu-btn, .text-link, .foot-socials a, .lg-tour, .cx-legend, .cx-sfd,
  .row-when small, .presidents span, .sec-eyebrow, .eyebrow { font-size: max(0.7rem, 11px) !important; }
  .brand-sub { font-size: .62rem; letter-spacing: .26em; }
  /* comfortable tap targets */
  .utility a, .crumb a { display: inline-block; padding-block: .7rem; margin-block: -.7rem; }
  .text-link { display: inline-block; padding-block: .75rem .35rem; }
  .foot-col ul { gap: .1rem; }
  .foot-col a, .foot-socials a, .foot-aff a { display: inline-block; padding-block: .6rem; }
  .subnav a { padding-top: 1.15rem; padding-bottom: 1.15rem; }
  .cdot { width: 11px; height: 11px; }
  .carousel-dots { gap: 1.1rem; }
  .menu-btn { padding: .75rem 1rem; }
  .affil a { padding-block: .4rem; }
  .faq summary { padding-block: 1.3rem; }
  /* a little more breathing room for body copy */
  .prose p, .contact-line, .band-head p, .card p, .row-what p { font-size: 1.1rem; }
  .page-hero { min-height: 460px; height: 64svh; }
  .ph-deck { font-size: 1.08rem; }
}

@media (max-width: 620px) {
  .utility-inner { flex-wrap: nowrap; white-space: nowrap; letter-spacing: .1em; gap: .6rem; }
  .utility-inner .u-left .u-at { display: none; }
  .mosaic .mc6 { grid-column: 1 / -1; }
}
@media (max-width: 760px) { .utility a.login-link { display: inline-flex; } }

/* ---- crest logo (top left) ---- */
.crest-logo { height: 62px; width: auto; display: block; flex-shrink: 0; transition: transform .4s ease, filter .4s ease; }
.brand:hover .crest-logo { transform: scale(1.04); filter: brightness(1.08); }
.m-menu-head .crest-logo { height: 52px; }
@media (max-width: 420px) { .crest-logo { height: 52px; } .brand { gap: .7rem; } }

/* ---- club location beside the wordmark (replaces the top-bar line) ---- */
.utility-inner { justify-content: flex-end; }
.brand-at { display: flex; flex-direction: column; justify-content: center; gap: .42rem; line-height: 1; margin-left: .4rem; padding-left: 1.3rem; border-left: 1px solid rgba(184,151,42,.4); align-self: center; height: 40px; }
.ba-1 { font-family: 'EB Garamond', serif; font-size: 1.02rem; color: rgba(240,230,200,.88); white-space: nowrap; }
.ba-1 i { color: var(--gold-lt); }
.ba-2 { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: .56rem; letter-spacing: .26em; text-transform: uppercase; color: rgba(240,230,200,.55); white-space: nowrap; }
/* compact: a quiet third line under the wordmark */
@media (min-width: 1181px) and (max-width: 1379px), (max-width: 640px) {
  .brand { display: grid; grid-template-columns: auto auto; column-gap: 1rem; row-gap: 0; align-items: center; }
  .brand .crest-logo { grid-row: 1 / 3; }
  .brand-words { align-self: end; }
  .brand-at { align-self: start; height: auto; border: 0; padding: 0; margin: .38rem 0 0; }
  .ba-2 { display: none; }
  .ba-1 { font-size: .82rem; color: rgba(240,230,200,.66); }
}
@media (max-width: 420px) { .brand { column-gap: .7rem; } }
@media (max-width: 640px) {
  .brand-name { font-size: 1.05rem; }
  .brand-sub { margin-top: .3rem; }
  .brand-at { margin-top: .4rem; }
  .ba-1 { font-size: .76rem; }
}

/* ---- location line in Montserrat caps to match the second line ---- */
.ba-1 { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(240,230,200,.88); }
.ba-1 i { font-style: normal; }
.brand-at { gap: .5rem; }
@media (min-width: 1181px) and (max-width: 1379px), (max-width: 640px) {
  .ba-1 { font-size: .6rem; letter-spacing: .14em; color: rgba(240,230,200,.66); }
}

/* ---- gold hairlines between the menu items ---- */
nav.main .nav-side > li + li::before { content: ''; position: absolute; left: -1.05rem; top: 50%; width: 1px; height: 22px; transform: translateY(-50%); background: rgba(184,151,42,.4); pointer-events: none; }
@media (max-width: 440px) { .ba-1 { letter-spacing: .1em; } .ba-1 i { display: none; } }
@media (max-width: 380px) { .ba-1 { letter-spacing: .04em; font-size: .58rem; } }

/* intro card playing: header bars stay, their contents wait */
html.mhcc-nav-wait nav.main .crest-logo, html.mhcc-nav-wait nav.main .brand-words, html.mhcc-nav-wait nav.main .brand-at,
html.mhcc-nav-wait nav.main .nav-side > li, html.mhcc-nav-wait nav.main .menu-btn, html.mhcc-nav-wait .utility-inner .login-link { opacity: 0; }

/* "Luxury on Lawns" in the top bar, aligned above the location line */
.utility-inner { justify-content: space-between; }
.u-lux { color: var(--gold-lt); font-weight: 500; letter-spacing: .28em; white-space: nowrap; }
html.mhcc-nav-wait .utility-inner .u-lux { opacity: 0; }
@media (max-width: 640px) { .u-lux { letter-spacing: .14em; } }

/* "Luxury on Lawns" joins the location block as its first line */
.brand-at { height: auto; gap: .38rem; padding-block: .1rem; }
.ba-0 { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .56rem; letter-spacing: .32em; text-transform: uppercase; color: var(--gold-lt); white-space: nowrap; }
.u-lux { display: none; }
/* compact layouts have no room for a third line: it stays in the top bar there */
@media (min-width: 1181px) and (max-width: 1379px), (max-width: 640px) {
  .ba-0 { display: none; }
  .u-lux { display: inline; }
}
/* phones: the top bar is reserved for Members' Login */
@media (max-width: 640px) {
  .u-lux { display: none !important; }
  .utility-inner { justify-content: flex-end; }
  .utility a.login-link { color: var(--gold-lt); }
}
.hero-sub { max-width: 780px; margin-inline: auto; text-wrap: balance; line-height: 1.4; }

/* hero: sentence sits a little lower; the three-word tagline rides just above the buttons */
.hero-sub { margin-top: clamp(1rem, 3vh, 2rem); }
@media (min-width: 961px) {
  .hero-sub { margin-top: clamp(1.6rem, 4.5vh, 3.2rem); margin-bottom: 0; }
  .hero-tagline { margin-top: auto; margin-bottom: 1.6rem; }
  .hero-btns { margin-top: 0; }
}
@media (max-width: 960px) { .hero-tagline { margin-top: 1.4rem; margin-bottom: 1.4rem; } }
@media (min-width: 961px) { .hero-tagline { padding-top: 1.4rem; } }
@media (max-width: 640px) { .hero-est { letter-spacing: .24em; white-space: nowrap; gap: .6rem; } .hero-est::before, .hero-est::after { width: 18px; } }
.hero-sub { font-size: clamp(1.6rem, 3.5vw, 2.5rem); max-width: 1000px; line-height: 1.4; color: rgba(240,230,200,.85); }
.hero-sub { font-size: clamp(1.6rem, min(3.5vw, 4.4vh), 2.5rem); }
.hero-tagline { text-wrap: balance; }
@media (min-width: 961px) and (max-height: 800px) { .hero-sub { margin-top: clamp(.8rem, 2.5vh, 1.6rem); } .hero-content { padding-bottom: 5.4rem; } .hero { padding-top: 3.2rem; } }
@media (max-width: 640px) { .hero-tagline { text-wrap: wrap; } }
.manifesto-sub { font-family: 'Montserrat', sans-serif; font-style: normal; font-weight: 400; font-size: clamp(1.1rem, 1.9vw, 1.4rem); line-height: 1.75; letter-spacing: .01em; color: rgba(240,230,200,.85); }
.manifesto-sub { text-wrap: balance; max-width: 820px; margin-inline: auto; }

/* slogans */
.ph-motto { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: .74rem; letter-spacing: .32em; text-transform: uppercase; color: var(--gold-lt); margin-top: 1.3rem; display: flex; align-items: center; justify-content: center; gap: 1rem; text-wrap: balance; }
.ph-motto::before, .ph-motto::after { content: ''; width: 36px; height: 1px; background: var(--gold); opacity: .55; flex-shrink: 0; }
.sec-motto { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.15rem, 1.8vw, 1.4rem); color: var(--gold); margin-top: .9rem; }
.navy .sec-motto { color: var(--gold-lt); }
.foot-motto { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.05rem; color: var(--gold-lt); margin-top: .35rem; letter-spacing: .02em; }
@media (max-width: 640px) { .ph-motto { font-size: .68rem; letter-spacing: .2em; gap: .6rem; } .ph-motto::before, .ph-motto::after { width: 18px; } }
.ph-content > *:nth-child(4) { animation-delay: .45s; }

/* mosaic: "The Lifestyle" tile removed; "The Setting" takes the full lower-right */
.mc6 { grid-column: 9 / 13; grid-row: 2 / 3; }
@media (max-width: 960px) { .mc6 { grid-column: auto; grid-row: auto; } }
@media (max-width: 620px) { .mosaic .mc6 { grid-column: auto; } }

/* hero sentence framed by fine gold rules */
.hero-sub::before, .hero-sub::after { content: ''; display: block; width: min(220px, 40%); height: 1px; margin: 0 auto; background: linear-gradient(90deg, transparent, var(--gold) 20%, var(--gold-lt) 50%, var(--gold) 80%, transparent); opacity: .8; }
.hero-sub::before { margin-bottom: clamp(.9rem, 2.2vh, 1.4rem); }
.hero-sub::after { margin-top: clamp(.9rem, 2.2vh, 1.4rem); }
@media (min-width: 961px) and (max-height: 800px) {
  .hero-sub { font-size: clamp(1.4rem, min(3.2vw, 3.7vh), 2.2rem); margin-top: .6rem; }
  .hero-sub::before { margin-bottom: .7rem; } .hero-sub::after { margin-top: .7rem; }
  .hero-tagline { padding-top: .6rem; margin-bottom: 1.2rem; }
  .hero-rule { height: 18px; margin-bottom: .7rem; }
  .hero-title-italic { margin-bottom: .6rem; }
}

/* inner-page header photo fades up from navy */
html.ph-fade .page-hero > img { opacity: 0; transition: opacity 1.8s cubic-bezier(.4,0,.2,1); }
html.ph-fade.ph-in .page-hero > img { opacity: .62; }
html.ph-fade .page-hero > img { transition: opacity 1.8s cubic-bezier(.4,0,.2,1), scale 2.6s cubic-bezier(.2,.7,.2,1); }
html.ph-fade:not(.ph-in) .motion .page-hero > img.px, html.ph-fade.motion:not(.ph-in) .page-hero > img.px { scale: 1.27; }

/* Games We Play: synopsis cards */
.cards.games .card { padding: 2.6rem 2.2rem 2.2rem; }
.cards.games .card > p { font-size: 1.08rem; line-height: 1.7; }
.gfacts { margin: .8rem 0 0; border-top: 1px solid rgba(184,151,42,.3); }
.gfacts > div { display: grid; grid-template-columns: 7.2rem 1fr; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid rgba(184,151,42,.18); }
.gfacts dt { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: #8a6f1c; padding-top: .2rem; }
.gfacts dd { margin: 0; font-family: 'EB Garamond', serif; font-size: 1.02rem; line-height: 1.45; color: var(--charcoal); }
.gbest { margin-top: auto; padding-top: 1.1rem; font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.05rem; color: #8a6f1c; }
@media (max-width: 1100px) { .cards.games { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 420px) { .gfacts > div { grid-template-columns: 1fr; gap: .2rem; } }
.games-more { margin-top: 2rem; text-align: center; font-family: 'EB Garamond', serif; font-size: 1.1rem; color: rgba(240,230,200,.75); } .games-more .text-link { margin-left: .5rem; }
.glink { align-self: flex-start; margin-top: .9rem; }

/* ===== Game guide pages ===== */
.lead-p { font-family: 'EB Garamond', serif; font-size: 1.2rem; line-height: 1.75; color: var(--mid); margin-top: 1.1rem; }
.navy .lead-p { color: rgba(240,230,200,.8); }
.game-intro { align-items: start; }
.glance { background: var(--navy); color: var(--champagne); padding: 2.4rem 2.2rem; border-top: 3px solid var(--gold); }
.glance-k { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .66rem; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: 1rem; }
.glance dl { margin: 0; }
.glance dl > div { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; padding: .85rem 0; border-top: 1px solid rgba(184,151,42,.22); }
.glance dt { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-lt); padding-top: .25rem; }
.glance dd { margin: 0; font-family: 'Playfair Display', serif; font-size: 1.08rem; line-height: 1.4; }

.court-split { align-items: center; }
.court-fig { margin: 0; }
.court-svg { width: 100%; max-width: 420px; display: block; margin: 0 auto; }
.court-svg .c-grass { fill: #3d7a52; } .court-svg .c-stripe { fill: #357049; }
.court-svg .c-line { fill: none; stroke: #f4efe0; stroke-width: 2.5; }
.court-svg .c-corner { font: 600 13px 'Montserrat', sans-serif; fill: #8a6f1c; letter-spacing: .08em; }
.court-svg .c-dir { font: 600 10px 'Montserrat', sans-serif; fill: #8a6f1c; letter-spacing: .3em; }
.court-svg .c-path { fill: none; stroke: #d4b558; stroke-width: 2; stroke-dasharray: 6 5; opacity: .9; }
.court-svg .c-hoop { fill: none; stroke: #ffffff; stroke-width: 3; stroke-linecap: round; }
.court-svg .c-arrow { fill: none; stroke: #f0e6c8; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; opacity: .85; }
.court-svg .c-numbg { fill: #0a1628; stroke: #d4b558; stroke-width: 1.2; }
.court-svg .c-num { font: 600 11px 'Montserrat', sans-serif; fill: #f0e6c8; }
.court-svg .c-peg { fill: #f0e6c8; stroke: #0a1628; stroke-width: 2; }
.court-svg .c-note { font: italic 13px 'EB Garamond', serif; fill: #f4efe0; }
.court-svg .c-spot { fill: #d4b558; }
.court-svg .c-start { fill: rgba(212,181,88,.25); stroke: #d4b558; stroke-width: 1.2; }
.court-svg .c-baulk { stroke: #d4b558; stroke-width: 2; stroke-dasharray: 2 4; }
.court-cap { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1rem; color: var(--mid); text-align: center; margin: 1rem auto 0; max-width: 420px; line-height: 1.55; }

.game-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 4rem; }
.game-steps li { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1rem; padding: 1.6rem 0; border-top: 1px solid rgba(184,151,42,.3); }
.gs-n { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.9rem; color: var(--gold); line-height: 1; }
.game-steps h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.35rem; color: var(--navy); margin-bottom: .4rem; }
.game-steps p { font-family: 'EB Garamond', serif; font-size: 1.1rem; line-height: 1.65; color: var(--mid); }

.rule-cards .card p { font-size: 1.08rem; line-height: 1.7; }
.rule-figs { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; margin-top: 3rem; }
.rule-figs.one { grid-template-columns: minmax(0, 520px); justify-content: center; }
.rule-figs figure { margin: 0; background: var(--cream); padding: 1.8rem 1.6rem 1.4rem; border: 1px solid rgba(184,151,42,.3); }
.rule-figs svg { width: 100%; max-width: 360px; display: block; margin: 0 auto; }
.rule-figs figcaption { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1rem; color: var(--mid); text-align: center; margin-top: .9rem; line-height: 1.5; }
.clips-svg .w-wire { fill: none; stroke: #0a1628; stroke-width: 5; stroke-linecap: round; }
.clips-svg .w-clip { stroke: #0a1628; stroke-width: 1; }
.clips-svg .w-lab { font: 600 9px 'Montserrat', sans-serif; letter-spacing: .12em; fill: #8a6f1c; text-transform: uppercase; }
.dead-svg .d-k { font: 600 9px 'Montserrat', sans-serif; letter-spacing: .2em; fill: #8a6f1c; }
.dead-svg .d-lab { font: 13px 'EB Garamond', serif; fill: #0a1628; }
.dead-svg .d-off { fill: #fbf8ef; stroke: rgba(10,22,40,.25); }
.dead-svg .d-on { fill: #0a1628; }
.dead-svg .d-x { fill: rgba(10,22,40,.08); }
.dead-svg .d-mark { font: 600 8px 'Montserrat', sans-serif; letter-spacing: .14em; fill: #d4b558; }

.game-at { max-width: 860px; text-align: center; }
.game-at .sec-eyebrow { justify-content: center; }
.game-usca { font-family: 'EB Garamond', serif; font-size: 1.05rem; color: var(--mid); margin-top: 1.4rem; }
.game-usca a { color: #8a6f1c; }
.game-next { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 2.4rem; }
.gn { display: flex; flex-direction: column; gap: .35rem; min-width: 220px; padding: 1.1rem 1.4rem; border: 1px solid rgba(184,151,42,.45); text-decoration: none; font-family: 'Playfair Display', serif; font-size: 1.15rem; color: var(--navy); transition: background .3s, color .3s; text-align: left; }
.gn span { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; color: #8a6f1c; }
.gn:hover { background: var(--navy); color: var(--champagne); } .gn:hover span { color: var(--gold-lt); }
.glink2 { display: inline-block; }

@media (max-width: 960px) {
  .game-steps { grid-template-columns: 1fr; }
  .rule-figs { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .glance { padding: 1.8rem 1.4rem; }
  .glance dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .gn { min-width: 0; width: 100%; }
}
.court-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; max-width: 980px; margin: 0 auto; }
.court-k { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .66rem; letter-spacing: .3em; text-transform: uppercase; color: #8a6f1c; text-align: center; margin-bottom: .8rem; }
.court-svg .c-numbg.alt { fill: #d4b558; stroke: #0a1628; }
@media (max-width: 760px) { .court-pair { grid-template-columns: 1fr; gap: 2.4rem; } }
.usca-court { display: block; width: 100%; max-width: 406px; height: auto; margin: 0 auto; border: 1px solid rgba(184,151,42,.35); } .usca-credit { display: block; text-align: center; font-family: "Montserrat", sans-serif; font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; color: #8a6f1c; margin-top: .6rem; }
html.arrive { background: #0a1628; } html.arrive body { visibility: hidden; }

/* game pages: tighter rhythm */
.page-hero.gp-hero { height: 50vh; min-height: 420px; max-height: 520px; }
.band.gp { padding: 4.2rem 4rem; }
.band.gp .band-head { margin-bottom: 2rem; }
.band.gp .band-head p { margin-top: .8rem; }
.band.gp .sec-title { margin-bottom: 0; }
.gp .split { gap: 3.2rem; }
.gp .lead-p { margin-top: .8rem; font-size: 1.12rem; line-height: 1.65; }
.gp .glance { padding: 1.8rem 1.8rem 1.2rem; }
.gp .glance dl > div { padding: .6rem 0; }
.gp .court-pair { max-width: 760px; gap: 2.2rem; }
.gp .court-k { margin-bottom: .5rem; }
.gp .usca-court { max-width: 340px; }
.gp .court-cap { font-size: .95rem; margin-top: .6rem; }
.gp .game-steps { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0 2.6rem; }
.gp .game-steps li { padding: 1.1rem 0; grid-template-columns: 2.6rem 1fr; gap: .7rem; }
.gp .gs-n { font-size: 1.5rem; }
.gp .game-steps h3 { font-size: 1.2rem; margin-bottom: .25rem; }
.gp .game-steps p { font-size: 1.02rem; line-height: 1.55; }
.gp .rule-cards .card { padding: 1.8rem 1.8rem; gap: .5rem; }
.gp .rule-cards .card p { font-size: 1.02rem; line-height: 1.6; }
.gp .rule-figs { margin-top: 2rem; gap: 1.6rem; }
.gp .rule-figs figure { padding: 1.3rem 1.2rem 1rem; }
.gp .game-next { margin-top: 1.6rem; }
.gp-btns { margin-top: 2rem; justify-content: center; }
@media (max-width: 1100px) { .gp .game-steps { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 960px) { .band.gp { padding: 3.2rem 1.5rem; } .gp .game-steps { grid-template-columns: 1fr; } }
@media (min-width: 1101px) {
  .court-wrap { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.6fr); gap: 3rem; align-items: center; }
  .court-wrap .band-head { margin-bottom: 0; }
  .court-wrap .court-pair { max-width: none; margin: 0; }
}
.clips-svg .k-leg, .clips-svg .k-crown, .clips-svg .k-lip { fill: #fff; stroke: #111; stroke-width: 6; stroke-linejoin: round; }
.clips-svg .k-jaw, .clips-svg .k-body, .clips-svg .k-head { stroke: #111; stroke-width: 5; stroke-linejoin: round; }
.clips-svg .k-line, .clips-svg .k-shine { fill: none; stroke: #111; stroke-width: 4; stroke-linecap: round; }
.clips-svg .w-lab { font-size: 10px; }
.dead-svg .d-frame { fill: #fff; stroke: #111; stroke-width: 5; }
.dead-svg .d-ball { stroke: #111; stroke-width: 3.5; }
.dead-svg .d-off { fill: #fff; stroke: #111; stroke-width: 2; }
.dead-svg .d-on { fill: #111; stroke: #111; stroke-width: 2; }
.dead-svg .d-x { fill: #e9e4d6; stroke: #111; stroke-width: 2; stroke-dasharray: 3 3; }
.dead-svg .d-mark { fill: #f5c542; font-size: 9px; }
.dead-svg .d-lab { font-size: 14px; fill: #111; }
.rule-figs svg { max-width: 380px; }
.rule-figs figure { display: flex; flex-direction: column; }
.rule-figs figure > svg { flex: 1 1 auto; }
.rule-figs figcaption { margin-top: auto; padding-top: .9rem; }
.rule-figs { align-items: stretch; }
.manifesto-sub { font-family: 'EB Garamond', serif; font-style: normal; font-weight: 400; font-size: clamp(1.2rem, 1.9vw, 1.5rem); line-height: 1.7; letter-spacing: .01em; color: rgba(240,230,200,.88); max-width: 860px; }
.manifesto-sub > span { display: block; } @media (max-width: 620px) { .manifesto-sub > span { display: inline; } }
@media (max-width: 640px) { .hero-est { white-space: normal; text-wrap: balance; letter-spacing: .22em; line-height: 1.7; max-width: 300px; margin-left: auto; margin-right: auto; } .hero-est::before, .hero-est::after { display: none; } }
.manifesto-sub > span { text-wrap: balance; } .manifesto-sub > span + span { margin-top: .35rem; }
.manifesto-sub { font-family: 'Montserrat', sans-serif; font-style: normal; font-weight: 500; font-size: .84rem; letter-spacing: .18em; text-transform: uppercase; line-height: 2.1; color: rgba(240,230,200,.8); max-width: 900px; } .manifesto-sub > span + span { margin-top: .5rem; } @media (max-width: 620px) { .manifesto-sub { font-size: .74rem; letter-spacing: .12em; } }
.experience-content p.exp-line em { font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.35; margin-top: 0; }
.experience-content p.exp-line em { color: var(--champagne); }
@media (min-width: 761px) { .presidents { max-width: 1000px; } .presidents ul { grid-template-columns: repeat(5, minmax(0,1fr)); } }

/* ===== Site-wide tightening (computer screens) ===== */
@media (min-width: 961px) {
  .band { padding: 4.6rem 4rem; }
  .band-head { margin-bottom: 2.2rem; }
  .band-head p { margin-top: .9rem; }
  .manifesto { padding: 5.2rem 4rem; min-height: 0; }
  .events-section { padding: 4.6rem 5rem; }
  .section-header { margin-bottom: 2.4rem; }
  .membership { padding: 5rem 4rem; }
  .story { padding: 4.6rem 4rem 4rem; }
  .lawns-sec, .leaders { padding: 4.6rem 4rem; }
  .cta-band { padding: 4.2rem 4rem; }
  .recap { padding: 4rem 4rem; }
  .recap-head { margin-bottom: 2rem; }
  footer { padding: 4rem 5rem 2.4rem; }
  .officers { margin-bottom: 2rem; }
  .page-hero { height: 54vh; min-height: 440px; max-height: 560px; }
  .split { gap: 3.4rem; }
  .cards .card { padding: 2.1rem 1.9rem; }
  .sec-title { margin-bottom: .2rem; }
  .member-body { margin-bottom: 2rem; }
  .subnav + .band, .subnav + section { padding-top: 4rem; }
}
@media (min-width: 961px) {
  .eyebrow { margin-bottom: 1rem; }
  .deco-line { margin-bottom: 1rem; }
  .ev { padding: 2rem 2.2rem 2.1rem; }
  .events-more { margin-top: 1.8rem; }
  .member-title { font-size: clamp(2.4rem, 4.6vw, 3.8rem); margin-bottom: 1rem; }
  .member-body { margin-bottom: 1.8rem; }
  .steps { margin-bottom: 2rem; }
  .step { padding: 1.4rem 1.5rem; }
  .member-dress { margin-top: 1.3rem; }
  .manifesto-quote { margin-bottom: 1.6rem; }
  .manifesto-sub { margin-bottom: 1.4rem; }
  .timeline li, .row { padding-top: 1.1rem; padding-bottom: 1.1rem; }
  .faq details { padding-top: .2rem; padding-bottom: .2rem; }
  .person { padding: 1.8rem 1.6rem; }
}
@media (min-width: 961px) {
  .story-strip { height: 38vh; max-height: 400px; min-height: 300px; }
  .stat { padding: 2.4rem 1.5rem; }
  .experience { height: 50vh; min-height: 380px; max-height: 500px; }
  .lawn-photos { grid-template-rows: 260px 190px; }
}
@media (min-width: 961px) { .events-section { padding: 3.8rem 5rem; } .section-header { margin-bottom: 2rem; } }
.ev-sub { font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: .84rem; letter-spacing: .32em; text-transform: uppercase; color: #8a6f1c; margin-top: .9rem; display: flex; align-items: center; justify-content: center; gap: .9rem; } .ev-sub::before, .ev-sub::after { content: ''; width: 34px; height: 1px; background: var(--gold); opacity: .6; }

/* ===== HOOP HAPPENINGS (homepage "what's next" board) ===== */
.hoop { position: relative; background: var(--navy); padding: 4.4rem 4rem 4rem; overflow: hidden; }
.hoop::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(56,110,81,.10) 0 90px, rgba(56,110,81,0) 90px 180px); pointer-events: none; }
.hoop::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%, rgba(212,181,88,.10), transparent 60%); pointer-events: none; }
.hoop-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; }
.hoop-head { text-align: center; margin-bottom: 2.4rem; }
.hoop-eyebrow { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .72rem; letter-spacing: .32em; text-transform: uppercase; color: var(--gold-lt); display: flex; align-items: center; justify-content: center; gap: 1rem; }
.hoop-eyebrow::before, .hoop-eyebrow::after { content: ''; width: 40px; height: 1px; background: var(--gold); opacity: .6; }
.hoop-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.8rem, 6.4vw, 5.2rem); line-height: 1; color: var(--champagne); margin: .9rem 0 .7rem; letter-spacing: .01em; }
.hoop-title em { color: var(--gold-lt); }
.hoop-sub { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.25rem; color: rgba(240,230,200,.75); }

.hoop-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.hh-card { --c: var(--gold); position: relative; background: var(--cream); padding: 1.5rem 1.6rem 1.4rem; display: flex; flex-direction: column; gap: .35rem; border-top: 5px solid var(--c); box-shadow: 0 14px 34px rgba(0,0,0,.25); transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s; }
.hh-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(0,0,0,.32); }
.hh-register { --c: #c8423b; } .hh-renew { --c: #2f6fd6; } .hh-partner { --c: #1d1d1d; }
.hh-attend { --c: #e2b714; } .hh-learn { --c: #386e51; } .hh-volunteer { --c: #b8972a; }
.hh-top { display: flex; justify-content: space-between; align-items: center; gap: .6rem; }
.hh-tag { display: inline-flex; align-items: center; gap: .45rem; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--navy); }
.hh-tag i { width: 13px; height: 13px; border-radius: 50%; background: var(--c); box-shadow: inset -2px -2px 0 rgba(0,0,0,.18), 0 0 0 1.5px rgba(10,22,40,.8); }
.hh-count { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: #8a6f1c; background: rgba(184,151,42,.13); padding: .3rem .55rem; white-space: nowrap; }
.hh-when { font-family: 'Playfair Display', serif; font-size: 2.3rem; line-height: 1.05; color: var(--navy); margin-top: .5rem; }
.hh-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.2rem; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); line-height: 1.25; }
.hh-note { font-family: 'EB Garamond', serif; font-size: 1.05rem; line-height: 1.5; color: var(--mid); }
.hh-cta { margin-top: auto; padding-top: .7rem; align-self: flex-start; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--navy); text-decoration: none; border-bottom: 2px solid var(--c); padding-bottom: .2rem; transition: color .2s; }
.hh-cta:hover { color: #8a6f1c; }
.hh-next { background: linear-gradient(180deg, #fffaf0, var(--cream)); outline: 2px solid var(--gold); outline-offset: -2px; }
.hh-flag { position: absolute; top: -5px; right: 1.2rem; transform: translateY(-100%); background: var(--gold); color: var(--navy); font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: .58rem; letter-spacing: .22em; text-transform: uppercase; padding: .35rem .7rem; }
.hh-next .hh-top { padding-right: 0; }
.hh-empty { grid-column: 1 / -1; text-align: center; font-family: 'EB Garamond', serif; font-size: 1.2rem; color: var(--champagne); }
.hh-empty a { color: var(--gold-lt); }

.hoop-foot { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding-top: 1.6rem; border-top: 1px solid rgba(184,151,42,.3); }
.hoop-partner { display: flex; align-items: center; gap: 1rem; }
.hp-ball { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #ff7a72, #c8423b 55%, #8e2a25); box-shadow: 0 4px 10px rgba(0,0,0,.35); }
.hoop-partner p { font-family: 'EB Garamond', serif; font-size: 1.12rem; color: rgba(240,230,200,.85); line-height: 1.5; }
.hoop-partner b { color: var(--champagne); font-weight: 500; }
.hoop-partner a { color: var(--gold-lt); }
.hoop-all { flex-shrink: 0; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--navy); background: var(--gold); padding: .95rem 1.6rem; text-decoration: none; transition: background .2s; }
.hoop-all:hover { background: var(--gold-lt); }

@media (max-width: 1100px) { .hoop-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .hoop { padding: 3.4rem 1.25rem 3rem; }
  .hoop-board { grid-template-columns: 1fr; gap: 1.6rem; }
  .hoop-foot { flex-direction: column; align-items: flex-start; }
  .hoop-all { align-self: stretch; text-align: center; }
  .hh-when { font-size: 2rem; }
}
@media (max-width: 760px) { .hoop-board .hh-card:nth-child(n+5) { display: none; } }

/* ===== Renewal form ===== */
.page-hero.rn-hero { height: auto; min-height: 0; max-height: none; padding: 5rem 0 0; background: radial-gradient(ellipse at 50% 0%, rgba(212,181,88,.14), transparent 60%), repeating-linear-gradient(90deg, rgba(56,110,81,.12) 0 90px, rgba(56,110,81,0) 90px 180px), var(--navy); }
.rn-hero .ph-content { padding-bottom: 4rem; }
.rn-band { padding-top: 3.6rem; }
.rn-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 3rem; align-items: start; }
.rn-form { display: flex; flex-direction: column; gap: 1.1rem; }
.rn-step { display: flex; gap: 1rem; align-items: flex-start; margin-top: 1.4rem; }
.rn-step:first-child { margin-top: 0; }
.rn-n { flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; background: var(--navy); color: var(--gold-lt); font-family: 'Playfair Display', serif; font-size: 1.2rem; display: grid; place-items: center; }
.rn-step h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.55rem; color: var(--navy); line-height: 1.2; }
.rn-step p { font-family: 'EB Garamond', serif; font-size: 1.05rem; color: var(--mid); margin-top: .2rem; }
.rn-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rn-plan input { position: absolute; opacity: 0; pointer-events: none; }
.rn-card { display: flex; flex-direction: column; gap: .2rem; padding: 1.4rem 1.5rem; background: var(--ivory, #fffdf7); border: 2px solid rgba(184,151,42,.3); cursor: pointer; transition: border-color .2s, background .2s, transform .2s; position: relative; }
.rn-card:hover { border-color: var(--gold); }
.rn-plan input:checked + .rn-card { border-color: var(--navy); background: var(--navy); }
.rn-plan input:checked + .rn-card .rn-k, .rn-plan input:checked + .rn-card .rn-price { color: var(--champagne); }
.rn-plan input:checked + .rn-card .rn-inc { color: var(--gold-lt); }
.rn-plan input:checked + .rn-card::after { content: '✓'; position: absolute; top: .9rem; right: 1rem; width: 24px; height: 24px; border-radius: 50%; background: var(--gold); color: var(--navy); font: 700 .8rem 'Montserrat', sans-serif; display: grid; place-items: center; }
.rn-plan input:focus-visible + .rn-card { outline: 2px solid var(--gold); outline-offset: 3px; }
.rn-k { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .68rem; letter-spacing: .24em; text-transform: uppercase; color: #8a6f1c; }
.rn-price { font-family: 'Playfair Display', serif; font-size: 2.4rem; color: var(--navy); line-height: 1.1; }
.rn-inc { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1rem; color: var(--mid); }
.chk { display: flex; align-items: flex-start; gap: .7rem; cursor: pointer; font-family: 'EB Garamond', serif; font-size: 1.08rem; color: var(--charcoal); }
.chk input { width: 18px; height: 18px; margin-top: .2rem; accent-color: var(--navy); flex-shrink: 0; }
.rn-other { margin-top: .9rem; max-width: 420px; }
.rn-member { border: 1px solid rgba(184,151,42,.3); background: var(--ivory, #fffdf7); padding: 1.3rem 1.5rem 1.4rem; margin: 0; display: flex; flex-direction: column; gap: 1rem; }
.rn-member[hidden] { display: none; }
.rn-member legend { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: .66rem; letter-spacing: .24em; text-transform: uppercase; color: var(--navy); background: var(--gold); padding: .3rem .7rem; }
.fl b { color: #c8423b; font-weight: 700; }
.fl .opt { text-transform: none; letter-spacing: 0; font-weight: 400; font-family: 'EB Garamond', serif; font-style: italic; font-size: .9rem; color: var(--muted); margin-left: .3rem; }
.fh { font-family: 'EB Garamond', serif; font-style: italic; font-size: .92rem; color: var(--muted); margin-top: .35rem; }
.fh[hidden] { display: none; }
.rn-nochange { justify-content: flex-end; padding-bottom: .5rem; }
.fi.bad { border-color: #c8423b; background: #fff6f5; }
.rn-error { background: #fff1ef; border-left: 4px solid #c8423b; padding: .8rem 1rem; font-family: 'EB Garamond', serif; font-size: 1.05rem; color: #8e2a25; }
.rn-submit { align-self: flex-start; margin-top: .4rem; border: none; cursor: pointer; }
.rn-summary { position: sticky; top: 100px; background: var(--navy); color: var(--champagne); padding: 1.8rem 1.8rem 1.6rem; border-top: 4px solid var(--gold); }
.rn-sum-k { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .66rem; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: 1rem; }
.rn-summary dl { margin: 0; }
.rn-summary dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid rgba(184,151,42,.22); font-family: 'EB Garamond', serif; font-size: 1.1rem; }
.rn-summary dl > div[hidden] { display: none; }
.rn-summary dd { margin: 0; }
.rn-deduct dd { color: var(--gold-lt); }
.rn-total { display: flex; justify-content: space-between; align-items: baseline; padding: 1rem 0 .4rem; }
.rn-total span { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; }
.rn-total b { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 2.6rem; color: var(--gold-lt); }
.rn-season { font-family: 'EB Garamond', serif; font-style: italic; font-size: .98rem; color: rgba(240,230,200,.7); }
.rn-perks { list-style: none; margin: 1.2rem 0 0; padding: 1rem 0 0; border-top: 1px solid rgba(184,151,42,.22); display: flex; flex-direction: column; gap: .55rem; }
.rn-perks li { font-family: 'EB Garamond', serif; font-size: 1rem; color: rgba(240,230,200,.85); padding-left: 1.2rem; position: relative; line-height: 1.45; }
.rn-perks li::before { content: ''; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.rn-help { margin-top: 1.2rem; font-family: 'EB Garamond', serif; font-size: .98rem; color: rgba(240,230,200,.7); }
.rn-help a { color: var(--gold-lt); }
.rn-done { grid-column: 1 / -1; text-align: center; max-width: 560px; margin: 2rem auto; }
.rn-done[hidden] { display: none; }
.rn-done-ball { width: 54px; height: 54px; border-radius: 50%; margin: 0 auto 1.2rem; background: radial-gradient(circle at 35% 35%, #ff7a72, #c8423b 55%, #8e2a25); box-shadow: 0 8px 18px rgba(0,0,0,.2); }
.rn-done h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 2.4rem; color: var(--navy); }
.rn-done p { font-family: 'EB Garamond', serif; font-size: 1.15rem; color: var(--mid); margin: .8rem 0; line-height: 1.6; }
.rn-done .rn-done-sm { font-size: 1rem; }
.rn-done .btn-outline { margin-top: 1rem; }
@media (max-width: 960px) {
  .rn-layout { grid-template-columns: 1fr; }
  .rn-summary { position: static; order: -1; }
}
@media (max-width: 620px) {
  .page-hero.rn-hero { padding-top: 3.4rem; }
  .rn-plans, .rn-member .fr { grid-template-columns: 1fr; }
  .rn-member { padding: 1.1rem 1rem 1.2rem; }
  .rn-price { font-size: 2rem; }
}
.rn-pay { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; }
.rn-pay.bad .rn-pc { border-color: #c8423b; }
.rn-po input { position: absolute; opacity: 0; pointer-events: none; }
.rn-pc { display: flex; flex-direction: column; gap: .25rem; height: 100%; padding: 1rem 1.1rem; background: var(--ivory, #fffdf7); border: 2px solid rgba(184,151,42,.3); cursor: pointer; transition: border-color .2s, background .2s; }
.rn-pc:hover { border-color: var(--gold); }
.rn-po input:checked + .rn-pc { border-color: var(--navy); background: var(--navy); }
.rn-po input:checked + .rn-pc .rn-pk { color: var(--champagne); }
.rn-po input:checked + .rn-pc .rn-pd { color: var(--gold-lt); }
.rn-po input:focus-visible + .rn-pc { outline: 2px solid var(--gold); outline-offset: 3px; }
.rn-pk { font-family: 'Playfair Display', serif; font-size: 1.15rem; color: var(--navy); }
.rn-pd { font-family: 'EB Garamond', serif; font-style: italic; font-size: .95rem; color: var(--mid); line-height: 1.35; }
.rn-howto { background: #fbf6e6; border-left: 4px solid var(--gold); padding: 1rem 1.2rem; font-family: 'EB Garamond', serif; font-size: 1.08rem; line-height: 1.6; color: var(--charcoal); }
.rn-howto[hidden], .rn-howto [hidden] { display: none; }
.rn-howto > div > b:first-child { display: block; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: var(--navy); margin-bottom: .35rem; }
.rn-howto .copy { font-weight: 600; color: var(--navy); border-bottom: 1px solid var(--gold); }
.rn-howto address { font-style: normal; margin-top: .4rem; padding-left: .8rem; border-left: 2px solid rgba(184,151,42,.4); }
.rn-done-how { text-align: left; margin: 1rem 0; }
.rn-paysum { display: flex; justify-content: space-between; gap: 1rem; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid rgba(184,151,42,.22); font-family: 'EB Garamond', serif; font-size: 1.02rem; }
.rn-paysum[hidden] { display: none; }
.rn-paysum b { font-weight: 500; color: var(--gold-lt); }
@media (max-width: 620px) { .rn-pay { grid-template-columns: 1fr; } }

/* ===== Tournament entry ===== */
.en-list { display: grid; grid-template-columns: 1fr; gap: .7rem; }
.en-t input { position: absolute; opacity: 0; pointer-events: none; }
.en-tc { position: relative; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "n m" "d m"; gap: .15rem 1.2rem; align-items: center; padding: 1rem 1.3rem 1rem 3.2rem; background: var(--ivory, #fffdf7); border: 2px solid rgba(184,151,42,.3); cursor: pointer; transition: border-color .2s, background .2s; }
.en-tc::before { content: ''; position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 50%; border: 2px solid rgba(184,151,42,.6); background: #fff; }
.en-tc:hover { border-color: var(--gold); }
.en-t input:checked + .en-tc { border-color: var(--navy); background: var(--navy); }
.en-t input:checked + .en-tc::before { border-color: var(--gold); background: radial-gradient(circle, #c8423b 0 5px, #fff 6px); }
.en-t input:checked + .en-tc .en-tn { color: var(--champagne); }
.en-t input:checked + .en-tc .en-td, .en-t input:checked + .en-tc .en-tm { color: var(--gold-lt); }
.en-t input:focus-visible + .en-tc { outline: 2px solid var(--gold); outline-offset: 3px; }
.en-tn { grid-area: n; font-family: 'Playfair Display', serif; font-size: 1.2rem; color: var(--navy); }
.en-td { grid-area: d; font-family: 'EB Garamond', serif; font-style: italic; font-size: 1rem; color: var(--mid); }
.en-tm { grid-area: m; display: flex; flex-direction: column; align-items: flex-end; gap: .15rem; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .58rem; letter-spacing: .16em; text-transform: uppercase; color: #8a6f1c; text-align: right; }
.en-soon { position: absolute; top: -10px; right: 1rem; background: #c8423b; color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: .56rem; letter-spacing: .18em; text-transform: uppercase; padding: .25rem .55rem; }
.en-none { font-family: 'EB Garamond', serif; font-size: 1.15rem; color: var(--mid); }
.en-usca { font-family: 'EB Garamond', serif; font-style: italic; font-size: .98rem; color: var(--muted); }
.en-usca a { color: #8a6f1c; }
.en-fmt.bad .rn-pc { border-color: #c8423b; }
.en-partner { max-width: 420px; margin-top: .9rem; }
.en-partner[hidden] { display: none; }
#pairNote, #fmtDrawn { margin-top: .9rem; }
.en-lvl { margin-top: 1.2rem; }
.en-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.en-chips input { position: absolute; opacity: 0; pointer-events: none; }
.en-chips span { display: inline-block; padding: .55rem 1.1rem; border: 1.5px solid rgba(184,151,42,.45); border-radius: 999px; font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--navy); cursor: pointer; background: var(--ivory, #fffdf7); }
.en-chips input:checked + span { background: var(--navy); color: var(--champagne); border-color: var(--navy); }
.en-chips input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.en-sum-t { font-family: 'Playfair Display', serif; font-size: 1.45rem; line-height: 1.25; color: var(--champagne); }
.en-sum-d { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.08rem; color: var(--gold-lt); margin-top: .3rem; }
.en-sum-dl { display: inline-block; margin-top: .8rem; background: rgba(184,151,42,.18); color: var(--gold-lt); font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; padding: .35rem .6rem; }
[hidden].en-after, .en-after[hidden] { display: none !important; }
@media (max-width: 620px) {
  .en-tc { grid-template-columns: 1fr; grid-template-areas: "n" "d" "m"; padding-left: 2.9rem; }
  .en-tm { align-items: flex-start; text-align: left; flex-direction: row; gap: .8rem; flex-wrap: wrap; margin-top: .3rem; }
}
/* entry form v2 */
.en-detail { background: var(--navy); color: var(--champagne); padding: 1.3rem 1.5rem; border-left: 4px solid var(--gold); }
.en-detail p { font-family: 'EB Garamond', serif; font-size: 1.08rem; line-height: 1.6; color: rgba(240,230,200,.88); }
.en-bookends { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.en-bookends > div { border-top: 1px solid rgba(184,151,42,.35); padding-top: .7rem; display: flex; flex-direction: column; gap: .2rem; }
.en-bookends > div[hidden] { display: none; }
.en-bk { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-lt); }
.en-bookends b { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.2rem; color: var(--champagne); }
.en-bookends small { font-family: 'EB Garamond', serif; font-style: italic; font-size: .92rem; color: rgba(240,230,200,.65); line-height: 1.4; }
.en-players { display: flex; flex-direction: column; gap: 1rem; }
.en-player { position: relative; }
.en-player .fr:first-of-type { grid-template-columns: 1fr auto; align-items: end; }
.en-fee { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: var(--navy); padding-bottom: .4rem; min-width: 70px; text-align: right; }
.en-evs.bad span { border-color: #c8423b; }
.en-pt { display: flex; flex-direction: column; gap: .3rem; padding-top: .2rem; }
.en-pt[hidden] { display: none; }
.en-add { margin-top: .2rem; }
.en-remove { background: none; border: 0; cursor: pointer; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: #8a6f1c; }
.en-rm-p2 { position: absolute; top: -.2rem; right: 1rem; }
.en-social { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: end; gap: 1rem; background: var(--ivory, #fffdf7); border: 1px solid rgba(184,151,42,.3); padding: 1rem 1.2rem; margin-bottom: .7rem; }
.en-social[hidden] { display: none; }
.en-social .en-chips { padding-bottom: .35rem; }
.en-sfee { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--navy); padding-bottom: .5rem; min-width: 46px; text-align: right; }
.en-social .en-remove { font-size: 1.4rem; letter-spacing: 0; padding-bottom: .4rem; }
.en-addbtn { align-self: flex-start; background: none; border: 1.5px dashed rgba(184,151,42,.7); padding: .75rem 1.2rem; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--navy); cursor: pointer; }
.en-addbtn:hover { border-style: solid; }
.en-addbtn[hidden], #socialBox[hidden], #feeNote[hidden] { display: none; }
#socialBox { display: flex; flex-direction: column; gap: .4rem; }
#payBox.bad .rn-pc { border-color: #c8423b; }
.en-lines { margin: 1rem 0 0; }
.en-lines > div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgba(184,151,42,.22); font-family: 'EB Garamond', serif; font-size: 1.02rem; }
.en-lines dd { margin: 0; white-space: nowrap; }
.en-lines .en-pick { font-style: italic; color: rgba(240,230,200,.6); }
.rn-total[hidden], #sumNoFee[hidden], #doneHow[hidden] { display: none; }
@media (max-width: 620px) {
  .en-bookends { grid-template-columns: 1fr; }
  .en-social { grid-template-columns: 1fr auto; }
  .en-social .fg { grid-column: 1 / -1; }
}
/* guest play steps */
.gp-steps { display: grid; grid-template-columns: 1fr; gap: .9rem; margin: 1.4rem 0 1.2rem; }
.gp-steps > div { display: flex; gap: .9rem; align-items: flex-start; }
.gp-n { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--navy); color: var(--gold-lt); font-family: 'Playfair Display', serif; display: grid; place-items: center; }
.gp-steps p { font-family: 'EB Garamond', serif; font-size: 1.08rem; line-height: 1.55; color: var(--mid); }
.gp-steps b { color: var(--navy); font-weight: 600; }
.gp-rules { margin-top: .4rem; }
.hoop-foot { justify-content: center; }
/* Home link in the main menu */
nav.main .nav-side { gap: 1.9rem; }
nav.main .nav-side > li + li::before { left: -.95rem; }
@media (min-width: 1181px) and (max-width: 1379px) { nav.main .nav-side { gap: 1.4rem; } nav.main .nav-side > li + li::before { left: -.7rem; } nav.main .nav-side > li > a { letter-spacing: .12em; } }
/* homepage hero fades up from navy when returning from another page */
html.hero-fade .hero .carousel { opacity: 0; transform: scale(1.05); transition: opacity 1.8s cubic-bezier(.4,0,.2,1), transform 2.6s cubic-bezier(.2,.7,.2,1); }
html.hero-fade.hero-in .hero .carousel { opacity: 1; transform: none; }
a.en-usca-card { text-decoration: none; display: block; }
.en-usca-card .en-tc { background: transparent; border-style: dashed; padding-left: 1.3rem; }
.en-usca-card .en-tc::before { display: none; }
.en-usca-card .en-tm span:last-child { color: var(--navy); }
.en-usca-card:hover .en-tc { border-color: var(--gold); background: rgba(184,151,42,.06); }
.en-closed .en-tc { opacity: .55; cursor: default; padding-left: 1.3rem; }
.en-closed .en-tc::before { display: none; }
.ph-deck { text-wrap: pretty; }
@media (max-width: 760px) { .page-hero.en-hero > img, .motion .page-hero.en-hero > img.px { scale: 1.9; transform-origin: 40% 96%; } }
/* Why the USCA */
.usca-why { margin: 2.6rem auto 0; max-width: 900px; background: var(--navy); color: var(--champagne); padding: 2.2rem 2.4rem; border-top: 4px solid var(--gold); display: grid; grid-template-columns: 1.15fr 1fr; gap: .4rem 2.4rem; }
.uw-k { grid-column: 1 / -1; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .66rem; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-lt); }
.usca-why h3 { grid-column: 1; font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.9rem; line-height: 1.15; color: var(--champagne); margin-top: .3rem; }
.usca-why h3 em { color: var(--gold-lt); }
.usca-why p { grid-column: 1; font-family: 'EB Garamond', serif; font-size: 1.1rem; line-height: 1.65; color: rgba(240,230,200,.85); margin-top: .7rem; }
.usca-why ul { grid-column: 2; grid-row: 2 / 4; list-style: none; margin: .4rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .75rem; align-self: center; }
.usca-why li { font-family: 'EB Garamond', serif; font-size: 1.08rem; line-height: 1.45; color: rgba(240,230,200,.85); padding-left: 1.3rem; position: relative; }
.usca-why li::before { content: ''; position: absolute; left: 0; top: .5em; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
.usca-why li b { color: var(--champagne); font-weight: 500; }
@media (max-width: 760px) { .usca-why { grid-template-columns: 1fr; padding: 1.8rem 1.4rem; } .usca-why ul { grid-column: 1; grid-row: auto; margin-top: 1rem; } }

/* ── Compact fly-out phone menu ── */
.m-scrim { position: fixed; inset: 0; z-index: 299; background: rgba(6,14,28,.55); opacity: 1; transition: opacity .3s ease; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.m-scrim.out { opacity: 0; }
.m-menu { inset: 0 0 0 auto; width: min(300px, 84vw); padding: 1rem 1.15rem 1.6rem; border-left: 1px solid rgba(184,151,42,.35); box-shadow: -18px 0 40px rgba(0,0,0,.35); overscroll-behavior: contain; }
.m-menu:not([hidden]) { animation: mIn .32s cubic-bezier(.2,.7,.2,1) both; }
.m-menu.out { animation: mOut .28s ease both; }
@keyframes mIn { from { transform: translateX(104%); } to { transform: none; } }
@keyframes mOut { from { transform: none; } to { transform: translateX(104%); } }
.m-menu-head { margin-bottom: .6rem; padding-bottom: .7rem; }
.m-menu-head .crest-logo { height: 36px; }
.m-menu-head .brand-words { display: none; }
.m-menu-head .menu-btn { padding: .45rem .75rem; font-size: .6rem; }
.m-group { position: relative; padding: 0; border-top: 1px solid rgba(184,151,42,.18); }
.m-group > a { font-family: 'Montserrat', sans-serif; font-size: .74rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; padding: .95rem 2.6rem .95rem 0; }
.m-exp { position: absolute; top: 0; right: -.4rem; width: 2.8rem; height: 2.9rem; background: none; border: 0; cursor: pointer; }
.m-exp::before { content: ''; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; border-right: 1.5px solid var(--gold); border-bottom: 1.5px solid var(--gold); transform: translate(-50%, -70%) rotate(45deg); transition: transform .25s ease; }
.m-group.open .m-exp::before { transform: translate(-50%, -30%) rotate(225deg); }
.m-group ul { display: block; margin: 0; padding: 0 0 0 .9rem; max-height: 0; overflow: hidden; border-left: 1px solid rgba(184,151,42,.3); transition: max-height .3s ease, padding .3s ease; }
.m-group.open ul { max-height: 16rem; padding-bottom: .7rem; }
.m-group ul li a { display: block; padding: .42rem 0; font-size: .74rem; color: rgba(240,230,200,.7); }
.m-cta { margin-top: 1rem; gap: .55rem; }
.m-cta a { padding: .75rem 1rem; font-size: .62rem; text-align: center; }
@media (prefers-reduced-motion: reduce) { .m-menu, .m-scrim, .m-group ul { transition: none; animation: none !important; } }
.m-menu { bottom: auto; max-height: 100dvh; border-bottom: 1px solid rgba(184,151,42,.35); border-bottom-left-radius: 4px; }

/* Directions card: show the whole aerial, mountains included (no drift zoom) */
.map-card img.px { scale: 1 !important; translate: none !important; transform: none !important; }
@media (max-width: 600px) { .map-card { aspect-ratio: 4 / 4.2; } .map-card .mc-in { padding: 1.3rem; } .map-card .mc-in p { font-size: 1.15rem; } }

/* ── Weather chip (top bar) ── */
.utility { position: relative; z-index: 260; }
.utility-inner .u-right { align-items: center; }
.wx { position: relative; }
.wx-chip { display: inline-flex; align-items: center; gap: .45rem; background: none; border: 0; padding: .2rem 0; margin: 0; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; color: rgba(240,230,200,.75); transition: color .2s; }
.wx-chip:hover, .wx.open .wx-chip { color: var(--gold-lt); }
.wx-chip svg { width: 15px; height: 15px; color: var(--gold-lt); flex: none; }
.wx-chip b { font-weight: 600; color: var(--champagne); letter-spacing: .06em; }
.wx-chip + .wx-panel { text-transform: none; letter-spacing: 0; }
.wx-panel { position: absolute; left: -.8rem; top: calc(100% + .7rem); width: 260px; background: var(--navy); border: 1px solid rgba(184,151,42,.4); box-shadow: 0 14px 34px rgba(0,0,0,.4); padding: 1rem 1.05rem .8rem; white-space: normal; animation: wxIn .22s ease both; }
.wx-panel::before { content: ''; position: absolute; top: -6px; left: 1.1rem; width: 10px; height: 10px; background: var(--navy); border-left: 1px solid rgba(184,151,42,.4); border-top: 1px solid rgba(184,151,42,.4); transform: rotate(45deg); }
@keyframes wxIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.wx-now { display: flex; align-items: center; gap: .8rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(184,151,42,.2); }
.wx-now svg { width: 38px; height: 38px; color: var(--gold-lt); flex: none; }
.wx-t { font-family: 'Playfair Display', serif; font-size: 2rem; line-height: 1; color: var(--champagne); }
.wx-t small { font-size: .9rem; color: rgba(240,230,200,.5); margin-left: .15rem; vertical-align: top; }
.wx-w { font-family: 'EB Garamond', serif; font-size: 1rem; color: rgba(240,230,200,.72); margin-top: .25rem; }
.wx-days { list-style: none; margin: .55rem 0 0; padding: 0; }
.wx-days li { display: grid; grid-template-columns: 3.2rem 20px 1fr; align-items: center; gap: .6rem; padding: .32rem 0; font-family: 'Montserrat', sans-serif; font-size: .7rem; letter-spacing: .08em; color: rgba(240,230,200,.7); }
.wx-days li + li { border-top: 1px solid rgba(184,151,42,.1); }
.wx-days .wd { text-transform: uppercase; color: rgba(240,230,200,.85); }
.wx-days svg { width: 18px; height: 18px; color: var(--gold-lt); }
.wx-days .wt { text-align: right; }
.wx-days .wt b { color: var(--champagne); font-weight: 600; margin-right: .3rem; }
.wx-foot { margin-top: .55rem; font-family: 'Montserrat', sans-serif; font-size: .55rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(240,230,200,.38); }
.wx-foot a { color: rgba(240,230,200,.5); text-decoration: none; }
@media (max-width: 760px) {
  .wx-chip .wx-place { display: none; }
  .wx { position: static; }
  .wx-panel { left: auto; right: 1rem; top: calc(100% + .4rem); width: min(270px, calc(100vw - 2rem)); }
  .wx-panel::before { display: none; }
  .utility-inner .u-right { gap: 1.1rem; }
}
html.mhcc-nav-wait .utility-inner .wx { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .wx-panel { animation: none; } }
.wx-hl { font-family: 'Montserrat', sans-serif; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(240,230,200,.5); margin-top: .3rem; }

/* Hoop Happenings: the aerial lawn photo, tinted navy so it shows at the edges */
.hoop { background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(10,22,40,.9) 30%, rgba(10,22,40,.62) 100%), url(img/directions-aerial.jpg) center 55% / cover no-repeat, var(--navy); }
.hoop::before { display: none; }
/* Hoop Happenings: lawn only, no mountains (zoomed and anchored to the bottom of the photo) */
.hoop { background-size: 100% 100%, max(150%, 1800px) auto, auto; background-position: center, center 100%, center; }
@media (max-width: 900px) { .hoop { background-size: 100% 100%, auto 140%, auto; background-position: center, 30% 100%, center; } }

/* Footer in the site navy, not near-black */
footer { background: var(--navy); }
.stats, .recap { background: var(--navy); }

/* Special clinic ribbon (Events › spotlight) */
.spot-has-ribbon { position: relative; padding-top: calc(7rem + 3.2rem); }
.spot-ribbon { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem 1.1rem; padding: .95rem 1.25rem; text-decoration: none;
  background: linear-gradient(100deg, #b8972a 0%, #e2c66c 45%, #f3dd94 50%, #e2c66c 55%, #b8972a 100%); background-size: 250% 100%; animation: srShine 6s ease-in-out infinite;
  color: var(--navy); font: 700 .74rem 'Montserrat', sans-serif; letter-spacing: .26em; text-transform: uppercase; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
@keyframes srShine { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
.sr-live { width: 9px; height: 9px; border-radius: 50%; background: #b3261e; box-shadow: 0 0 0 0 rgba(179,38,30,.6); animation: srPulse 1.8s ease-out infinite; }
@keyframes srPulse { 0% { box-shadow: 0 0 0 0 rgba(179,38,30,.55); } 80%, 100% { box-shadow: 0 0 0 10px rgba(179,38,30,0); } }
.sr-free { background: var(--navy); color: var(--gold-lt); padding: .32rem .7rem; letter-spacing: .3em; }
.sr-when { font-weight: 600; letter-spacing: .16em; opacity: .85; }
.sr-when::before { content: '◆'; margin-right: 1.1rem; font-size: .5rem; vertical-align: 2px; opacity: .7; }
@media (max-width: 760px) {
  .spot-has-ribbon { padding-top: calc(5rem + 5.4rem); }
  .spot-ribbon { font-size: .64rem; letter-spacing: .18em; gap: .45rem .7rem; }
  .sr-when { flex-basis: 100%; text-align: center; }
  .sr-when::before { display: none; }
}
@media (prefers-reduced-motion: reduce) { .spot-ribbon, .sr-live { animation: none; } }
/* Ribbon floats inside the navy section, aligned with the content */
.spot-has-ribbon { padding-top: 5.5rem; }
.spot-ribbon { position: static; max-width: 1140px; margin: 0 auto 3.4rem; border: 1px solid rgba(243,221,148,.6); box-shadow: 0 10px 28px rgba(0,0,0,.35); }
@media (max-width: 760px) { .spot-has-ribbon { padding-top: 3.4rem; } .spot-ribbon { margin-bottom: 2.4rem; } }

/* Instructor photo (Events › special clinic) */
.spot-side { display: flex; flex-direction: column; gap: 2rem; }
.spot-photo { margin: 0; position: relative; border: 1px solid rgba(184,151,42,.4); box-shadow: 0 16px 36px rgba(0,0,0,.35); }
.spot-photo img { display: block; width: 100%; height: 400px; object-fit: cover; object-position: 50% 12%; }
.spot-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.4rem 1.2rem .9rem; background: linear-gradient(to top, rgba(10,22,40,.88), transparent); font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-lt); }
@media (max-width: 760px) { .spot-photo img { height: 340px; } }

.ph-deck .deck-tag { display: block; margin-top: .7rem; color: var(--gold-lt); }

/* Tournament rows: entry buttons (Events › Tournaments) */
.row-act { display: flex; flex-direction: column; align-items: flex-end; gap: .7rem; }
.row-btn { font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .18em; text-transform: uppercase; text-decoration: none; white-space: nowrap; padding: .7rem 1.1rem; background: var(--gold); color: var(--navy); transition: background .2s, color .2s; }
.row-btn:hover { background: var(--gold-lt); }
.row-btn.ghost { background: transparent; color: var(--gold-lt); border: 1px solid rgba(184,151,42,.55); }
.row-btn.ghost:hover { background: rgba(184,151,42,.12); color: var(--champagne); }
@media (max-width: 760px) { .row-act { flex-direction: row; align-items: center; justify-content: flex-start; gap: 1rem; justify-self: start; } }
.ph-deck .deck-hl { color: var(--gold-lt); }

/* Link inside a How to Join step */
.step-link { display: inline-block; align-self: flex-start; margin-top: 1rem; font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #8a6f1c; text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 2px; transition: color .2s; }
.step-link:hover { color: var(--navy); }
.step-links { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin-top: auto; }
.step-links .step-link { margin-top: 1rem; }
.step.key .step-link { color: var(--gold-lt); }
.step.key .step-link:hover { color: var(--champagne); }


/* How to Join: all three steps in navy */
.steps .step { background: var(--navy); border: 1px solid var(--gold); border-top: 4px solid var(--gold); box-shadow: 0 14px 30px rgba(10,22,40,.12); }
.steps .step .step-n { color: var(--gold-lt); }
.steps .step .step-t { color: var(--champagne); }
.steps .step .step-d { color: rgba(240,230,200,.74); }
.steps .step .step-link { color: var(--gold-lt); }
.steps .step .step-link:hover { color: var(--champagne); }
.usca-why { grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 2.6rem; }
.usca-why h3, .usca-why p, .usca-why ul { grid-column: auto; grid-row: auto; }
.usca-why ul { margin-top: 1.4rem; }
.usca-why .uw-logo { border-radius: 50%; box-shadow: 0 0 0 4px var(--gold), 0 14px 30px rgba(0,0,0,.4); transition: transform .25s; }
.usca-why .uw-logo:hover { transform: scale(1.03); }
.usca-why .uw-logo img { display: block; width: 210px; height: 210px; border-radius: 50%; }
@media (max-width: 760px) {
  .usca-why { grid-template-columns: 1fr; gap: 1.6rem; }
  .usca-why .uw-logo { justify-self: center; order: -1; }
  .usca-why .uw-logo img { width: 130px; height: 130px; }
}

/* FAQ answer list */
.faq .faq-list { list-style: none; margin: .9rem 0 1rem; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.faq .faq-list li { position: relative; padding-left: 1.3rem; }
.faq .faq-list li::before { content: ''; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.faq .faq-list b { color: var(--navy); font-weight: 600; }
.faq .a a { color: #8a6f1c; border-bottom: 1px solid var(--gold); text-decoration: none; }

/* FAQ: gold diamond ornament before each question */
.faq summary { justify-content: flex-start; gap: 1.1rem; }
.faq summary::before { content: ''; flex-shrink: 0; width: 8px; height: 8px; background: var(--gold); transform: rotate(45deg); box-shadow: 0 0 0 3px var(--cream), 0 0 0 4px rgba(184,151,42,.45); margin: 0 .25rem 0 .3rem; transition: background .2s; }
.faq details[open] summary::before { background: var(--navy); }
.faq summary::after { margin-left: auto; }
.faq .a { padding-left: 2.35rem; }
@media (max-width: 600px) { .faq .a { padding-left: 0; } }

/* Dues & Benefits: tighter spacing */
#dues.band { padding-top: 3.8rem; padding-bottom: 3.8rem; }
#dues .band-head { margin-bottom: 1.8rem; }
#dues .perk-grid > div { padding: 1.25rem 1.2rem 1.3rem; }
#dues .perk-grid .d { margin-bottom: .6rem; }
#dues .usca-why { margin-top: 1.6rem; padding: 1.7rem 2.2rem; gap: 2rem; }
#dues .usca-why ul { margin-top: 1rem; gap: .5rem; }
#dues .usca-why .uw-logo img { width: 170px; height: 170px; }
@media (max-width: 760px) {
  #dues.band { padding-top: 3rem; padding-bottom: 3rem; }
  #dues .perk-grid > div { padding: 1rem .9rem 1.1rem; }
  #dues .usca-why { padding: 1.5rem 1.3rem; gap: 1.2rem; }
  #dues .usca-why .uw-logo img { width: 110px; height: 110px; }
}

/* Volunteer meeting callout (Membership › Get Involved) */
.vol-meet { display: flex; align-items: center; gap: 2rem; max-width: 760px; margin: 0 auto 3rem; padding: 1.6rem 2rem; background: var(--navy); border-top: 4px solid var(--gold); box-shadow: 0 16px 34px rgba(10,22,40,.18); }
.vm-date { flex-shrink: 0; width: 104px; text-align: center; background: var(--cream); border: 1px solid var(--gold); padding: .55rem 0 .65rem; display: flex; flex-direction: column; }
.vm-mo { font: 700 .66rem 'Montserrat', sans-serif; letter-spacing: .26em; text-transform: uppercase; color: var(--cream); background: var(--gold); margin: -.55rem 0 .35rem; padding: .32rem 0; }
.vm-d { font: 400 2.7rem/1 'Playfair Display', serif; color: var(--navy); }
.vm-dow { font: 600 .56rem 'Montserrat', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #8a6f1c; margin-top: .3rem; }
.vm-k { font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-lt); }
.vm-body h3 { font: 400 1.75rem/1.15 'Playfair Display', serif; color: var(--champagne); margin: .35rem 0 .4rem; }
.vm-when { font: 600 .74rem 'Montserrat', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: .55rem; }
.vm-body p:not(.vm-when) { font: 400 1.08rem/1.6 'EB Garamond', serif; color: rgba(240,230,200,.8); }
@media (max-width: 640px) {
  .vol-meet { flex-direction: column; align-items: flex-start; gap: 1.2rem; padding: 1.5rem 1.3rem; margin-top: 0; }
  .vm-date { width: 88px; }
}

/* Gallery: grow on hover, rise into view on scroll */
.gal button { transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s; z-index: 0; }
.gal button:hover, .gal button:focus-visible { transform: translateY(-4px) scale(1.025); box-shadow: 0 18px 38px rgba(10,22,40,.32), 0 0 0 2px var(--gold); z-index: 2; }
.gal button:hover img, .gal button:focus-visible img { transform: scale(1.08); }
.gal .cap { transform: translateY(8px); transition: opacity .35s, transform .45s; }
.gal button::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,22,40,.55), transparent 45%); opacity: 0; transition: opacity .35s; pointer-events: none; }
.gal button:hover::after, .gal button:focus-visible::after { opacity: 1; }
.gal button:hover .cap, .gal button:focus-visible .cap { transform: none; z-index: 1; }
.gal.anim button { opacity: 0; transform: translateY(34px) scale(.96); transition: opacity .8s ease, transform .9s cubic-bezier(.2,.7,.2,1), box-shadow .45s; }
.gal.anim button.in { opacity: 1; transform: none; }
.gal.anim button.in:hover, .gal.anim button.in:focus-visible { transform: translateY(-4px) scale(1.025); transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s; }
@media (prefers-reduced-motion: reduce) { .gal.anim button { opacity: 1; transform: none; transition: none; } .gal button:hover, .gal button:hover img { transform: none; } }

/* Gallery: shorter header */
.page-hero.gal-hero { height: 40vh; min-height: 340px; max-height: 420px; }
@media (max-width: 760px) { .page-hero.gal-hero { height: auto; min-height: 300px; } }

/* Gallery: share-a-photo callout */
.photo-share { display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; align-items: center; gap: .4rem 2rem; max-width: 900px; margin: 3.2rem auto 0; padding: 2rem 2.4rem; background: var(--navy); border-top: 4px solid var(--gold); box-shadow: 0 16px 34px rgba(10,22,40,.18); }
.ps-icon { grid-row: 1 / 3; width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; color: var(--gold-lt); border: 1px solid rgba(212,181,88,.55); }
.ps-icon svg { width: 34px; height: 34px; }
.ps-body { grid-row: 1 / 3; }
.ps-k { font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-lt); }
.ps-body h3 { font: 400 1.75rem/1.2 'Playfair Display', serif; color: var(--champagne); margin: .35rem 0 .45rem; }
.ps-body h3 em { color: var(--gold-lt); }
.ps-body p { font: 400 1.08rem/1.6 'EB Garamond', serif; color: rgba(240,230,200,.8); }
.ps-btn { grid-column: 3; grid-row: 1; align-self: end; white-space: nowrap; }
.ps-mail { grid-column: 3; grid-row: 2; align-self: start; text-align: center; font: 400 .95rem 'EB Garamond', serif; color: rgba(240,230,200,.6); user-select: all; }
@media (max-width: 760px) {
  .photo-share { grid-template-columns: 1fr; text-align: center; padding: 1.8rem 1.4rem; gap: 1rem; }
  .ps-icon, .ps-body, .ps-btn, .ps-mail { grid-column: 1; grid-row: auto; justify-self: center; }
}

/* ===== Tighter footer + closing banner (all pages) ===== */
footer { padding: 2.8rem 5rem 1.6rem; }
.foot-top { grid-template-columns: 1.7fr 1fr 1fr 1fr 1fr; gap: 2.2rem; padding-bottom: 2rem; margin-bottom: 1.4rem; }
.foot-brand { font-size: 1.4rem; white-space: nowrap; }
.foot-addr { margin-top: .8rem; line-height: 1.5; }
.foot-socials { margin-top: .9rem; }
.foot-col h4 { margin-bottom: .8rem; }
.foot-col ul { gap: .35rem; }
.cta-band { padding: 3rem 4rem; }
.cta-band h2 { margin-bottom: 1.4rem; }
.cta-band .eyebrow { margin-bottom: .6rem; }
@media (min-width: 961px) { footer { padding: 2.8rem 5rem 1.6rem; } .cta-band { padding: 3rem 4rem; } }
@media (max-width: 1100px) { .foot-top { grid-template-columns: 1fr 1fr 1fr; } .foot-top > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 760px) {
  footer { padding: 2.4rem 1.4rem 1.4rem; }
  .foot-top { grid-template-columns: 1fr 1fr; gap: 1.4rem 1.2rem; padding-bottom: 1.4rem; }
  .foot-brand { white-space: normal; }
  .foot-col h4 { margin-bottom: .3rem; }
  .foot-col ul { gap: 0; }
  .foot-col a, .foot-socials a, .foot-aff a { padding-block: .4rem; }
  .foot-bottom { flex-direction: column; align-items: flex-start; gap: .4rem; }
  .cta-band { padding: 2.6rem 1.4rem; }
}

/* ===== Site-wide: less dead space between sections ===== */
@media (min-width: 961px) {
  .band { padding: 3.8rem 4rem; }
  .band-head { margin-bottom: 1.8rem; }
  .story { padding: 3.8rem 4rem 3.4rem; }
  .lawns-sec, .leaders { padding: 3.8rem 4rem; }
  .events-section { padding: 3.8rem 5rem; }
  .membership { padding: 4rem 4rem; }
  .recap { padding: 3.2rem 4rem; }
  .manifesto { padding: 4.4rem 4rem; }
}
@media (max-width: 760px) {
  .band { padding: 3.4rem 1.4rem; }
  .band-head { margin-bottom: 1.6rem; }
  .story, .lawns-sec, .leaders { padding: 3.4rem 1.4rem; }
}

/* ===== Members' Area ===== */
.page-hero.mb-hero { height: auto; min-height: 0; max-height: none; padding: 4.2rem 0 3.4rem; background: radial-gradient(ellipse at 50% 0%, rgba(212,181,88,.14), transparent 60%), var(--navy); }
.mb-signin { display: grid; grid-template-columns: auto 1fr minmax(240px, 300px); gap: 2rem; align-items: center; background: var(--navy); border-top: 4px solid var(--gold); padding: 2rem 2.2rem; box-shadow: 0 16px 34px rgba(10,22,40,.16); margin-bottom: 2rem; }
.mb-lock { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; color: var(--gold-lt); border: 1px solid rgba(212,181,88,.55); }
.mb-lock svg { width: 32px; height: 32px; }
.mb-k { font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .24em; text-transform: uppercase; color: #8a6f1c; }
.mb-signin .mb-k { color: var(--gold-lt); }
.mb-sbody h2 { font: 400 1.7rem/1.2 'Playfair Display', serif; color: var(--champagne); margin: .35rem 0 .5rem; }
.mb-sbody p { font: 400 1.06rem/1.6 'EB Garamond', serif; color: rgba(240,230,200,.78); }
.mb-form { display: flex; flex-direction: column; gap: .35rem; }
.mb-form .fl { color: rgba(240,230,200,.6); }
.mb-form .fi { margin-bottom: .45rem; }
.mb-form .btn-gold { margin-top: .3rem; text-align: center; }
.mb-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.mb-card { display: flex; flex-direction: column; gap: .4rem; background: var(--cream); border: 1px solid var(--border); padding: 1.5rem 1.5rem 1.4rem; text-decoration: none; transition: transform .25s, box-shadow .25s, border-color .25s; }
a.mb-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(10,22,40,.12); border-color: var(--gold); }
.mb-card h3 { font: 400 1.35rem/1.2 'Playfair Display', serif; color: var(--navy); }
.mb-card p { font: 400 1.02rem/1.55 'EB Garamond', serif; color: var(--muted); flex: 1; }
.mb-go { font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #8a6f1c; margin-top: .4rem; }
.mb-feature { grid-row: span 2; background: var(--gold-pale); border-color: rgba(184,151,42,.55); border-top: 4px solid var(--gold); }
.mb-ico { width: 54px; height: 54px; color: var(--gold); margin-bottom: .4rem; }
.mb-ico svg { width: 100%; height: 100%; }
.mb-feature h3 { font-size: 1.8rem; }
.mb-btn { display: inline-block; align-self: flex-start; margin-top: .8rem; font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .16em; text-transform: uppercase; padding: .85rem 1.2rem; }
.mb-btn.is-locked { background: rgba(10,22,40,.08); color: var(--muted); border: 1px dashed rgba(10,22,40,.25); cursor: not-allowed; }
@media (max-width: 900px) {
  .mb-signin { grid-template-columns: 1fr; text-align: left; gap: 1.2rem; padding: 1.6rem 1.3rem; }
  .mb-grid { grid-template-columns: 1fr 1fr; }
  .mb-feature { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 560px) { .mb-grid { grid-template-columns: 1fr; } }
.mb-hero .ph-content { padding-bottom: 0; }
@media (min-width: 901px) { .mb-feature { grid-row: span 3; } }

.mb-signin { align-items: center; }
.mb-form { align-self: center; }
.mb-demo { font: italic 400 .95rem 'EB Garamond', serif; color: rgba(240,230,200,.6); margin-top: .3rem; text-align: center; }
.mb-demo b { color: var(--gold-lt); font-style: normal; font-weight: 600; }
.mb-err { font: 400 .95rem 'EB Garamond', serif; color: #f1a39b; text-align: center; }
.mb-welcome { display: none; align-items: center; justify-content: space-between; gap: 1.6rem; background: var(--navy); border-top: 4px solid var(--gold); padding: 1.6rem 2.2rem; margin-bottom: 2rem; box-shadow: 0 16px 34px rgba(10,22,40,.16); }
.mb-welcome .mb-k { color: var(--gold-lt); }
.mb-welcome h2 { font: 400 1.7rem/1.2 'Playfair Display', serif; color: var(--champagne); margin: .3rem 0 .4rem; }
.mb-welcome p { font: 400 1.04rem/1.55 'EB Garamond', serif; color: rgba(240,230,200,.75); }
.mb-out { flex-shrink: 0; cursor: pointer; background: none; }
body.mb-in .mb-signin { display: none; }
body.mb-in .mb-welcome { display: flex; }
.mb-dl { background: var(--gold); color: var(--navy); text-decoration: none; transition: background .2s; }
.mb-dl:hover { background: var(--gold-lt); }
body.mb-in .mb-feature { box-shadow: 0 0 0 2px var(--gold), 0 16px 34px rgba(10,22,40,.14); }
@media (max-width: 760px) { .mb-welcome { flex-direction: column; align-items: flex-start; padding: 1.5rem 1.3rem; } }
.mb-acts { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .8rem; }
.mb-acts[hidden] { display: none; }
.mb-acts .mb-btn { margin-top: 0; }
button.mb-dl { border: 0; cursor: pointer; }
.mb-dl2 { background: transparent; color: #8a6f1c; border: 1px solid var(--gold); text-decoration: none; transition: background .2s; }
.mb-dl2:hover { background: rgba(184,151,42,.12); }
.mb-modal { position: fixed; inset: 0; z-index: 400; background: rgba(6,14,28,.72); display: grid; place-items: center; padding: 1.5rem; }
.mb-modal[hidden] { display: none; }
.mbm-box { background: var(--cream); width: min(980px, 100%); max-height: 88vh; display: flex; flex-direction: column; border-top: 4px solid var(--gold); box-shadow: 0 30px 70px rgba(0,0,0,.45); }
.mbm-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1.5rem 1.8rem .4rem; }
.mbm-head h2 { font: 400 1.9rem/1.15 'Playfair Display', serif; color: var(--navy); margin-top: .3rem; }
.mbm-head h2 em { color: var(--gold); }
.mbm-acts { display: flex; align-items: center; gap: .8rem; }
.mbm-acts .mb-btn { margin: 0; }
.mbm-x { width: 40px; height: 40px; border: 1px solid var(--border); background: none; font-size: 1.6rem; line-height: 1; color: var(--navy); cursor: pointer; }
.mbm-note { font: italic 400 1rem 'EB Garamond', serif; color: var(--muted); padding: 0 1.8rem .9rem; }
.mbm-scroll { overflow: auto; padding: 0 1.8rem 1.8rem; }
.mbm-t { width: 100%; border-collapse: collapse; font: 400 1.02rem 'EB Garamond', serif; color: var(--charcoal); }
.mbm-t th { position: sticky; top: 0; background: var(--navy); color: var(--champagne); font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .16em; text-transform: uppercase; text-align: left; padding: .75rem .8rem; border-bottom: 2px solid var(--gold); }
.mbm-t td { padding: .6rem .8rem; border-bottom: 1px solid var(--border); white-space: nowrap; }
.mbm-t tbody tr:nth-child(even) { background: var(--parch); }
@media (max-width: 640px) { .mbm-head { flex-direction: column; padding: 1.2rem 1.1rem .3rem; } .mbm-note { padding: 0 1.1rem .7rem; } .mbm-scroll { padding: 0 1.1rem 1.2rem; } }
.mb-card p.mb-upd { flex: 0; font-style: italic; color: #8a6f1c; margin-top: -.1rem; }
.mb-feature p:not(.mb-upd) { flex: 0; }
.mb-feature .mb-acts, .mb-feature .is-locked { margin-top: auto; }
.mb-modal { z-index: 1000; }
.mbm-box { min-width: 0; max-width: 100%; }
.mbm-scroll { min-width: 0; max-width: 100%; -webkit-overflow-scrolling: touch; }
@media (max-width: 640px) { .mb-modal { padding: .8rem; } .mbm-box { width: 100%; max-height: 92vh; } .mbm-acts { width: 100%; justify-content: space-between; } }
.usca-why .uw-site { display: inline-block; margin-top: 1.2rem; font: 600 .66rem 'Montserrat', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--navy); background: var(--gold); padding: .8rem 1.2rem; text-decoration: none; transition: background .2s; }
.usca-why .uw-site:hover { background: var(--gold-lt); }
.rn-step p a { color: #8a6f1c; border-bottom: 1px solid var(--gold); text-decoration: none; white-space: nowrap; }

/* Games We Play: game names on a lawn-green bar */
.cards.games .card { --cpx: 2.2rem; }
.cards.games .card h3 { background: var(--gold); color: var(--navy); font-weight: 700; margin: .55rem calc(-1 * var(--cpx)) 1.1rem; padding: .8rem var(--cpx) .75rem; font-size: 1.45rem; letter-spacing: .06em; }


/* ===== Site-wide compaction pass ===== */
/* section bands */
.band, .band.gp { padding: 3rem 4rem; }
.band-head, .band.gp .band-head { margin-bottom: 1.5rem; }
.band-head p { margin-top: .7rem; }
.story, .lawns-sec, .leaders { padding: 3rem 4rem; }
.events-section { padding: 3rem 5rem; }
.membership { padding: 3.2rem 4rem; }
.manifesto { padding: 3.6rem 4rem; }
.recap { padding: 2.6rem 4rem; }
.hoop { padding: 3.2rem 4rem 3rem; }
.hoop-head { margin-bottom: 1.6rem; }
.section-header { margin-bottom: 1.8rem; }
.sec-motto { margin-top: .3rem; }
/* page headers */
.page-hero { height: 44vh; min-height: 360px; max-height: 470px; }
.page-hero.gp-hero { height: 42vh; min-height: 340px; max-height: 440px; }
.ph-content { padding-bottom: 3.6rem; }
/* layouts */
.split, .gp .split { gap: 2.8rem; }
.cards .card { padding: 1.7rem 1.6rem; }
.cards.games .card { padding: 1.8rem 2.2rem 1.7rem; }
.row { padding: 1.05rem 0; gap: 1.6rem; }
.timeline li { padding-bottom: 1.5rem; }
.people { gap: 1rem; }
/* "Never played? Perfect." steps: number beside the title, tighter rows */
.path3 { gap: 0; }
.path3 > div { display: grid; grid-template-columns: 2.4rem minmax(0,1fr); column-gap: .9rem; padding: 1rem 0 1.05rem; }
.path3 .n { grid-row: 1 / 3; font-size: 2rem; line-height: 1.1; }
.path3 h3 { margin: .15rem 0 .3rem; }
#new .contact-line { margin-top: .8rem !important; }
#new .path3 { margin-top: 1.2rem !important; }
#new .sec-motto { margin-top: .2rem; }
@media (max-width: 760px) {
  .band, .band.gp, .story, .lawns-sec, .leaders, .events-section, .membership, .manifesto, .recap, .hoop { padding: 2.4rem 1.25rem; }
  .band-head, .band.gp .band-head { margin-bottom: 1.2rem; }
  .page-hero, .page-hero.gp-hero { height: auto; min-height: 300px; }
  .ph-content { padding-bottom: 2.6rem; padding-top: 3.4rem; }
  .split, .gp .split { gap: 1.6rem; }
  .cards .card, .cards.games .card { padding: 1.4rem 1.3rem; }
  .cards.games .card { --cpx: 1.3rem; }
  .cards { gap: .8rem; }
}
@media (max-width: 600px) { .gal { columns: 2; column-gap: 5px; } .gal button { margin-bottom: 5px; } .gal .cap { display: none; } }
.cards.games .card h3 { font-size: 1.24rem; letter-spacing: .05em; white-space: nowrap; }
@media (max-width: 1100px) and (min-width: 761px) { .cards.games .card h3 { white-space: normal; } }

/* Guest Play steps: match the "Never played?" numbering (gold italic numerals, gold rules) */
.gp-steps { margin-top: 1.2rem; display: block; }
.gp-steps > div { display: grid; grid-template-columns: 2.4rem minmax(0,1fr); column-gap: .9rem; align-items: start; padding: .9rem 0 .95rem; border-top: 1px solid var(--gold); background: none; border-left: 0; border-right: 0; border-bottom: 0; }
.gp-steps .gp-n { width: auto; height: auto; border: 0; border-radius: 0; background: none; display: block; font: italic 400 2rem/1.1 'Playfair Display', serif; color: var(--gold); box-shadow: none; }
.gp-steps p { margin: .2rem 0 0; }
.gp-rules { margin-top: 1.2rem; }
/* Game name bars: deeper gold, cream serif, no bold */
.cards.games .card h3 { background: linear-gradient(100deg, #9a7a1c 0%, #a5852a 55%, #98781b 100%); color: #fffaf0; font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.5rem; letter-spacing: .08em; text-shadow: 0 1px 2px rgba(60,40,0,.35); border-top: 1px solid rgba(255,240,200,.35); border-bottom: 1px solid rgba(60,40,0,.25); padding: .78rem var(--cpx) .72rem; }
@media (max-width: 1240px) and (min-width: 761px) { .cards.games .card h3 { font-size: 1.3rem; } }

/* Outer frame + gold corner brackets around photo boxes */
.frame-x { position: relative; padding: 14px; }
.frame-x::before { content: ''; position: absolute; inset: 6px; border: 1px solid rgba(184,151,42,.45); pointer-events: none; }
.frame-x .split-img { box-shadow: 0 18px 38px rgba(10,22,40,.16); }
.fx-c { position: absolute; width: 30px; height: 30px; pointer-events: none; }
.fx-tl { top: 0; left: 0; border-top: 2px solid var(--gold); border-left: 2px solid var(--gold); }
.fx-tr { top: 0; right: 0; border-top: 2px solid var(--gold); border-right: 2px solid var(--gold); }
.fx-bl { bottom: 0; left: 0; border-bottom: 2px solid var(--gold); border-left: 2px solid var(--gold); }
.fx-br { bottom: 0; right: 0; border-bottom: 2px solid var(--gold); border-right: 2px solid var(--gold); }
.navy .frame-x::before { border-color: rgba(212,181,88,.4); }
@media (max-width: 760px) { .frame-x { padding: 10px; } .frame-x::before { inset: 4px; } .fx-c { width: 22px; height: 22px; } }

/* standalone photos share the bracket frame */
.frame-x > .spot-photo { border: 0; }
.frame-x:has(> .spot-photo)::before { border-color: rgba(212,180,90,.5); }

/* Affiliations with logos */
.affil { padding: 2.8rem 4rem 3rem; }
.affil-inner { flex-direction: column; gap: 1.6rem; }
.affil-row { display: grid; grid-template-columns: repeat(3, minmax(0, 220px)); justify-content: center; gap: 2.5rem; width: 100%; }
.affil a.affil-org { flex-direction: column; gap: .9rem; text-align: center; font-size: 1.05rem; line-height: 1.3; }
.affil a.affil-org::before { display: none; }
.affil-logo { width: 116px; height: 116px; display: grid; place-items: center; transition: transform .35s ease; }
.affil-logo img { width: 100%; height: 100%; object-fit: contain; }
.affil-org:hover .affil-logo { transform: translateY(-2px); }
.affil-ph { border-radius: 50%; border: 1px solid var(--gold); outline: 1px solid rgba(184,151,42,.35); outline-offset: 4px; font: 400 1.05rem/1.15 'Playfair Display', serif; font-style: italic; color: var(--gold); }
@media (max-width: 760px) {
  .affil { padding: 2.4rem 1.25rem; }
  .affil-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .affil-logo { width: 78px; height: 78px; }
  .affil a.affil-org { font-size: .82rem; gap: .6rem; padding-block: 0; }
  .affil-ph { font-size: .8rem; }
}

.affil-name > span { display: block; white-space: nowrap; }
@media (max-width: 760px) { .affil-row { gap: .5rem; } .affil a.affil-org { font-size: .74rem; } }
/* logos: identical visible height */
.affil-logo { width: auto; height: 108px; }
.affil-logo img { height: 108px; width: auto; }
@media (max-width: 760px) { .affil-logo, .affil-logo img { height: 74px; } }
/* Footer affiliation logos in cream medallions */
.foot-aff { gap: 1rem; align-items: center; }
.foot-aff a { width: 68px; height: 68px; border-radius: 50%; background: var(--cream); display: grid; place-items: center; padding: 0; border: 1px solid rgba(184,151,42,.55); box-shadow: 0 0 0 3px var(--navy), 0 0 0 4px rgba(184,151,42,.3); transition: transform .3s ease, box-shadow .3s ease; }
.foot-aff a:hover { transform: translateY(-2px); box-shadow: 0 0 0 3px var(--navy), 0 0 0 4px rgba(184,151,42,.7); }
.foot-aff img { height: 42px; width: auto; max-width: 48px; object-fit: contain; display: block; }
@media (max-width: 760px) { .foot-bottom { flex-direction: column-reverse; align-items: center; gap: 1.2rem; text-align: center; } .foot-aff a { padding-block: 0; } }
/* Club page affiliations: logos only */
.affil a.affil-org { gap: 0; }
.foot-aff-lab { font: 400 .6rem 'Montserrat', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: rgba(240,230,200,.45); margin-right: .4rem; }
@media (max-width: 760px) { .foot-aff { justify-content: center; } .foot-aff-lab { flex-basis: 100%; text-align: center; margin: 0 0 .2rem; } }
.foot-aff a { width: 78px; height: 78px; }
.foot-aff img { height: 54px; max-width: 58px; }

.frame-x .map-card { box-shadow: 0 18px 38px rgba(10,22,40,.16); }
.map-card .mc-in p { margin-bottom: 0; }
.frame-x > .map-card, .frame-x > .spot-photo, .frame-x > .split-img { margin: 0; }

/* framed photos: the frame rises in; the photo inside only does its zoom */
.motion .frame-x > .rv.p:not(.in) { opacity: 1; transform: none; }
.foot-web { display: block; margin-top: .55rem; }
.foot-web a { color: rgba(240,230,200,.55); text-decoration: none; border-bottom: 1px solid rgba(184,151,42,.35); }
.foot-web a:hover { color: var(--gold-lt); }
.fw-sep { font-style: normal; }
@media (max-width: 760px) { .fw-sep { display: none; } .fw-mail { display: block; margin-top: .3rem; } .foot-copy { line-height: 1.7; } }
/* ===== Footer v2: logos up in the columns, bigger fine print ===== */
.foot-top { grid-template-columns: 1.5fr .85fr .85fr .85fr .85fr auto; gap: 2rem; }
.foot-col.foot-aff { display: block; }
.foot-aff .fa-row { display: flex; gap: .7rem; }
.foot-aff a { width: 62px; height: 62px; }
.foot-aff img { height: 42px; max-width: 46px; }
.foot-bottom { justify-content: space-between; }
.foot-copy { font-size: .7rem; letter-spacing: .1em; color: rgba(240,230,200,.55); line-height: 1.6; }
.foot-web { display: block; margin-top: 0; }
@media (max-width: 1100px) {
  .foot-top { grid-template-columns: 1fr 1fr 1fr 1fr; }
  .foot-top > div:first-child, .foot-col.foot-aff { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .foot-top { grid-template-columns: 1fr 1fr; }
  .foot-col.foot-aff { text-align: center; }
  .foot-aff .fa-row { justify-content: center; }
  .foot-bottom { flex-direction: column; align-items: center; text-align: center; gap: .5rem; }
  .foot-copy { font-size: .68rem; }
}
/* ===== Footer v3: five columns up top; fine print + big logos along the bottom ===== */
.foot-top { grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; gap: 2.2rem; padding-bottom: 1.8rem; }
.foot-bottom { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.foot-legal { display: flex; flex-direction: column; gap: .25rem; }
.foot-aff { display: flex; align-items: center; gap: 1.4rem; }
.foot-aff .fa-row { display: flex; gap: 1.2rem; }
.foot-aff a { width: 84px; height: 84px; }
.foot-aff img { height: 58px; max-width: 62px; }
@media (max-width: 1100px) { .foot-top { grid-template-columns: 1fr 1fr 1fr 1fr; } .foot-top > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 760px) {
  .foot-top { grid-template-columns: 1fr 1fr; }
  .foot-bottom { flex-direction: column-reverse; align-items: center; text-align: center; gap: 1.4rem; }
  .foot-aff { flex-direction: column; gap: .8rem; }
  .foot-aff .fa-row { gap: .9rem; }
  .foot-aff a { width: 76px; height: 76px; }
  .foot-aff img { height: 52px; max-width: 56px; }
  .foot-legal { align-items: center; }
}
/* ===== Contact: visitor forecast + airport cards ===== */
.visit-row { display: grid; grid-template-columns: 1.55fr 1fr; gap: 2.4rem; margin-top: 3rem; align-items: stretch; }
.visit-row > .frame-x { display: flex; }
.vis-card { background: var(--navy); color: rgba(240,230,200,.8); padding: 2rem 2.2rem 1.8rem; flex: 1; box-shadow: 0 18px 38px rgba(10,22,40,.18); }
.vis-k { font: 600 .62rem 'Montserrat', sans-serif; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.vis-h { font: 400 1.7rem/1.2 'Playfair Display', serif; color: var(--champagne); margin: .45rem 0 1.3rem; }
.vis-h em { color: var(--gold-lt); }
.lw-now { display: flex; align-items: center; gap: 1rem; }
.lw-now svg { width: 52px; height: 52px; color: var(--gold-lt); flex: none; }
.lw-t { font: 400 2.6rem/1 'Playfair Display', serif; color: var(--champagne); }
.lw-t small { font-size: .9rem; margin-left: .15rem; color: rgba(240,230,200,.6); vertical-align: top; }
.lw-w { font-family: 'EB Garamond', serif; font-size: 1.05rem; margin-top: .25rem; }
.lw-facts { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; margin: 1.3rem 0 1.1rem; padding: .9rem 0; border-top: 1px solid rgba(184,151,42,.25); border-bottom: 1px solid rgba(184,151,42,.25); }
.lw-facts dt { font: 500 .56rem 'Montserrat', sans-serif; letter-spacing: .18em; text-transform: uppercase; color: rgba(240,230,200,.5); }
.lw-facts dd { font-family: 'EB Garamond', serif; font-size: 1.08rem; color: var(--champagne); margin-top: .15rem; }
.lw-days { list-style: none; display: flex; flex-direction: column; gap: .15rem; }
.lw-days li { display: grid; grid-template-columns: 3.6rem 22px 2.6rem 2.4rem 1fr 2.4rem; align-items: center; gap: .6rem; padding: .3rem 0; font-family: 'EB Garamond', serif; font-size: 1.05rem; }
.lw-days svg { width: 22px; height: 22px; color: var(--gold-lt); }
.lw-d { color: var(--champagne); }
.lw-rain { font-size: .85rem; color: #8fb4d9; }
.lw-lo { color: rgba(240,230,200,.55); text-align: right; }
.lw-hi { color: var(--champagne); }
.lw-bar { position: relative; height: 4px; border-radius: 2px; background: rgba(240,230,200,.12); }
.lw-bar i { position: absolute; top: 0; bottom: 0; border-radius: 2px; background: linear-gradient(90deg, #c9a84c, #e3b25a 60%, #d98a4e); }
.lw-src, .lw-off { font: 400 .6rem 'Montserrat', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: rgba(240,230,200,.4); margin-top: 1rem; }
.lw-off { font: italic 1.05rem 'EB Garamond', serif; text-transform: none; letter-spacing: 0; }
.lw-src a { color: inherit; }
.air-code { display: flex; align-items: center; gap: 1.1rem; margin-bottom: 1.1rem; }
.air-code > span { font: 400 3rem/1 'Playfair Display', serif; letter-spacing: .08em; color: var(--gold-lt); padding-right: 1.1rem; border-right: 1px solid rgba(184,151,42,.35); }
.air-code b { display: block; font: 400 1.5rem 'Playfair Display', serif; color: var(--champagne); }
.air-code small { font: 500 .56rem 'Montserrat', sans-serif; letter-spacing: .18em; text-transform: uppercase; color: rgba(240,230,200,.5); }
.vis-air p { font-family: 'EB Garamond', serif; font-size: 1.08rem; line-height: 1.55; }
.air-links { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; margin-top: 1.4rem; }
.air-btn { display: inline-block; background: var(--gold); color: var(--navy); font: 600 .66rem 'Montserrat', sans-serif; letter-spacing: .18em; text-transform: uppercase; padding: .95rem 1.4rem; text-decoration: none; transition: background .2s; }
.air-btn:hover { background: var(--gold-lt); }
.air-link { font-family: 'EB Garamond', serif; font-size: 1.05rem; color: var(--gold-lt); text-decoration: none; border-bottom: 1px solid rgba(184,151,42,.4); }
.air-link:hover { color: var(--champagne); }
@media (max-width: 900px) { .visit-row { grid-template-columns: 1fr; gap: 1.6rem; margin-top: 2.2rem; } }
@media (max-width: 600px) {
  .vis-card { padding: 1.5rem 1.25rem 1.4rem; }
  .vis-h { font-size: 1.45rem; }
  .lw-facts { grid-template-columns: repeat(3, 1fr); row-gap: .8rem; }
  .lw-days li { grid-template-columns: 3rem 20px 2.2rem 2.1rem 1fr 2.1rem; gap: .45rem; font-size: 1rem; }
}
/* map photo caption: thin spaced sans */
.map-card .mc-in p { font-family: 'Montserrat', sans-serif; font-weight: 300; font-size: .8rem; letter-spacing: .32em; text-transform: uppercase; color: #f4ecd8; }
@media (max-width: 600px) { .map-card .mc-in p { font-size: .72rem; } }
/* longer hero intro: a touch smaller and wider so it stays at three lines */
.hero-sub { font-size: clamp(1.3rem, min(2.9vw, 3.7vh), 2.1rem); max-width: 1120px; }
@media (max-width: 760px) { .hero-sub { font-size: clamp(1.15rem, 5vw, 1.35rem); } }
/* Footer v4: affiliation logos centered along the bottom, label above */
@media (min-width: 761px) {
  .foot-bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; }
  .foot-legal { grid-column: 1; grid-row: 1; }
  .foot-aff { grid-column: 2; grid-row: 1; flex-direction: column; gap: .7rem; }
  .foot-aff-lab { margin: 0; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .foot-bottom { display: flex; flex-direction: column-reverse; align-items: center; text-align: center; gap: 1.4rem; }
  .foot-legal { align-items: center; }
}
/* Footer v5: label + logos run on from the fine print, all on one line */
@media (min-width: 1101px) {
  .foot-bottom { display: flex; justify-content: flex-start; align-items: center; gap: 4.5rem; }
  .foot-aff { flex-direction: row; align-items: center; gap: 1.6rem; }
  .foot-aff .fa-row { gap: 1.3rem; }
  .foot-aff a { width: 96px; height: 96px; }
  .foot-aff img { height: 66px; max-width: 70px; }
}
/* label set in the same type as the webmaster / copyright lines */
.foot-aff-lab { font: 400 .7rem 'Montserrat', sans-serif; letter-spacing: .1em; text-transform: none; color: rgba(240,230,200,.55); }
@media (max-width: 760px) { .foot-aff-lab { font-size: .68rem; } }
/* homepage mosaic: lead tile caption in the same small spaced sans as the other tiles */
.mc-caption-title { font-family: 'Montserrat', sans-serif; font-style: normal; font-weight: 500; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(240,230,200,.9); line-height: 1.5; margin-bottom: .8rem; }
/* Footer v6: back to v3 placement — fine print left, label + logos on the right */
@media (min-width: 1101px) {
  .foot-bottom { justify-content: space-between; gap: 2rem; }
}
.foot-aff-lab { font: 400 .68rem 'Montserrat', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: rgba(240,230,200,.55); }
@media (max-width: 760px) { .foot-aff-lab { font-size: .64rem; } }
/* lead mosaic tile: caption sits where the other tiles' labels sit; gallery link bottom-right */
.mc1 .mc-caption { bottom: 1.2rem; left: 1.4rem; right: 1.4rem; display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.mc1 .mc-caption-title { font-size: .65rem; letter-spacing: .2em; color: rgba(240,230,200,.85); margin: 0; line-height: 1.2; }
.mc1 .mc-caption .text-link { margin: 0; white-space: nowrap; }
@media (max-width: 760px) { .mc1 .mc-caption-title { font-size: max(0.7rem, 11px); } }
/* ===== Homepage mosaic: livelier hover ===== */
.mc img { transition: transform 1.4s cubic-bezier(.22,.61,.36,1), filter .8s ease; }
.mc::after { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(212,180,90,.0); z-index: 2; pointer-events: none; transition: border-color .6s ease, inset .6s cubic-bezier(.22,.61,.36,1); }
.mc-overlay { transition: opacity .6s ease; }
.mc-label, .mc1 .mc-caption { transition: transform .6s cubic-bezier(.22,.61,.36,1), color .4s ease; }
.mc-label::after { content: ''; display: block; height: 1px; width: 0; margin-top: .45rem; background: var(--gold-lt); transition: width .6s cubic-bezier(.22,.61,.36,1); }
@media (hover: hover) {
  .mc:hover img { transform: scale(1.07); filter: sepia(0%) brightness(1.06) saturate(1.08); }
  .mc:hover::after { inset: 16px; border-color: rgba(212,180,90,.7); }
  .mc:hover .mc-label { transform: translateY(-6px); color: #fff; }
  .mc:hover .mc-label::after { width: 2.6rem; }
  .mc1:hover .mc-caption { transform: translateY(-6px); }
}
.mc-label::after { position: absolute; left: 0; top: 100%; margin-top: .4rem; }
/* ===== Headshot placeholders (swap for <img class="headshot" src="..."> when photos arrive) ===== */
.headshot { display: block; width: 84px; height: 84px; border-radius: 50%; object-fit: cover; object-position: center 25%; flex: none;
  border: 1.5px solid var(--gold); outline: 1px solid rgba(184,151,42,.35); outline-offset: 4px;
  background: radial-gradient(circle at 50% 30%, #1c3150 0%, var(--navy) 70%); position: relative; overflow: hidden; }
span.headshot::after { content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23e3c77a'/%3E%3Cstop offset='1' stop-color='%23a8862a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='39' r='16' fill='url(%23g)' opacity='.85'/%3E%3Cpath d='M16 100 C16 74 31 61 50 61 C69 61 84 74 84 100 Z' fill='url(%23g)' opacity='.85'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat; }
span.hs-icon::after { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23d4b45a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M34 26h24l10 10v38H34z'/%3E%3Cpath d='M58 26v10h10M41 48h20M41 57h20M41 66h12'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.hs-lg { width: 112px; height: 112px; margin: 0 auto 1.4rem; }
.person.has-hs > .headshot, .person.has-hs > .hs-pair { margin-bottom: 1.2rem; }
.hs-pair { display: flex; }
.hs-pair .headshot + .headshot { margin-left: -14px; }
.role.has-hs > .headshot { width: 64px; height: 64px; margin-bottom: 1rem; outline-offset: 3px; }
@media (max-width: 760px) { .headshot { width: 72px; height: 72px; } .hs-lg { width: 96px; height: 96px; } }
/* Lawns: long-form prose with the photos holding beside it */
.lawns-sec-inner { align-items: start; }
.lawn-prose { max-width: 58ch; }
.lawns-sec .lawn-prose p.lead { margin: 1.5rem 0 1.2rem; font-size: 1.28rem; color: rgba(240,230,200,.9); font-style: italic; }
.lawn-prose p:not(.lead) { font-family: 'EB Garamond', serif; font-size: 1.12rem; line-height: 1.8; color: rgba(240,230,200,.72); margin-bottom: 1.1rem; }
.lawn-prose p:last-child { margin-bottom: 0; color: rgba(240,230,200,.86); }
@media (min-width: 961px) { .lawns-sec .lawn-photos { position: sticky; top: 140px; margin-top: 5.5rem; } }
@media (min-width: 961px) {
  .lawns-sec-inner { align-items: stretch; }
  .lawns-sec .lawn-photos { position: static; margin-top: 5.6rem; grid-template-rows: 1.15fr 1fr; height: calc(100% - 5.6rem); }
}
/* ===== Club page lawn photos: same hover as the homepage mosaic ===== */
.lawn-photos img { transition: transform 1.4s cubic-bezier(.22,.61,.36,1), filter .8s ease; }
.lawn-photos > div::after { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(212,180,90,0); z-index: 2; pointer-events: none; transition: border-color .6s ease, inset .6s cubic-bezier(.22,.61,.36,1); }
.lawn-photos .cap { z-index: 3; transition: transform .6s cubic-bezier(.22,.61,.36,1), color .4s ease; }
.lawn-photos .cap::after { content: ''; position: absolute; left: 0; top: 100%; margin-top: .4rem; height: 1px; width: 0; background: var(--gold-lt); transition: width .6s cubic-bezier(.22,.61,.36,1); }
@media (hover: hover) {
  .lawn-photos > div:hover img { transform: scale(1.07); filter: brightness(1.06) saturate(1.08); }
  .lawn-photos > div:hover::after { inset: 16px; border-color: rgba(212,180,90,.7); }
  .lawn-photos > div:hover .cap { transform: translateY(-6px); color: #fff; }
  .lawn-photos > div:hover .cap::after { width: 2.6rem; }
}
/* hover zoom: beat the slow reveal transition so the photo visibly grows inside its frame */
.motion .lawn-photos > .rv.p img, .motion .mc.rv.p img, .lawn-photos img, .mc img {
  transition: scale 3s cubic-bezier(.22,.61,.36,1), transform 1.1s cubic-bezier(.22,.61,.36,1), filter .8s ease, opacity 2.6s ease-in-out;
}
@media (hover: hover) {
  .lawn-photos > div:hover img, .mc:hover img { transform: scale(1.1); }
}
/* ===== Signature photo hover, site-wide: photo grows inside a still frame, a gold rule draws in ===== */
.story-strip > div, .spot-photo { overflow: hidden; }
.story-strip img, .split-img img, .spot-photo img, .map-card img, .gal img,
.motion .story-strip > .rv.p img, .motion .split-img.rv.p img, .motion .map-card.rv.p img {
  transition: scale 3s cubic-bezier(.22,.61,.36,1), transform 1.1s cubic-bezier(.22,.61,.36,1), filter .8s ease, opacity 2.6s ease-in-out;
}
/* the inner gold frame */
.story-strip > div::after, .spot-photo::after, .map-card::after, .gal button::before {
  content: ''; position: absolute; inset: 12px; border: 1px solid rgba(212,180,90,0); z-index: 3; pointer-events: none;
  transition: border-color .6s ease, inset .6s cubic-bezier(.22,.61,.36,1);
}
.split-img::after { z-index: 3; transition: border-color .6s ease, inset .6s cubic-bezier(.22,.61,.36,1); }
/* gallery: retire the lift and outer ring in favour of the shared treatment */
.gal button:hover, .gal button:focus-visible { transform: none; box-shadow: none; }
@media (hover: hover) {
  .story-strip > div:hover img, .split-img:hover img, .spot-photo:hover img, .gal button:hover img { transform: scale(1.1); filter: brightness(1.06) saturate(1.08); }
  .map-card:hover img.px, .map-card:hover img { transform: scale(1.1) !important; filter: brightness(1.06) saturate(1.08); }
  .story-strip > div:hover::after, .spot-photo:hover::after, .map-card:hover::after, .gal button:hover::before { inset: 16px; border-color: rgba(212,180,90,.7); }
  .split-img:hover::after { inset: 1.25rem; border-color: rgba(212,180,90,.75); }
}
.map-card img.px { transition: transform 1.1s cubic-bezier(.22,.61,.36,1), filter .8s ease !important; }
/* slideshows drift with a transform animation, so their hover zoom uses the separate scale property */
.split-img.slideshow img { transition: opacity 2.6s ease-in-out, scale 1.1s cubic-bezier(.22,.61,.36,1), filter .8s ease !important; }
.gal.anim button.in:hover, .gal.anim button.in:focus-visible { transform: none; box-shadow: none; }
@media (hover: hover) {
  .split-img.slideshow:hover img { scale: 1.1; }
  .motion .split-img.slideshow:hover img.px { scale: 1.32; }
}
.motion .gal button.rv.p img, .motion .gal button img { transition: scale 3s cubic-bezier(.22,.61,.36,1), transform 1.1s cubic-bezier(.22,.61,.36,1), filter .8s ease, opacity 2.6s ease-in-out; }
/* stats strip: columns follow the number of tiles */
.stats { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; }
.stat:last-child { border-right: none; }
@media (max-width: 760px) { .stats { grid-auto-flow: row; grid-template-columns: 1fr 1fr; } .stats .stat:last-child:nth-child(odd) { grid-column: 1 / -1; } }
.stat-num small.pre { margin: 0 .1rem 0 0; vertical-align: .55em; font-size: 1.5rem; }
@media (min-width: 761px) { .stats .stat { padding-left: .8rem; padding-right: .8rem; } .stats .stat-label { letter-spacing: .18em; } }
@media (max-width: 760px) {
  .stats .stat { border-bottom: 1px solid rgba(184,151,42,.12); border-right: 1px solid rgba(184,151,42,.12); }
  .stats .stat:nth-child(2n) { border-right: none; }
  .stats .stat:nth-last-child(-n+2):nth-child(odd), .stats .stat:last-child { border-bottom: none; }
}
/* nine numbers: three rows of three on desktop */
@media (min-width: 761px) {
  .stats { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); }
  .stats .stat { padding: 2.2rem 1rem; border-bottom: 1px solid rgba(184,151,42,.12); border-right: 1px solid rgba(184,151,42,.12); }
  .stats .stat:nth-child(3n) { border-right: none; }
  .stats .stat:nth-last-child(-n+3) { border-bottom: none; }
}
/* nine numbers on one line (desktop) */
@media (min-width: 1100px) {
  .stats { grid-template-columns: repeat(9, 1fr); }
  .stats .stat { padding: 2.4rem .5rem; border-bottom: none; border-right: 1px solid rgba(184,151,42,.12); }
  .stats .stat:nth-child(3n) { border-right: 1px solid rgba(184,151,42,.12); }
  .stats .stat:last-child { border-right: none; }
  .stats .stat-num { font-size: 2.5rem; }
  .stats .stat-num small { font-size: 1.1rem; }
  .stats .stat-num small.pre { font-size: 1.2rem; }
  .stats .stat-label { font-size: .58rem; letter-spacing: .14em; line-height: 1.6; margin-top: .7rem; }
}
/* stat labels: always two lines, a size up */
.stat-label > span { display: block; white-space: nowrap; }
.stats .stat-label { font-size: .7rem; letter-spacing: .12em; line-height: 1.55; color: rgba(240,230,200,.7); }
@media (min-width: 1100px) { .stats .stat { padding: 2.4rem .25rem; } .stats .stat-label { font-size: .66rem; letter-spacing: .1em; } }
@media (min-width: 1100px) and (max-width: 1280px) { .stats .stat-label { font-size: .6rem; letter-spacing: .06em; } }
/* crossed-mallets photo: anchor to the bottom so every ball and a strip of grass stays in view */
.story-strip img.mm-shot, .motion .story-strip img.mm-shot.px { transform-origin: 50% 100%; translate: none !important; scale: 1 !important; }
/* gallery intro line */
.gal-note { display: flex; align-items: center; justify-content: center; gap: 1.1rem; margin: 0 auto 2.2rem; font-family: 'Playfair Display', serif; font-size: 1.25rem; color: var(--navy); text-align: center; }
.gal-note em { color: #8a6f1c; }
.gal-note::before, .gal-note::after { content: ''; width: 48px; height: 1px; background: var(--gold); flex: none; }
@media (max-width: 600px) { .gal-note { font-size: 1.05rem; gap: .7rem; margin-bottom: 1.6rem; } .gal-note::before, .gal-note::after { width: 24px; } }
/* Club Presidents: scaled up */
.presidents { margin-top: 2.6rem; padding-top: 2.4rem; }
.presidents > .card-k { font-size: .82rem !important; letter-spacing: .26em; }
.presidents ul { gap: 1.8rem 1.6rem; margin-top: 1.8rem; }
.presidents b { font-size: 1.4rem; line-height: 1.25; }
.presidents span { display: block; font-size: .72rem !important; letter-spacing: .14em; margin-top: .35rem; }
@media (max-width: 760px) { .presidents b { font-size: 1.2rem; } .presidents span { font-size: .7rem !important; } .presidents > .card-k { font-size: .76rem !important; } }
@media (min-width: 761px) { .presidents { max-width: 1240px; } .presidents b { font-size: 1.3rem; } }
.presidents b { text-wrap: balance; } .presidents ul { align-items: start; }
/* phone legibility: no small label under 11px */
@media (max-width: 760px) {
  .hh-tag, .hh-count, .hh-flag, .usca-credit, .cx-go, .row-btn, .vm-dow, .vm-k, .ps-k, .vis-k, .mb-k, .mb-go, .mb-btn,
  .step-link, .en-bk, .en-sum-dl, .sr-main, .sr-free, .sr-when, .foot-aff-lab, .lawn-k { font-size: max(.7rem, 11px) !important; }
}
/* ===== Who We Are: officers, roles, volunteers ===== */
.officers.four { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1180px; margin-left: auto; margin-right: auto; gap: 1.4rem; }
.officers.four .officer { padding: 2.2rem 1rem 2rem; }
.vols { max-width: 1180px; margin: 3.6rem auto 0; }
.vols-head { text-align: center; margin-bottom: 1.8rem; }
.vols-head .card-k { font-size: .82rem; letter-spacing: .26em; }
.vols-head p { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.15rem; color: var(--mid); margin-top: .5rem; }
.vol-k { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: #8a6f1c; margin-bottom: .6rem; }
.vols ul { list-style: none; }
.vols li { font-family: 'Playfair Display', serif; font-size: 1.15rem; color: var(--navy); line-height: 1.45; }
.vol-lawn { background: var(--navy); padding: 1.8rem 2rem 1.9rem; text-align: center; border-top: 4px solid var(--gold); margin-bottom: 1.4rem; box-shadow: 0 16px 34px rgba(10,22,40,.16); }
.vol-lawn .vol-k { color: var(--gold-lt); font-size: .74rem; margin-bottom: 1rem; }
.vol-lawn ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem 1rem; }
.vol-lawn li { color: var(--champagne); font-size: 1.2rem; }
.vol-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; }
.vol { background: var(--cream); border: 1px solid var(--border); padding: 1.3rem 1.4rem 1.2rem; position: relative; transition: border-color .4s ease, transform .4s ease; }
.vol::after { content: ''; position: absolute; left: 1.4rem; bottom: 0; height: 2px; width: 0; background: var(--gold); transition: width .5s cubic-bezier(.22,.61,.36,1); }
@media (hover: hover) { .vol:hover { border-color: rgba(184,151,42,.6); transform: translateY(-2px); } .vol:hover::after { width: 2.6rem; } }
@media (max-width: 900px) { .officers.four { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vol-lawn ul { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .vol-grid { grid-template-columns: 1fr 1fr; gap: .7rem; } .vol { padding: 1rem .9rem; } .vols li { font-size: 1.02rem; } .vol-k { font-size: max(.62rem, 10.5px); letter-spacing: .14em; } .officers.four .headshot.hs-lg { width: 84px; height: 84px; } .vol-lawn { padding: 1.5rem 1rem; } .vol-lawn li { font-size: 1.05rem; } }
.vols { margin-top: 5rem; }
.vols-head { margin-bottom: 2.4rem; }
.vols-head .sec-eyebrow { justify-content: center; }
.vols-head .sec-title { max-width: 820px; margin: .3rem auto 0; text-wrap: balance; }
.vols-head .sec-eyebrow::before { content: ""; width: 48px; height: 1px; background: var(--gold); opacity: .6; }
.roles.two { grid-template-columns: repeat(2, minmax(0,1fr)); max-width: 640px; } .roles.two .role:last-child { border-right: none; } @media (max-width: 760px) { .roles.two { grid-template-columns: 1fr; } }
/* Our Coaches: two separate cards */
.coaches-head { text-align: center; margin: 3.4rem 0 1.4rem; }
.coaches-head .sec-eyebrow { justify-content: center; font-size: .78rem; }
.coaches-head .sec-eyebrow::before { content: ""; width: 48px; height: 1px; background: var(--gold); opacity: .6; }
.roles.two { border: none; background: none; gap: 1.4rem; max-width: 720px; }
.roles.two .role { background: var(--cream); border: 1px solid var(--border); position: relative; padding: 2rem 1.8rem; }
.roles.two .role::before { content: ''; position: absolute; inset: 6px; border: 1px solid rgba(184,151,42,.15); pointer-events: none; }
.coaches-head.first { margin-top: 2.2rem; }
/* Who We Are header: fill width, no extra zoom, keep the players in view */
.page-hero > img.team-hero, .motion .page-hero > img.team-hero.px, html.ph-fade .motion .page-hero > img.team-hero.px, html.ph-fade.motion:not(.ph-in) .page-hero > img.team-hero.px { scale: 1 !important; translate: none !important; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 761px) { .page-hero.team-ph { height: 62vh; max-height: 600px; min-height: 460px; } }
@media (min-width: 761px) { .page-hero.team-ph { height: 40vh; max-height: 400px; min-height: 340px; } }
/* Who We Are: meeting sits right under the volunteer list */
.leaders:has(+ .vol-band) { padding-bottom: 1.5rem; }
.band.vol-band { background: var(--parch, #f1e9d8); padding-top: 1.5rem; }
.vol-band .vol-meet { margin-top: 0; }
.gi-head { margin: 3rem 0 1.4rem; }
.gi-head .sec-title { margin-top: .4rem; }
.gi-sub { font-family: 'EB Garamond', serif; font-style: italic; font-size: 1.2rem; color: var(--mid); margin-top: .6rem; }
.gi-head { margin-bottom: 2rem; }
/* Footer: Facebook is the club's own channel, so it gets a framed call-out */
.foot-fb { display: inline-flex; flex-direction: column; gap: .15rem; margin-top: 1.1rem; padding: .85rem 1.3rem .9rem; border: 1px solid var(--gold); outline: 1px solid rgba(184,151,42,.3); outline-offset: 3px; text-decoration: none; transition: background .3s ease, border-color .3s ease; }
.foot-fb .fb-k { font: 600 .6rem 'Montserrat', sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-lt); }
.foot-fb .fb-v { font-family: 'Playfair Display', serif; font-size: 1.35rem; color: var(--champagne); }
.foot-fb .fb-v i { font-style: normal; font-size: .9rem; color: var(--gold-lt); margin-left: .2rem; }
.foot-fb:hover { background: rgba(184,151,42,.12); }
.foot-socials { align-items: baseline; flex-wrap: wrap; margin-top: 1rem; }
.fs-lab { font: 500 .58rem 'Montserrat', sans-serif; letter-spacing: .18em; text-transform: uppercase; color: rgba(240,230,200,.38); margin-right: .2rem; }
@media (max-width: 760px) { .foot-fb .fb-k { font-size: max(.62rem, 10.5px); } .fs-lab { font-size: max(.62rem, 10.5px); } }
.foot-fb2 { margin-top: 1.2rem; }
.foot-fb2 .fb-k { display: block; font: 600 .6rem 'Montserrat', sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: .55rem; }
.foot-fb2 a { display: inline-block; transition: transform .3s ease, box-shadow .3s ease; border-radius: 6px; }
.foot-fb2 img { display: block; width: 200px; height: auto; }
.foot-fb2 a:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.35); }
@media (max-width: 760px) { .foot-fb2 .fb-k { font-size: max(.62rem, 10.5px); } }
/* ===== Slim footer: contact, not navigation ===== */
.foot-top.foot-slim { grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 2.4rem; align-items: start; }
.ft-col h4 { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin-bottom: .9rem; }
.ft-col p { font-family: 'EB Garamond', serif; font-size: 1.05rem; line-height: 1.55; color: rgba(240,230,200,.66); margin-bottom: .55rem; overflow-wrap: anywhere; }
.ft-col a { color: var(--champagne); text-decoration: none; border-bottom: 1px solid rgba(184,151,42,.35); transition: color .2s, border-color .2s; }
.ft-col a:hover { color: var(--gold-lt); border-color: var(--gold-lt); }
.ft-col .ft-note { font-style: italic; font-size: .98rem; color: rgba(240,230,200,.5); }
.ft-col a.ft-link { color: var(--gold-lt); }
@media (max-width: 1100px) { .foot-top.foot-slim { grid-template-columns: 1fr 1fr; } .foot-top.foot-slim > .ft-brand { grid-column: auto; } }
@media (max-width: 760px) { .foot-top.foot-slim { grid-template-columns: 1fr; gap: 1.8rem; } .ft-col h4 { margin-bottom: .6rem; } }
/* ===== Footer: tighter all round ===== */
footer { padding: 2.2rem 5rem 1.3rem; }
.foot-top.foot-slim { padding-bottom: 1.3rem; margin-bottom: 1.1rem; gap: 2rem; }
.foot-fb2 { margin-top: .8rem; }
.foot-fb2 .fb-k { margin-bottom: .4rem; }
.foot-fb2 img { width: 170px; }
.foot-slim .foot-socials { margin-top: .7rem; }
.ft-col h4 { margin-bottom: .6rem; }
.ft-col p { margin-bottom: .35rem; line-height: 1.45; }
.foot-aff a { width: 64px; height: 64px; }
.foot-aff img { height: 44px; max-width: 48px; }
.foot-aff .fa-row { gap: .8rem; }
.foot-aff { gap: 1.1rem; }
@media (min-width: 961px) { footer { padding: 2.2rem 5rem 1.3rem; } }
@media (max-width: 760px) {
  footer { padding: 2rem 1.25rem 1.3rem; }
  .foot-top.foot-slim { gap: 1.3rem; }
  .foot-aff a { width: 60px; height: 60px; } .foot-aff img { height: 40px; max-width: 44px; }
  .foot-bottom { gap: 1rem; }
}
/* ===== Site-wide trim, round 2 ===== */
.band, .band.gp, .story, .lawns-sec, .leaders, .events-section, .membership, .manifesto, .recap, .hoop { padding-top: 2.4rem; padding-bottom: 2.4rem; }
.band:first-of-type { padding-top: 2.6rem; }
.band.vol-band { padding-top: .6rem; }
.cta-band { padding-top: 2.4rem; padding-bottom: 2.4rem; }
.cta-band h2 { margin-bottom: 1.1rem; }
.sec-eyebrow { margin-bottom: .8rem; }
.band-head { margin-bottom: 1.4rem; }
.band-head p { margin-top: .6rem; }
.card { padding-top: 1.5rem; padding-bottom: 1.4rem; }
.page-hero { height: 38vh; min-height: 320px; max-height: 420px; }
.subnav a { padding-top: .85rem; padding-bottom: .85rem; }
.vols { margin-top: 3rem; }
.coaches-head { margin: 2.4rem 0 1rem; }
.coaches-head.first { margin-top: 1.4rem; }
.gi-head { margin: 2.2rem 0 1.4rem; }
.officers.four .officer { padding: 1.7rem 1rem 1.5rem; }
.officers.four .headshot.hs-lg { width: 96px; height: 96px; margin-bottom: 1rem; }
.leaders-head { margin-bottom: 0; }
@media (max-width: 760px) {
  .band, .band.gp, .story, .lawns-sec, .leaders, .events-section, .membership, .manifesto, .recap, .hoop { padding-top: 2rem; padding-bottom: 2rem; }
  .cta-band { padding-top: 2rem; padding-bottom: 2rem; }
  .band-head { margin-bottom: 1.1rem; }
  .card { padding-top: 1.3rem; padding-bottom: 1.2rem; }
  .page-hero { min-height: 280px; }
}
/* new club crest (wider) */
.crest-logo { height: 64px; }
@media (max-width: 420px) { .crest-logo { height: 50px; } }
.m-menu-head .crest-logo { height: 44px; }
@media (min-width: 761px) { nav.main .crest-logo { height: 74px; } }
/* ===== Opening card v2: club crest artwork on green, gold double frame + brackets ===== */
.card-v2 .mhcc-card-bg { background: #0c3216; border: 2px solid var(--gold); }
.card-v2 .mhcc-card-bg::after { inset: 7px; border-color: rgba(212,180,90,.75); }
.card-v2 .viewport { padding: clamp(18px, 2.4vw, 30px); }
.card-v2 .crop { aspect-ratio: 1793/1572; width: min(70vw, 51vh, 500px); }
.card-v2 .crest { position: absolute; inset: 0; width: 100%; left: 0; top: 0; aspect-ratio: auto; }
.card-v2 .card-art { display: block; width: 100%; height: 100%; object-fit: contain; }
.card-v2 .mhcc-deco .c { width: 28px; height: 28px; }
.card-v2 .mhcc-deco .tl { top: -9px; left: -9px; } .card-v2 .mhcc-deco .tr { top: -9px; right: -9px; }
.card-v2 .mhcc-deco .bl { bottom: -9px; left: -9px; } .card-v2 .mhcc-deco .br { bottom: -9px; right: -9px; }
@media (max-width: 600px) { .card-v2 .crop { width: min(80vw, 52vh); } }

/* Header crest: lift it off the nav's bottom rule so the hover grow never clips */
@media (min-width: 761px) {
  nav.main .crest-logo { height: 70px; position: relative; top: -2px; }
  nav.main .brand:hover .crest-logo { transform: scale(1.04); }
}

@media (max-width: 440px) { .ba-1 i { display: inline; } .ba-1 { letter-spacing: .07em; } }
@media (max-width: 380px) { .ba-1 { letter-spacing: .02em; font-size: .56rem; } }
/* "At" matches the rest of the club line */
.ba-1 i { color: inherit; font-style: normal; }
/* top-bar "Luxury on Lawns" lines up over the club line (crest width + gap) */
@media (min-width: 1181px) and (max-width: 1379px) { .u-left { padding-left: calc(70px * 371 / 240 + 1rem); } }

/* compact header: "Luxury on Lawns" sits just above "Mission Hills",
   spaced like "Croquet Club" sits below it */
@media (min-width: 1181px) and (max-width: 1379px), (max-width: 640px) {
  .brand { grid-template-rows: auto auto auto; align-content: center; }
  .brand .crest-logo { grid-row: 1 / 4; grid-column: 1; }
  .brand-at { display: contents; }
  .ba-0 { display: block; grid-row: 1; grid-column: 2; margin: 0 0 .4rem; }
  .brand-words { grid-row: 2; grid-column: 2; }
  .ba-1 { grid-row: 3; grid-column: 2; margin-top: .38rem; }
  .u-lux { display: none !important; }
  .utility-inner { justify-content: flex-end; }
  .u-left { padding-left: 0; }
}
@media (max-width: 640px) {
  .ba-0 { font-size: .5rem; letter-spacing: .26em; margin-bottom: .3rem; }
  .ba-1 { margin-top: .4rem; }
}
html.mhcc-nav-wait nav.main .ba-0, html.mhcc-nav-wait nav.main .ba-1 { opacity: 0; }

/* Hoop Happenings: compact cards */
.hh-card { padding: .95rem 1.2rem .85rem; gap: .2rem; }
.hh-when { font-size: 1.55rem; margin-top: .3rem; }
.hh-title { font-size: .98rem; }
.hh-note { font-size: .96rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hh-cta { padding-top: .4rem; font-size: .6rem; }
.hoop-board { gap: 1rem; }
@media (max-width: 760px) { .hh-when { font-size: 1.45rem; } .hoop-board { gap: 1.3rem; } }
.hh-head { display: flex; align-items: baseline; gap: .7rem; margin-top: .35rem; }
.hh-head .hh-when { margin: 0; flex-shrink: 0; font-size: 1.4rem; }
.hh-head .hh-title { font-size: .9rem; }
/* "Luxury on Lawns" snug against "Mission Hills" */
@media (min-width: 1181px) and (max-width: 1379px), (max-width: 640px) {
  nav.main .ba-0 { margin-bottom: -.12rem; }
}
@media (max-width: 640px) { nav.main .ba-0 { margin-bottom: .1rem; } }

/* email-link helper toast */
.mail-toast { position: fixed; left: 50%; bottom: 1.4rem; transform: translate(-50%, 140%); z-index: 9999; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: center;
  max-width: calc(100vw - 2rem); padding: .9rem 1.1rem .9rem 1.3rem; background: var(--navy); color: var(--champagne); border: 1px solid var(--gold); box-shadow: 0 14px 40px rgba(0,0,0,.4);
  font: 400 1rem 'EB Garamond', serif; opacity: 0; transition: transform .35s ease, opacity .35s ease; pointer-events: none; }
.mail-toast.on { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.mail-toast b { color: var(--gold-lt); font-weight: 500; }
.mail-toast a { font: 600 .66rem 'Montserrat', sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--navy); background: var(--gold); padding: .6rem .9rem; text-decoration: none; white-space: nowrap; }
.mail-toast a:hover { background: var(--gold-lt); }
.mail-toast button { background: none; border: 0; color: rgba(240,230,200,.6); font-size: 1.3rem; line-height: 1; cursor: pointer; padding: 0 .2rem; }

/* ================= PHONE CONSOLIDATION ================= */
.ft-quick { display: none; }
@media (max-width: 760px) {
  /* footer: one row of tap buttons replaces the three contact columns */
  footer .foot-top.foot-slim { padding-top: 2rem; padding-bottom: 1.4rem; gap: 1.1rem; }
  footer .foot-top.foot-slim .ft-col { display: none; }
  footer .ft-brand { text-align: center; align-items: center; }
  footer .foot-fb2 img { width: 150px; height: auto; }
  .ft-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; width: 100%; }
  .ft-quick a { display: flex; align-items: center; justify-content: center; padding: .85rem .4rem; border: 1px solid rgba(184,151,42,.55); color: var(--gold-lt); text-decoration: none;
    font: 600 .66rem 'Montserrat', sans-serif; letter-spacing: .2em; text-transform: uppercase; }
  .ft-quick a:active { background: rgba(184,151,42,.15); }
  footer .foot-bottom { padding-top: 1.1rem; padding-bottom: 1.3rem; gap: .9rem; }
  footer .fa-row img { width: 46px !important; height: 46px !important; }
  footer .foot-aff-lab { margin-bottom: .4rem; }
}
@media (max-width: 760px) {
  footer .foot-top.foot-slim { padding-top: 0; }
  .foot-aff a { width: 52px !important; height: 52px !important; }
  .foot-aff img { height: 34px !important; max-width: 38px !important; width: auto !important; }
  .ft-quick a::after, .ft-quick a::before { display: none !important; }
  .ft-quick a { box-shadow: none !important; background-image: none !important; }
}
@media (max-width: 760px) {
  footer .foot-top.foot-slim { display: flex; flex-direction: column; align-items: stretch; height: auto; padding-bottom: 1.4rem; }
}

/* phone "show more" folds */
.m-more { display: none; }
@media (max-width: 760px) {
  .m-fold:not(.m-open) .m-x, .m-fold:not(.m-open) > .m-x { display: none !important; }
  .m-more { display: flex; align-items: center; justify-content: center; gap: .6rem; width: 100%; margin: 1.1rem 0 0; padding: .85rem 1rem; background: none;
    border: 1px solid rgba(184,151,42,.6); color: #8a6f1c; cursor: pointer; font: 600 .66rem 'Montserrat', sans-serif; letter-spacing: .22em; text-transform: uppercase; }
  .m-more i { font-style: normal; font-size: 1rem; line-height: 1; color: var(--gold); }
  .navy .m-more, .lawns-sec .m-more, #games .m-more { color: var(--gold-lt); }
  .m-more-sm { width: auto; display: inline-flex; padding: .55rem .9rem; margin: .7rem 0 .2rem; align-self: flex-start; }
  #games .m-card:not(.m-open) > p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}
@media (max-width: 760px) { #games .card .m-more { color: #8a6f1c; } }

/* phone: swipe rows, tighter grids, lighter home mosaic */
@media (max-width: 760px) {
  /* swipe rows (Hoop Happenings, tournaments) */
  .hoop-board, #tournaments .rows { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: .8rem; margin: 0 -1.25rem; padding: .9rem 1.25rem 1rem;
    scroll-padding: 0 1.25rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .hoop-board::-webkit-scrollbar, #tournaments .rows::-webkit-scrollbar { display: none; }
  .hoop-board > .hh-card { flex: 0 0 80%; scroll-snap-align: start; display: flex !important; }
  .hoop-board .hh-card:nth-child(n+5) { display: flex !important; }
  .hoop-board .hh-flag { right: .8rem; }
  #tournaments .rows { border-top: 0; }
  #tournaments .row { flex: 0 0 78%; scroll-snap-align: start; display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; padding: 1.2rem 1.2rem 1.1rem;
    border: 1px solid rgba(184,151,42,.35); background: rgba(255,255,255,.03); }
  #tournaments .row-what p { font-size: 1rem; line-height: 1.45; }
  #tournaments .row-act { margin-top: auto; }
  .swipe-hint { display: block; text-align: center; margin-top: .2rem; font: 600 .6rem 'Montserrat', sans-serif; letter-spacing: .24em; text-transform: uppercase; color: rgba(212,181,88,.75); }
  /* club numbers: three across */
  .stats { grid-template-columns: repeat(3, 1fr) !important; grid-auto-flow: row !important; }
  .stats .stat { padding: 1.3rem .35rem !important; }
  .stats .stat-num { font-size: 1.9rem !important; }
  .stats .stat-label { font-size: .56rem !important; letter-spacing: .1em !important; }
  /* officers: compact cards */
  .officers.four { gap: .7rem; margin-bottom: 1.6rem; }
  .officers.four .officer { padding: 1.1rem .6rem 1rem; }
  .officers.four .headshot.hs-lg { width: 64px; height: 64px; margin-bottom: .6rem; }
  .officers.four .officer-name { font-size: 1.15rem; }
  /* volunteers: a simple two-column list instead of boxes */
  .vol-grid { gap: 0 1rem !important; border-top: 1px solid var(--border); }
  .vol { background: none !important; border: 0 !important; border-bottom: 1px solid var(--border) !important; padding: .7rem 0 .65rem !important; box-shadow: none !important; }
  .vol::before, .vol::after { display: none !important; }
  .vol-lawn { padding: 1.2rem 1rem 1.3rem; }
  /* home mosaic: three photos */
  .mosaic .mc4, .mosaic .mc6 { display: none; }
  .mosaic .mc1 { grid-column: 1 / -1; }
}
.swipe-hint { display: none; }
@media (max-width: 760px) { .stats .stat:last-child { grid-column: auto !important; } .stats .stat:nth-child(3n) { border-right: 0 !important; } }
@media (max-width: 760px) { .swipe-hint { display: block; } }
/* phones: opening card sits higher (screen centre, not hero centre) and clear of the edges */
@media (max-width: 760px) {
  .mhcc-card.card-v2, .card-v2.mhcc-card { top: 36%; }
  .card-v2 .crop { width: min(74vw, 50vh) !important; }
}
/* footer: brand · Find Us · Contact */
@media (min-width: 761px) { .foot-top.foot-slim { grid-template-columns: 1.4fr 1fr 1fr; } }
@media (min-width: 761px) and (max-width: 1100px) { .foot-top.foot-slim { grid-template-columns: 1fr 1fr; } .foot-top.foot-slim > .ft-brand { grid-column: 1 / -1; } }

/* footer crest beside the club name / Facebook */
.ft-brand { display: grid !important; grid-template-columns: auto 1fr; column-gap: 1.6rem; align-items: center; justify-items: start; }
.ft-brand .ft-logo { grid-row: 1 / span 3; display: block; line-height: 0; }
.ft-brand .ft-logo img { height: 118px; width: auto; display: block; transition: transform .4s ease, filter .4s ease; }
.ft-brand .ft-logo:hover img { transform: scale(1.04); filter: brightness(1.08); }
.ft-brand > :not(.ft-logo) { grid-column: 2; }
@media (max-width: 760px) {
  .ft-brand { grid-template-columns: 1fr; justify-items: center; row-gap: 0; }
  .ft-brand .ft-logo { grid-row: auto; margin-bottom: .9rem; }
  .ft-brand .ft-logo img { height: 84px; }
  .ft-brand > :not(.ft-logo) { grid-column: 1; }
}
/* footer v2: club name on top, small crest under it with Facebook to its right */
@media (min-width: 761px) {
  .ft-brand { grid-template-columns: auto 1fr; grid-template-areas: "name name" "logo fb" "soc soc"; column-gap: 1.1rem; row-gap: .7rem; align-items: center; }
  .ft-brand .foot-brand { grid-area: name; }
  .ft-brand .ft-logo { grid-row: auto; grid-area: logo; }
  .ft-brand .foot-fb2 { grid-area: fb; margin-top: 0; }
  .ft-brand .foot-socials { grid-area: soc; margin-top: .1rem; }
  .ft-brand .ft-logo img { height: 74px; }
}
@media (min-width: 761px) {
  .ft-brand > .foot-brand { grid-area: name; } .ft-brand > .foot-fb2 { grid-area: fb; } .ft-brand > .foot-socials { grid-area: soc; } .ft-brand > .ft-logo { grid-area: logo; }
}
/* footer v3: Facebook (gold-framed) then Mission Hills CC socials, both beside the crest */
@media (min-width: 761px) {
  .ft-brand { grid-template-areas: "name name" "logo fb" "logo soc"; row-gap: .55rem; align-items: start; }
  .ft-brand > .ft-logo { align-self: center; }
  .ft-brand > .foot-socials { margin-top: .15rem; }
}
.foot-socials { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 1.1rem; row-gap: .35rem; }
.foot-socials .fs-lab { flex-basis: 100%; margin: 0; }
.foot-fb2 a { display: inline-block; padding: 5px; border: 1px solid var(--gold); line-height: 0; transition: border-color .3s ease, box-shadow .3s ease; }
.foot-fb2 a:hover { border-color: var(--gold-lt); box-shadow: 0 0 0 3px rgba(184,151,42,.18); }
@media (max-width: 760px) { .foot-socials { justify-content: center; } .foot-socials .fs-lab { text-align: center; } }
@media (min-width: 761px) { .ft-brand > .ft-logo { align-self: start; margin-top: 14.6px; } }

/* footer: tighter vertical rhythm */
footer#contact { padding-top: 1.5rem !important; padding-bottom: 1rem !important; }
footer .foot-top.foot-slim { padding-bottom: .9rem !important; margin-bottom: .8rem !important; }
.foot-aff a { width: 54px !important; height: 54px !important; }
.foot-aff img { max-height: 36px; }
@media (min-width: 761px) {
  .ft-brand { row-gap: .4rem !important; }
  .ft-brand .foot-brand { margin-bottom: .1rem; }
  .ft-brand > .ft-logo { margin-top: -2.7px !important; }
}
@media (max-width: 760px) {
  footer .foot-top.foot-slim { gap: .8rem !important; }
  .ft-brand .ft-logo { margin-bottom: .5rem !important; }
  .ft-brand .ft-logo img { height: 70px !important; }
  footer .foot-bottom { padding-top: .5rem !important; padding-bottom: .4rem !important; gap: .6rem !important; }
  .foot-aff a { width: 48px !important; height: 48px !important; }
}

/* gallery "Share your shots" bar: slimmer, same layout */
.photo-share { padding: 1.05rem 2rem; gap: .2rem 1.6rem; margin-top: 2.4rem; }
.ps-icon { width: 52px; height: 52px; }
.ps-icon svg { width: 24px; height: 24px; }
.ps-body h3 { font-size: 1.4rem; margin: .2rem 0 .2rem; }
.ps-body p { font-size: 1rem; line-height: 1.4; }
.ps-btn { padding-top: .75rem !important; padding-bottom: .75rem !important; }
.ps-mail { font-size: .88rem; }
@media (max-width: 760px) { .photo-share { padding: 1.3rem 1.2rem; gap: .7rem; } }
/* footer: Scores & Rankings under the Country Club socials */
@media (min-width: 761px) {
  .ft-brand { grid-template-areas: "name name" "logo fb" "logo soc" "logo sco"; }
  .ft-brand > .foot-scores { grid-area: sco; margin-top: .35rem; }
}
/* contact: four cards sit as a balanced 2 x 2 */
@media (min-width: 761px) { #contacts .people { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 900px; margin-left: auto; margin-right: auto; } }


/* Members' Login bar stays pinned above the menu while scrolling (header otherwise unchanged) */
.utility { position: sticky !important; top: 0; z-index: 260; }
nav.main { top: var(--uh, 30px) !important; }
/* real roster modal: search + second address */
.mbm-q { width: 220px; max-width: 46vw; padding: .55rem .7rem; font-size: .95rem; }
.mbm-t small { color: var(--mid); font-size: .82em; }
.mbm-t a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(184,151,42,.4); }
@media (max-width: 760px) { .mbm-acts { flex-wrap: wrap; } .mbm-q { width: 100%; max-width: none; } }
.mbm-box { width: min(1240px, 96vw) !important; }
.mbm-t { font-size: .95rem; }
.mbm-t td, .mbm-t th { padding-left: .7rem !important; padding-right: .7rem !important; }
.mbm-t td:last-child, .mbm-t th:last-child { white-space: nowrap; }
/* footer: Contact and Find Us start level with the Facebook badge */
@media (min-width: 761px) { .foot-top.foot-slim .ft-col { margin-top: 34px; } }

/* Officers: full portrait photos (not circles) */
.officers.four.portrait .officer { padding: 1rem 1rem 1.6rem; }
.officers.four.portrait .headshot.hs-lg { width: 100%; height: auto; aspect-ratio: 611 / 697; border-radius: 0; border: 1px solid rgba(184,151,42,.55); outline: none; margin: 0 0 1.2rem; object-position: center 30%; }
.officers.four.portrait span.headshot.hs-lg::after { background-size: 70% auto; background-position: center bottom; }
@media (max-width: 560px) { .officers.four.portrait .officer { padding: .6rem .6rem 1rem; } .officers.four.portrait .headshot.hs-lg { margin-bottom: .7rem; } }

/* Contact page: larger headshot circles */
#contacts .person.has-hs > .headshot, #contacts .hs-pair .headshot { width: 128px; height: 128px; object-position: center center; }
#contacts .hs-pair .headshot + .headshot { margin-left: -18px; }
@media (max-width: 760px) { #contacts .person.has-hs > .headshot, #contacts .hs-pair .headshot { width: 104px; height: 104px; } }
#contacts .person.has-hs > .headshot.hs-duo { width: 150px; height: 150px; }
@media (max-width: 760px) { #contacts .person.has-hs > .headshot.hs-duo { width: 120px; height: 120px; } }
/* Contact: Co-Presidents full 2-shot beside their text */
#contacts .duo-card { display: flex; gap: 1.4rem; align-items: flex-start; }
#contacts .duo-photo { width: 210px; height: auto; aspect-ratio: 700 / 1090; flex: none; display: block; object-fit: cover; border: 1px solid rgba(184,151,42,.55); outline: 1px solid rgba(184,151,42,.25); outline-offset: 4px; }
#contacts .duo-txt { min-width: 0; padding-top: .3rem; }
@media (max-width: 560px) { #contacts .duo-card { flex-direction: column; } #contacts .duo-photo { width: 100%; max-width: 270px; } }
/* Coaches use the same portrait cards as the officers, two centered */
.officers.four.coaches { grid-template-columns: repeat(2, minmax(0, 280px)); justify-content: center; }
.officer-note { font-family: 'EB Garamond', serif; font-style: italic; font-size: .98rem; color: var(--muted); margin-top: .5rem; line-height: 1.35; }
@media (max-width: 900px) { .officers.four.coaches { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Contact: Fishers card tall on the left (bigger photo), Blake and Dick stacked on the right */
@media (min-width: 761px) {
  #contacts .duo-card { grid-row: span 2; flex-direction: column; align-items: stretch; }
  #contacts .duo-card .duo-photo { width: 100%; max-width: 360px; align-self: flex-start; }
}
/* Club page: shorter Experience band (headline only) */
.experience.exp-short { height: 40vh; min-height: 300px; max-height: 400px; }
.experience.exp-short .experience-content h2 { margin-bottom: 0; }
@media (max-width: 760px) { .experience.exp-short { height: 34vh; min-height: 240px; max-height: 320px; } }
/* Brighter page headers: less dimming behind the titles, with a soft shadow on the type for legibility */
.page-hero > img, html.ph-fade.ph-in .page-hero > img { opacity: .9; }
.page-hero .hero-vignette { background: linear-gradient(to bottom, rgba(10,22,40,.18) 0%, rgba(10,22,40,0) 30%, rgba(10,22,40,.08) 55%, rgba(10,22,40,.55) 100%); }
.page-hero .ph-title, .page-hero .ph-motto, .page-hero .ph-deck { text-shadow: 0 2px 18px rgba(6,14,26,.55), 0 1px 3px rgba(6,14,26,.45); }
.experience-overlay { background: rgba(10,22,40,.32); }
.experience-content h2 { text-shadow: 0 2px 18px rgba(6,14,26,.55), 0 1px 3px rgba(6,14,26,.45); }
/* Brighter photos behind type everywhere (home hero, manifesto, mosaic) */
.c-slide img { opacity: .84; }
.hero-vignette { background: radial-gradient(ellipse at center, transparent 45%, rgba(10,22,40,.32) 100%), linear-gradient(to bottom, rgba(10,22,40,.18) 0%, transparent 28%, transparent 66%, rgba(10,22,40,.32) 100%); }
.hero h1, .hero h2, .hero p, .hero .eyebrow, .hero [class*="title"], .hero [class*="motto"], .hero [class*="tag"] { text-shadow: 0 2px 18px rgba(6,14,26,.6), 0 1px 3px rgba(6,14,26,.5); }
.manifesto-bg img { opacity: .86; }
.manifesto-overlay { background: radial-gradient(ellipse at center, rgba(10,22,40,.22) 0%, rgba(10,22,40,.38) 100%); }
.manifesto p, .manifesto h2, .manifesto .eyebrow { text-shadow: 0 2px 16px rgba(6,14,26,.6), 0 1px 3px rgba(6,14,26,.5); }
.mc-overlay { background: linear-gradient(to bottom, transparent 60%, rgba(10,22,40,.45)); }
.mc-label, .mc1 .mc-caption { text-shadow: 0 1px 8px rgba(6,14,26,.7); }
/* Events closing band: photo behind "The season's better with you in it." */
.cta-band.cta-photo { min-height: 580px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding-top: 4rem; padding-bottom: 2.6rem; }
.cta-band.cta-photo::before { display: none; }
.cta-photo .cta-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 36%; opacity: .92; }
.cta-photo .cta-shade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,22,40,0) 45%, rgba(10,22,40,.45) 75%, rgba(10,22,40,.7)); }
.cta-photo > *:not(.cta-bg):not(.cta-shade) { position: relative; z-index: 2; }
.cta-photo h2, .cta-photo .eyebrow { text-shadow: 0 2px 18px rgba(6,14,26,.65), 0 1px 3px rgba(6,14,26,.5); }
@media (max-width: 760px) { .cta-band.cta-photo { min-height: 650px; padding-bottom: 2rem; } .cta-photo .cta-bg { object-position: 52% 0%; } }
/* Events closing band uses the wide lawn shot: keep players and mountains above the type */
.cta-photo .cta-bg.cta-lawns { object-position: center 57%; }
.cta-band.cta-photo:has(.cta-lawns) { min-height: 470px; }
@media (max-width: 760px) { .cta-photo .cta-bg.cta-lawns { top: auto; bottom: 0; height: 135%; object-position: 45% 100%; } .cta-band.cta-photo:has(.cta-lawns) { min-height: 500px; } }
/* Play page closing band: wide lawn strip behind the type */
.cta-band.cta-photo.cta-strip { min-height: 0; justify-content: center; padding-top: 2rem; padding-bottom: 2rem; }
.cta-strip .cta-bg { object-position: center 62%; opacity: .95; }
.cta-strip .cta-shade { background: rgba(10,22,40,.3); }
@media (max-width: 760px) { .cta-band.cta-photo.cta-strip { min-height: 0; padding-top: 1.8rem; padding-bottom: 1.8rem; } .cta-strip .cta-bg { object-position: 24% 70%; } }
/* footer v5: crest (with script name) centered above Facebook and the links; separate club-name line removed */
.ft-brand > .foot-brand { display: none !important; }
@media (min-width: 761px) {
  .ft-brand { grid-template-columns: auto auto !important; grid-template-areas: "logo fb" "logo soc" "logo sco" !important; justify-items: start !important; align-items: center !important; align-content: center; column-gap: 1.6rem !important; row-gap: .55rem !important; width: max-content; max-width: 100%; }
  .ft-brand > .ft-logo { grid-area: logo !important; justify-self: start; align-self: center !important; margin: 0 !important; }
  .ft-brand .ft-logo img { height: 180px !important; }
  .ft-brand > .foot-fb2 { grid-area: fb !important; align-self: end; }
  .ft-brand > .foot-socials:not(.foot-scores) { grid-area: soc !important; align-self: center; margin-top: .3rem !important; }
  .ft-brand > .foot-scores { grid-area: sco !important; align-self: start; margin-top: .2rem !important; }
}
@media (max-width: 760px) { .ft-brand .ft-logo img { height: 130px !important; } .ft-brand .ft-logo { margin-bottom: .8rem !important; } }
/* Footer: simple "Follow Us / Facebook" in place of the Facebook badge */
.foot-fb2 { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.foot-fb2 .fb-lab { font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .7rem; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); }
.foot-fb2 a.fb-btn { display: inline-block; padding: .55rem 1.3rem; border: 1px solid rgba(184,151,42,.45); line-height: 1; font-family: 'EB Garamond', serif; font-size: 1.35rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(240,230,200,.78); text-decoration: none; border-radius: 0 !important; transition: color .25s, border-color .25s, background .25s; box-shadow: none; }
.foot-fb2 a.fb-btn:hover { color: var(--champagne); border-color: var(--gold-lt); background: rgba(184,151,42,.08); box-shadow: none; }
@media (max-width: 760px) { .foot-fb2 { align-items: center; } }

/* footer v6: four evenly spaced items (crest, links, Contact, Find Us); tighter gap above the webmaster line */
.ft-links { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; width: max-content; max-width: 100%; }
.ft-links .foot-socials { display: grid; grid-template-columns: repeat(2, auto); justify-content: start; justify-items: start; column-gap: 1.1rem; row-gap: .35rem; width: max-content; }
.ft-links .foot-socials .fs-lab { grid-column: 1 / -1; }
.ft-links .foot-socials { margin: 0 !important; }
@media (min-width: 1101px) {
  footer .foot-top.foot-slim { display: flex !important; justify-content: space-between; align-items: center; gap: 2rem; }
  .foot-top.foot-slim > .ft-brand { display: contents !important; }
  .foot-top.foot-slim .ft-logo { margin: 0 !important; }
  .foot-top.foot-slim > .ft-col { margin-top: 0 !important; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .ft-brand { grid-template-columns: auto auto !important; grid-template-areas: "logo links" !important; column-gap: 2.4rem !important; }
  .ft-brand > .ft-links { grid-area: links !important; align-self: center; }
}
@media (max-width: 760px) { .ft-links { align-items: center; } }
@media (min-width: 761px) { footer .foot-top.foot-slim { padding-bottom: .6rem !important; margin-bottom: .6rem !important; } footer#contact { padding-top: 1.2rem !important; } }
@media (max-width: 760px) { .ft-links .foot-socials { justify-content: center; margin-left: auto !important; margin-right: auto !important; } .ft-links .foot-scores { grid-template-columns: auto; } }
.ft-links .foot-scores { grid-template-columns: auto; }
@media (max-width: 760px) { .ft-links .foot-socials { justify-items: center; } }
/* footer: crest, Contact, Find Us, then Follow Us/links at the far right */
@media (min-width: 1101px) { .foot-top.foot-slim .ft-links { order: 9; } }
/* "Be part of the next chapter": dimmed photo, compact band */
.cta-band.cta-photo.cta-dim { min-height: 0; justify-content: center; padding-top: 3.6rem; padding-bottom: 3.6rem; }
.cta-dim .cta-bg { object-position: center 35%; opacity: 1; }
.cta-dim .cta-shade { background: rgba(10,22,40,.5); }
@media (max-width: 760px) { .cta-dim .cta-bg { object-position: 40% 35%; } }
/* Contact: Blake and Dick as framed rectangle photos beside their text */
#contacts .rect-card { display: flex; gap: 1.4rem; align-items: flex-start; }
#contacts .rect-photo { width: 168px; height: 210px; flex: none; display: block; object-fit: cover; object-position: center 20%; border: 1px solid rgba(184,151,42,.55); outline: 1px solid rgba(184,151,42,.25); outline-offset: 4px; }
#contacts .rect-card .duo-txt { min-width: 0; padding-top: .2rem; }
@media (max-width: 560px) { #contacts .rect-photo { width: 112px; height: 140px; } }
/* Contact: bigger Blake/Dick photos; the two right-hand cards split the Fishers' height evenly */
@media (min-width: 761px) {
  #contacts .people { grid-template-rows: 1fr 1fr; align-items: stretch; }
  #contacts .rect-card { height: 100%; align-items: stretch; }
  #contacts .rect-photo { width: 185px; height: auto; align-self: stretch; min-height: 250px; }
  #contacts .rect-card .duo-txt h3, #contacts .rect-card .duo-txt .card-k { word-break: normal; overflow-wrap: normal; hyphens: none; }
  #contacts .rect-card .duo-txt .sel { word-break: normal; }
}
/* Contact: show Blake's and Dick's whole photos (no side cropping) */
#contacts .rect-photo { object-fit: contain !important; background: transparent; height: auto !important; min-height: 0 !important; align-self: flex-start !important; }
@media (min-width: 761px) { #contacts .rect-card img[src*="blake"] { width: 200px !important; } #contacts .rect-card img[src*="dick"] { width: 170px !important; } }
@media (max-width: 560px) { #contacts .rect-card img[src*="blake"] { width: 130px !important; } #contacts .rect-card img[src*="dick"] { width: 104px !important; } }
/* Contact: Blake and Dick photos same size and proportion */
@media (min-width: 761px) { #contacts .rect-card img[src*="blake"], #contacts .rect-card img[src*="dick"] { width: 190px !important; aspect-ratio: 487 / 625; height: auto !important; } }
@media (max-width: 760px) { #contacts .rect-card img[src*="blake"], #contacts .rect-card img[src*="dick"] { width: 120px !important; aspect-ratio: 487 / 625; height: auto !important; } }
/* Contact: larger Blake/Dick photos filling their cards; tighter gap between the two */
@media (min-width: 761px) {
  #contacts .people { row-gap: .7rem !important; }
  #contacts .rect-card img[src*="blake"], #contacts .rect-card img[src*="dick"] { width: 236px !important; }
  #contacts .people { max-width: 1160px !important; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important; }
}
.cta-band.cta-gap { border-top: 22px solid var(--cream); }

#contacts .rect-stack { display: flex; flex-direction: column; gap: 1.1rem; flex: none; }
#contacts .rect-card img.rp-sq { aspect-ratio: 1 / 1 !important; }
@media (min-width: 761px) { #contacts .people { grid-template-rows: auto auto !important; } }
#contacts.band { padding-bottom: 3rem; }
#message.band { padding-top: 3.2rem; }
#message .split { align-items: start; }
/* show a slideshow photo exactly as framed: bottom of the photo on the bottom of the frame, no zoom/parallax */
.split-img.slideshow img.fit-bottom, .split-img.slideshow:hover img.fit-bottom { object-fit: cover; object-position: center bottom; scale: 1 !important; translate: none !important; transform: none !important; animation: none !important; }
.officers.four.coaches { grid-template-columns: repeat(3, minmax(0, 280px)); }
@media (max-width: 900px) { .officers.four.coaches { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .officers.four.coaches { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mb-hero .hero-vignette { background: linear-gradient(180deg, rgba(10,22,40,.38), rgba(10,22,40,.62)) !important; }
/* Guest Play: tighter spacing */
#guests .sec-title { margin-bottom: 0; }
#guests .contact-line { line-height: 1.45; }
#guests .gp-steps { margin: 1rem 0 .4rem; }
#guests .gp-steps > div { padding: .55rem 0 .6rem; }
#guests .gp-steps .gp-n { font-size: 1.6rem; }
#guests .gp-steps p { margin-top: .1rem; line-height: 1.45; }
#guests .gp-rules { margin-top: .7rem; gap: .4rem; }
#guests .gp-rules li { line-height: 1.45; }
#guests .fh { margin-top: .6rem !important; }
/* Phones: 16px form text so iOS doesn't zoom in when a field is tapped */
@media (max-width: 760px) {
  input:not([type=radio]):not([type=checkbox]):not([type=range]), select, textarea { font-size: 16px !important; }
}
/* Contact on tablets (iPad portrait & landscape): one card per row, photo beside the text */
@media (min-width: 761px) and (max-width: 1099px) {
  #contacts .people { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: none !important; max-width: 780px !important; row-gap: 1.2rem !important; }
  #contacts .duo-card { grid-row: auto; flex-direction: row; align-items: flex-start; }
  #contacts .duo-card .duo-photo { width: 240px; max-width: none; }
  #contacts .rect-card { height: auto; }
  #contacts .rect-card img[src*="blake"], #contacts .rect-card img[src*="dick"] { width: 240px !important; }
}
/* Past presidents: each name framed in gold, like a plaque */
.presidents ul { align-items: stretch !important; gap: 1rem !important; }
.presidents li { border: 1px solid rgba(184,151,42,.75); outline: 1px solid rgba(184,151,42,.3); outline-offset: -6px; background: #fffdf7; padding: 1.3rem .8rem 1.15rem; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.presidents li:last-child { background: var(--gold-pale, #f6efd9); border-color: var(--gold, #b8972a); }
@media (max-width: 760px) { .presidents ul { gap: .7rem !important; } .presidents li { padding: 1.05rem .5rem .95rem; } }
/* Past presidents: plaques sit right under the heading (no rule, tighter gap) */
#presidents .band-head { margin-bottom: 0; }
#presidents .presidents { border-top: 0 !important; margin-top: 2rem !important; padding-top: 0 !important; }
#presidents .presidents ul { margin-top: 0 !important; }
/* Who We Are: less space between the page menu and "The people who keep things crackin'" */
#leadership.leaders { padding-top: 1.8rem !important; }
@media (max-width: 760px) { #leadership.leaders { padding-top: 1.3rem !important; } }
/* Contact: compact "Drop us a line" — heading row on top, name/email left, topic/message right */
#message .msg-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem 3rem; align-items: end; margin-bottom: 1.6rem; }
#message .msg-head .contact-line { font-size: 1.12rem; margin: 0 0 .35rem; max-width: 520px; }
#message .msg-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 2rem; }
#message .msg-col { display: flex; flex-direction: column; gap: .9rem; }
#message .msg-col .fg { margin: 0; }
#message .msg-grow { flex: 1; display: flex; flex-direction: column; }
#message .msg-grow textarea { flex: 1; min-height: 120px; resize: vertical; }
#message .msg-send { grid-column: 1 / -1; justify-self: start; margin-top: 1.2rem; }
@media (max-width: 760px) {
  #message .msg-head { grid-template-columns: 1fr; gap: .6rem; margin-bottom: 1.2rem; }
  #message .msg-form { grid-template-columns: 1fr; }
  #message .msg-col + .msg-col { margin-top: .9rem; }
}
#message .msg-col { gap: .7rem; }
#message .msg-grow textarea { min-height: 70px; }
#message .msg-send { grid-column: auto; justify-self: auto; align-self: flex-end; margin-top: .3rem; }
#message.band { padding-top: 2.6rem !important; padding-bottom: 2.6rem !important; }
@media (max-width: 760px) { #message .msg-send { align-self: flex-start; margin-top: .5rem; } }
/* Home hero: bigger, easier-to-read eyebrow and tagline */
.hero .hero-est { font-size: .95rem !important; font-weight: 500; letter-spacing: .34em !important; color: var(--gold-lt, #d4b558); text-shadow: 0 1px 8px rgba(6,14,26,.7), 0 1px 2px rgba(6,14,26,.6); }
.hero .hero-tagline { font-size: 1.02rem !important; letter-spacing: .16em !important; color: rgba(240,230,200,.9); text-shadow: 0 1px 8px rgba(6,14,26,.7), 0 1px 2px rgba(6,14,26,.6); }
@media (max-width: 640px) {
  .hero .hero-est { font-size: .8rem !important; letter-spacing: .2em !important; max-width: 320px; }
  .hero .hero-tagline { font-size: .8rem !important; letter-spacing: .1em !important; }
}
.hero-tagline .ht-br { display: none; }
@media (max-width: 640px) { .hero-tagline .ht-dot { display: none; } .hero-tagline .ht-br { display: inline; } .hero .hero-tagline { line-height: 1.8; } }
.hero .hero-tagline { color: var(--gold-lt, #d4b558); }
/* Home hero: eyebrow letter-spacing matches the tagline */
.hero .hero-est { letter-spacing: .16em !important; font-size: 1.02rem !important; }
@media (max-width: 640px) { .hero .hero-est { letter-spacing: .1em !important; } }
@media (max-width: 640px) { .hero .hero-est { font-size: .8rem !important; letter-spacing: .1em !important; } }
/* Membership inquiry: compact form */
#inquire.band { padding-top: 2.8rem !important; padding-bottom: 2.8rem !important; }
#inquire .split { align-items: start; }
#inquire #inquireForm { gap: .7rem; }
#inquire #inquireForm .fg { margin: 0; }
#inquire #inquireForm .fr { gap: 1rem; }
#inquire #inquireForm textarea { min-height: 80px; }
/* Contact on phones: photos above the text so the bio gets the full card width */
@media (max-width: 560px) {
  #contacts .rect-card { flex-direction: column; align-items: stretch; gap: 1.1rem; }
  #contacts .rect-stack { flex-direction: row; gap: .8rem; align-items: flex-start; }
  #contacts .rect-stack .rect-photo { width: calc(50% - .4rem) !important; flex: 1 1 0; }
  #contacts .rect-card > .rect-photo { width: 62% !important; max-width: 240px; align-self: flex-start; }
  #contacts .rect-card img.rp-sq { aspect-ratio: 487 / 625 !important; object-fit: cover !important; object-position: center 25%; }
}
@media (max-width: 560px) {
  #contacts .rect-card > img[src*="dick"].rect-photo { width: calc(50% - .4rem) !important; }
  #contacts .rect-stack img[src*="blake"].rect-photo { width: calc(50% - .4rem) !important; }
}
/* Home hero on phones: tighter gap under "Legendary Competition…" */
@media (max-width: 640px) {
  .hero .hero-est { margin-bottom: .5rem !important; }
  .hero .hero-rule { height: 14px !important; margin-bottom: .55rem !important; }
}
