:root{
  --white:#fbfaf7; --paper:#fffdf8; --ink:#121212; --muted:#5f625f;
  --gold:#c99127; --gold2:#f1c96f; --green:#0c5b32; --glass:rgba(255,255,255,.78);
  --shadow:0 28px 80px rgba(20,18,14,.16); --radius:34px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:radial-gradient(circle at 18% 0%,#fff8e8 0,#fbfaf7 28%,#f6f3ed 100%);color:var(--ink);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");z-index:20}.orb{position:fixed;border-radius:999px;filter:blur(35px);opacity:.22;pointer-events:none}.orb-a{width:380px;height:380px;background:#f1c96f;right:-120px;top:-80px}.orb-b{width:320px;height:320px;background:#0c5b32;left:-120px;bottom:5%}
.topbar{position:fixed;z-index:10;top:28px;left:50%;transform:translateX(-50%);width:min(92vw,1660px);height:112px;padding:18px 38px;display:flex;align-items:center;gap:36px;border:1px solid rgba(255,255,255,.65);border-radius:28px;background:rgba(255,255,255,.78);box-shadow:0 20px 60px rgba(0,0,0,.12);backdrop-filter:blur(22px);transition:.35s}.topbar.scrolled{height:86px;top:16px;background:rgba(255,255,255,.9)}.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);min-width:255px}.crest{width:48px;height:58px;border:2px solid var(--gold);border-radius:16px 16px 22px 22px;display:grid;place-items:center;color:var(--gold);font-family:Playfair Display,serif;font-size:31px;font-weight:800}.logotype strong{display:block;font:800 40px/1 Playfair Display,serif;letter-spacing:.16em}.logotype small{display:block;text-transform:uppercase;letter-spacing:.44em;font-size:13px;margin-top:6px}.desktop-nav{flex:1;display:flex;justify-content:center;gap:34px}.desktop-nav a{position:relative;text-decoration:none;color:#161616;text-transform:uppercase;font-weight:700;font-size:14px;letter-spacing:.04em}.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:2px;background:var(--gold);transform:scaleX(0);transition:.28s}.desktop-nav a:hover::after,.desktop-nav a.active::after{transform:scaleX(1)}.book-btn{padding:20px 30px;border-radius:10px;background:linear-gradient(135deg,var(--gold),#e9b24b);color:white;text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.04em;box-shadow:0 15px 30px rgba(201,145,39,.32)}.book-btn span{margin-right:10px}.menu-btn{display:none;border:0;background:transparent;font-size:30px}
.hero{position:relative;min-height:860px;padding:220px 8vw 110px;overflow:hidden}.hero-bg{position:absolute;inset:168px 0 0;border-radius:0 0 42px 42px;overflow:hidden}.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:heroZoom 16s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:168px 0 0;background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.38) 39%,rgba(255,255,255,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.22),transparent 45%)}@keyframes heroZoom{to{transform:scale(1.12)}}.hero-content{position:relative;width:min(760px,92vw);padding-top:15px;color:white}.location{color:#f7d68c;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.hero h1{font:700 clamp(64px,7vw,122px)/.9 Playfair Display,serif;letter-spacing:-.045em;margin:22px 0 22px;text-shadow:0 12px 34px rgba(0,0,0,.34)}.hero h1 em{font-style:italic;color:var(--gold2);font-weight:600}.hero-copy{font-size:22px;line-height:1.6;width:min(650px,90vw);margin-bottom:38px}.hero-actions,.contact-actions{display:flex;gap:20px;flex-wrap:wrap}.btn{border:1px solid rgba(255,255,255,.4);border-radius:10px;padding:21px 34px;text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.06em;display:inline-flex;align-items:center;gap:18px;transition:.3s}.btn:hover{transform:translateY(-4px)}.btn.gold{background:linear-gradient(135deg,var(--gold),#e7ba5f);color:white;border-color:transparent;box-shadow:0 18px 38px rgba(201,145,39,.32)}.btn.glass{color:white;background:rgba(255,255,255,.08);backdrop-filter:blur(14px)}.btn.dark{color:var(--ink);border-color:rgba(0,0,0,.12)}
.hero-widgets{position:absolute;right:8vw;top:245px;width:360px;display:grid;gap:10px}.widget{display:grid;grid-template-columns:58px 1fr 20px;gap:18px;align-items:center;color:var(--ink);text-decoration:none;padding:22px;border-radius:22px;background:rgba(255,255,255,.82);backdrop-filter:blur(20px);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.6);transition:.3s}.widget:hover{transform:translateX(-8px)}.widget .icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:white;color:var(--gold);font-size:25px;box-shadow:0 10px 25px rgba(0,0,0,.08)}.widget small{display:block;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#202020;margin-bottom:10px}.widget strong{display:block;color:var(--green);font-size:22px}.weather strong{font-size:45px;color:var(--ink);font-weight:400}.weather strong span{font:500 16px Inter;margin-left:14px}.widget p{margin:8px 0 0;color:#333;font-size:14px}.stats-panel{position:relative;z-index:3;margin:-54px auto 80px;width:min(92vw,1620px);display:grid;grid-template-columns:repeat(6,1fr);background:rgba(255,255,255,.88);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);border-radius:28px;padding:34px}.stats-panel article{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;border-right:1px solid rgba(0,0,0,.12)}.stats-panel article:last-child{border-right:0}.stats-panel span{font-size:38px;color:var(--gold)}.stats-panel strong{font-size:22px}.stats-panel small{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.06em;margin-top:5px}.section{width:min(92vw,1620px);margin:0 auto 110px}.experience{display:grid;grid-template-columns:310px 1fr;gap:54px}.line{display:block;width:42px;height:3px;background:var(--gold);margin-bottom:26px}.section-intro h2,.section-heading h2,.split-copy h2,.contact-card h2{font:700 clamp(38px,4vw,68px)/.98 Playfair Display,serif;letter-spacing:-.035em;margin:0 0 24px}.section-intro p,.split-copy p,.contact-card p{font-size:18px;line-height:1.75;color:var(--muted)}.text-link{color:var(--gold);font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.06em}.feature-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.feature{height:300px;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 20px 50px rgba(0,0,0,.15);isolation:isolate}.feature img{width:100%;height:100%;object-fit:cover;transition:.6s}.feature::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 55%)}.feature div{position:absolute;z-index:1;left:22px;right:22px;bottom:20px;color:white}.feature span{width:46px;height:46px;border:1px solid rgba(255,255,255,.75);border-radius:99px;display:grid;place-items:center;margin-bottom:12px}.feature h3{margin:0;text-transform:uppercase}.feature p{margin:5px 0 0}.feature:hover img{transform:scale(1.09)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.split-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.split-photo img{width:100%;height:630px;object-fit:cover}.split-copy{padding:54px;border-radius:var(--radius);background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.74);box-shadow:var(--shadow);backdrop-filter:blur(22px)}.eyebrow{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.16em}.pill-grid{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.pill-grid span{padding:12px 16px;border-radius:999px;background:#f3efe7;color:#2a2a2a;font-weight:700}.pros-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.pro{padding:14px;border-radius:26px;background:white;box-shadow:0 18px 45px rgba(0,0,0,.09);transition:.3s}.pro:hover{transform:translateY(-8px)}.pro img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px}.pro h3{margin:18px 8px 4px}.pro p{margin:0 8px 12px;color:var(--muted)}.event-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.event-row article{min-height:180px;padding:28px;border-radius:26px;background:linear-gradient(140deg,rgba(255,255,255,.82),rgba(255,255,255,.48));backdrop-filter:blur(18px);border:1px solid white;box-shadow:0 18px 45px rgba(0,0,0,.08)}.event-row span{color:var(--gold);font-weight:900;text-transform:uppercase}.contact-card{text-align:center;padding:80px;border-radius:40px;background:linear-gradient(135deg,rgba(12,91,50,.94),rgba(0,0,0,.88)),url('assets/hero.webp') center/cover;color:white;box-shadow:var(--shadow)}.contact-card p{color:rgba(255,255,255,.82);max-width:700px;margin:0 auto 34px}.contact-actions{justify-content:center}footer{padding:50px 8vw;display:flex;justify-content:space-between;align-items:center;color:#505050}.footer-logo{display:flex;gap:14px;align-items:center}.footer-logo strong{font:700 32px Playfair Display,serif;letter-spacing:.2em}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.show{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.32s}.delay-4{transition-delay:.42s}
@media (max-width:1180px){.desktop-nav{display:none}.menu-btn{display:block}.topbar{height:auto}.hero-widgets{position:relative;right:auto;top:auto;width:100%;margin-top:45px}.hero{padding-top:190px}.stats-panel,.experience,.split,.pros-grid,.event-row{grid-template-columns:1fr 1fr}.feature-cards{grid-template-columns:repeat(2,1fr)}.stats-panel article{border-right:0}.logo{min-width:auto}}@media (max-width:760px){.topbar{top:12px;padding:14px 18px;width:94vw;border-radius:20px}.logotype strong{font-size:28px}.logotype small{letter-spacing:.24em}.book-btn{display:none}.hero{min-height:auto;padding:155px 5vw 70px}.hero-bg,.hero-shade{inset:115px 0 0}.hero h1{font-size:58px}.hero-copy{font-size:18px}.stats-panel,.experience,.split,.pros-grid,.event-row{grid-template-columns:1fr}.feature-cards{grid-template-columns:1fr}.stats-panel{margin-top:0}.stats-panel article{grid-template-columns:48px 1fr}.section{margin-bottom:70px}.split-photo img{height:420px}.split-copy,.contact-card{padding:34px 24px}footer{display:block;text-align:center}.footer-logo{justify-content:center;margin-bottom:15px}}


/* Full leadership and pros section */
.pros{margin-bottom:96px}.pros-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:34px}.section-note{max-width:690px;margin:0;color:var(--muted);line-height:1.7}.team-directory-link{border-radius:999px;padding:16px 22px;background:rgba(255,255,255,.72);box-shadow:0 18px 45px rgba(0,0,0,.10);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(18px);font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--green);text-decoration:none;white-space:nowrap;transition:.3s}.team-directory-link:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(0,0,0,.14);color:var(--gold)}.team-block{margin-top:30px}.team-label{display:flex;align-items:center;gap:16px;margin:0 0 16px}.team-label span{width:42px;height:3px;background:var(--gold);border-radius:999px}.team-label h3{font:800 17px/1 Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#2c2c2c;margin:0}.team-grid{display:grid;gap:18px}.leadership-grid{grid-template-columns:repeat(3,1fr)}.head-pro-grid{grid-template-columns:1.25fr .9fr}.pros-full-grid{grid-template-columns:repeat(3,1fr)}.team-card{position:relative;min-height:330px;border:0;text-align:left;border-radius:30px;overflow:hidden;background:white;box-shadow:0 20px 60px rgba(0,0,0,.12);isolation:isolate;cursor:pointer;transition:transform .35s ease, box-shadow .35s ease}.team-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 36%,rgba(0,0,0,.72) 100%);z-index:1}.team-card::after{content:"View Bio";position:absolute;right:18px;top:18px;z-index:3;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.78);color:#111;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(14px);opacity:0;transform:translateY(-6px);transition:.3s}.team-card:hover,.team-card:focus{transform:translateY(-8px);box-shadow:0 30px 80px rgba(0,0,0,.18);outline:none}.team-card:hover::after,.team-card:focus::after{opacity:1;transform:none}.team-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.7s}.team-card:hover img,.team-card:focus img{transform:scale(1.07)}.team-card-copy{position:absolute;left:22px;right:22px;bottom:20px;color:white;z-index:2}.team-card-copy span{display:inline-flex;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(12px);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.12em;color:#ffe0a1}.team-card-copy h3{font:800 34px/1 Playfair Display,serif;margin:12px 0 4px;letter-spacing:-.02em}.team-card-copy p{margin:0;color:rgba(255,255,255,.86);font-weight:700}.leader{min-height:390px}.leader .team-card-copy h3{font-size:42px}.head-pro{min-height:430px}.head-pro .team-card-copy h3{font-size:54px}.head-pro.secondary .team-card-copy h3{font-size:44px}.head-pro::after{content:"Head Profile"}.head-pro.secondary::after{content:"View Profile"}.profile-modal{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;padding:24px}.profile-modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(8,12,10,.56);backdrop-filter:blur(14px)}.modal-card{position:relative;width:min(1040px,94vw);display:grid;grid-template-columns:.92fr 1.08fr;gap:0;border-radius:34px;overflow:hidden;background:rgba(255,255,255,.9);box-shadow:0 40px 120px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.8);animation:modalIn .36s ease both}.modal-photo{width:100%;height:100%;min-height:560px;object-fit:cover}.modal-copy{padding:54px}.modal-copy h2{font:800 clamp(44px,5vw,76px)/.92 Playfair Display,serif;letter-spacing:-.04em;margin:10px 0 8px}.modal-copy h3{margin:0 0 24px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.modal-copy p{font-size:18px;line-height:1.8;color:var(--muted)}.modal-specialty{margin:28px 0;padding:20px;border-radius:22px;background:#f5f1e9}.modal-specialty strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--green);margin-bottom:8px}.modal-specialty span{color:#2a2a2a;line-height:1.7}.modal-actions{display:flex;gap:14px;flex-wrap:wrap}.modal-close{position:absolute;right:18px;top:18px;z-index:2;width:44px;height:44px;border:0;border-radius:999px;background:rgba(255,255,255,.86);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.15)}@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:1180px){.pros-heading{align-items:flex-start;flex-direction:column}.leadership-grid,.pros-full-grid{grid-template-columns:repeat(2,1fr)}.head-pro-grid{grid-template-columns:1fr}.modal-card{grid-template-columns:1fr}.modal-photo{height:360px;min-height:360px}.modal-copy{padding:36px}}@media (max-width:760px){.leadership-grid,.pros-full-grid,.head-pro-grid{grid-template-columns:1fr}.leader,.head-pro,.team-card{min-height:360px}.head-pro .team-card-copy h3,.leader .team-card-copy h3{font-size:42px}.team-directory-link{width:100%;text-align:center}.modal-card{width:96vw;border-radius:24px}.modal-photo{height:300px;min-height:300px}.modal-copy{padding:28px 22px}.modal-actions .btn{width:100%;justify-content:center}.profile-modal{padding:10px}}

/* --- Team roster refined: small circular portraits, one-after-another layout --- */
.pros{margin-bottom:110px;padding-top:40px}.team-hero{max-width:920px;margin:0 auto 46px;text-align:center}.team-hero h2{font:800 clamp(48px,7vw,92px)/.95 Playfair Display,serif;letter-spacing:-.055em;margin:10px 0 12px;color:#0d0d0d}.team-hero p{max-width:720px;margin:18px auto 0;color:#555;font-size:18px;line-height:1.75}.gold-rule{display:block;width:92px;height:2px;margin:22px auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.team-hero .team-directory-link{display:inline-flex;margin-top:26px;background:rgba(255,255,255,.64)}.team-roster{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:44px 54px;max-width:1320px;margin:0 auto}.team-circle.team-card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;width:158px;cursor:pointer;border-radius:22px;padding:8px 6px 16px;transition:transform .28s ease, filter .28s ease;color:#161616}.team-circle.team-card::before,.team-circle.team-card::after{display:none!important}.team-circle.team-card img{position:relative;inset:auto;width:132px;height:132px;object-fit:cover;border-radius:50%;border:4px solid #fff;outline:1.5px solid rgba(190,135,38,.65);box-shadow:0 16px 32px rgba(0,0,0,.16);transition:transform .36s ease, box-shadow .36s ease, outline-color .36s ease}.team-circle.team-card.featured img{width:146px;height:146px;outline:2px solid rgba(190,135,38,.9);box-shadow:0 18px 38px rgba(176,121,30,.22)}.team-circle.team-card h3{font:800 22px/1.06 Playfair Display,serif;letter-spacing:-.025em;margin:18px 0 6px;color:#111}.team-circle.team-card p{margin:0;color:#a66e10;font-size:14px;line-height:1.35;font-weight:600}.team-circle.team-card:hover,.team-circle.team-card:focus{transform:translateY(-8px);filter:saturate(1.06);outline:none}.team-circle.team-card:hover img,.team-circle.team-card:focus img{transform:scale(1.045);outline-color:var(--gold);box-shadow:0 22px 44px rgba(177,121,29,.28)}.team-circle.team-card:hover h3,.team-circle.team-card:focus h3{color:#9d6a13}@media (max-width:900px){.team-roster{gap:34px 26px}.team-circle.team-card{width:140px}.team-circle.team-card img{width:112px;height:112px}.team-circle.team-card.featured img{width:122px;height:122px}.team-circle.team-card h3{font-size:19px}.team-circle.team-card p{font-size:12.5px}.team-hero h2{font-size:54px}}@media (max-width:560px){.team-roster{gap:26px 14px}.team-circle.team-card{width:45%;min-width:132px;padding-left:4px;padding-right:4px}.team-circle.team-card img,.team-circle.team-card.featured img{width:102px;height:102px}.team-circle.team-card h3{font-size:18px;margin-top:14px}.team-circle.team-card p{font-size:12px}.team-hero p{font-size:15.5px}.team-hero h2{font-size:46px}.team-hero .team-directory-link{width:auto}}

/* Premium Events / Playbypoint-ready schedule */
.events{position:relative}.events-shell{display:grid;grid-template-columns:.86fr 1.14fr;gap:28px;align-items:stretch}.events-intro{padding:46px;border-radius:34px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.85);box-shadow:0 22px 60px rgba(0,0,0,.08);backdrop-filter:blur(22px)}.events-intro h2{font:800 clamp(48px,6vw,86px)/.9 Playfair Display,serif;letter-spacing:-.055em;margin:10px 0 20px}.events-copy{font-size:18px;line-height:1.75;color:#5b5b5b;margin:0}.events-status{margin-top:28px;display:inline-grid;grid-template-columns:16px 1fr;gap:8px 12px;align-items:center;padding:14px 18px;border-radius:999px;background:#f3efe7;color:#1a1a1a}.events-status small{grid-column:2;color:#777;font-size:12px}.live-dot{width:12px;height:12px;border-radius:50%;background:#19a75b;box-shadow:0 0 0 8px rgba(25,167,91,.12);animation:livePulse 1.8s infinite}.featured-event{position:relative;overflow:hidden;min-height:360px;border-radius:34px;padding:34px;display:grid;grid-template-columns:110px 1fr;gap:26px;align-items:end;color:white;background:linear-gradient(135deg,rgba(7,50,30,.92),rgba(0,0,0,.46)),url('assets/hero.webp') center/cover;box-shadow:0 26px 80px rgba(0,0,0,.18)}.featured-event::after{content:"";position:absolute;inset:auto -8% -28% auto;width:360px;height:360px;border-radius:50%;background:rgba(211,160,69,.18);filter:blur(8px)}.event-badge{position:absolute;top:24px;left:24px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(14px);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.event-date-card{height:126px;border-radius:24px;background:rgba(255,255,255,.86);color:#151515;display:grid;place-items:center;align-content:center;box-shadow:0 18px 40px rgba(0,0,0,.18)}.event-date-card strong{font-size:13px;letter-spacing:.18em;color:var(--gold)}.event-date-card span{font:800 44px/1 Playfair Display,serif}.event-date-card small{font-weight:900;color:#555}.event-type{margin:0 0 10px;color:#ffd890;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.featured-event h3{font:800 clamp(36px,4vw,64px)/.92 Playfair Display,serif;letter-spacing:-.04em;margin:0 0 14px}.featured-event p:not(.event-type){font-size:17px;line-height:1.65;color:rgba(255,255,255,.82);max-width:610px}.featured-event a{display:inline-flex;margin-top:12px;color:white;text-decoration:none;font-weight:900;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:5px}.schedule-board{margin-top:26px;padding:20px;border-radius:34px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.9);box-shadow:0 22px 60px rgba(0,0,0,.08);backdrop-filter:blur(22px)}.schedule-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.schedule-tabs button{border:0;border-radius:999px;padding:12px 16px;background:#f3efe7;color:#333;font-weight:900;letter-spacing:.04em;cursor:pointer;transition:.25s}.schedule-tabs button.active,.schedule-tabs button:hover{background:var(--green);color:white;transform:translateY(-2px)}.timeline{display:grid;gap:12px}.schedule-item{display:grid;grid-template-columns:88px 54px 1fr 90px;gap:16px;align-items:center;padding:18px 18px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(250,248,242,.72));border:1px solid rgba(255,255,255,.85);transition:.28s}.schedule-item:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(0,0,0,.09)}.schedule-item time{font-weight:900;color:var(--green)}.schedule-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:white;color:var(--gold);box-shadow:0 12px 26px rgba(0,0,0,.08);font-size:22px}.schedule-item span{color:var(--gold);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.schedule-item h3{margin:5px 0 4px;font-size:21px}.schedule-item p{margin:0;color:#656565;line-height:1.45}.schedule-item a{justify-self:end;text-decoration:none;color:var(--green);font-weight:900}.schedule-item.hide{display:none}.event-mini-grid{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-mini-grid article{padding:28px;border-radius:28px;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 45px rgba(0,0,0,.07);backdrop-filter:blur(18px);transition:.28s}.event-mini-grid article:hover{transform:translateY(-5px)}.event-mini-grid span{color:var(--gold);font-weight:900;letter-spacing:.14em;font-size:12px}.event-mini-grid h3{font:800 28px/1.05 Playfair Display,serif;margin:12px 0}.event-mini-grid p{color:#666;line-height:1.6;margin:0}@keyframes livePulse{0%,100%{box-shadow:0 0 0 8px rgba(25,167,91,.12)}50%{box-shadow:0 0 0 14px rgba(25,167,91,.04)}}@media(max-width:1000px){.events-shell{grid-template-columns:1fr}.schedule-item{grid-template-columns:76px 46px 1fr}.schedule-item a{grid-column:3;justify-self:start}.event-mini-grid{grid-template-columns:1fr}}@media(max-width:620px){.events-intro,.featured-event,.schedule-board{border-radius:26px}.events-intro{padding:30px 22px}.featured-event{grid-template-columns:1fr;min-height:420px;padding:28px}.event-date-card{width:112px}.schedule-item{grid-template-columns:1fr;gap:10px}.schedule-item time,.schedule-item a{justify-self:start}.schedule-tabs button{padding:10px 13px;font-size:12px}}

/* Premium Dining / The Padel Grille */
.dining-premium{position:relative;margin-bottom:120px}.dining-hero-card{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:stretch;padding:22px;border-radius:42px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);box-shadow:0 28px 80px rgba(0,0,0,.1);backdrop-filter:blur(24px)}.dining-photo-main{position:relative;min-height:560px;border-radius:32px;overflow:hidden}.dining-photo-main img{width:100%;height:100%;object-fit:cover;transition:.7s}.dining-hero-card:hover .dining-photo-main img{transform:scale(1.045)}.dining-glass-note{position:absolute;left:24px;bottom:24px;padding:18px 22px;border-radius:22px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 44px rgba(0,0,0,.13);backdrop-filter:blur(18px)}.dining-glass-note span{display:block;color:var(--gold);text-transform:uppercase;font-weight:900;letter-spacing:.14em;font-size:12px;margin-bottom:6px}.dining-glass-note strong{font:800 24px/1.1 Playfair Display,serif}.dining-copy{padding:56px 42px;display:flex;flex-direction:column;justify-content:center}.dining-copy h2{font:800 clamp(50px,6vw,90px)/.92 Playfair Display,serif;letter-spacing:-.055em;margin:10px 0 22px}.dining-copy p:not(.eyebrow){font-size:18px;line-height:1.8;color:#5e5e5e;margin:0 0 30px}.dining-actions{display:flex;gap:16px;flex-wrap:wrap}.dining-grid{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.dining-grid article{padding:30px 26px;border-radius:30px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.88);box-shadow:0 18px 48px rgba(0,0,0,.07);backdrop-filter:blur(18px);transition:.28s}.dining-grid article:hover{transform:translateY(-7px);box-shadow:0 24px 58px rgba(0,0,0,.1)}.dining-grid span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f3ead9;color:var(--gold);font-weight:900;margin-bottom:20px}.dining-grid h3{font:800 27px/1.05 Playfair Display,serif;margin:0 0 12px}.dining-grid p{color:#676767;line-height:1.65;margin:0}.dining-special{margin-top:22px;display:grid;grid-template-columns:320px 1fr;gap:26px;align-items:center;padding:20px;border-radius:32px;background:linear-gradient(135deg,rgba(12,91,50,.94),rgba(0,0,0,.88));color:white;box-shadow:0 24px 70px rgba(0,0,0,.16)}.dining-special img{width:100%;height:220px;object-fit:cover;border-radius:24px}.dining-special h3{font:800 clamp(34px,4vw,56px)/1 Playfair Display,serif;margin:8px 0 14px}.dining-special p:not(.eyebrow){color:rgba(255,255,255,.76);font-size:17px;line-height:1.7;max-width:780px}.dining-special .eyebrow{color:#f1c96f}@media(max-width:1000px){.dining-hero-card{grid-template-columns:1fr}.dining-photo-main{min-height:420px}.dining-grid{grid-template-columns:repeat(2,1fr)}.dining-special{grid-template-columns:1fr}.dining-special img{height:260px}.dining-copy{padding:38px 26px}}@media(max-width:620px){.dining-hero-card,.dining-grid article,.dining-special{border-radius:26px}.dining-photo-main{min-height:330px;border-radius:22px}.dining-grid{grid-template-columns:1fr}.dining-copy h2{font-size:48px}.dining-actions .btn{width:100%;justify-content:center}.dining-special{padding:14px}.dining-special img{height:210px}.dining-glass-note{left:14px;right:14px;bottom:14px}.dining-glass-note strong{font-size:20px}}

/* Premium Contact / Club Visit Closing Section */
.contact-visit{position:relative;margin-bottom:0}.visit-hero{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:end;margin-bottom:26px}.visit-hero>div:first-child{padding:50px;border-radius:38px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.88);box-shadow:0 22px 60px rgba(0,0,0,.08);backdrop-filter:blur(22px)}.visit-hero h2{font:800 clamp(54px,7vw,96px)/.88 Playfair Display,serif;letter-spacing:-.055em;margin:10px 0 22px;color:#111}.visit-hero p{font-size:18px;line-height:1.75;color:#5e5e5e;max-width:780px}.club-status{min-height:230px;border-radius:34px;padding:34px;background:linear-gradient(135deg,rgba(12,91,50,.94),rgba(0,0,0,.88)),url('assets/hero-close.webp') center/cover;color:white;box-shadow:0 24px 70px rgba(0,0,0,.17);position:relative;overflow:hidden}.club-status::after{content:"";position:absolute;right:-60px;bottom:-90px;width:220px;height:220px;border-radius:50%;background:rgba(241,201,111,.18);filter:blur(6px)}.status-light{display:block;width:15px;height:15px;border-radius:50%;background:#19a75b;box-shadow:0 0 0 9px rgba(25,167,91,.13);animation:livePulse 1.8s infinite}.status-light.closed{background:#c99127;box-shadow:0 0 0 9px rgba(201,145,39,.13)}.club-status small{display:block;margin-top:28px;color:#f1c96f;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.club-status strong{display:block;font:800 40px/1 Playfair Display,serif;margin:10px 0}.club-status p{color:rgba(255,255,255,.78);font-size:15px;line-height:1.55}.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px}.contact-info-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-info-panel article{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:24px;border-radius:28px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.88);box-shadow:0 18px 48px rgba(0,0,0,.07);backdrop-filter:blur(18px);transition:.28s}.contact-info-panel article:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(0,0,0,.1)}.contact-info-panel span{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:#f3ead9;color:var(--gold);font-size:23px}.contact-info-panel h3,.visit-form h3{font:800 27px/1.05 Playfair Display,serif;margin:0 0 10px}.contact-info-panel p{margin:0;color:#606060;line-height:1.55}.contact-info-panel a{color:var(--green);font-weight:900;text-decoration:none}.contact-info-panel small{display:block;margin-top:5px;color:#777}.visit-form{padding:32px;border-radius:34px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);box-shadow:0 22px 60px rgba(0,0,0,.08);backdrop-filter:blur(22px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.visit-form label{display:block;margin-bottom:14px;color:#333;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.visit-form input,.visit-form select,.visit-form textarea{width:100%;box-sizing:border-box;margin-top:9px;border:1px solid rgba(0,0,0,.09);border-radius:16px;background:#fffdf8;padding:16px 17px;font:500 15px Inter,sans-serif;color:#111;outline:none;transition:.25s}.visit-form textarea{resize:vertical}.visit-form input:focus,.visit-form select:focus,.visit-form textarea:focus{border-color:rgba(201,145,39,.55);box-shadow:0 0 0 5px rgba(201,145,39,.12)}.visit-form button{border:0;cursor:pointer;margin-top:6px}.quick-actions{margin-top:24px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.quick-actions a{min-height:128px;padding:22px;border-radius:28px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.88);box-shadow:0 18px 48px rgba(0,0,0,.07);backdrop-filter:blur(18px);text-decoration:none;color:#111;transition:.28s}.quick-actions a:hover{transform:translateY(-7px);box-shadow:0 24px 58px rgba(0,0,0,.1)}.quick-actions span{display:block;font-size:28px;margin-bottom:18px;color:var(--gold)}.quick-actions strong{display:block;font:800 25px/1.05 Playfair Display,serif}.quick-actions small{display:block;margin-top:8px;color:#666}.map-social{margin-top:24px;display:grid;grid-template-columns:1.35fr .65fr;gap:24px}.map-wrap{min-height:420px;border-radius:36px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.88)}.map-wrap iframe{width:100%;height:100%;min-height:420px;border:0;filter:saturate(.95) contrast(.98)}.social-card{padding:38px;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.88);box-shadow:0 22px 60px rgba(0,0,0,.08);backdrop-filter:blur(22px)}.social-card h3{font:800 clamp(35px,4vw,54px)/.98 Playfair Display,serif;letter-spacing:-.04em;margin:12px 0 16px}.social-card p:not(.eyebrow){color:#666;line-height:1.7}.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.social-links a{padding:13px 15px;border-radius:999px;background:#f3ead9;color:#7f5513;text-decoration:none;font-weight:900}.site-footer{position:relative;overflow:hidden;margin-top:90px;padding:0;color:white;background:#071b12}.footer-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.85),rgba(12,91,50,.7)),url('assets/hero.webp') center/cover;transform:scale(1.04);filter:saturate(.9)}.footer-content{position:relative;z-index:1;width:min(92vw,1620px);margin:auto;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:42px;padding:70px 0 42px}.site-footer .crest{background:rgba(255,255,255,.08)}.footer-brand p{color:rgba(255,255,255,.72);font-size:17px;line-height:1.65;max-width:460px}.site-footer h4{margin:0 0 18px;color:#f1c96f;text-transform:uppercase;letter-spacing:.14em}.site-footer a{display:block;color:rgba(255,255,255,.78);text-decoration:none;margin:11px 0;font-weight:700}.site-footer a:hover{color:white}.footer-bottom{position:relative;z-index:1;width:min(92vw,1620px);margin:auto;padding:22px 0 38px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.58)}
@media(max-width:1100px){.visit-hero,.contact-grid,.map-social,.footer-content{grid-template-columns:1fr}.contact-info-panel,.quick-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.visit-hero>div:first-child,.club-status,.visit-form,.social-card{border-radius:26px;padding:28px 22px}.visit-hero h2{font-size:48px}.contact-info-panel,.form-row,.quick-actions{grid-template-columns:1fr}.contact-info-panel article{grid-template-columns:46px 1fr;padding:20px}.quick-actions a{min-height:auto}.map-wrap,.map-wrap iframe{min-height:320px}.footer-content{gap:20px;padding-top:48px}.site-footer{margin-top:60px}}

/* Consolidated contact section */
.contact-compact{padding-top:70px;margin-bottom:0}.contact-shell{display:grid;grid-template-columns:1.05fr .9fr .95fr;gap:18px;align-items:stretch;padding:22px;border-radius:38px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.92);box-shadow:0 24px 70px rgba(31,47,37,.1);backdrop-filter:blur(22px)}.contact-copy,.compact-form,.compact-map{border-radius:30px;background:rgba(255,255,255,.68);border:1px solid rgba(0,0,0,.04);box-shadow:0 14px 38px rgba(0,0,0,.055)}.contact-copy{padding:36px}.contact-copy h2{font:800 clamp(54px,6.8vw,88px)/.86 Playfair Display,serif;letter-spacing:-.06em;margin:10px 0 18px;color:#111}.contact-copy>p:not(.eyebrow){color:#666;line-height:1.75;font-size:17px;max-width:620px}.compact-details{display:grid;gap:10px;margin:28px 0 22px}.compact-details a{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:14px;border-radius:18px;background:#fffdf8;text-decoration:none;color:#111;border:1px solid rgba(0,0,0,.055);transition:.25s}.compact-details a:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(0,0,0,.08)}.compact-details span{grid-row:span 2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f3ead9;color:var(--gold)}.compact-details strong{font-size:15px}.compact-details small{color:#777}.compact-actions{display:flex;flex-wrap:wrap;gap:10px}.compact-actions a{padding:12px 15px;border-radius:999px;background:#102f21;color:white;text-decoration:none;font-weight:900;font-size:13px}.compact-actions a:nth-child(3),.compact-actions a:nth-child(4){background:#f3ead9;color:#7f5513}.compact-form{padding:30px}.compact-form h3{font:800 32px/1 Playfair Display,serif;margin:0 0 18px;color:#111}.compact-form label{display:block;margin-bottom:13px;color:#333;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.compact-form input,.compact-form select,.compact-form textarea{width:100%;box-sizing:border-box;margin-top:8px;border:1px solid rgba(0,0,0,.09);border-radius:15px;background:#fffdf8;padding:14px 15px;font:500 14px Inter,sans-serif;color:#111;outline:none;transition:.25s}.compact-form textarea{resize:vertical}.compact-form input:focus,.compact-form select:focus,.compact-form textarea:focus{border-color:rgba(201,145,39,.55);box-shadow:0 0 0 5px rgba(201,145,39,.12)}.compact-form button{border:0;cursor:pointer;margin-top:4px;width:100%;justify-content:center}.compact-map{position:relative;overflow:hidden;min-height:100%;padding:0}.compact-map iframe{width:100%;height:100%;min-height:430px;border:0;filter:saturate(.95) contrast(.98)}.compact-map a{position:absolute;left:18px;bottom:18px;padding:13px 16px;border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);color:#102f21;text-decoration:none;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.12)}@media(max-width:1180px){.contact-shell{grid-template-columns:1fr 1fr}.compact-map{grid-column:1/-1}.compact-map iframe{min-height:300px}}@media(max-width:720px){.contact-compact{padding-top:45px}.contact-shell{grid-template-columns:1fr;padding:14px;border-radius:28px}.contact-copy,.compact-form,.compact-map{border-radius:24px}.contact-copy,.compact-form{padding:24px 20px}.contact-copy h2{font-size:50px}.compact-map iframe{min-height:260px}.compact-actions a{flex:1 1 calc(50% - 10px);text-align:center}.site-footer{margin-top:52px}}


/* Minimal luxury footer refresh */
.site-footer.minimal-footer{
  margin-top:52px;
  padding:0;
  background:#fffdf8;
  color:#202020;
  border-top:1px solid rgba(201,145,39,.28);
  position:relative;
  overflow:visible;
}
.site-footer.minimal-footer::before{
  content:"See you on the courts.";
  display:block;
  text-align:center;
  font:800 15px/1 Inter,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9a6b1f;
  padding-top:24px;
}
.minimal-footer .footer-inner{
  width:min(92vw,1320px);
  margin:0 auto;
  padding:20px 0 22px;
  display:grid;
  justify-items:center;
  gap:12px;
}
.minimal-footer .footer-mark{
  display:flex;
  align-items:center;
  gap:12px;
}
.minimal-footer .footer-mark .crest{
  width:38px;
  height:38px;
  font-size:18px;
  box-shadow:0 10px 24px rgba(201,145,39,.16);
}
.minimal-footer .footer-mark strong{
  font:800 27px/1 Playfair Display,serif;
  letter-spacing:.22em;
  color:#111;
}
.minimal-footer .footer-nav,
.minimal-footer .footer-contact-line,
.minimal-footer .footer-socials{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px 18px;
}
.minimal-footer a{
  display:inline-flex;
  margin:0;
  color:#4d4d4d;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  transition:.22s ease;
}
.minimal-footer .footer-nav a{
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#173b2a;
}
.minimal-footer a:hover{
  color:#b98624;
  transform:translateY(-1px);
}
.minimal-footer .footer-contact-line{
  color:#aaa;
  font-size:13px;
}
.minimal-footer .footer-socials a{
  padding:9px 13px;
  border-radius:999px;
  background:#f3ead9;
  color:#7f5513;
  border:1px solid rgba(201,145,39,.12);
}
.minimal-footer .footer-socials a:hover{
  background:#fff;
  box-shadow:0 12px 28px rgba(201,145,39,.16);
}
.minimal-footer .footer-fineprint{
  color:#8b8b8b;
  font-size:12px;
  margin-top:2px;
}
.back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(201,145,39,.28);
  background:rgba(255,253,248,.86);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(0,0,0,.12);
  color:#7f5513;
  font-size:20px;
  cursor:pointer;
  z-index:20;
  transition:.24s ease;
}
.back-to-top:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.16)}
@media(max-width:720px){
  .site-footer.minimal-footer::before{font-size:12px;padding-top:20px}
  .minimal-footer .footer-inner{padding:18px 0 22px;gap:11px}
  .minimal-footer .footer-contact-line{gap:8px 10px;line-height:1.5}
  .minimal-footer .footer-contact-line span{display:none}
  .minimal-footer .footer-nav{gap:9px 14px}
  .back-to-top{width:40px;height:40px;right:15px;bottom:15px}
}

/* =========================
   Final alignment polish
   ========================= */
:root{
  --site-max:1440px;
  --side-pad:clamp(20px,4vw,72px);
  --section-space:clamp(72px,8vw,118px);
  --content-gap:clamp(28px,4vw,56px);
}
.topbar{
  width:min(calc(100vw - (var(--side-pad) * 2)), var(--site-max));
  height:96px;
  padding:16px 26px;
  gap:24px;
}
.topbar.scrolled{height:76px}.logo{min-width:210px}.crest{flex:0 0 auto}.logotype strong{font-size:34px}.logotype small{font-size:11px;letter-spacing:.36em}.desktop-nav{gap:clamp(16px,1.5vw,28px)}.desktop-nav a{font-size:13px;white-space:nowrap}.book-btn{white-space:nowrap;padding:17px 24px}
.hero{padding-left:var(--side-pad);padding-right:var(--side-pad)}
.hero-content,.hero-widgets{max-width:var(--site-max)}
.stats-panel,.section,.footer-content,.footer-bottom,.minimal-footer .footer-inner{
  width:min(calc(100vw - (var(--side-pad) * 2)), var(--site-max));
}
.section{margin-bottom:var(--section-space)}
.experience,.split,.events-shell,.contact-shell{gap:var(--content-gap)}
.section-intro h2,.section-heading h2,.split-copy h2,.contact-card h2,.events-intro h2,.dining-copy h2,.team-hero h2{margin-left:0;margin-right:0}
.feature-cards,.pros-grid,.event-row,.dining-grid,.event-mini-grid{align-items:stretch}.feature,.pro,.event-row article,.dining-grid article,.event-mini-grid article{height:100%}
.stats-panel{grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.stats-panel article{padding:0 20px;min-width:0}.stats-panel strong{line-height:1.08}.stats-panel small{line-height:1.2}
.split{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}.split-photo img{display:block}.split-copy{height:fit-content}
.team-hero{text-align:center;max-width:760px;margin:0 auto 40px}.team-hero .gold-rule{margin-left:auto;margin-right:auto}.team-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:30px 22px;align-items:start;justify-items:center;max-width:1240px;margin:0 auto}.team-card.team-circle{width:142px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0;background:transparent;border:0;box-shadow:none}.team-card.team-circle img{width:112px;height:112px;aspect-ratio:1/1;border-radius:999px;object-fit:cover;display:block;border:3px solid #fff;box-shadow:0 12px 30px rgba(17,24,18,.12);outline:1px solid rgba(201,145,39,.22);transition:.25s ease}.team-card.team-circle h3{margin:14px 0 4px;font-size:15px;line-height:1.18;min-height:36px;display:flex;align-items:flex-end;justify-content:center}.team-card.team-circle p{margin:0;color:#6d6d6d;font-size:12px;line-height:1.28;min-height:32px}.team-card.team-circle:hover{transform:none}.team-card.team-circle:hover img{transform:translateY(-5px) scale(1.04);outline:2px solid rgba(201,145,39,.62);box-shadow:0 18px 40px rgba(17,24,18,.16)}
.dining-hero-card{align-items:center}.dining-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dining-special{align-items:center}.events-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:stretch}.schedule-item{grid-template-columns:96px 52px minmax(0,1fr) auto;align-items:center}.schedule-item h3,.schedule-item p{margin-right:16px}.schedule-tabs{justify-content:center}.event-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-compact{padding-top:var(--section-space)}.contact-shell{grid-template-columns:1fr 0.92fr 0.96fr;align-items:stretch}.contact-copy,.compact-form,.compact-map{height:100%}.compact-details a{align-items:center}.compact-actions{align-items:center}.compact-form h3{margin-bottom:22px}.compact-map iframe{display:block}
.site-footer.minimal-footer{margin-top:56px}.minimal-footer .footer-inner{padding:18px 0 20px;gap:10px}.minimal-footer .footer-nav,.minimal-footer .footer-contact-line,.minimal-footer .footer-socials{width:100%;gap:10px 18px}.minimal-footer .footer-contact-line{line-height:1.45}.minimal-footer .footer-fineprint{text-align:center}.minimal-footer .footer-mark{justify-content:center}.minimal-footer .footer-socials a{align-items:center;justify-content:center}
@media(max-width:1280px){.topbar{height:82px}.desktop-nav{gap:16px}.desktop-nav a{font-size:12px}.book-btn{padding:15px 18px}.logotype strong{font-size:30px}.logo{min-width:185px}.stats-panel{grid-template-columns:repeat(3,1fr);row-gap:22px}.stats-panel article{border-right:0}.dining-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.events-shell,.contact-shell{grid-template-columns:1fr 1fr}.featured-event,.compact-map{grid-column:1/-1}.compact-map iframe{min-height:340px}}
@media(max-width:1180px){.topbar{width:min(calc(100vw - 28px), var(--site-max));}.logo{min-width:0}.hero{padding-left:clamp(18px,4vw,46px);padding-right:clamp(18px,4vw,46px)}.stats-panel,.section,.minimal-footer .footer-inner{width:min(calc(100vw - 36px), var(--site-max))}.team-roster{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:28px 14px}.team-card.team-circle{width:128px}.team-card.team-circle img{width:100px;height:100px}}
@media(max-width:760px){.topbar{height:auto;align-items:center}.hero{padding-top:166px}.hero-bg,.hero-shade{inset:130px 0 0}.hero h1{font-size:clamp(52px,14vw,76px)}.stats-panel{grid-template-columns:repeat(2,1fr);padding:24px 16px}.stats-panel article{grid-template-columns:44px 1fr;padding:8px 6px}.stats-panel span{font-size:30px}.experience,.split,.events-shell,.contact-shell{grid-template-columns:1fr}.feature-cards,.dining-grid,.event-mini-grid{grid-template-columns:1fr}.team-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.team-card.team-circle{width:100%}.team-card.team-circle img{width:94px;height:94px}.team-card.team-circle h3{font-size:14px;min-height:auto}.team-card.team-circle p{font-size:12px;min-height:auto}.schedule-tabs{justify-content:flex-start;overflow:auto;padding-bottom:5px}.schedule-item{grid-template-columns:1fr;gap:12px;text-align:left}.schedule-item time{font-weight:900;color:#9a6b1f}.schedule-item a{width:max-content}.contact-copy h2{font-size:clamp(44px,12vw,62px)}.minimal-footer .footer-nav,.minimal-footer .footer-contact-line,.minimal-footer .footer-socials{gap:9px 12px}.minimal-footer .footer-contact-line{flex-direction:column}.minimal-footer .footer-contact-line span{display:none}.minimal-footer .footer-mark strong{font-size:24px}.site-footer.minimal-footer::before{letter-spacing:.1em}}

/* Footer final alignment fix: keep tagline position, center all footer contents */
.site-footer.minimal-footer{
  display:block !important;
  text-align:center;
}
.site-footer.minimal-footer::before{
  margin:0 auto;
  width:100%;
}
.minimal-footer .footer-inner{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:min(92vw,1320px);
  margin-left:auto;
  margin-right:auto;
}
.minimal-footer .footer-mark,
.minimal-footer .footer-nav,
.minimal-footer .footer-contact-line,
.minimal-footer .footer-socials,
.minimal-footer .footer-fineprint{
  width:100%;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.minimal-footer .footer-contact-line a,
.minimal-footer .footer-socials a,
.minimal-footer .footer-nav a{
  text-align:center;
}


/* Team layout refinement: larger leadership, centered rows */
.team-roster{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:28px;
  max-width:1180px;
  margin:0 auto;
}
.team-row{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  gap:28px 54px;
}
.team-row-leaders{gap:34px 68px;margin-top:6px;}
.team-row-featured{gap:30px 78px;margin-top:-4px;}
.team-row-pros{gap:26px 34px;max-width:980px;}
.team-card.team-circle.leader-circle{width:178px;}
.team-card.team-circle.leader-circle img{
  width:156px;
  height:156px;
  border:4px solid #fff;
  outline:2px solid rgba(201,145,39,.62);
  box-shadow:0 22px 50px rgba(17,24,18,.16), 0 0 0 9px rgba(201,145,39,.06);
}
.team-card.team-circle.leader-circle h3{
  font-size:20px;
  min-height:0;
  margin-top:16px;
  font-family:Playfair Display,serif;
  letter-spacing:-.02em;
}
.team-card.team-circle.leader-circle p{
  color:#a06e1b;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  min-height:0;
}
.team-row-featured .team-card.team-circle.featured{width:158px;}
.team-row-featured .team-card.team-circle.featured img{
  width:128px;
  height:128px;
  outline:2px solid rgba(201,145,39,.48);
}
.team-row-featured .team-card.team-circle.featured h3{
  font-size:18px;
  min-height:0;
  font-family:Playfair Display,serif;
}
.team-row-featured .team-card.team-circle.featured p{
  font-size:12px;
  color:#a06e1b;
  font-weight:800;
  min-height:0;
}
.team-row-pros .team-card.team-circle{width:118px;}
.team-row-pros .team-card.team-circle img{width:92px;height:92px;}
.team-row-pros .team-card.team-circle h3{font-size:14px;min-height:0;margin-top:12px;}
.team-row-pros .team-card.team-circle p{font-size:11px;min-height:0;}
@media(max-width:760px){
  .team-roster{gap:24px;}
  .team-row{gap:24px 20px;}
  .team-card.team-circle.leader-circle{width:calc(50% - 12px);}
  .team-card.team-circle.leader-circle img{width:118px;height:118px;}
  .team-card.team-circle.leader-circle h3{font-size:17px;}
  .team-row-featured .team-card.team-circle.featured{width:calc(50% - 12px);}
  .team-row-featured .team-card.team-circle.featured img{width:106px;height:106px;}
  .team-row-pros .team-card.team-circle{width:calc(50% - 12px);}
  .team-row-pros .team-card.team-circle img{width:88px;height:88px;}
}

/* Interactive aerial club map */
.club-map{margin-top:0;padding-top:clamp(72px,8vw,118px)}.club-map-copy{text-align:center;max-width:780px;margin:0 auto 34px}.club-map-copy h2{font:700 clamp(42px,5vw,78px)/.95 Playfair Display,serif;letter-spacing:-.04em;margin:10px 0 14px}.club-map-copy p{color:var(--muted);font-size:18px;line-height:1.7;margin:0 auto}.map-experience{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:stretch}.map-photo{position:relative;min-height:560px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.75);isolation:isolate;background:#102016}.map-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.02)),radial-gradient(circle at var(--pin-x,66%) var(--pin-y,54%),rgba(241,201,111,.23),transparent 22%);pointer-events:none;transition:.3s}.map-photo img{width:100%;height:100%;min-height:560px;object-fit:cover;display:block;transform:scale(1.02)}.map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:54px;height:54px;border-radius:999px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.78);color:var(--gold);font-size:24px;display:grid;place-items:center;box-shadow:0 15px 35px rgba(0,0,0,.25),0 0 0 0 rgba(241,201,111,.62);backdrop-filter:blur(18px);cursor:pointer;transition:.25s ease;z-index:2}.map-pin::before{content:"";position:absolute;inset:-10px;border-radius:inherit;border:1px solid rgba(241,201,111,.45);animation:pinPulse 2.3s ease-in-out infinite}.map-pin:hover,.map-pin.active{transform:translate(-50%,-50%) scale(1.16);background:linear-gradient(135deg,#fff,var(--gold2));color:#101010;box-shadow:0 18px 45px rgba(0,0,0,.28),0 0 40px rgba(241,201,111,.45)}@keyframes pinPulse{0%,100%{opacity:.25;transform:scale(.82)}50%{opacity:.95;transform:scale(1.18)}}.map-card{border-radius:34px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);backdrop-filter:blur(24px);padding:36px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.map-card span{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.map-card h3{font:700 42px/1 Playfair Display,serif;letter-spacing:-.03em;margin:14px 0 14px}.map-card p{color:var(--muted);font-size:17px;line-height:1.7;margin:0 0 28px}.map-card a{color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.map-card a:hover{color:var(--gold)}
@media(max-width:980px){.map-experience{grid-template-columns:1fr}.map-card{min-height:auto}.map-photo,.map-photo img{min-height:440px}.map-pin{width:46px;height:46px;font-size:20px}}
@media(max-width:620px){.map-photo,.map-photo img{min-height:360px}.map-card{padding:26px}.map-card h3{font-size:34px}.map-pin{width:40px;height:40px;font-size:18px}}

/* Mobile navigation and responsive polish */
@media (max-width:1180px){
  .topbar{z-index:1000;justify-content:space-between;gap:14px}
  .logo{position:relative;z-index:1002}
  .menu-btn{position:relative;z-index:1002;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(25,56,43,.15);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;transition:.25s;line-height:1}
  .menu-btn:hover,.menu-btn:focus-visible{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px rgba(201,145,39,.14)}
  .menu-btn span{display:block;transition:transform .25s}
  .menu-btn[aria-expanded="true"] span{transform:rotate(90deg)}
  .desktop-nav{position:fixed;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;top:0;right:0;width:min(390px,88vw);height:100dvh;padding:125px 28px 34px;background:rgba(255,255,255,.98);box-shadow:-24px 0 60px rgba(0,0,0,.18);transform:translateX(110%);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease,visibility .3s;overflow-y:auto;z-index:1001}
  .desktop-nav.open{transform:translateX(0);opacity:1;visibility:visible}
  .desktop-nav a{padding:17px 4px;border-bottom:1px solid rgba(25,56,43,.1);font-size:16px}
  .desktop-nav a::after{bottom:8px;right:auto;width:42px}
  body.menu-open{overflow:hidden}
  body.menu-open::after{content:"";position:fixed;inset:0;background:rgba(5,18,12,.52);backdrop-filter:blur(3px);z-index:999}
}

@media (max-width:760px){
  html{scroll-padding-top:110px}
  body{overflow-x:hidden}
  .topbar{height:82px!important;min-height:82px;padding:10px 14px}
  .crest{width:39px;height:47px;border-radius:13px 13px 18px 18px;font-size:25px}
  .logo{gap:10px}
  .logotype strong{font-size:25px;letter-spacing:.12em}
  .logotype small{font-size:10px;letter-spacing:.19em;margin-top:4px}
  .menu-btn{width:44px;height:44px;font-size:25px}
  .desktop-nav{width:min(340px,90vw);padding:105px 22px 28px}
  .hero{padding-left:20px;padding-right:20px}
  .hero h1{font-size:clamp(44px,13vw,58px);line-height:.98}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;width:100%}
  .hero-actions .btn{width:100%;justify-content:center;text-align:center}
  .hero-widgets{gap:12px}
  .widget{padding:17px 15px;gap:12px}
  .stats-panel{width:calc(100% - 24px);padding:18px;margin-left:auto;margin-right:auto}
  .section{width:min(100% - 32px,1320px)}
  .map-experience{grid-template-columns:1fr!important}
  .map-photo{min-height:430px}
  .map-card{position:relative!important;inset:auto!important;width:100%!important;margin-top:14px}
  .team-row{gap:24px!important}
  .team-card{max-width:320px;width:100%}
  .compact-form{grid-template-columns:1fr!important}
  .compact-form button{width:100%}
  .contact-actions{grid-template-columns:1fr!important}
  .site-footer{padding-left:20px;padding-right:20px}
}

@media (max-width:420px){
  .logotype small{display:none}
  .hero{padding-top:132px}
  .hero-bg,.hero-shade{inset:96px 0 0}
  .hero h1{font-size:42px}
  .widget .icon{display:none}
  .map-photo{min-height:360px}
  .map-pin{transform:translate(-50%,-50%) scale(.88)}
}

/* Mobile-first content editing: keeps the full desktop site while giving phones a lighter, faster experience. */
.mobile-reveal-btn{display:none}
@media (max-width:760px){
  .hero{padding:142px 20px 38px;min-height:660px;display:flex;align-items:flex-end}
  .hero-bg,.hero-shade{inset:104px 0 0}
  .hero-content{width:100%;padding:0 0 16px}
  .hero-content .location{font-size:11px;margin-bottom:12px;letter-spacing:.13em}
  .hero h1{font-size:clamp(43px,12vw,60px);line-height:.96;max-width:340px;margin-bottom:14px}
  .hero-copy{font-size:15px;line-height:1.55;max-width:330px;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hero-actions{gap:10px}
  .hero-actions .btn{padding:14px 18px;font-size:12px}
  .hero-actions .btn.glass{display:none}
  .hero-widgets{margin-top:14px;display:block}
  .hero-widgets .widget{display:none}
  .hero-widgets .widget:first-child{display:grid;padding:14px 15px;border-radius:17px;grid-template-columns:42px 1fr 16px;gap:12px;max-width:340px}
  .hero-widgets .widget:first-child .icon{width:40px;height:40px;border-radius:12px;font-size:18px}
  .hero-widgets .widget:first-child small{font-size:9px;margin-bottom:5px}
  .hero-widgets .widget:first-child strong{font-size:16px}
  .hero-widgets .widget:first-child p{font-size:11px;margin-top:4px}
  .hero-tennis-ball{display:none}

  .stats-panel{margin:14px auto 55px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:12px;background:rgba(255,255,255,.9);border-radius:20px}
  .stats-panel article{flex:0 0 145px;scroll-snap-align:start;display:grid;grid-template-columns:36px 1fr;padding:10px 8px;border-radius:14px;background:#fff}
  .stats-panel span{font-size:25px}.stats-panel strong{font-size:15px}.stats-panel small{font-size:9px}

  .section{margin-bottom:56px}
  .club-map-copy h2,.section-intro h2,.split-copy h2,.team-hero h2,.dining-copy h2,.events-intro h2{font-size:clamp(38px,11vw,52px);line-height:1}
  .club-map-copy p,.section-intro p,.split-copy p,.team-hero p,.dining-copy p,.events-copy{font-size:15px;line-height:1.6}
  .map-photo,.map-photo img{min-height:300px}.map-card{padding:22px}.map-card p{font-size:14px;line-height:1.55;margin-bottom:18px}

  .experience{gap:26px}.section-intro{padding-right:6px}.feature-cards{gap:12px}.feature{height:220px}
  .split-photo img{height:300px}.split-copy{padding:27px 21px}.pill-grid{gap:8px;margin:20px 0}.pill-grid span{padding:9px 12px;font-size:12px}

  .mobile-clamp > *:nth-child(n+4){display:none!important}
  .mobile-clamp.mobile-expanded > *{display:flex!important}
  .feature-cards.mobile-clamp.mobile-expanded > *{display:block!important}
  .dining-grid.mobile-clamp.mobile-expanded > *, .event-mini-grid.mobile-clamp.mobile-expanded > *{display:block!important}
  .timeline.mobile-clamp.mobile-expanded > *{display:grid!important}
  .team-roster.mobile-clamp > .team-row:nth-child(n+3){display:none!important}
  .team-roster.mobile-clamp.mobile-expanded > .team-row{display:flex!important}

  .mobile-reveal-btn{display:flex;margin:18px auto 0;border:1px solid rgba(154,107,31,.35);background:rgba(255,255,255,.88);color:#7d5517;border-radius:999px;padding:12px 18px;font:800 12px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;align-items:center;justify-content:center;gap:8px;box-shadow:0 9px 24px rgba(0,0,0,.08)}
  .mobile-reveal-btn::after{content:'↓';font-size:14px}.mobile-reveal-btn[aria-expanded="true"]::after{content:'↑'}

  .team-hero{margin-bottom:28px}.team-roster{gap:20px 8px}.team-row{gap:18px 8px!important;flex-wrap:wrap;justify-content:center}.team-circle.team-card{width:44%;padding-bottom:8px}.team-circle.team-card img{width:86px;height:86px}.team-circle.team-card h3{margin-top:10px;font-size:14px}
  .dining-hero-card{gap:0}.dining-photo-main img{min-height:280px}.dining-copy{padding:26px 21px}.dining-grid{gap:12px}.dining-grid article{padding:23px}
  .events-shell{gap:16px}.events-intro,.featured-event{padding:25px 21px}.featured-event{grid-template-columns:58px 1fr}.event-date-card{width:58px}.schedule-board{padding:14px}.schedule-item{padding:18px}.schedule-item p{display:none}.event-mini-grid{gap:12px}
  .contact-copy,.compact-form{padding:23px 18px}.compact-details a{padding:15px 0}.compact-actions{gap:8px}.compact-actions a{font-size:11px;padding:11px}
}

/* Refined mobile hero: clean split-layout with image above and content card below. */
@media (max-width:760px){
  .hero{
    min-height:0;
    padding:0 16px 28px;
    margin-top:82px;
    display:block;
    overflow:visible;
    background:#f7f4ed;
  }
  .hero-bg{
    position:relative;
    inset:auto;
    height:330px;
    border-radius:0 0 26px 26px;
    overflow:hidden;
    box-shadow:0 18px 42px rgba(17,43,31,.16);
  }
  .hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:58% center;
    transform:none;
    animation:none;
  }
  .hero-shade{
    position:absolute;
    inset:0 16px auto;
    height:330px;
    border-radius:0 0 26px 26px;
    background:linear-gradient(180deg,rgba(5,26,17,.05) 38%,rgba(5,26,17,.48) 100%);
    pointer-events:none;
  }
  .hero-content{
    position:relative;
    z-index:3;
    width:calc(100% - 18px);
    max-width:none;
    margin:-58px auto 0;
    padding:24px 21px 22px;
    border-radius:24px;
    color:var(--ink);
    background:rgba(255,255,255,.96);
    border:1px solid rgba(255,255,255,.9);
    box-shadow:0 20px 48px rgba(17,43,31,.16);
    backdrop-filter:blur(18px);
  }
  .hero-content .location{
    margin:0 0 10px;
    color:#a96f16;
    font-size:10px;
    letter-spacing:.15em;
  }
  .hero h1{
    max-width:none;
    margin:0 0 12px;
    color:var(--green);
    font-size:clamp(37px,10.5vw,48px);
    line-height:.98;
    letter-spacing:-.04em;
    text-shadow:none;
  }
  .hero h1 em{color:#b77c22}
  .hero-copy{
    display:block;
    max-width:none;
    margin:0 0 18px;
    color:#59635d;
    font-size:14px;
    line-height:1.55;
    -webkit-line-clamp:unset;
    overflow:visible;
  }
  .hero-actions{
    display:block;
    width:100%;
  }
  .hero-actions .btn.gold{
    width:100%;
    min-height:50px;
    justify-content:center;
    padding:14px 18px;
    border-radius:14px;
    background:linear-gradient(135deg,var(--green),#214f3a);
    box-shadow:0 12px 28px rgba(20,70,47,.24);
  }
  .hero-actions .btn.glass,
  .hero-widgets,
  .hero-tennis-ball{display:none!important}
}

@media (max-width:420px){
  .hero{padding:0 12px 24px;margin-top:82px}
  .hero-bg{height:290px;border-radius:0 0 22px 22px}
  .hero-shade{inset:0 12px auto;height:290px;border-radius:0 0 22px 22px}
  .hero-content{width:calc(100% - 12px);margin-top:-48px;padding:21px 18px 19px;border-radius:21px}
  .hero h1{font-size:38px}
  .hero-copy{font-size:13.5px}
}

/* Mobile hero motion polish: subtle, premium effects without adding visual clutter. */
@media (max-width:760px){
  .hero-bg{
    isolation:isolate;
    animation:mobileHeroFrameIn .85s cubic-bezier(.2,.75,.25,1) both;
  }
  .hero-bg::after{
    content:"";
    position:absolute;
    inset:-35% -55%;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.22) 49%,transparent 60%);
    transform:translateX(-42%) rotate(2deg);
    animation:mobileHeroLightSweep 5.8s 1.2s ease-in-out infinite;
    mix-blend-mode:soft-light;
  }
  .hero-bg img{
    will-change:transform;
    animation:mobileHeroKenBurns 14s ease-in-out infinite alternate;
  }
  .hero-shade{
    animation:mobileHeroShadeIn 1.1s ease both;
  }
  .hero-content{
    overflow:hidden;
    animation:mobileHeroCardIn .85s .18s cubic-bezier(.18,.8,.28,1) both;
  }
  .hero-content::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:-105px;
    top:-115px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(212,168,78,.19),rgba(212,168,78,0) 70%);
    pointer-events:none;
    animation:mobileHeroGlow 4.6s ease-in-out infinite alternate;
  }
  .hero-content .location,
  .hero h1,
  .hero-copy,
  .hero-actions{
    position:relative;
    z-index:1;
  }
  .hero-content .location{animation:mobileHeroTextIn .6s .4s both}
  .hero h1{animation:mobileHeroTextIn .68s .48s both}
  .hero-copy{animation:mobileHeroTextIn .68s .57s both}
  .hero-actions{animation:mobileHeroTextIn .68s .66s both}
  .hero-actions .btn.gold{
    position:relative;
    overflow:hidden;
    transform:translateZ(0);
    transition:transform .22s ease,box-shadow .22s ease;
    animation:mobileHeroButtonPulse 3.8s 1.7s ease-in-out infinite;
  }
  .hero-actions .btn.gold::after{
    content:"";
    position:absolute;
    inset:-2px;
    background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.34) 48%,transparent 68%);
    transform:translateX(-125%);
    animation:mobileHeroButtonShine 4.8s 2.1s ease-in-out infinite;
    pointer-events:none;
  }
  .hero-actions .btn.gold:active{transform:scale(.98)}
}

@keyframes mobileHeroFrameIn{
  from{opacity:0;transform:translateY(-10px) scale(.985)}
  to{opacity:1;transform:none}
}
@keyframes mobileHeroCardIn{
  from{opacity:0;transform:translateY(28px) scale(.975)}
  to{opacity:1;transform:none}
}
@keyframes mobileHeroTextIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}
@keyframes mobileHeroKenBurns{
  from{transform:scale(1.015) translate3d(0,0,0)}
  to{transform:scale(1.085) translate3d(-1.4%,.7%,0)}
}
@keyframes mobileHeroLightSweep{
  0%,58%{transform:translateX(-45%) rotate(2deg);opacity:0}
  68%{opacity:.75}
  82%,100%{transform:translateX(45%) rotate(2deg);opacity:0}
}
@keyframes mobileHeroShadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes mobileHeroGlow{
  from{transform:scale(.9);opacity:.55}
  to{transform:scale(1.15);opacity:1}
}
@keyframes mobileHeroButtonPulse{
  0%,100%{box-shadow:0 12px 28px rgba(20,70,47,.24)}
  50%{box-shadow:0 16px 34px rgba(20,70,47,.34)}
}
@keyframes mobileHeroButtonShine{
  0%,64%{transform:translateX(-125%)}
  82%,100%{transform:translateX(125%)}
}

@media (prefers-reduced-motion:reduce){
  .hero-bg,.hero-bg::after,.hero-bg img,.hero-shade,.hero-content,.hero-content::before,
  .hero-content .location,.hero h1,.hero-copy,.hero-actions,.hero-actions .btn.gold,
  .hero-actions .btn.gold::after{animation:none!important;transition:none!important}
}

/* Responsive typography and narrow-screen safeguards. */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:hidden;
}
body{
  overflow-x:hidden;
  font-size:clamp(15px,.2vw + 14px,17px);
}
img,svg,video{max-width:100%}
h1,h2,h3,h4,p,a,button,label,input,textarea,select{overflow-wrap:anywhere}
.btn,.book-btn,.mobile-reveal-btn{white-space:normal;text-align:center}
input,textarea,select,button{font:inherit}

/* Fluid section titles on tablets and smaller laptops. */
@media (max-width:1180px){
  .section-intro h2,.section-heading h2,.split-copy h2,.contact-card h2,
  .club-map-copy h2,.team-hero h2,.dining-copy h2,.events-intro h2{
    font-size:clamp(38px,6vw,62px);
  }
  .section-intro p,.split-copy p,.contact-card p,.club-map-copy p,
  .team-hero p,.dining-copy p,.events-copy{
    font-size:clamp(15px,1.5vw,18px);
  }
}

@media (max-width:760px){
  body{font-size:15px}
  .section{width:min(92vw,680px)}
  .section-intro h2,.section-heading h2,.split-copy h2,.contact-card h2,
  .club-map-copy h2,.team-hero h2,.dining-copy h2,.events-intro h2{
    font-size:clamp(32px,9.5vw,44px);
    line-height:1.04;
    letter-spacing:-.025em;
  }
  .section-intro p,.split-copy p,.contact-card p,.club-map-copy p,
  .team-hero p,.dining-copy p,.events-copy,.section-note{
    font-size:15px;
    line-height:1.62;
  }
  h3{line-height:1.2}
  .feature h3,.pro h3,.team-card h3,.event-row h3,.event-mini-grid h3{font-size:clamp(15px,4.4vw,18px)}
  .feature p,.pro p,.team-card p,.event-row p,.event-mini-grid p{font-size:13px;line-height:1.45}
  .btn{font-size:12px;line-height:1.25;min-height:48px}
  .compact-form input,.compact-form textarea,.compact-form select{font-size:16px;line-height:1.35}
  .desktop-nav.open a{font-size:clamp(18px,5.2vw,24px);line-height:1.2}
  .footer-logo strong{font-size:clamp(24px,8vw,31px)}
  footer{font-size:13px;line-height:1.5}
}

@media (max-width:420px){
  .topbar{padding:12px 14px;gap:10px}
  .crest{width:39px;height:47px;font-size:24px;border-radius:13px 13px 18px 18px}
  .logotype strong{font-size:clamp(22px,7.2vw,27px);letter-spacing:.11em}
  .logotype small{font-size:9px;letter-spacing:.18em}
  .menu-btn{font-size:27px;flex:0 0 34px}
  .hero h1{font-size:clamp(33px,10.7vw,40px)}
  .hero-copy{font-size:14px;line-height:1.5}
  .hero-content .location{font-size:9px}
  .section-intro h2,.section-heading h2,.split-copy h2,.contact-card h2,
  .club-map-copy h2,.team-hero h2,.dining-copy h2,.events-intro h2{
    font-size:clamp(29px,9.6vw,38px);
  }
  .team-circle.team-card{width:47%}
  .team-circle.team-card h3{font-size:13px}
  .schedule-tabs button{font-size:11px;padding:10px 12px}
  .compact-actions a{font-size:10.5px}
}

@media (max-width:350px){
  .hero{padding-left:9px;padding-right:9px}
  .hero-shade{inset-left:9px;inset-right:9px}
  .hero-content{padding:19px 15px 18px}
  .hero h1{font-size:32px}
  .section{width:94vw}
  .stats-panel article{flex-basis:132px}
  .team-circle.team-card{width:100%}
  .team-circle.team-card img{width:98px;height:98px}
}

/* Fix mobile hero card text wrapping inside its actual content width. */
@media (max-width:760px){
  .hero-content{
    box-sizing:border-box;
    min-width:0;
  }
  .hero-content .location,
  .hero h1,
  .hero-copy{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
  }
  .hero-copy{
    padding-right:0;
  }
}

/* ===== Premium refinement pass ===== */
:root{
  --premium-green:#0b3d2e;
  --premium-green-2:#0f5a40;
  --premium-gold:#bd8425;
  --premium-cream:#f7f2e8;
  --premium-ink:#173229;
  --premium-shadow:0 30px 80px rgba(10,45,33,.13);
}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{background:linear-gradient(180deg,#fbfaf6 0%,#fff 35%,#f7f3eb 100%)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}

/* refined navigation */
.topbar{transition:background .35s ease,box-shadow .35s ease,transform .35s ease;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar.scrolled{background:rgba(249,247,241,.9);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:0 12px 38px rgba(14,51,39,.10)}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:1px;background:var(--premium-gold);transition:left .25s ease,right .25s ease}
.desktop-nav a:hover::after,.desktop-nav a.active::after{left:0;right:0}

/* premium section rhythm */
.section{position:relative}
.section::before{content:"";position:absolute;top:0;left:50%;width:min(86vw,1200px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(189,132,37,.25),transparent)}
.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.section h2{letter-spacing:-.035em;text-wrap:balance}
.section p{text-wrap:pretty}

/* animated signature rail */
.signature-rail{position:relative;z-index:3;overflow:hidden;background:var(--premium-green);color:#fff;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.signature-track{display:flex;width:max-content;will-change:transform;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;animation:signatureMove 30s linear infinite}
.signature-group{display:flex;flex:none;align-items:center;gap:2rem;padding:1.05rem 1rem}
.signature-group span{white-space:nowrap}.signature-group i{color:#d8ad5a;font-style:normal;font-size:.65rem}
@keyframes signatureMove{from{transform:translate3d(0,0,0)}to{transform:translate3d(-33.333333%,0,0)}}

/* richer cards */
.feature,.team-card,.dining-grid article,.event-mini-grid article,.schedule-item,.widget,.map-card,.compact-form,.compact-map{transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease,border-color .45s ease}
.feature:hover,.dining-grid article:hover,.event-mini-grid article:hover{transform:translateY(-9px);box-shadow:var(--premium-shadow);border-color:rgba(189,132,37,.35)}
.feature::after{content:"";position:absolute;inset:0;border:1px solid transparent;border-radius:inherit;transition:border-color .4s ease;pointer-events:none}
.feature:hover::after{border-color:rgba(216,173,90,.55)}
.feature img,.split-photo img,.dining-photo-main img,.dining-special img{transition:transform 1.1s cubic-bezier(.2,.75,.2,1),filter .6s ease}
.feature:hover img,.split-photo:hover img,.dining-hero-card:hover .dining-photo-main img,.dining-special:hover img{transform:scale(1.045);filter:saturate(1.05) contrast(1.02)}
.team-card:hover{transform:translateY(-7px)}
.team-card img{transition:transform .55s ease,box-shadow .55s ease}
.team-card:hover img{transform:scale(1.035);box-shadow:0 20px 45px rgba(11,61,46,.18),0 0 0 5px rgba(189,132,37,.12)}

/* elevated CTAs */
.btn,.book-btn,.compact-actions a,.schedule-item>a,.map-card a{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn::before,.book-btn::before{content:"";position:absolute;top:-80%;left:-35%;width:25%;height:260%;transform:rotate(20deg);background:rgba(255,255,255,.28);transition:left .7s ease;z-index:-1}
.btn:hover::before,.book-btn:hover::before{left:120%}
.btn:hover,.book-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(11,61,46,.18)}
.btn:active,.book-btn:active{transform:translateY(0) scale(.985)}

/* premium hero polish without video */
.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(255,220,150,.14),transparent 34%),linear-gradient(120deg,rgba(5,38,27,.12),transparent 45%)}
.hero-content{box-shadow:0 35px 90px rgba(10,42,32,.18);border:1px solid rgba(255,255,255,.7)}
.hero-content::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(130deg,rgba(255,255,255,.35),transparent 28%,transparent 72%,rgba(189,132,37,.06))}

/* counting stats and visual detail */
.stats-panel article{position:relative}
.stats-panel article::after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2px;transform:scaleX(0);background:linear-gradient(90deg,transparent,var(--premium-gold),transparent);transition:transform .45s ease}
.stats-panel article:hover::after{transform:scaleX(1)}
.stats-panel strong{font-variant-numeric:tabular-nums}

/* image reveal mask */
.reveal.is-visible img{animation:imageUnveil .9s cubic-bezier(.22,.8,.2,1) both}
@keyframes imageUnveil{from{clip-path:inset(0 0 100% 0);transform:scale(1.04)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}

/* custom focus state */
:focus-visible{outline:3px solid rgba(189,132,37,.55);outline-offset:4px;border-radius:8px}

/* scroll progress */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:10001;pointer-events:none}
.scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#9d6816,#e4bd6c,#0f5a40);box-shadow:0 1px 8px rgba(189,132,37,.35)}

@media (min-width:901px){
  .cursor-glow{position:fixed;width:240px;height:240px;border-radius:50%;pointer-events:none;z-index:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(203,157,67,.09),transparent 68%);opacity:0;transition:opacity .25s ease}
  body:hover .cursor-glow{opacity:1}
}

@media (max-width:900px){
  .signature-track{font-size:.68rem;animation-duration:24s}.signature-group{gap:1.4rem;padding:.9rem .7rem}
  .section::before{width:92vw}
  .feature:hover,.dining-grid article:hover,.event-mini-grid article:hover,.team-card:hover{transform:none}
  .hero-content{box-shadow:0 24px 60px rgba(10,42,32,.14)}
}

@media (prefers-reduced-motion:reduce){
  .signature-track{animation:none}
  .reveal.is-visible img{animation:none}
  .feature img,.split-photo img,.dining-photo-main img,.dining-special img{transition:none}
}

/* Boulevard media refresh */
.hero-video-wrap{overflow:hidden;background:#0b3d2e}
.hero-video,.hero-video-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video{z-index:1}
.hero-video-fallback{z-index:0}
.hero-video-toggle{position:absolute;right:1.4rem;bottom:1.4rem;z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(9,39,29,.55);backdrop-filter:blur(10px);color:#fff;font-weight:800;cursor:pointer;transition:.25s ease}
.hero-video-toggle:hover{transform:scale(1.06);background:rgba(9,39,29,.8)}

.editorial-story{padding:clamp(5rem,8vw,9rem) clamp(1.25rem,5vw,5rem);background:linear-gradient(180deg,#f8f5ee 0%,#fff 45%,#f5f0e7 100%)}
.editorial-intro{max-width:980px;margin:0 auto clamp(4rem,7vw,7rem);text-align:center}
.editorial-intro h2{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,6vw,6.8rem);line-height:.98;margin:.7rem 0 1.5rem;color:#153f31}
.editorial-intro h2 em{color:#b77a20;font-weight:600}
.editorial-intro>p:last-child{max-width:760px;margin:0 auto;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.8;color:#5f655f}
.editorial-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:clamp(2rem,5vw,6rem);align-items:center;max-width:1380px;margin:0 auto clamp(5rem,9vw,10rem)}
.editorial-row.reverse{grid-template-columns:minmax(300px,.75fr) minmax(0,1.45fr)}
.editorial-row.reverse .editorial-image{order:2}.editorial-row.reverse .editorial-copy{order:1}
.editorial-image{min-height:520px;border-radius:30px;overflow:hidden;box-shadow:0 30px 80px rgba(15,55,42,.16)}
.editorial-image>img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}
.editorial-copy>span{display:block;font-family:'Playfair Display',serif;font-size:4.6rem;line-height:1;color:rgba(183,122,32,.24);margin-bottom:.3rem}
.editorial-copy h3,.community-banner h3{font-family:'Playfair Display',serif;color:#133e30;font-size:clamp(2.2rem,4vw,4.8rem);line-height:1.02;margin:.5rem 0 1.2rem}
.editorial-copy>p:not(.eyebrow){font-size:1.08rem;line-height:1.8;color:#626861;margin-bottom:1.5rem}
.editorial-collage{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;background:#eee;padding:12px}
.editorial-collage>img{width:100%;height:100%;min-height:500px;object-fit:cover;border-radius:20px}
.editorial-collage>img:last-child{object-position:center}
.community-banner{position:relative;max-width:1450px;min-height:680px;margin:0 auto;border-radius:34px;overflow:hidden;color:#fff;box-shadow:0 35px 90px rgba(12,48,36,.22)}
.community-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.community-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,36,26,.88) 0%,rgba(5,36,26,.54) 45%,rgba(5,36,26,.08) 78%)}
.community-banner>div{position:relative;z-index:2;max-width:650px;padding:clamp(3rem,7vw,7rem);display:flex;min-height:680px;flex-direction:column;justify-content:center}
.community-banner h3{color:#fff}
.community-banner>div>p:not(.eyebrow){font-size:1.12rem;line-height:1.8;margin:0 0 1.7rem;color:rgba(255,255,255,.88)}
.community-banner .btn{align-self:flex-start}

@media(max-width:900px){
  .hero-video-toggle{right:.8rem;bottom:.8rem;width:40px;height:40px}
  .editorial-story{padding:4.5rem 1rem}
  .editorial-intro{text-align:left;margin-bottom:3.5rem}
  .editorial-intro h2{font-size:clamp(2.55rem,13vw,4.3rem)}
  .editorial-row,.editorial-row.reverse{grid-template-columns:1fr;gap:1.8rem;margin-bottom:5.5rem}
  .editorial-row.reverse .editorial-image,.editorial-row.reverse .editorial-copy{order:initial}
  .editorial-image,.editorial-image>img{min-height:360px}
  .editorial-copy{padding:0 .5rem}
  .editorial-copy>span{font-size:3.3rem}
  .editorial-collage{grid-template-columns:1fr 1fr;min-height:370px}
  .editorial-collage>img{min-height:350px}
  .community-banner{min-height:600px;border-radius:24px}
  .community-banner::after{background:linear-gradient(0deg,rgba(5,36,26,.94) 0%,rgba(5,36,26,.55) 62%,rgba(5,36,26,.18) 100%)}
  .community-banner>div{min-height:600px;padding:2rem;justify-content:flex-end}
}
@media(max-width:560px){
  .editorial-collage{grid-template-columns:1fr;min-height:0}
  .editorial-collage>img{min-height:280px}
  .editorial-collage>img:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-video-toggle{display:none}}

/* Boulevard Concierge — guided Q&A assistant */
.blvd-chat-launcher{
  position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;align-items:center;gap:10px;
  min-height:54px;padding:8px 17px 8px 9px;border:1px solid rgba(212,175,88,.62);border-radius:999px;
  background:linear-gradient(135deg,#0a372a,#12533d);color:#fff;box-shadow:0 18px 48px rgba(5,31,23,.28);
  font:700 14px/1 Inter,sans-serif;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;
}
.blvd-chat-launcher:hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(5,31,23,.34)}
.blvd-chat-launcher .chat-launch-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d7b25e;color:#123b2e;font-size:18px}
.blvd-chat-launcher .chat-launch-label{white-space:nowrap}
.blvd-chat-launcher .chat-pulse{position:absolute;right:5px;top:2px;width:10px;height:10px;border:2px solid #0f4736;border-radius:50%;background:#f0ce74;box-shadow:0 0 0 4px rgba(240,206,116,.18)}
.blvd-chat-panel{
  position:fixed;right:22px;bottom:90px;z-index:1201;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100dvh - 120px));
  display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(212,175,88,.42);border-radius:24px;
  background:#fbfaf6;box-shadow:0 30px 90px rgba(3,27,20,.32);transform:translateY(18px) scale(.97);opacity:0;visibility:hidden;
  transition:opacity .24s ease,transform .24s ease,visibility .24s ease;font-family:Inter,sans-serif;
}
.blvd-chat-panel.open{transform:none;opacity:1;visibility:visible}
.blvd-chat-header{display:flex;align-items:center;gap:12px;padding:16px 17px;background:linear-gradient(135deg,#0a372a,#114b39);color:#fff}
.blvd-chat-avatar{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#d7b25e;color:#143c2f;font-family:"Playfair Display",serif;font-size:22px;font-weight:800}
.blvd-chat-heading{min-width:0;flex:1}.blvd-chat-heading strong{display:block;font-size:15px}.blvd-chat-heading span{display:flex;align-items:center;gap:6px;margin-top:3px;color:rgba(255,255,255,.76);font-size:11px}
.blvd-chat-heading span::before{content:"";width:7px;height:7px;border-radius:50%;background:#8ee0ae}
.blvd-chat-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:20px;cursor:pointer}
.blvd-chat-messages{flex:1;overflow:auto;padding:18px 15px 8px;scroll-behavior:smooth;overscroll-behavior:contain}
.blvd-chat-message{display:flex;margin:0 0 12px}.blvd-chat-message.user{justify-content:flex-end}
.blvd-chat-bubble{max-width:84%;padding:11px 13px;border-radius:17px;font-size:13.5px;line-height:1.48;box-shadow:0 7px 20px rgba(16,57,43,.07)}
.blvd-chat-message.bot .blvd-chat-bubble{border:1px solid #e9e2d3;border-top-left-radius:5px;background:#fff;color:#23352f}
.blvd-chat-message.user .blvd-chat-bubble{border-top-right-radius:5px;background:#0f4937;color:#fff}
.blvd-chat-bubble a{display:inline-flex;margin-top:8px;color:#8a681b;font-weight:800;text-decoration:none}.blvd-chat-bubble a:hover{text-decoration:underline}
.blvd-chat-quick{display:flex;flex-wrap:wrap;gap:7px;padding:0 15px 12px}
.blvd-chat-quick button{border:1px solid #d9c791;border-radius:999px;background:#fff;color:#174536;padding:8px 10px;font:700 11px/1.2 Inter,sans-serif;cursor:pointer;transition:.2s ease}
.blvd-chat-quick button:hover{background:#f4ebd1;border-color:#b28a33}
.blvd-chat-form{display:flex;gap:8px;padding:11px 12px calc(11px + env(safe-area-inset-bottom));border-top:1px solid #e8e0d1;background:#fff}
.blvd-chat-form input{min-width:0;flex:1;height:44px;border:1px solid #dcd5c8;border-radius:999px;padding:0 15px;background:#fbfaf7;color:#1b352d;font:500 16px/1 Inter,sans-serif;outline:none}
.blvd-chat-form input:focus{border-color:#b78b30;box-shadow:0 0 0 3px rgba(183,139,48,.13)}
.blvd-chat-send{display:grid;place-items:center;flex:0 0 44px;height:44px;border:0;border-radius:50%;background:#d6ae55;color:#123c2e;font-size:19px;font-weight:900;cursor:pointer}
.blvd-chat-note{padding:0 14px 9px;background:#fff;color:#7a7e78;text-align:center;font:500 9px/1.35 Inter,sans-serif}
.blvd-chat-typing{display:flex;gap:4px;align-items:center;height:18px}.blvd-chat-typing i{width:5px;height:5px;border-radius:50%;background:#789086;animation:blvdTyping .9s infinite alternate}.blvd-chat-typing i:nth-child(2){animation-delay:.18s}.blvd-chat-typing i:nth-child(3){animation-delay:.36s}
@keyframes blvdTyping{to{transform:translateY(-4px);opacity:.4}}
@media(max-width:600px){
  .blvd-chat-launcher{right:14px;bottom:14px;padding-right:12px}.blvd-chat-launcher .chat-launch-label{display:none}
  .blvd-chat-panel{inset:auto 7px 7px 7px;width:auto;height:min(720px,calc(100dvh - 14px));border-radius:22px}
  body.blvd-chat-open{overflow:hidden}.blvd-chat-close{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){.blvd-chat-panel,.blvd-chat-launcher{transition:none}.blvd-chat-typing i{animation:none}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* Quick tennis-ball page reveal */
body.intro-active { overflow: hidden; }
.court-reveal {
  position: fixed; inset: 0; z-index: 99999; overflow: hidden;
  display: grid; place-items: center; background: #0a3b2c;
  pointer-events: all; isolation: isolate;
}
.court-reveal__panel { position:absolute; inset:-2px; background:#0a3b2c; transition: transform .72s cubic-bezier(.76,0,.24,1); }
.court-reveal__panel--top { clip-path: polygon(0 0,100% 0,100% 49.8%,0 59%); }
.court-reveal__panel--bottom { clip-path: polygon(0 59%,100% 49.8%,100% 100%,0 100%); }
.court-reveal__line { position:absolute; width:140vw; height:1px; background:rgba(242,210,124,.28); transform:rotate(-4deg); }
.court-reveal__brand { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3; display:grid; justify-items:center; gap:.15rem; color:#fff; letter-spacing:.18em; opacity:0; animation:revealBrand .42s .06s ease forwards; }
.court-reveal__crest { width:48px; height:48px; border:1px solid rgba(242,210,124,.75); border-radius:50%; display:grid; place-items:center; color:#f2d27c; font-family:"Playfair Display",serif; font-size:1.65rem; margin-bottom:.35rem; }
.court-reveal__brand strong { font-size:clamp(.84rem,2vw,1.05rem); font-weight:700; }
.court-reveal__brand small { font-size:.53rem; opacity:.66; letter-spacing:.22em; }
.court-reveal__racket { position:absolute; z-index:5; width:150px; height:150px; left:-170px; top:calc(50% - 86px); border:9px solid #f5f1e7; border-radius:48% 48% 44% 44%; transform:rotate(-32deg); transform-origin:50% 125%; animation:racketSwing .64s .34s cubic-bezier(.18,.75,.25,1) forwards; filter:drop-shadow(0 12px 18px rgba(0,0,0,.28)); }
.court-reveal__racket::before,.court-reveal__racket::after { content:""; position:absolute; inset:13px; border-radius:inherit; background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,255,255,.42) 8px 9px),repeating-linear-gradient(0deg,transparent 0 8px,rgba(255,255,255,.42) 8px 9px); }
.court-reveal__racket span { position:absolute; width:18px; height:122px; background:linear-gradient(#d8b75c,#7f5e1a); border-radius:10px; left:50%; top:132px; transform:translateX(-50%); }
.court-reveal__ball { position:absolute; z-index:6; width:42px; height:42px; left:20%; top:calc(50% - 21px); border-radius:50%; background:#d9f33b; box-shadow:0 0 0 1px rgba(0,0,0,.12),0 0 28px rgba(217,243,59,.45); opacity:0; animation:ballStrike .64s .57s cubic-bezier(.2,.73,.24,1) forwards; }
.court-reveal__ball::before,.court-reveal__ball::after { content:""; position:absolute; inset:4px; border:2px solid rgba(255,255,255,.78); border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; transform:rotate(35deg); }
.court-reveal__ball::after { transform:rotate(215deg); }
.court-reveal__trail { position:absolute; z-index:4; left:21%; top:50%; width:0; height:5px; transform:translateY(-50%); border-radius:999px; background:linear-gradient(90deg,transparent,rgba(217,243,59,.85)); filter:blur(1px); animation:ballTrail .52s .64s ease-out forwards; }
.court-reveal__impact { position:absolute; left:72%; top:50%; width:10px; height:10px; z-index:7; transform:translate(-50%,-50%); }
.court-reveal__impact i { position:absolute; inset:0; border:2px solid rgba(242,210,124,.78); border-radius:50%; opacity:0; animation:impactRing .52s 1.03s ease-out forwards; }
.court-reveal__impact i:nth-child(2){animation-delay:1.08s}.court-reveal__impact i:nth-child(3){animation-delay:1.13s}
.court-reveal.is-hit .court-reveal__panel--top { transform:translate3d(0,-110%,0) rotate(-1deg); }
.court-reveal.is-hit .court-reveal__panel--bottom { transform:translate3d(0,110%,0) rotate(1deg); }
.court-reveal.is-hit .court-reveal__brand { opacity:0!important; transition:opacity .16s ease; }
.court-reveal.is-done { visibility:hidden; pointer-events:none; }
@keyframes revealBrand{to{opacity:1}}
@keyframes racketSwing{0%{left:-170px;transform:rotate(-40deg)}65%{left:7%;transform:rotate(20deg)}100%{left:10%;transform:rotate(8deg)}}
@keyframes ballStrike{0%{left:20%;opacity:0;transform:scale(.8) rotate(0)}12%{opacity:1}100%{left:calc(72% - 21px);opacity:1;transform:scale(1.08) rotate(520deg)}}
@keyframes ballTrail{to{width:48%}}
@keyframes impactRing{0%{opacity:.9;transform:scale(.2)}100%{opacity:0;transform:scale(18)}}
@media (max-width:600px){
 .court-reveal__racket{width:105px;height:105px;top:calc(50% - 58px);border-width:7px}.court-reveal__racket span{top:94px;height:88px;width:14px}.court-reveal__ball{width:34px;height:34px;top:calc(50% - 17px)}
 .court-reveal__brand{top:38%}.court-reveal__brand small{font-size:.46rem}.court-reveal__impact{left:76%}
 @keyframes ballStrike{0%{left:18%;opacity:0;transform:scale(.8)}12%{opacity:1}100%{left:calc(76% - 17px);opacity:1;transform:scale(1.08) rotate(520deg)}}
}
@media (prefers-reduced-motion:reduce){.court-reveal{animation:none}.court-reveal__racket,.court-reveal__ball,.court-reveal__trail,.court-reveal__impact,.court-reveal__brand{animation:none}.court-reveal{display:none}body.intro-active{overflow:auto}}

/* Frosted-glass tennis impact page reveal */
body.intro-active{overflow:hidden}
.glass-reveal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;overflow:hidden;background:rgba(235,242,239,.26);backdrop-filter:blur(24px) saturate(.72);-webkit-backdrop-filter:blur(24px) saturate(.72);cursor:pointer;isolation:isolate}
.glass-reveal::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.58),rgba(255,255,255,.14) 42%,rgba(209,224,219,.42));box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);transition:opacity .28s ease}
.glass-reveal__frost{position:absolute;inset:0;z-index:1;opacity:.7;background-image:radial-gradient(circle at 18% 22%,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 72% 68%,rgba(255,255,255,.55) 0 1px,transparent 2px);background-size:19px 19px,27px 27px;mix-blend-mode:soft-light;transition:opacity .3s ease}
.glass-reveal__brand{position:absolute;top:50%;left:50%;z-index:3;display:grid;justify-items:center;gap:.18rem;transform:translate(-50%,-50%);color:#173f33;letter-spacing:.2em;text-shadow:0 1px 0 rgba(255,255,255,.65);animation:glassBrandIn .55s .08s ease both}
.glass-reveal__crest{width:52px;height:52px;border:1px solid rgba(139,98,31,.72);border-radius:50%;display:grid;place-items:center;color:#976d27;font:700 1.7rem "Playfair Display",serif;margin-bottom:.35rem;background:rgba(255,255,255,.25);backdrop-filter:blur(6px)}
.glass-reveal__brand strong{font-size:clamp(.88rem,2vw,1.08rem)}.glass-reveal__brand small{font-size:.52rem;opacity:.72;letter-spacing:.22em}
.glass-reveal__racket{position:absolute;z-index:7;width:148px;height:148px;left:-185px;top:calc(50% - 88px);border:9px solid #f7f4eb;border-radius:48% 48% 44% 44%;transform:rotate(-34deg);transform-origin:50% 126%;filter:drop-shadow(0 14px 18px rgba(0,0,0,.3));animation:glassRacketSwing .7s .4s cubic-bezier(.16,.78,.21,1) forwards}
.glass-reveal__racket::before,.glass-reveal__racket::after{content:"";position:absolute;inset:13px;border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,255,255,.5) 8px 9px),repeating-linear-gradient(0deg,transparent 0 8px,rgba(255,255,255,.5) 8px 9px)}
.glass-reveal__racket span{position:absolute;width:18px;height:122px;left:50%;top:132px;transform:translateX(-50%);border-radius:10px;background:linear-gradient(#cba852,#6e5117)}
.glass-reveal__ball{position:absolute;z-index:8;width:44px;height:44px;left:18%;top:calc(50% - 22px);border-radius:50%;opacity:0;background:#d9ef38;box-shadow:0 0 0 1px rgba(0,0,0,.12),0 0 34px rgba(217,239,56,.55);animation:glassBallStrike .72s .66s cubic-bezier(.13,.74,.2,1) forwards}
.glass-reveal__ball::before,.glass-reveal__ball::after{content:"";position:absolute;inset:4px;border:2px solid rgba(255,255,255,.82);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(35deg)}.glass-reveal__ball::after{transform:rotate(215deg)}
.glass-reveal__trail{position:absolute;z-index:6;left:18%;top:50%;width:0;height:7px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,transparent,rgba(217,239,56,.9));filter:blur(2px);animation:glassTrail .58s .72s ease-out forwards}
.glass-reveal__impact{position:absolute;z-index:5;left:72%;top:50%;width:2px;height:2px}.crack{position:absolute;left:0;top:0;width:0;height:1px;background:rgba(255,255,255,.9);transform-origin:left center;box-shadow:0 0 5px rgba(255,255,255,.82);opacity:0}.c1{--a:0deg;--l:31vw}.c2{--a:43deg;--l:29vw}.c3{--a:87deg;--l:35vh}.c4{--a:132deg;--l:27vw}.c5{--a:180deg;--l:33vw}.c6{--a:224deg;--l:28vw}.c7{--a:270deg;--l:35vh}.c8{--a:318deg;--l:30vw}
.glass-reveal__impact-art{position:absolute;z-index:4;left:72%;top:50%;width:min(74vw,1000px);height:min(82vh,780px);object-fit:cover;transform:translate(-50%,-50%) scale(.08);clip-path:circle(7% at 52% 50%);opacity:0;filter:brightness(1.18) saturate(.65);mix-blend-mode:screen;pointer-events:none}
.glass-reveal__shards{position:absolute;z-index:9;left:72%;top:50%;width:1px;height:1px}.glass-reveal__shards i{position:absolute;width:clamp(28px,5vw,82px);height:clamp(35px,7vw,110px);left:0;top:0;opacity:0;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(190,214,207,.16));border:1px solid rgba(255,255,255,.85);clip-path:polygon(48% 0,100% 32%,75% 100%,0 72%);box-shadow:0 8px 24px rgba(30,70,60,.15);backdrop-filter:blur(5px)}
.glass-reveal__skip{position:absolute;right:24px;bottom:22px;z-index:12;border:1px solid rgba(23,63,51,.28);background:rgba(255,255,255,.38);backdrop-filter:blur(10px);color:#173f33;border-radius:999px;padding:10px 15px;font:700 11px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.glass-reveal.is-hit::before,.glass-reveal.is-hit .glass-reveal__frost{opacity:0}.glass-reveal.is-hit{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .25s .18s ease}.glass-reveal.is-hit .glass-reveal__brand{opacity:0;transition:opacity .15s ease}.glass-reveal.is-hit .crack{animation:crackGrow .22s ease-out forwards;transform:rotate(var(--a))}.glass-reveal.is-hit .glass-reveal__impact-art{animation:impactBloom .5s ease-out forwards}.glass-reveal.is-hit .glass-reveal__shards i{animation:shardFly .74s var(--d) cubic-bezier(.12,.65,.22,1) forwards}.glass-reveal.is-hit .glass-reveal__skip{opacity:0;transition:opacity .1s}.glass-reveal.is-done{visibility:hidden;pointer-events:none}
@keyframes glassBrandIn{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes glassRacketSwing{0%{left:-185px;transform:rotate(-42deg)}68%{left:7%;transform:rotate(22deg)}100%{left:10%;transform:rotate(8deg)}}
@keyframes glassBallStrike{0%{left:20%;opacity:0;transform:scale(.85)}8%{opacity:1}78%{left:70%;transform:scale(1)}100%{left:72%;opacity:1;transform:scale(.72)}}
@keyframes glassTrail{0%{width:0;opacity:0}20%{opacity:1}100%{width:52%;opacity:0}}
@keyframes crackGrow{0%{width:0;opacity:0}15%{opacity:1}100%{width:var(--l);opacity:.9}}
@keyframes impactBloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.08);clip-path:circle(4% at 52% 50%)}32%{opacity:.72}100%{opacity:.13;transform:translate(-50%,-50%) scale(1.18);clip-path:circle(52% at 52% 50%)}}
@keyframes shardFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(0)}12%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.08) rotate(var(--r))}}
@media(max-width:700px){.glass-reveal__impact{left:76%}.glass-reveal__impact-art{left:76%;width:120vw;height:75vh}.glass-reveal__shards{left:76%}.glass-reveal__racket{width:106px;height:106px;top:calc(50% - 59px);border-width:7px}.glass-reveal__racket span{top:95px;height:88px;width:14px}.glass-reveal__ball{width:34px;height:34px;top:calc(50% - 17px)}.glass-reveal__brand{top:39%}.glass-reveal__skip{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.glass-reveal{display:none}body.intro-active{overflow:auto}}


/* BLVD brochure-tailored membership section */
.member-love{padding-top:clamp(80px,9vw,138px);padding-bottom:clamp(80px,9vw,138px)}
.member-love-head{max-width:850px;margin:0 auto 48px;text-align:center}.member-love-head h2{font-family:var(--serif);font-size:clamp(44px,5vw,76px);line-height:.98;margin:12px 0 22px}.member-love-head>p:last-child{max-width:720px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.75}
.member-love-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.benefit-panel{background:#f6f2e8;border:1px solid rgba(28,45,37,.12);padding:clamp(28px,4vw,52px)}.benefit-panel h3{font-family:var(--serif);font-size:clamp(27px,3vw,40px);margin:0 0 26px;color:#1c2d25}.benefit-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:17px}.benefit-panel li{position:relative;padding-left:34px;font-size:17px;line-height:1.45}.benefit-panel li:before{content:'✓';position:absolute;left:0;top:0;width:22px;height:22px;border:1px solid #7b8249;border-radius:50%;display:grid;place-items:center;color:#7b8249;font-size:13px;font-weight:800}
.public-callout{margin-top:24px;background:#777d46;color:white;padding:clamp(28px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.public-callout span{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.public-callout strong{font-family:var(--serif);font-size:clamp(25px,3vw,40px);font-weight:500}.public-callout .btn{margin-left:auto}
@media(max-width:760px){.member-love-grid{grid-template-columns:1fr}.public-callout{align-items:flex-start}.public-callout .btn{margin-left:0;width:100%;justify-content:center}}


/* BLVD brochure-inspired visual identity */
:root{--white:#f8f5ed;--paper:#fffdf7;--ink:#26292d;--muted:#65665f;--gold:#b78b35;--gold2:#d7b66d;--green:#777a43;--deep-green:#4f552f;--charcoal:#25292f;--glass:rgba(248,245,237,.76)}
body{background:radial-gradient(circle at 18% 0%,#fffdf7 0,#f8f5ed 34%,#ece8dc 100%)}
.topbar{background:rgba(248,245,237,.82);border-color:rgba(255,255,255,.72)}.topbar.scrolled{background:rgba(248,245,237,.94)}
.logo{min-width:190px}.brand-logo{display:block;width:176px;max-height:72px;object-fit:contain}.topbar .brand-logo{width:184px}.footer-mark .brand-logo{width:150px}
.court-reveal__brand .brand-logo{width:min(280px,62vw);max-height:120px;filter:drop-shadow(0 10px 28px rgba(0,0,0,.18))}
.book-btn,.btn.gold{background:linear-gradient(135deg,var(--green),var(--deep-green));box-shadow:0 15px 30px rgba(79,85,47,.28)}
.eyebrow,.text-link,.location{color:var(--gold)}.desktop-nav a::after{background:var(--green)}.stats-panel span,.widget .icon{color:var(--green)}.widget strong{color:var(--deep-green)}
.pill-grid span,.social-links a,.minimal-footer .footer-socials a{background:#e7e4cf;color:#555a32}

/* Frosted-glass tennis-ball reveal */
.court-reveal{background:rgba(239,242,239,.18);backdrop-filter:blur(24px) saturate(.72);-webkit-backdrop-filter:blur(24px) saturate(.72)}
.court-reveal::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(255,255,255,.52),rgba(255,255,255,.10) 46%,rgba(255,255,255,.32)),url("assets/frosted-glass-impact.webp") center/cover no-repeat;opacity:.42;mix-blend-mode:screen;transition:opacity .35s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.court-reveal__panel{background:rgba(227,233,229,.28);border:1px solid rgba(255,255,255,.46);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.court-reveal__line{background:rgba(183,139,53,.35)}.court-reveal__brand{z-index:8;color:var(--charcoal)}
.court-reveal__brand small{color:var(--deep-green);font-weight:800;letter-spacing:.2em;margin-top:.8rem}.court-reveal__impact{left:70%}.court-reveal__impact i{border-color:rgba(183,139,53,.78)}
.court-reveal.is-hit::before{opacity:0;transform:scale(1.16)}
.court-reveal.is-hit .court-reveal__panel--top{transform:translate3d(-2%,-112%,0) rotate(-2deg)}
.court-reveal.is-hit .court-reveal__panel--bottom{transform:translate3d(2%,112%,0) rotate(2deg)}

/* Programs and membership organization */
.programs-section{padding:clamp(34px,5vw,72px);border-radius:38px;background:var(--charcoal);color:white}
.programs-section .member-love-head p:not(.eyebrow){color:rgba(255,255,255,.72)}
.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:36px 0}
.program-card{min-height:220px;padding:28px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.program-card span{color:var(--gold2);font-weight:900;letter-spacing:.14em}.program-card h3{font:700 28px/1.1 "Playfair Display",serif;margin:25px 0 12px}
.program-card p{color:rgba(255,255,255,.68);line-height:1.65;margin:0}
.membership-benefits{margin:30px 0;padding:28px;border-radius:24px;background:#e8e6d3;border-left:5px solid var(--green)}
.membership-benefits h3{margin:0 0 18px;font:700 30px/1.1 "Playfair Display",serif}.membership-benefits ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}
.membership-benefits li{position:relative;padding-left:30px;line-height:1.5}.membership-benefits li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}
@media(max-width:1100px){.program-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.brand-logo,.topbar .brand-logo{width:132px}.program-grid{grid-template-columns:1fr}.programs-section{padding:28px 18px;border-radius:28px}}

/* Programs — photographic frosted-glass experience */
.programs-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(44px,6vw,86px);
  border:1px solid rgba(255,255,255,.38);
  background:
    linear-gradient(135deg,rgba(37,41,47,.76),rgba(79,85,47,.58)),
    url("assets/tennis-lifestyle.webp") center 46%/cover no-repeat;
  box-shadow:0 32px 90px rgba(34,38,35,.22);
}
.programs-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 18% 12%,rgba(215,182,109,.22),transparent 34%),
    radial-gradient(circle at 83% 80%,rgba(119,122,67,.30),transparent 38%);
  pointer-events:none;
}
.programs-section::after{
  content:"";
  position:absolute;
  inset:18px;
  z-index:-1;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.30);
  background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 24px 70px rgba(0,0,0,.20);
  backdrop-filter:blur(20px) saturate(1.16);
  -webkit-backdrop-filter:blur(20px) saturate(1.16);
  pointer-events:none;
}
.programs-section .member-love-head,
.programs-section .program-grid,
.programs-section .public-callout{position:relative;z-index:1}
.programs-section .member-love-head{max-width:760px}
.programs-section .member-love-head h2{text-shadow:0 8px 28px rgba(0,0,0,.28)}
.programs-section .member-love-head p:not(.eyebrow){color:rgba(255,255,255,.83)}
.program-grid{gap:18px}
.program-card{
  position:relative;
  overflow:hidden;
  min-height:230px;
  background:linear-gradient(145deg,rgba(255,255,255,.20),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 18px 42px rgba(0,0,0,.16);
  backdrop-filter:blur(16px) saturate(1.18);
  -webkit-backdrop-filter:blur(16px) saturate(1.18);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s ease,background .35s ease,box-shadow .45s ease;
}
.program-card::before{
  content:"";
  position:absolute;
  top:-55%;
  left:-90%;
  width:70%;
  height:210%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transition:left .75s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.program-card:hover{
  transform:translateY(-10px);
  border-color:rgba(215,182,109,.78);
  background:linear-gradient(145deg,rgba(255,255,255,.27),rgba(255,255,255,.11));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 25px 55px rgba(0,0,0,.24),0 0 0 1px rgba(183,139,53,.16);
}
.program-card:hover::before{left:135%}
.program-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  color:#fff4cf;
  background:rgba(183,139,53,.28);
  border:1px solid rgba(215,182,109,.46);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28);
}
.program-card h3{color:#fff;margin-top:30px}
.program-card p{color:rgba(255,255,255,.78)}
.programs-section .public-callout{
  margin-top:34px;
  background:linear-gradient(135deg,rgba(34,39,30,.48),rgba(255,255,255,.11));
  border:1px solid rgba(255,255,255,.31);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 42px rgba(0,0,0,.16);
  backdrop-filter:blur(18px) saturate(1.12);
  -webkit-backdrop-filter:blur(18px) saturate(1.12);
}
@media(max-width:640px){
  .programs-section{padding:38px 18px;background-position:58% center}
  .programs-section::after{inset:10px;border-radius:22px}
  .program-card{min-height:205px}
}
@media(prefers-reduced-motion:reduce){
  .program-card,.program-card::before{transition:none}
  .program-card:hover{transform:none}
}


/* July 2026 content updates */
.logo-lockup{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}
.logo-sport-label{font-family:Inter,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.24em;color:rgba(255,255,255,.88);border-left:1px solid rgba(255,255,255,.3);padding-left:12px}
.topbar.scrolled .logo-sport-label{color:var(--ink,#203129);border-left-color:rgba(32,49,41,.24)}
.team-group-heading{width:100%;text-align:center;margin:2.2rem 0 1rem}
.team-group-heading span{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:#a8894e;margin-bottom:.35rem}
.team-group-heading h3{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.5rem);margin:0;color:#24352d}
.team-row-leaders,.team-row-pros{flex-wrap:wrap;justify-content:center}
.team-row-leaders .team-card{flex:0 1 220px}
.team-row-pros .team-card{flex:0 1 205px}
@media(max-width:920px){.logo-sport-label{font-size:.58rem;letter-spacing:.16em}.team-row-leaders .team-card,.team-row-pros .team-card{flex:0 1 44%}}
@media(max-width:620px){.logo-sport-label{display:none}.team-row-leaders .team-card,.team-row-pros .team-card{flex:0 1 100%}}


/* July 2026 requested refinements */
.experience-title{font-size:clamp(34px,3.5vw,58px)!important;line-height:1!important;white-space:nowrap;letter-spacing:-.045em!important}
.feature img{object-position:center}
.feature:has(img[src$="fitness.jpg"]) img{object-position:center 52%}
.feature:has(img[src$="padel-courts.jpg"]) img{object-position:center 58%}
@media(max-width:1100px){.experience-title{white-space:normal;font-size:clamp(38px,6vw,58px)!important}}
@media(max-width:760px){.experience-title{white-space:nowrap;font-size:clamp(30px,9vw,44px)!important}}

/* Client simplification update — July 2026 */
.editorial-story { padding-top: clamp(56px, 7vw, 92px); }
.editorial-story > .editorial-row:first-of-type { margin-top: 0; }
.about-contact .contact-copy > p:not(.eyebrow) { max-width: 62ch; }
.about-contact-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 24px 0 28px;
}
.about-contact-highlights span {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 16px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: .78rem;
  line-height: 1.25;
}
.about-contact-highlights strong { font-size: 1.25rem; line-height: 1; }
@media (max-width: 640px) {
  .about-contact-highlights { grid-template-columns: 1fr; }
  .about-contact-highlights span { flex-direction: row; align-items: baseline; gap: 8px; }
}


/* Multi-page navigation and stronger brand lockup */
.topbar .logo-lockup{min-width:clamp(255px,24vw,390px);gap:16px;flex-shrink:0}
.topbar .brand-logo{width:clamp(205px,17vw,270px);max-height:82px;filter:drop-shadow(0 4px 10px rgba(20,36,28,.18))}
.logo-sport-label{font-size:.72rem;font-weight:800;line-height:1.45;letter-spacing:.16em;color:#24372d!important;background:rgba(249,246,236,.94);border:1px solid rgba(116,123,68,.28)!important;border-left:4px solid #7e8748!important;padding:8px 10px;border-radius:8px;text-shadow:none;max-width:126px;white-space:normal}
.topbar.scrolled .logo-sport-label{color:#24372d!important;background:#f7f3e8}
.page-hero{position:relative;min-height:62vh;margin:0 0 70px;display:flex;align-items:flex-end;overflow:hidden;border-radius:0 0 44px 44px}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,38,29,.82),rgba(15,38,29,.22)),linear-gradient(0deg,rgba(10,25,19,.45),transparent 55%)}
.page-hero-content{position:relative;z-index:2;width:min(92vw,1320px);margin:0 auto;padding:190px 0 70px;color:#fff}
.page-hero-content h1{font:700 clamp(3.2rem,7vw,6.6rem)/.96 'Playfair Display',serif;max-width:900px;margin:.18em 0}
.page-hero-content>p:last-child{font-size:clamp(1rem,1.6vw,1.3rem);max-width:700px;line-height:1.65}
.sport-focus{display:grid;gap:34px}
.sport-focus article{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:34px;background:rgba(255,255,255,.72);box-shadow:0 24px 70px rgba(22,46,35,.12)}
.sport-focus article.reverse{grid-template-columns:.85fr 1.15fr}
.sport-focus article.reverse img{order:2}
.sport-focus img{width:100%;height:440px;object-fit:cover}
.sport-focus article>div{padding:clamp(34px,5vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.sport-focus h2{font:700 clamp(2.5rem,4.4vw,4.7rem)/1 'Playfair Display',serif;margin:.15em 0 .25em}
.sport-focus p{font-size:1.08rem;line-height:1.7}
@media(max-width:1450px){.desktop-nav{gap:16px}.desktop-nav a{font-size:11px}.book-btn{padding:14px 16px}.topbar .logo-lockup{min-width:245px}.topbar .brand-logo{width:205px}.logo-sport-label{font-size:.58rem;max-width:102px}}
@media(max-width:1180px){.topbar .logo-lockup{min-width:0}.topbar .brand-logo{width:190px}.logo-sport-label{font-size:.6rem;max-width:112px}}
@media(max-width:760px){.topbar .brand-logo{width:162px}.logo-sport-label{display:block;font-size:.49rem;letter-spacing:.1em;max-width:94px;padding:6px 7px}.page-hero{min-height:54vh}.page-hero-content{padding:155px 0 48px}.sport-focus article,.sport-focus article.reverse{grid-template-columns:1fr}.sport-focus article.reverse img{order:0}.sport-focus img{height:300px}}
@media(max-width:480px){.logo-sport-label{display:none}.topbar .brand-logo{width:180px}}

/* Homepage final polish — August 2026 */
body:not(.grille-page) .hero{
  min-height:clamp(760px,92vh,940px);
  display:flex;
  align-items:center;
  padding-top:190px;
  padding-bottom:110px;
}
body:not(.grille-page) .hero-bg,
body:not(.grille-page) .hero-shade{inset:138px 0 0}
body:not(.grille-page) .hero-bg{border-radius:0 0 34px 34px}
body:not(.grille-page) .hero-video{transform:scale(1.015)}
body:not(.grille-page) .hero-shade{
  background:
    linear-gradient(90deg,rgba(4,25,18,.78) 0%,rgba(4,25,18,.56) 38%,rgba(4,25,18,.18) 66%,rgba(4,25,18,.05) 100%),
    linear-gradient(0deg,rgba(4,25,18,.34) 0%,transparent 46%);
}
body:not(.grille-page) .hero-content{padding-top:0;max-width:800px}
body:not(.grille-page) .location{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.2em;margin:0 0 22px}
body:not(.grille-page) .location span{width:7px;height:7px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 6px rgba(241,201,111,.14)}
body:not(.grille-page) .hero h1{font-size:clamp(64px,7.1vw,112px);max-width:760px;margin:0 0 24px;line-height:.91}
body:not(.grille-page) .hero-copy{max-width:650px;font-size:clamp(18px,1.35vw,21px);line-height:1.68;color:rgba(255,255,255,.9);text-wrap:balance;margin-bottom:34px}
body:not(.grille-page) .hero-actions{gap:12px}
body:not(.grille-page) .hero-actions .btn{min-height:58px;padding:17px 25px;border-radius:999px;font-size:12px}
body:not(.grille-page) .hero-actions .btn.glass{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.46)}
body:not(.grille-page) .hero-widgets{top:50%;transform:translateY(-34%);gap:12px;width:350px}
body:not(.grille-page) .widget{border-radius:18px;padding:18px;background:rgba(255,253,248,.9);box-shadow:0 22px 60px rgba(0,0,0,.18)}
body:not(.grille-page) .widget:hover{transform:translateX(-5px)}
body:not(.grille-page) .widget .icon{width:48px;height:48px;border-radius:14px;font-size:21px}
body:not(.grille-page) .widget small{font-size:10px;margin-bottom:6px;letter-spacing:.11em;color:#6d6a62}
body:not(.grille-page) .widget strong{font-size:18px;line-height:1.2}
body:not(.grille-page) .widget p{font-size:12px;color:#716f69;margin-top:5px}
body:not(.grille-page) .stats-panel{margin-top:-44px;margin-bottom:0;border-radius:22px;padding:26px 18px;box-shadow:0 22px 65px rgba(22,42,32,.12)}
body:not(.grille-page) .stats-panel article{padding:0 16px;grid-template-columns:42px 1fr;gap:10px}
body:not(.grille-page) .stats-panel span{font-size:28px}
body:not(.grille-page) .stats-panel strong{font-size:17px}
body:not(.grille-page) .stats-panel small{font-size:10px;color:#72746f}
body:not(.grille-page) .editorial-story{width:100%;max-width:none;margin-top:0;margin-bottom:0;padding-top:clamp(90px,10vw,150px)}
body:not(.grille-page) .editorial-intro{max-width:900px;margin-bottom:clamp(70px,8vw,120px)}
body:not(.grille-page) .editorial-intro h2{font-size:clamp(48px,5.5vw,82px);letter-spacing:-.045em;text-wrap:balance}
body:not(.grille-page) .editorial-row{margin-bottom:clamp(70px,8vw,120px)}
body:not(.grille-page) .editorial-image{min-height:500px;border-radius:24px}
body:not(.grille-page) .editorial-image>img{min-height:500px}
body:not(.grille-page) .editorial-copy>span{font-size:3.6rem}
body:not(.grille-page) .community-banner{border-radius:28px;min-height:620px}
body:not(.grille-page) .community-banner>div{min-height:620px}

@media(max-width:1180px){
  body:not(.grille-page) .hero{display:block;padding-top:185px}
  body:not(.grille-page) .hero-widgets{position:relative;top:auto;transform:none;margin-top:38px;max-width:720px;width:100%;grid-template-columns:1fr 1fr}
  body:not(.grille-page) .stats-panel{margin-top:0}
}
@media(max-width:760px){
  body:not(.grille-page) .hero{padding:145px 20px 52px;min-height:auto}
  body:not(.grille-page) .hero-bg,body:not(.grille-page) .hero-shade{inset:105px 0 0}
  body:not(.grille-page) .hero-bg{border-radius:0 0 24px 24px}
  body:not(.grille-page) .hero h1{font-size:clamp(50px,15vw,66px);max-width:95%}
  body:not(.grille-page) .hero-copy{font-size:17px;line-height:1.58;max-width:94%}
  body:not(.grille-page) .hero-actions{display:grid;grid-template-columns:1fr;max-width:310px}
  body:not(.grille-page) .hero-actions .btn{justify-content:center}
  body:not(.grille-page) .hero-widgets{grid-template-columns:1fr;margin-top:30px;gap:8px}
  body:not(.grille-page) .widget{padding:14px;grid-template-columns:46px 1fr 18px}
  body:not(.grille-page) .stats-panel{width:calc(100% - 28px);grid-template-columns:1fr 1fr;padding:18px 12px;margin:18px auto 0;gap:0}
  body:not(.grille-page) .stats-panel article{padding:14px 10px;border-bottom:1px solid rgba(0,0,0,.07)}
  body:not(.grille-page) .stats-panel article:nth-last-child(-n+2){border-bottom:0}
  body:not(.grille-page) .editorial-story{padding-top:72px}
  body:not(.grille-page) .editorial-intro{text-align:left;margin-bottom:60px}
  body:not(.grille-page) .editorial-intro h2{font-size:clamp(42px,12vw,58px)}
  body:not(.grille-page) .editorial-image,body:not(.grille-page) .editorial-image>img{min-height:340px}
  body:not(.grille-page) .community-banner,body:not(.grille-page) .community-banner>div{min-height:560px}
}

/* Homepage section-flow polish */
.experience-path{width:min(1180px,calc(100% - 48px));margin:42px auto 0;padding:24px 30px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:18px;border:1px solid rgba(20,55,42,.12);border-radius:22px;background:rgba(255,253,248,.82);box-shadow:0 18px 55px rgba(24,48,37,.07);backdrop-filter:blur(14px)}
.experience-path>a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;text-decoration:none;color:var(--ink);padding:8px 4px;transition:transform .25s ease,color .25s ease}
.experience-path>a:hover{transform:translateY(-3px);color:var(--green)}
.experience-path small{grid-row:1/3;font:700 11px/1 Inter,sans-serif;letter-spacing:.12em;color:var(--gold);border:1px solid rgba(174,128,46,.28);border-radius:999px;width:34px;height:34px;display:grid;place-items:center}
.experience-path span{font:700 17px/1.2 'Playfair Display',serif}
.experience-path em{font:500 10px/1.4 Inter,sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.11em;color:#77796f;margin-top:4px}
.experience-path>i{font-style:normal;color:rgba(26,61,46,.3);font-size:18px}
.editorial-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:6px}
.lifestyle-collage img:first-child{object-position:center 58%}
body:not(.grille-page) .editorial-story{padding-top:clamp(75px,8vw,120px)}
body:not(.grille-page) .community-banner{margin-top:clamp(12px,2vw,30px)}
@media(max-width:900px){.experience-path{grid-template-columns:1fr 1fr;gap:4px 18px;padding:20px}.experience-path>i{display:none}.experience-path>a{padding:13px 6px;border-bottom:1px solid rgba(20,55,42,.09)}.experience-path>a:nth-of-type(3),.experience-path>a:nth-of-type(4){border-bottom:0}}
@media(max-width:560px){.experience-path{width:calc(100% - 28px);margin-top:18px;grid-template-columns:1fr;padding:12px 18px}.experience-path>a{padding:13px 2px}.experience-path>a:nth-of-type(3){border-bottom:1px solid rgba(20,55,42,.09)}.experience-path>a:nth-of-type(4){border-bottom:0}.experience-path span{font-size:16px}.experience-path em{font-size:9px}}

/* Homepage typography + spacing refinement — August 2026 */
body:not(.grille-page) #home{--home-gutter:clamp(22px,4vw,56px)}
body:not(.grille-page) .hero-content{max-width:820px}
body:not(.grille-page) .hero h1{letter-spacing:-.052em;text-wrap:balance}
body:not(.grille-page) .hero-copy{max-width:620px;letter-spacing:-.008em}
body:not(.grille-page) .stats-panel{max-width:1180px}
body:not(.grille-page) .stats-panel article{min-height:62px;align-content:center}
body:not(.grille-page) .experience-path{margin-top:48px}
body:not(.grille-page) .editorial-story{padding-left:var(--home-gutter);padding-right:var(--home-gutter)}
body:not(.grille-page) .editorial-intro{max-width:960px;margin-left:auto;margin-right:auto;text-align:center}
body:not(.grille-page) .editorial-intro .eyebrow{margin-bottom:18px}
body:not(.grille-page) .editorial-intro h2{line-height:.98;margin-bottom:24px}
body:not(.grille-page) .editorial-intro>p:not(.eyebrow){max-width:680px;margin-left:auto;margin-right:auto;font-size:clamp(17px,1.3vw,20px);line-height:1.75;color:#62665f}
body:not(.grille-page) .editorial-row{width:min(1240px,100%);margin-left:auto;margin-right:auto;gap:clamp(42px,6vw,88px);align-items:center}
body:not(.grille-page) .editorial-copy{max-width:520px;padding-top:6px;padding-bottom:6px}
body:not(.grille-page) .editorial-copy>span{display:block;margin-bottom:16px;font-size:clamp(2.7rem,4vw,3.6rem);line-height:1;color:rgba(174,128,46,.72)}
body:not(.grille-page) .editorial-copy .eyebrow{margin-bottom:14px}
body:not(.grille-page) .editorial-copy h3{font-size:clamp(38px,4.1vw,60px);line-height:1.02;letter-spacing:-.035em;margin:0 0 20px;text-wrap:balance}
body:not(.grille-page) .editorial-copy p{font-size:clamp(16px,1.15vw,18px);line-height:1.78;max-width:48ch;margin-bottom:25px;color:#5d625c}
body:not(.grille-page) .editorial-copy .text-link{display:inline-flex;align-items:center;min-height:38px;font-size:12px;letter-spacing:.105em;font-weight:800;text-transform:uppercase}
body:not(.grille-page) .editorial-links{gap:8px 26px;margin-top:2px}
body:not(.grille-page) .community-banner{width:min(1240px,calc(100% - (var(--home-gutter) * 2)));margin-left:auto;margin-right:auto}
body:not(.grille-page) .community-banner>div{padding:clamp(42px,6vw,84px)}
body:not(.grille-page) .community-banner h3{max-width:720px;font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.04em;text-wrap:balance}
body:not(.grille-page) .community-banner p{max-width:600px;font-size:clamp(16px,1.2vw,19px);line-height:1.72}
body:not(.grille-page) .signature-rail{margin-top:clamp(72px,8vw,120px)}
@media(max-width:900px){
 body:not(.grille-page) .editorial-row{gap:34px}
 body:not(.grille-page) .editorial-copy h3{font-size:clamp(36px,6vw,50px)}
}
@media(max-width:760px){
 body:not(.grille-page) #home{--home-gutter:20px}
 body:not(.grille-page) .hero h1{letter-spacing:-.045em}
 body:not(.grille-page) .experience-path{margin-top:26px}
 body:not(.grille-page) .editorial-story{padding-left:20px;padding-right:20px}
 body:not(.grille-page) .editorial-intro{text-align:left;margin-bottom:54px}
 body:not(.grille-page) .editorial-intro .eyebrow{margin-bottom:14px}
 body:not(.grille-page) .editorial-intro h2{line-height:1.01;margin-bottom:18px}
 body:not(.grille-page) .editorial-intro>p:not(.eyebrow){margin-left:0;margin-right:0;font-size:16px;line-height:1.68}
 body:not(.grille-page) .editorial-row{gap:26px;margin-bottom:68px}
 body:not(.grille-page) .editorial-copy{max-width:none;padding:0 2px}
 body:not(.grille-page) .editorial-copy>span{font-size:2.45rem;margin-bottom:10px}
 body:not(.grille-page) .editorial-copy h3{font-size:clamp(34px,10vw,46px);margin-bottom:14px}
 body:not(.grille-page) .editorial-copy p{font-size:16px;line-height:1.68;margin-bottom:18px}
 body:not(.grille-page) .community-banner{width:calc(100% - 28px)}
 body:not(.grille-page) .community-banner>div{padding:38px 24px}
 body:not(.grille-page) .signature-rail{margin-top:68px}
}

/* Homepage premium interactions — restrained, tactile, accessibility-aware */
@media (hover:hover) and (pointer:fine){
  body:not(.grille-page) .hero-actions .btn,
  body:not(.grille-page) .book-btn{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,background-color .28s ease,border-color .28s ease}
  body:not(.grille-page) .hero-actions .btn:hover,
  body:not(.grille-page) .book-btn:hover{transform:translateY(-2px)}
  body:not(.grille-page) .hero-actions .btn.gold:hover{box-shadow:0 14px 34px rgba(174,128,46,.26)}
  body:not(.grille-page) .widget{transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s ease,border-color .34s ease,background-color .34s ease}
  body:not(.grille-page) .widget:hover{box-shadow:0 18px 45px rgba(12,35,26,.18);border-color:rgba(255,255,255,.42)}
  body:not(.grille-page) .widget b{transition:transform .28s ease}
  body:not(.grille-page) .widget:hover b{transform:translateX(4px)}
  body:not(.grille-page) .stats-panel article{transition:transform .3s cubic-bezier(.2,.8,.2,1),background-color .3s ease}
  body:not(.grille-page) .stats-panel article:hover{transform:translateY(-4px);background:rgba(255,255,255,.54)}
  body:not(.grille-page) .editorial-image{overflow:hidden}
  body:not(.grille-page) .editorial-image img{transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s ease}
  body:not(.grille-page) .editorial-row:hover .editorial-image>img:first-child{transform:scale(1.025)}
  body:not(.grille-page) .editorial-collage img{transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s ease}
  body:not(.grille-page) .editorial-row:hover .editorial-collage img:first-child{transform:scale(1.025)}
  body:not(.grille-page) .editorial-row:hover .editorial-collage img:nth-child(2){transform:scale(1.035) translateY(-2px)}
  body:not(.grille-page) .text-link{position:relative;overflow:visible}
  body:not(.grille-page) .text-link:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:currentColor;transition:right .32s cubic-bezier(.2,.8,.2,1)}
  body:not(.grille-page) .text-link:hover:after{right:0}
  body:not(.grille-page) .community-banner img{transition:transform 1s cubic-bezier(.2,.75,.2,1)}
  body:not(.grille-page) .community-banner:hover img{transform:scale(1.025)}
}
body:not(.grille-page) .editorial-row.interaction-ready .editorial-copy{transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .65s ease}
body:not(.grille-page) .editorial-row.interaction-ready:not(.in-view) .editorial-copy{transform:translateY(14px);opacity:.82}
body:not(.grille-page) .editorial-row.interaction-ready.in-view .editorial-copy{transform:none;opacity:1}
body:not(.grille-page) .experience-path a:focus-visible,
body:not(.grille-page) .text-link:focus-visible,
body:not(.grille-page) .widget:focus-visible,
body:not(.grille-page) .hero-actions .btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(prefers-reduced-motion:reduce){
  body:not(.grille-page) .editorial-row.interaction-ready .editorial-copy,
  body:not(.grille-page) .editorial-image img,
  body:not(.grille-page) .community-banner img{transition:none!important;transform:none!important;opacity:1!important}
}

/* Homepage photography presentation — cinematic crops + editorial depth */
body:not(.grille-page) .editorial-image{position:relative;border-radius:24px;box-shadow:0 26px 70px rgba(18,45,34,.12);background:#e8e5dc}
body:not(.grille-page) .editorial-image:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(10,30,22,0) 58%,rgba(10,30,22,.12) 100%)}
body:not(.grille-page) .editorial-image>img{width:100%;height:100%;object-fit:cover;display:block}
body:not(.grille-page) .editorial-row:nth-of-type(2) .editorial-image>img{object-position:center 46%}
body:not(.grille-page) .editorial-row:nth-of-type(3) .editorial-image>img{object-position:center 52%}
body:not(.grille-page) .lifestyle-collage{display:grid;grid-template-columns:1.12fr .88fr;gap:10px;padding:10px;background:#f4f0e7}
body:not(.grille-page) .lifestyle-collage:after{display:none}
body:not(.grille-page) .lifestyle-collage img{min-width:0;width:100%;height:100%;object-fit:cover;border-radius:16px}
body:not(.grille-page) .lifestyle-collage img:first-child{object-position:center 58%}
body:not(.grille-page) .lifestyle-collage img:nth-child(2){object-position:center 48%}
body:not(.grille-page) .community-banner{overflow:hidden;border-radius:28px;box-shadow:0 30px 80px rgba(16,42,31,.14)}
body:not(.grille-page) .community-banner:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,28,20,.74) 0%,rgba(7,28,20,.48) 43%,rgba(7,28,20,.12) 72%,rgba(7,28,20,.04) 100%)}
body:not(.grille-page) .community-banner>div{position:relative;z-index:2}
body:not(.grille-page) .community-banner>img{object-position:center 48%;filter:saturate(.92) contrast(1.03)}
body:not(.grille-page) .hero-video,body:not(.grille-page) .hero-video-fallback{filter:saturate(.92) contrast(1.03)}
body:not(.grille-page) .hero-shade{background:linear-gradient(90deg,rgba(5,24,17,.74) 0%,rgba(5,24,17,.48) 46%,rgba(5,24,17,.16) 75%,rgba(5,24,17,.08) 100%),linear-gradient(0deg,rgba(5,24,17,.25),transparent 45%)}
@media(max-width:760px){
 body:not(.grille-page) .editorial-image{border-radius:18px;box-shadow:0 18px 48px rgba(18,45,34,.1)}
 body:not(.grille-page) .editorial-image,body:not(.grille-page) .editorial-image>img{min-height:310px}
 body:not(.grille-page) .lifestyle-collage{grid-template-columns:1fr 1fr;min-height:330px;padding:7px;gap:7px}
 body:not(.grille-page) .lifestyle-collage img{min-height:316px;border-radius:13px}
 body:not(.grille-page) .community-banner{border-radius:20px}
 body:not(.grille-page) .community-banner:after{background:linear-gradient(0deg,rgba(7,28,20,.8) 0%,rgba(7,28,20,.5) 55%,rgba(7,28,20,.16) 100%)}
 body:not(.grille-page) .community-banner>img{object-position:center center}
}


/* Homepage CTA hierarchy refinement — August 2026 */
body:not(.grille-page) .hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
body:not(.grille-page) .hero-actions .btn{min-width:190px;justify-content:center}
body:not(.grille-page) .hero-actions .btn.gold{min-width:225px}
body:not(.grille-page) .hero-actions .btn span{margin-left:8px}
body:not(.grille-page) .section-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:2px}
body:not(.grille-page) .section-actions .text-link{margin:0}
body:not(.grille-page) .mini-cta{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border:1px solid rgba(20,55,42,.18);border-radius:999px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
body:not(.grille-page) .community-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px}
body:not(.grille-page) .community-actions .btn{margin:0}
body:not(.grille-page) .community-secondary{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(8px)}
@media(hover:hover) and (pointer:fine){body:not(.grille-page) .mini-cta:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-1px)}body:not(.grille-page) .community-secondary:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}}
@media(max-width:560px){body:not(.grille-page) .hero-actions{align-items:stretch}body:not(.grille-page) .hero-actions .btn{width:100%;min-width:0}body:not(.grille-page) .section-actions{gap:10px 14px}body:not(.grille-page) .community-actions{align-items:stretch}body:not(.grille-page) .community-actions .btn{width:100%;justify-content:center}}


/* Homepage final responsive pass — phone, tablet, laptop, wide desktop */
@media (min-width:1440px){
  body:not(.grille-page) .hero-content{max-width:880px}
  body:not(.grille-page) .editorial-row{width:min(1320px,100%)}
  body:not(.grille-page) .community-banner{width:min(1320px,calc(100% - (var(--home-gutter) * 2)))}
}
@media (max-width:1180px){
  body:not(.grille-page) .topbar{gap:18px;padding-left:24px;padding-right:20px}
  body:not(.grille-page) .book-btn{margin-left:auto}
  body:not(.grille-page) .hero{min-height:auto;padding-bottom:86px}
  body:not(.grille-page) .hero-content{width:min(700px,88vw)}
  body:not(.grille-page) .hero-widgets{max-width:700px}
  body:not(.grille-page) .stats-panel{margin-top:-38px}
  body:not(.grille-page) .editorial-row{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  body:not(.grille-page) .editorial-image{min-width:0}
}
@media (max-width:900px){
  body:not(.grille-page) .hero{padding-bottom:72px}
  body:not(.grille-page) .hero-content{width:min(680px,92vw)}
  body:not(.grille-page) .hero-copy{font-size:18px;line-height:1.62;max-width:580px}
  body:not(.grille-page) .stats-panel{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:62px}
  body:not(.grille-page) .editorial-row{grid-template-columns:1fr;gap:30px}
  body:not(.grille-page) .editorial-row:nth-child(even) .editorial-image,
  body:not(.grille-page) .editorial-row:nth-child(even) .editorial-copy{order:initial}
  body:not(.grille-page) .editorial-image{aspect-ratio:16/10;min-height:0!important}
  body:not(.grille-page) .editorial-image>img{min-height:0!important}
  body:not(.grille-page) .editorial-copy{max-width:680px}
  body:not(.grille-page) .community-banner>div{min-height:500px}
}
@media (max-width:760px){
  body:not(.grille-page) .topbar{top:10px;width:calc(100% - 20px);padding:11px 12px;border-radius:20px;gap:8px}
  body:not(.grille-page) .logo-lockup{flex:1;min-width:0}
  body:not(.grille-page) .brand-logo{max-width:150px;height:auto}
  body:not(.grille-page) .logo-sport-label{font-size:8px;letter-spacing:.12em}
  body:not(.grille-page) .topbar>.book-btn{display:none}
  body:not(.grille-page) .menu-btn{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px}
  body:not(.grille-page) .hero{padding:148px 18px 58px;min-height:760px}
  body:not(.grille-page) .hero-bg,body:not(.grille-page) .hero-shade{inset:116px 0 0}
  body:not(.grille-page) .hero-content{width:100%;max-width:620px;padding-top:0}
  body:not(.grille-page) .hero h1{font-size:clamp(46px,13vw,70px);line-height:.94;margin:16px 0 18px}
  body:not(.grille-page) .hero-copy{width:100%;font-size:16px;line-height:1.58;margin-bottom:26px}
  body:not(.grille-page) .hero-actions{gap:10px}
  body:not(.grille-page) .hero-actions .btn{padding:16px 18px;min-height:52px}
  body:not(.grille-page) .hero-widgets{margin-top:26px;gap:8px}
  body:not(.grille-page) .widget{padding:15px 16px;border-radius:17px;grid-template-columns:46px 1fr 16px;gap:12px}
  body:not(.grille-page) .widget .icon{width:44px;height:44px;border-radius:13px;font-size:20px}
  body:not(.grille-page) .widget strong{font-size:18px}
  body:not(.grille-page) .stats-panel{width:calc(100% - 28px);margin:-28px auto 52px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:18px 12px;border-radius:20px}
  body:not(.grille-page) .stats-panel article{padding:12px 8px;border-bottom:1px solid rgba(0,0,0,.08)}
  body:not(.grille-page) .stats-panel article:nth-last-child(-n+2){border-bottom:0}
  body:not(.grille-page) .stats-panel strong{font-size:17px}
  body:not(.grille-page) .stats-panel small{font-size:10px}
  body:not(.grille-page) .experience-path{width:calc(100% - 28px)}
  body:not(.grille-page) .editorial-story{padding-top:68px}
  body:not(.grille-page) .editorial-image{aspect-ratio:4/3;min-height:0!important}
  body:not(.grille-page) .editorial-row{margin-bottom:58px}
  body:not(.grille-page) .editorial-links{display:grid;gap:6px}
  body:not(.grille-page) .editorial-copy .text-link{width:max-content;max-width:100%}
  body:not(.grille-page) .community-banner{min-height:520px}
  body:not(.grille-page) .community-banner>div{min-height:520px;padding:34px 22px;display:flex;flex-direction:column;justify-content:flex-end}
  body:not(.grille-page) .community-banner h3{font-size:clamp(38px,11vw,52px)}
  body:not(.grille-page) .community-actions{width:100%}
  body:not(.grille-page) .community-actions .btn{min-height:50px;padding:15px 18px}
}
@media (max-width:430px){
  body:not(.grille-page) .brand-logo{max-width:126px}
  body:not(.grille-page) .logo-sport-label{display:none}
  body:not(.grille-page) .hero{padding-left:14px;padding-right:14px;min-height:720px}
  body:not(.grille-page) .hero h1{font-size:clamp(42px,12.5vw,56px)}
  body:not(.grille-page) .hero-copy{font-size:15px}
  body:not(.grille-page) .hero-actions .btn{font-size:11px}
  body:not(.grille-page) .stats-panel{width:calc(100% - 20px);padding:14px 8px}
  body:not(.grille-page) .stats-panel article{grid-template-columns:36px 1fr;gap:8px}
  body:not(.grille-page) .stats-panel span{font-size:25px}
  body:not(.grille-page) .experience-path{width:calc(100% - 20px);padding-left:14px;padding-right:14px}
  body:not(.grille-page) .editorial-story{padding-left:14px;padding-right:14px}
  body:not(.grille-page) .editorial-image{border-radius:16px}
  body:not(.grille-page) .community-banner{width:calc(100% - 20px);border-radius:18px}
  body:not(.grille-page) .community-banner>div{padding:28px 18px}
}

/* Homepage: signature rail moved beneath club highlights */
body:not(.grille-page) .home-signature-rail{margin-top:0!important;margin-bottom:clamp(44px,5vw,72px)}
.home-signature-rail{border-radius:0;box-shadow:0 14px 36px rgba(14,51,39,.10)}
@media(max-width:760px){body:not(.grille-page) .home-signature-rail{margin-bottom:38px}}

/* Homepage relocated signature rail — balanced breathing room */
body:not(.grille-page) .home-signature-rail{
  margin-top:clamp(32px,4vw,56px)!important;
  margin-bottom:clamp(48px,5vw,76px)!important;
}
@media (max-width:760px){
  body:not(.grille-page) .home-signature-rail{
    margin-top:26px!important;
    margin-bottom:42px!important;
  }
}
@media (max-width:430px){
  body:not(.grille-page) .home-signature-rail{
    margin-top:22px!important;
    margin-bottom:36px!important;
  }
}

/* 2026 final authentic photography enhancement */
.sport-focus article{transition:transform .35s ease,box-shadow .35s ease}
.sport-focus article:hover{transform:translateY(-4px);box-shadow:0 30px 78px rgba(22,46,35,.16)}
.sport-focus img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.sport-focus article:hover img{transform:scale(1.025)}
.page-hero>img{filter:saturate(.96) contrast(1.02)}
@media(prefers-reduced-motion:reduce){.sport-focus article,.sport-focus img{transition:none}.sport-focus article:hover,.sport-focus article:hover img{transform:none}}


/* Premium BLVD logo companion lockup — final refinement */
.topbar .logo-lockup{
  gap:18px;
  align-items:center;
}
.topbar .logo-sport-label{
  position:relative;
  display:grid;
  gap:3px;
  max-width:none;
  padding:2px 0 2px 18px;
  margin-left:2px;
  border:0!important;
  border-left:1px solid rgba(194,151,64,.68)!important;
  border-radius:0;
  background:transparent!important;
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 1px 10px rgba(0,0,0,.18);
  white-space:nowrap;
  line-height:1;
}
.logo-sport-label::before{
  content:"";
  position:absolute;
  left:-2px;
  top:50%;
  width:3px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(180deg,#d8b765,#9a762c);
  transform:translateY(-50%);
  box-shadow:0 0 0 3px rgba(216,183,101,.08);
}
.logo-sport-title{
  display:block;
  font-family:"Playfair Display",Georgia,serif;
  font-size:15px;
  font-weight:600;
  letter-spacing:.035em;
  text-transform:none;
}
.logo-sport-sub{
  display:block;
  font-family:Inter,Arial,sans-serif;
  font-size:8px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
  opacity:.76;
}
.topbar.scrolled .logo-sport-label{
  color:#26372e!important;
  text-shadow:none;
  border-left-color:rgba(154,118,44,.42)!important;
}
.topbar.scrolled .logo-sport-sub{opacity:.64}

@media(max-width:1450px){
  .topbar .logo-lockup{min-width:235px;gap:14px}
  .topbar .logo-sport-label{padding-left:14px}
  .logo-sport-title{font-size:13px}
  .logo-sport-sub{font-size:7px;letter-spacing:.15em}
}
@media(max-width:1180px){
  .topbar .logo-lockup{gap:12px}
  .logo-sport-title{font-size:12px}
}
@media(max-width:760px){
  .topbar .logo-sport-label{
    display:grid;
    padding-left:10px;
    gap:2px;
  }
  .logo-sport-label::before{height:14px;width:2px}
  .logo-sport-title{font-size:10px}
  .logo-sport-sub{font-size:6px;letter-spacing:.11em}
}
@media(max-width:560px){
  .topbar .logo-sport-label{display:none}
}

/* Final logo lockup visibility + spacing adjustment */
.topbar .logo-lockup{
  gap:8px!important;
}
.topbar .logo-sport-label{
  margin-left:-2px!important;
  padding-left:11px!important;
}
.topbar.scrolled .logo-sport-label{
  color:#16271f!important;
  border-left-color:rgba(154,118,44,.62)!important;
  text-shadow:none!important;
}
.topbar.scrolled .logo-sport-title{
  color:#16271f!important;
  font-weight:700!important;
}
.topbar.scrolled .logo-sport-sub{
  color:#5d654f!important;
  opacity:1!important;
  font-weight:800!important;
}
.topbar.scrolled .logo-sport-label::before{
  background:linear-gradient(180deg,#bf963e,#8d6c26)!important;
  box-shadow:0 0 0 3px rgba(191,150,62,.10)!important;
}
@media(max-width:1450px){
  .topbar .logo-lockup{gap:6px!important}
  .topbar .logo-sport-label{padding-left:9px!important;margin-left:-1px!important}
}
@media(max-width:1180px){
  .topbar .logo-lockup{gap:5px!important}
}

/* 2026-08-28 FINAL FIX — logo companion visibility + tighter lockup */
body:not(.grille-page) .topbar .logo-lockup{
  gap:0!important;
}
body:not(.grille-page) .topbar .logo-sport-label{
  margin-left:-14px!important;
  padding:7px 12px 7px 14px!important;
  border-left:2px solid #b58a35!important;
  border-radius:0 10px 10px 0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.52))!important;
  color:#18372a!important;
  text-shadow:none!important;
  box-shadow:none!important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
body:not(.grille-page) .topbar .logo-sport-label::before{
  display:none!important;
}
body:not(.grille-page) .topbar .logo-sport-title{
  color:#18372a!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
}
body:not(.grille-page) .topbar .logo-sport-sub{
  color:#7b6531!important;
  opacity:1!important;
  font-size:7px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
body:not(.grille-page) .topbar.scrolled .logo-sport-label{
  background:linear-gradient(90deg,rgba(244,239,226,.42),rgba(255,255,255,.86))!important;
  color:#102b20!important;
  border-left-color:#a77f2f!important;
}
body:not(.grille-page) .topbar.scrolled .logo-sport-title{color:#102b20!important}
body:not(.grille-page) .topbar.scrolled .logo-sport-sub{color:#665424!important}
@media(max-width:1450px){
  body:not(.grille-page) .topbar .logo-sport-label{margin-left:-12px!important;padding-left:12px!important}
}
@media(max-width:1180px){
  body:not(.grille-page) .topbar .logo-sport-label{margin-left:-10px!important}
}
@media(max-width:760px){
  body:not(.grille-page) .topbar .logo-sport-label{margin-left:-8px!important;padding:5px 8px 5px 10px!important}
  body:not(.grille-page) .topbar .logo-sport-title{font-size:10px!important}
  body:not(.grille-page) .topbar .logo-sport-sub{font-size:6px!important}
}
@media(max-width:560px){
  body:not(.grille-page) .topbar .logo-sport-label{display:none!important}
}

/* ===== Tennis & Padel premium page ===== */
.tp-hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;overflow:hidden;background:#102b20;color:#fff}
.tp-hero-media,.tp-hero-media img,.tp-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.tp-hero-media img{object-fit:cover;object-position:center 48%;transform:scale(1.01)}
.tp-hero-shade{background:linear-gradient(90deg,rgba(5,24,17,.86) 0%,rgba(5,24,17,.58) 48%,rgba(5,24,17,.18) 76%),linear-gradient(0deg,rgba(5,24,17,.70),transparent 45%)}
.tp-hero-content{position:relative;z-index:2;width:min(760px,calc(100% - 40px));margin-left:max(5vw,28px);padding:190px 0 138px}
.tp-hero-content .eyebrow{color:#e4c66d}.tp-hero h1{font:700 clamp(3.6rem,7vw,7.4rem)/.92 "Playfair Display",serif;letter-spacing:-.045em;margin:.1em 0 .28em}.tp-hero h1 em{font-style:italic;color:#e4c66d;font-weight:600}.tp-hero-lead{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.7;max-width:680px;color:rgba(255,255,255,.88)}
.tp-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.outline-light{border:1px solid rgba(255,255,255,.58);color:#fff;background:rgba(8,25,18,.16);backdrop-filter:blur(8px)}.outline-light:hover{background:#fff;color:#17382a}
.tp-hero-stats{position:absolute;z-index:3;right:4.5vw;bottom:42px;display:grid;grid-template-columns:repeat(3,auto);background:rgba(10,30,22,.82);border:1px solid rgba(255,255,255,.17);border-radius:22px;backdrop-filter:blur(16px);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.23)}
.tp-hero-stats>div{padding:20px 26px;display:grid;gap:2px;border-left:1px solid rgba(255,255,255,.14)}.tp-hero-stats>div:first-child{border-left:0}.tp-hero-stats strong{font:700 1.7rem/1 "Playfair Display",serif;color:#e4c66d}.tp-hero-stats span{font-size:.69rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.74);white-space:nowrap}
.tp-intro{text-align:center;max-width:980px;margin-inline:auto;padding-top:110px!important;padding-bottom:75px!important}.tp-intro h2{font:700 clamp(2.7rem,5vw,5.1rem)/1.02 "Playfair Display",serif;margin:.14em auto .28em;max-width:900px}.tp-intro>p:last-child{font-size:1.12rem;line-height:1.8;color:#536159;max-width:780px;margin:0 auto}
.tp-sports{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:24px!important}.tp-sport-card{background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 22px 70px rgba(25,48,36,.11);border:1px solid rgba(30,64,46,.09)}.tp-sport-photo{height:460px;overflow:hidden}.tp-sport-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tp-sport-card:hover .tp-sport-photo img{transform:scale(1.035)}.tp-tennis .tp-sport-photo img{object-position:center 52%}.tp-padel .tp-sport-photo img{object-position:center 56%}.tp-sport-copy{padding:42px 44px 46px}.tp-sport-copy h2{font:700 clamp(2.4rem,3.2vw,3.75rem)/1.04 "Playfair Display",serif;margin:.15em 0 .3em}.tp-sport-copy>p:not(.eyebrow){font-size:1.04rem;line-height:1.72;color:#55625b}.tp-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 26px}.tp-tags span{padding:8px 12px;border-radius:999px;background:#f4f0e5;color:#455248;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.tp-card-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.tp-photo-strip{width:min(1500px,94vw);margin:18px auto 110px;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:16px;height:440px}.tp-photo-strip figure{margin:0;border-radius:22px;overflow:hidden}.tp-photo-strip img{width:100%;height:100%;object-fit:cover}.tp-photo-strip figure:nth-child(1) img{object-position:center 46%}.tp-photo-strip figure:nth-child(2) img{object-position:center 48%}.tp-photo-strip figure:nth-child(3) img{object-position:center 48%}
.tp-coaching{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:center;background:#133729;color:#fff;border-radius:36px;width:min(1420px,92vw);margin:0 auto 120px;padding:clamp(48px,6vw,88px)!important}.tp-coaching-copy h2{font:700 clamp(2.8rem,4.6vw,5.1rem)/1.02 "Playfair Display",serif;margin:.15em 0 .3em}.tp-coaching-copy>p:not(.eyebrow){font-size:1.06rem;line-height:1.78;color:rgba(255,255,255,.76);margin-bottom:28px}.tp-coaching-image{border-radius:28px;overflow:hidden;min-height:480px}.tp-coaching-image img{width:100%;height:100%;min-height:480px;object-fit:cover}
.tp-proshop{padding-top:30px!important;padding-bottom:120px!important}.tp-section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:36px}.tp-section-head h2{font:700 clamp(2.8rem,4.9vw,5.2rem)/1 "Playfair Display",serif;margin:.12em 0 0}.tp-section-head>p{font-size:1.06rem;line-height:1.75;color:#59655e;max-width:520px}.tp-proshop-grid{display:grid;grid-template-columns:1.45fr .8fr .8fr;gap:18px}.tp-proshop-grid figure{position:relative;margin:0;height:470px;border-radius:25px;overflow:hidden;background:#142f25}.tp-proshop-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.tp-proshop-grid figure:hover img{transform:scale(1.03)}.tp-proshop-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 28px 24px;background:linear-gradient(transparent,rgba(4,22,16,.86));color:#fff;display:grid;gap:4px}.tp-proshop-grid figcaption strong{font:600 1.45rem/1.1 "Playfair Display",serif}.tp-proshop-grid figcaption span{font-size:.82rem;color:rgba(255,255,255,.75)}.tp-proshop-action{text-align:center;margin-top:32px}.outline-dark{border:1px solid rgba(25,53,40,.4);color:#183628;background:transparent}.outline-dark:hover{background:#17382a;color:#fff}
.tp-beyond{display:grid;grid-template-columns:1.12fr .88fr;gap:0;width:min(1440px,94vw);margin:0 auto 115px;padding:0!important;background:#eee8db;border-radius:34px;overflow:hidden;box-shadow:0 24px 70px rgba(25,48,36,.1)}.tp-beyond-image{min-height:560px}.tp-beyond-image img{width:100%;height:100%;min-height:560px;object-fit:cover}.tp-beyond-copy{padding:clamp(48px,6vw,86px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tp-beyond-copy h2{font:700 clamp(2.8rem,4.7vw,5rem)/1.03 "Playfair Display",serif;margin:.14em 0 .3em}.tp-beyond-copy>p:not(.eyebrow){font-size:1.06rem;line-height:1.8;color:#596159}.tp-beyond-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}
.tp-final-cta{background:linear-gradient(110deg,#0c2d20,#224f39);color:#fff;padding:100px 5vw;text-align:center}.tp-final-cta>div{max-width:820px;margin:auto}.tp-final-cta h2{font:700 clamp(3rem,5.8vw,5.8rem)/.98 "Playfair Display",serif;margin:.14em 0 .25em}.tp-final-cta p:not(.eyebrow){font-size:1.08rem;line-height:1.7;color:rgba(255,255,255,.78);max-width:660px;margin:0 auto 28px}.tp-final-cta>div>div{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:1100px){.tp-hero-stats{left:5vw;right:auto;bottom:28px}.tp-hero-content{padding-bottom:190px}.tp-sports{grid-template-columns:1fr}.tp-sport-photo{height:520px}.tp-coaching,.tp-beyond{grid-template-columns:1fr}.tp-coaching-image{order:-1}.tp-proshop-grid{grid-template-columns:1fr 1fr}.tp-proshop-main{grid-column:1/-1}.tp-section-head{grid-template-columns:1fr;gap:20px}.tp-photo-strip{height:340px}}
@media(max-width:760px){.tp-hero{min-height:760px}.tp-hero-content{margin-left:22px;padding:150px 0 250px;width:calc(100% - 44px)}.tp-hero h1{font-size:clamp(3.1rem,15vw,4.7rem)}.tp-hero-stats{left:18px;right:18px;bottom:22px;grid-template-columns:1fr}.tp-hero-stats>div{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:12px 18px}.tp-hero-stats>div:first-child{border-top:0}.tp-hero-stats strong{font-size:1.3rem}.tp-intro{padding-top:80px!important}.tp-sport-photo{height:340px}.tp-sport-copy{padding:30px 26px 34px}.tp-photo-strip{grid-template-columns:1fr 1fr;height:auto;margin-bottom:80px}.tp-photo-strip figure{height:250px}.tp-photo-strip figure:first-child{grid-column:1/-1;height:300px}.tp-coaching{width:94vw;border-radius:26px;padding:34px 26px!important;gap:30px}.tp-coaching-image,.tp-coaching-image img{min-height:330px}.tp-proshop-grid{grid-template-columns:1fr}.tp-proshop-main{grid-column:auto}.tp-proshop-grid figure{height:390px}.tp-beyond{width:94vw;border-radius:26px}.tp-beyond-image,.tp-beyond-image img{min-height:360px}.tp-beyond-copy{padding:40px 28px}.tp-final-cta{padding:78px 24px}}
@media(prefers-reduced-motion:reduce){.tp-sport-photo img,.tp-proshop-grid img{transition:none}.tp-sport-card:hover .tp-sport-photo img,.tp-proshop-grid figure:hover img{transform:none}}


/* Navigation CTA integration + verified court counts — Aug 2026 */
body:not(.grille-page) .topbar{
  gap:clamp(12px,1.25vw,24px);
}
body:not(.grille-page) .desktop-nav{
  align-items:center;
  justify-content:flex-end;
  gap:clamp(14px,1.35vw,25px);
}
body:not(.grille-page) .desktop-nav .nav-book-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  padding:0 19px;
  margin-left:3px;
  border:1px solid rgba(126,135,72,.42);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(126,135,72,.12),rgba(201,145,39,.12));
  color:#20372b;
  font-size:12px;
  letter-spacing:.065em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
body:not(.grille-page) .desktop-nav .nav-book-link::after{display:none}
body:not(.grille-page) .desktop-nav .nav-book-link .nav-book-icon{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#7e8748;
  color:#fff;
  font-size:13px;
  line-height:1;
  transition:transform .25s ease,background .25s ease;
}
body:not(.grille-page) .desktop-nav .nav-book-link:hover{
  background:linear-gradient(135deg,#7e8748,#9b7b36);
  border-color:#7e8748;
  color:#fff;
  box-shadow:0 12px 26px rgba(65,77,44,.20);
  transform:translateY(-1px);
}
body:not(.grille-page) .desktop-nav .nav-book-link:hover .nav-book-icon{
  background:rgba(255,255,255,.18);
  transform:translate(1px,-1px);
}
body:not(.grille-page) .topbar.scrolled .desktop-nav .nav-book-link{
  background:rgba(126,135,72,.10);
  border-color:rgba(90,102,56,.30);
}
body:not(.grille-page) .topbar.scrolled .desktop-nav .nav-book-link:hover{
  background:linear-gradient(135deg,#6f7a3e,#947331);
  color:#fff;
}
@media(max-width:1450px){
  body:not(.grille-page) .desktop-nav{gap:12px}
  body:not(.grille-page) .desktop-nav .nav-book-link{padding:0 14px;font-size:10.5px;gap:7px}
  body:not(.grille-page) .desktop-nav .nav-book-link .nav-book-icon{width:22px;height:22px;font-size:11px}
}
@media(max-width:1180px){
  body:not(.grille-page) .desktop-nav .nav-book-link{
    margin:18px 0 0;
    min-height:54px;
    padding:0 18px;
    border-radius:16px;
    background:linear-gradient(135deg,#7e8748,#9b7b36);
    border-color:#7e8748;
    color:#fff;
    font-size:14px;
    justify-content:flex-start;
  }
  body:not(.grille-page) .desktop-nav .nav-book-link .nav-book-icon{background:rgba(255,255,255,.16)}
}

/* Tennis & Padel — coaching/programs CTA visibility */
.btn.green{
  background:linear-gradient(135deg,var(--green),var(--deep-green));
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 30px rgba(43,55,35,.22);
}
.btn.green:hover{
  background:linear-gradient(135deg,var(--deep-green),#2f3f2d);
  color:#fff;
  box-shadow:0 18px 38px rgba(43,55,35,.28);
}
.btn.green:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:4px;
}

/* Programs page — premium refinement */
.programs-hero .page-hero-shade{background:linear-gradient(90deg,rgba(11,35,26,.9) 0%,rgba(11,35,26,.58) 44%,rgba(11,35,26,.18) 75%),linear-gradient(0deg,rgba(8,26,19,.62),transparent 55%)}
.programs-hero .page-hero-content h1 em,.program-intro h2 em,.program-feature-copy h2 em,.program-closing-cta h2 em{font-style:italic;color:var(--gold2)}
.program-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.program-outline{border:1px solid rgba(255,255,255,.5);color:#fff;background:rgba(8,26,19,.25);backdrop-filter:blur(8px)}.program-outline:hover{background:#fff;color:var(--green)}
.program-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,7vw,96px);align-items:end;padding-top:20px}.program-intro-copy{max-width:640px}.program-intro-copy h2,.program-feature-copy h2,.program-closing-cta h2{font:700 clamp(2.5rem,4.5vw,4.7rem)/1.02 'Playfair Display',serif;margin:.18em 0 .32em}.program-intro-copy>p:last-child,.program-feature-copy>p:last-of-type,.program-closing-cta p{font-size:1.08rem;line-height:1.75;color:#5f665f}
.program-paths{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.program-path{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;padding:22px 24px;border-radius:20px;background:#f6f2e8;border:1px solid rgba(66,73,59,.12);text-decoration:none;color:var(--charcoal);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.program-path:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(27,42,33,.10);border-color:rgba(174,145,78,.42)}.program-path span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(174,145,78,.13);color:#8f7437;font-weight:800;font-size:.78rem}.program-path strong{font:700 1.45rem/1.1 'Playfair Display',serif}.program-path small{margin-top:4px;color:#777c74;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}
.program-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(36px,6vw,86px);align-items:center}.program-feature-media{position:relative;border-radius:30px;overflow:hidden;min-height:570px;box-shadow:0 30px 70px rgba(18,38,28,.14)}.program-feature-media::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.35);border-radius:inherit;pointer-events:none}.program-feature-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.program-feature-copy{max-width:580px}.program-feature-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.program-feature-links .text-link{color:var(--green);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(11,61,46,.28);padding-bottom:3px}
.program-card-cta{background:linear-gradient(145deg,rgba(198,166,96,.25),rgba(255,255,255,.06));border-color:rgba(221,190,116,.35)}.program-card-cta a{display:inline-block;margin-top:20px;color:#f2d99f;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(242,217,159,.5);padding-bottom:3px}
.program-split-showcase{display:grid;grid-template-columns:1fr 1fr;gap:18px}.program-showcase-card{position:relative;min-height:600px;overflow:hidden;border-radius:30px;background:#13281f}.program-showcase-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.program-showcase-card:hover img{transform:scale(1.035)}.program-showcase-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,23,16,.9) 0%,rgba(6,23,16,.32) 52%,rgba(6,23,16,.05) 76%)}.program-showcase-copy{position:absolute;left:0;right:0;bottom:0;padding:clamp(28px,4vw,52px);color:#fff}.program-showcase-copy h2{font:700 clamp(2.5rem,4vw,4rem)/1 'Playfair Display',serif;margin:.14em 0}.program-showcase-copy p:not(.eyebrow){max-width:520px;line-height:1.65;color:rgba(255,255,255,.82)}.program-showcase-copy a{display:inline-block;margin-top:12px;color:#efd496;font-weight:800;text-decoration:none}
.program-closing-cta{display:flex;justify-content:space-between;align-items:center;gap:48px;padding:clamp(34px,5vw,64px);border-radius:32px;background:linear-gradient(120deg,#eee6d4,#f9f6ee);border:1px solid rgba(90,88,69,.13)}.program-closing-cta>div:first-child{max-width:760px}.program-closing-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.program-outline-dark{background:transparent;color:var(--green);border:1px solid rgba(11,61,46,.38)}.program-outline-dark:hover{background:var(--green);color:#fff}
@media(max-width:980px){.program-intro,.program-feature{grid-template-columns:1fr}.program-feature-media{min-height:470px}.program-closing-cta{align-items:flex-start;flex-direction:column}.program-closing-actions{justify-content:flex-start}.program-split-showcase{grid-template-columns:1fr}.program-showcase-card{min-height:520px}}
@media(max-width:640px){.programs-hero .page-hero-content h1{font-size:clamp(2.75rem,12vw,4rem)}.program-hero-actions,.program-feature-links,.program-closing-actions{display:grid;grid-template-columns:1fr;width:100%}.program-hero-actions .btn,.program-feature-links .btn,.program-closing-actions .btn{text-align:center;justify-content:center}.program-paths{grid-template-columns:1fr}.program-path{padding:18px}.program-feature-media{min-height:360px;border-radius:24px}.program-split-showcase{gap:14px}.program-showcase-card{min-height:460px;border-radius:24px}.program-closing-cta{padding:30px 22px;border-radius:26px}.program-intro-copy h2,.program-feature-copy h2,.program-closing-cta h2{font-size:clamp(2.35rem,11vw,3.2rem)}}
@media(prefers-reduced-motion:reduce){.program-path,.program-showcase-card img{transition:none}.program-path:hover,.program-showcase-card:hover img{transform:none}}

/* BLVD live programs integration */
.live-programs{padding-top:clamp(38px,6vw,78px);padding-bottom:clamp(62px,8vw,110px)}
.live-programs-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}
.live-programs-head>div{max-width:800px}.live-programs-head h2{font:700 clamp(2.6rem,4.6vw,4.8rem)/1.02 'Playfair Display',serif;margin:.16em 0 .28em}.live-programs-head h2 em{font-style:italic;color:#9c7e3d}.live-programs-head p:last-child{max-width:760px;color:#656a63;line-height:1.75;font-size:1.05rem}
.live-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.live-program-card{position:relative;min-height:305px;padding:30px;border-radius:24px;background:#f6f2e8;border:1px solid rgba(56,70,57,.12);box-shadow:0 16px 45px rgba(26,48,36,.06);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.live-program-card::after{content:"";position:absolute;right:-55px;top:-55px;width:145px;height:145px;border-radius:50%;background:rgba(181,148,73,.10)}.live-program-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(26,48,36,.11);border-color:rgba(181,148,73,.35)}.live-program-card-featured{background:linear-gradient(145deg,#173b2e,#0d2c21);color:#fff;border-color:rgba(218,189,120,.32)}.live-program-kicker{display:inline-block;color:#9a7a35;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.live-program-card-featured .live-program-kicker{color:#e6c979}.live-program-card h3{font:700 2rem/1.08 'Playfair Display',serif;margin:16px 0 13px}.live-program-card p{color:#686d66;line-height:1.67;margin:0 0 23px}.live-program-card-featured p{color:rgba(255,255,255,.76)}.live-program-card a{display:inline-block;color:#0b3d2e;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(11,61,46,.22);padding-bottom:3px}.live-program-card-featured a{color:#efd58f;border-color:rgba(239,213,143,.38)}
.live-program-note{margin-top:18px;padding:18px 22px;border-radius:17px;background:rgba(11,61,46,.055);display:flex;gap:18px;align-items:flex-start}.live-program-note span{flex:0 0 auto;color:#8d7035;font-size:.72rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;padding-top:4px}.live-program-note p{margin:0;color:#6d716b;line-height:1.6}
@media(max-width:980px){.live-programs-head{align-items:flex-start;flex-direction:column}.live-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.live-programs-head{gap:22px}.live-programs-head .btn{width:100%;text-align:center;justify-content:center}.live-program-grid{grid-template-columns:1fr}.live-program-card{min-height:0;padding:25px 22px}.live-program-note{display:block}.live-program-note span{display:block;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.live-program-card{transition:none}.live-program-card:hover{transform:none}}


/* Programs auto-update status */
.program-sync-status{display:inline-flex;align-items:center;gap:9px;margin-top:14px;padding:9px 13px;border-radius:999px;background:rgba(11,61,46,.06);color:#657066;font-size:.8rem;font-weight:750;letter-spacing:.035em}
.program-sync-dot{width:8px;height:8px;border-radius:50%;background:#b6974f;box-shadow:0 0 0 4px rgba(182,151,79,.13)}
.program-sync-status.is-live{background:rgba(48,112,72,.08);color:#365c43}.program-sync-status.is-live .program-sync-dot{background:#4d875e;box-shadow:0 0 0 4px rgba(77,135,94,.13)}
.program-sync-status.is-fallback{background:rgba(155,123,54,.08);color:#7e6735}.program-sync-status.is-fallback .program-sync-dot{background:#9b7b36}
.live-program-card.is-dynamic{animation:programCardIn .42s ease both}
.live-program-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.live-program-meta span{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(11,61,46,.06);color:#627066;font-size:.72rem;font-weight:800}.live-program-card-featured .live-program-meta span{background:rgba(255,255,255,.09);color:rgba(255,255,255,.8)}
@keyframes programCardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.live-program-card.is-dynamic{animation:none}}

/* ===== Membership page — premium conversion experience ===== */
.membership-hero .page-hero-shade{background:linear-gradient(90deg,rgba(10,33,24,.9) 0%,rgba(10,33,24,.57) 45%,rgba(10,33,24,.14) 78%),linear-gradient(0deg,rgba(7,23,17,.58),transparent 52%)}
.membership-hero .page-hero-content h1 em,.membership-intro h2 em,.membership-lifestyle-copy h2 em,.membership-closing-cta h2 em{font-style:italic;color:var(--gold2)}
.membership-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.membership-hero-actions .btn.glass,.membership-closing-actions .btn.glass{background:rgba(10,35,26,.44);border:1px solid rgba(255,255,255,.42);color:#fff;backdrop-filter:blur(10px)}
.membership-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(34px,6vw,90px);align-items:start;padding-top:20px}.membership-intro h2{font:700 clamp(2.8rem,5.4vw,5.3rem)/.96 'Playfair Display',serif;margin:.15em 0}.membership-intro-body{font-size:clamp(1.05rem,1.35vw,1.22rem);line-height:1.8;color:var(--muted);max-width:760px}.membership-intro-body p:first-child{margin-top:8px}.membership-intro-body strong{color:var(--green)}
.membership-pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.membership-pillar{position:relative;min-height:540px;border-radius:28px;overflow:hidden;background:#152b21;box-shadow:0 22px 60px rgba(13,35,27,.14)}.membership-pillar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1)}.membership-pillar:hover>img{transform:scale(1.04)}.membership-pillar-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,22,16,.94) 0%,rgba(6,22,16,.42) 50%,rgba(6,22,16,.05) 78%)}.membership-pillar-copy{position:absolute;left:0;right:0;bottom:0;padding:30px;color:#fff}.membership-pillar-copy>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(232,203,139,.65);border-radius:50%;font-size:.73rem;color:#efd89f;margin-bottom:18px}.membership-pillar-copy .eyebrow{font-size:.67rem;margin:0 0 5px}.membership-pillar-copy h3{font:700 clamp(1.65rem,2.1vw,2.2rem)/1.05 'Playfair Display',serif;margin:0 0 10px}.membership-pillar-copy p:not(.eyebrow){font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.78);margin:0 0 15px}.membership-pillar-copy a{color:#efd496;text-decoration:none;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.membership-options-shell{padding:clamp(34px,5vw,72px);border-radius:38px;background:linear-gradient(145deg,#10291f,#17392c);color:#fff;box-shadow:0 28px 80px rgba(11,37,28,.18)}.membership-options-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:end;margin-bottom:40px}.membership-options-head h2{font:700 clamp(2.6rem,4.6vw,4.6rem)/.98 'Playfair Display',serif;margin:.15em 0;max-width:620px}.membership-options-head>p:last-child{color:rgba(255,255,255,.72);line-height:1.75;max-width:680px;margin:0}.membership-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.membership-option{padding:30px;border-radius:25px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);min-height:360px}.membership-option-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d6b678;color:#173224;font-weight:900;margin-bottom:48px}.membership-option h3{font:700 1.7rem/1.08 'Playfair Display',serif;margin:0 0 14px}.membership-option>p{color:rgba(255,255,255,.72);line-height:1.65;min-height:78px}.membership-option ul{list-style:none;padding:18px 0 0;margin:20px 0 0;border-top:1px solid rgba(255,255,255,.13);display:grid;gap:11px}.membership-option li{position:relative;padding-left:20px;color:rgba(255,255,255,.84);font-size:.92rem}.membership-option li:before{content:'•';position:absolute;left:0;color:#dfc080}.membership-options-cta{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:18px;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.13)}.membership-options-cta>div{display:grid;gap:4px}.membership-options-cta strong{font-size:1.05rem}.membership-options-cta span{font-size:.9rem;color:rgba(255,255,255,.62)}
.membership-lifestyle-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,6vw,78px);align-items:center}.membership-lifestyle-media{position:relative;min-height:650px;border-radius:34px;overflow:hidden;box-shadow:0 24px 70px rgba(11,34,26,.14)}.membership-lifestyle-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.membership-lifestyle-badge{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);padding:14px 18px;border-radius:16px;display:grid;box-shadow:0 15px 35px rgba(0,0,0,.14)}.membership-lifestyle-badge strong{font:700 1.35rem 'Playfair Display',serif;letter-spacing:.12em;color:var(--green)}.membership-lifestyle-badge span{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:#777}.membership-lifestyle-copy h2{font:700 clamp(2.7rem,4.7vw,4.8rem)/.98 'Playfair Display',serif;margin:.15em 0 22px}.membership-lifestyle-copy>p:not(.eyebrow){font-size:1.06rem;line-height:1.75;color:var(--muted)}.membership-benefit-list{display:grid;gap:10px;margin-top:28px}.membership-benefit-list>div{display:grid;grid-template-columns:38px 1fr;gap:13px;align-items:start;padding:16px;border-radius:18px;background:#f1eee6}.membership-benefit-list>div>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.membership-benefit-list p{display:grid;gap:3px;margin:0}.membership-benefit-list strong{color:#1f322a}.membership-benefit-list small{font-size:.82rem;color:#777;line-height:1.45}
.membership-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(34px,6vw,80px);align-items:start}.membership-faq-head{position:sticky;top:140px}.membership-faq-head h2{font:700 clamp(2.6rem,4.4vw,4.5rem)/.98 'Playfair Display',serif;margin:.14em 0}.membership-faq-grid{display:grid;gap:10px}.membership-faq details{border-radius:20px;background:#fff;border:1px solid rgba(18,52,39,.1);box-shadow:0 10px 30px rgba(18,52,39,.05);padding:0 22px}.membership-faq summary{cursor:pointer;list-style:none;padding:21px 34px 21px 0;font-weight:800;color:#26372f;position:relative}.membership-faq summary::-webkit-details-marker{display:none}.membership-faq summary:after{content:'+';position:absolute;right:0;top:18px;font-size:1.4rem;color:var(--gold)}.membership-faq details[open] summary:after{content:'–'}.membership-faq details p{margin:0;padding:0 20px 21px 0;color:var(--muted);line-height:1.65}
.membership-closing-cta{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:clamp(34px,5vw,62px);border-radius:36px;background:linear-gradient(120deg,rgba(11,45,33,.96),rgba(19,75,52,.9)),url('assets/fire-pit.webp') center/cover;color:#fff;box-shadow:0 24px 70px rgba(11,35,26,.2)}.membership-closing-cta h2{font:700 clamp(2.6rem,4.5vw,4.6rem)/.98 'Playfair Display',serif;margin:.12em 0}.membership-closing-cta>div>p:last-child{color:rgba(255,255,255,.72);margin:0}.membership-closing-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1080px){.membership-pillar-grid{grid-template-columns:repeat(2,1fr)}.membership-options-head,.membership-intro,.membership-lifestyle-split,.membership-faq{grid-template-columns:1fr}.membership-option-grid{grid-template-columns:1fr}.membership-option{min-height:auto}.membership-option-number{margin-bottom:24px}.membership-faq-head{position:static}.membership-lifestyle-media{min-height:520px}.membership-closing-cta{align-items:flex-start;flex-direction:column}.membership-closing-actions{justify-content:flex-start}}
@media(max-width:640px){.membership-hero .page-hero-content h1{font-size:clamp(2.75rem,12vw,4rem)}.membership-hero-actions,.membership-closing-actions{display:grid;grid-template-columns:1fr;width:100%}.membership-hero-actions .btn,.membership-closing-actions .btn{text-align:center;justify-content:center}.membership-intro{gap:18px}.membership-pillar-grid{grid-template-columns:1fr;gap:12px}.membership-pillar{min-height:460px;border-radius:24px}.membership-options-shell{padding:30px 20px;border-radius:28px}.membership-options-head{gap:12px;margin-bottom:26px}.membership-option{padding:24px 20px}.membership-options-cta{align-items:flex-start;flex-direction:column}.membership-lifestyle-media{min-height:400px;border-radius:24px}.membership-lifestyle-copy h2,.membership-options-head h2,.membership-intro h2,.membership-faq-head h2,.membership-closing-cta h2{font-size:clamp(2.3rem,11vw,3.15rem)}.membership-faq{gap:22px}.membership-faq details{padding:0 17px}.membership-closing-cta{padding:30px 22px;border-radius:27px}}


/* BLVD header phone + membership pool showcase */
.logo-phone{display:flex;align-items:center;gap:5px;margin-top:3px;font:700 8px/1.2 Inter,sans-serif;letter-spacing:.12em;color:#6c5a2b;white-space:nowrap}
.logo-phone span[aria-hidden="true"]{font-size:9px;color:#a77a29}
.topbar.scrolled .logo-phone{color:#34493f}
.membership-pool-showcase{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(22px,3vw,42px);background:linear-gradient(135deg,#f7f3e9 0%,#efe9da 100%);border:1px solid rgba(82,98,68,.12);border-radius:34px;box-shadow:0 24px 70px rgba(33,52,42,.10);overflow:hidden}
.membership-pool-media{position:relative;min-height:440px;border-radius:26px;overflow:hidden;box-shadow:0 18px 44px rgba(28,47,37,.16)}
.membership-pool-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 60%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.membership-pool-showcase:hover .membership-pool-media img{transform:scale(1.025)}
.membership-pool-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(10,35,26,.60) 100%)}
.membership-pool-badge{position:absolute;left:24px;bottom:22px;color:#fff;display:flex;flex-direction:column;gap:3px;text-shadow:0 2px 14px rgba(0,0,0,.25)}
.membership-pool-badge span{font:700 10px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#dfbd72}
.membership-pool-badge strong{font:700 clamp(26px,2.2vw,38px)/1.06 'Playfair Display',serif}
.membership-pool-copy h2{margin:.35em 0 .45em;font-size:clamp(42px,4.4vw,72px);line-height:.98}.membership-pool-copy h2 em{color:#8d6a2b;font-style:italic}
.membership-pool-copy>p:last-of-type{font-size:16px;line-height:1.75;color:#516058}
.membership-pool-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.membership-pool-points span{padding:9px 12px;border:1px solid rgba(77,95,76,.16);border-radius:999px;background:rgba(255,255,255,.58);font-size:11px;font-weight:700;letter-spacing:.04em;color:#355044}
@media(max-width:1180px){.logo-phone{font-size:7px;letter-spacing:.08em}.membership-pool-showcase{grid-template-columns:1fr}.membership-pool-media{min-height:390px}}
@media(max-width:760px){.logo-phone{font-size:6.5px;letter-spacing:.04em}.membership-pool-showcase{padding:16px;border-radius:24px}.membership-pool-media{min-height:300px;border-radius:18px}.membership-pool-badge{left:18px;bottom:16px}.membership-pool-copy{padding:4px 6px 10px}.membership-pool-copy h2{font-size:clamp(38px,12vw,56px)}}
@media(max-width:480px){.logo-phone{display:none}}

/* Membership finishing pass */
.membership-option-grid{grid-template-columns:repeat(4,1fr)}
.membership-option{min-height:390px;position:relative;transition:transform .3s ease,background .3s ease,border-color .3s ease}
.membership-option:hover{transform:translateY(-5px);background:rgba(255,255,255,.105);border-color:rgba(223,192,128,.35)}
.membership-option-best{margin:-32px 0 20px 54px}.membership-option-best span{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(223,192,128,.12);border:1px solid rgba(223,192,128,.24);color:#e4c887;text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;font-weight:800}
.membership-benefits-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:start;padding:clamp(30px,4vw,58px);border-radius:36px;background:#f4f1e8;border:1px solid rgba(18,52,39,.08)}
.membership-benefits-head{position:sticky;top:130px}.membership-benefits-head h2{font:700 clamp(2.6rem,4.6vw,4.8rem)/.98 'Playfair Display',serif;margin:.18em 0}.membership-benefits-head h2 em{font-style:italic;color:#8d6a2b}.membership-benefits-head>p:last-child{max-width:520px;color:var(--muted);line-height:1.7}
.membership-benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.membership-benefit-card{padding:24px;border-radius:22px;background:#fff;border:1px solid rgba(18,52,39,.08);box-shadow:0 12px 34px rgba(18,52,39,.05);transition:transform .3s ease,box-shadow .3s ease}.membership-benefit-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(18,52,39,.09)}.membership-benefit-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#17392c;color:#e4c887;font:800 1rem Inter,sans-serif;margin-bottom:36px}.membership-benefit-card h3{font:700 1.35rem/1.08 'Playfair Display',serif;margin:0 0 9px;color:#1c3329}.membership-benefit-card p{margin:0;color:var(--muted);line-height:1.55;font-size:.9rem}
.membership-gallery-shell{display:grid;gap:28px}.membership-gallery-head{display:grid;grid-template-columns:1fr .8fr;gap:34px;align-items:end}.membership-gallery-head h2{font:700 clamp(2.7rem,4.7vw,4.9rem)/.98 'Playfair Display',serif;margin:.15em 0}.membership-gallery-head h2 em{font-style:italic;color:#8d6a2b}.membership-gallery-head>p{color:var(--muted);line-height:1.7;max-width:560px;margin:0}
.membership-gallery{display:grid;grid-template-columns:1.35fr .85fr .85fr;grid-template-rows:270px 270px;gap:12px}.membership-gallery figure{position:relative;margin:0;border-radius:24px;overflow:hidden;min-height:0;box-shadow:0 16px 44px rgba(18,52,39,.09)}.membership-gallery-main{grid-row:1 / span 2}.membership-gallery figure:nth-child(4){grid-column:2 / span 2}.membership-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.membership-gallery figure:hover img{transform:scale(1.035)}.membership-gallery figcaption{position:absolute;inset:auto 0 0;padding:40px 20px 18px;background:linear-gradient(180deg,transparent,rgba(8,29,22,.74));display:flex;justify-content:space-between;align-items:end;gap:12px;color:#fff}.membership-gallery figcaption strong{font:700 1.4rem 'Playfair Display',serif}.membership-gallery figcaption span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#dec17f}
.membership-faq-grid{grid-template-columns:1fr 1fr;gap:10px}.membership-faq details{height:max-content}.membership-faq details p{padding-right:8px}
@media(max-width:1240px){.membership-option-grid{grid-template-columns:repeat(2,1fr)}.membership-option{min-height:auto}.membership-benefits-shell{grid-template-columns:1fr}.membership-benefits-head{position:static}.membership-gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 260px 260px}.membership-gallery-main{grid-column:1 / span 2;grid-row:auto}.membership-gallery figure:nth-child(4){grid-column:1 / span 2}}
@media(max-width:760px){.membership-option-grid,.membership-benefits-grid,.membership-gallery-head,.membership-faq-grid{grid-template-columns:1fr}.membership-option-best{margin:-30px 0 18px 52px}.membership-benefits-shell{padding:24px 18px;border-radius:26px}.membership-benefit-card>span{margin-bottom:22px}.membership-gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,280px)}.membership-gallery-main,.membership-gallery figure:nth-child(4){grid-column:auto;grid-row:auto}.membership-gallery figure{border-radius:20px}.membership-gallery figcaption{padding:34px 16px 15px}.membership-gallery-head{gap:10px}}

/* Final header hierarchy: larger phone + logical nav order */
.logo-phone{font-size:10.5px;letter-spacing:.085em;margin-top:5px;font-weight:800;gap:6px}
.logo-phone span[aria-hidden="true"]{font-size:11px}
.desktop-nav{gap:clamp(18px,1.65vw,30px)}
.desktop-nav a{font-size:13px}
@media (max-width:1180px){.logo-phone{font-size:9.5px}.desktop-nav{gap:16px}.desktop-nav a{font-size:12px}.nav-book-link{padding-left:15px;padding-right:15px}}

/* About & Contact — premium finishing pass */
.about-hero{min-height:78vh;margin-bottom:105px}
.about-hero .page-hero-shade{background:linear-gradient(90deg,rgba(8,29,21,.91) 0%,rgba(8,29,21,.62) 42%,rgba(8,29,21,.18) 76%),linear-gradient(0deg,rgba(7,24,17,.58),transparent 55%)}
.about-hero .page-hero-content{padding-bottom:140px}
.about-hero .page-hero-content h1{max-width:980px}
.about-hero .page-hero-content h1 em{color:var(--gold2);font-style:italic}
.about-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.outline-light{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(10,32,24,.18);backdrop-filter:blur(8px)}
.outline-light:hover{background:#fff;color:#17382a;border-color:#fff}
.about-hero-facts{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);width:min(92vw,1320px);display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.22);border-radius:22px;background:rgba(9,33,24,.66);backdrop-filter:blur(18px);overflow:hidden;color:#fff}
.about-hero-facts>div{padding:18px 24px;border-left:1px solid rgba(255,255,255,.14)}
.about-hero-facts>div:first-child{border-left:0}
.about-hero-facts strong{display:block;font:700 1.6rem/1 'Playfair Display',serif;color:#e5bf73;margin-bottom:5px}
.about-hero-facts span{font-size:.73rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.about-story{display:grid;grid-template-columns:.86fr 1.14fr;gap:76px;align-items:center;margin-bottom:120px}
.about-story-copy h2,.about-values-head h2{font:700 clamp(2.8rem,5vw,5.3rem)/.98 'Playfair Display',serif;margin:.12em 0 .35em;letter-spacing:-.035em}
.about-story-copy>p:not(.eyebrow){font-size:1.06rem;line-height:1.82;color:#58645e;max-width:640px}
.about-story-links{display:flex;flex-wrap:wrap;gap:28px;margin-top:30px}
.about-story-gallery{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:1fr 1fr;gap:14px;min-height:610px}
.about-story-gallery figure{position:relative;margin:0;border-radius:26px;overflow:hidden;background:#17382a;box-shadow:0 22px 60px rgba(17,44,32,.13)}
.about-story-gallery .about-story-main{grid-row:1/-1}
.about-story-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.about-story-gallery figure:hover img{transform:scale(1.035)}
.about-story-gallery figcaption{position:absolute;left:16px;bottom:16px;padding:9px 13px;border-radius:999px;background:rgba(10,28,21,.72);backdrop-filter:blur(10px);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.about-values{padding:56px;border-radius:34px;background:linear-gradient(135deg,#153a2b,#0d271d);color:#fff;box-shadow:0 30px 80px rgba(11,38,27,.18)}
.about-values-head{display:grid;grid-template-columns:.4fr 1fr;gap:40px;align-items:end;margin-bottom:34px}
.about-values-head h2{margin:0;color:#fff;max-width:760px}
.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.13);border-radius:22px;overflow:hidden}
.about-values-grid article{padding:30px 25px;background:#15372a;min-height:230px}
.about-values-grid span{display:block;color:#d8ad59;font-weight:900;letter-spacing:.14em;font-size:.76rem;margin-bottom:32px}
.about-values-grid h3{font:600 1.7rem/1.1 'Playfair Display',serif;margin:0 0 12px}
.about-values-grid p{margin:0;color:rgba(255,255,255,.72);line-height:1.65;font-size:.92rem}
.about-contact .contact-shell{border-radius:34px;overflow:hidden}
.about-contact .compact-form{background:linear-gradient(180deg,#fff,#faf8f2)}
.about-contact .compact-form input,.about-contact .compact-form select,.about-contact .compact-form textarea{border-radius:12px;border:1px solid rgba(21,55,42,.16);background:#fff}
.about-contact .compact-form input:focus,.about-contact .compact-form select:focus,.about-contact .compact-form textarea:focus{outline:2px solid rgba(201,145,39,.22);border-color:#c99127}
@media(max-width:1100px){.about-story{grid-template-columns:1fr;gap:36px}.about-story-gallery{min-height:560px}.about-values-head{grid-template-columns:1fr;gap:10px}.about-values-grid{grid-template-columns:1fr 1fr}.about-hero-facts{grid-template-columns:1fr 1fr}.about-hero-facts>div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.14)}.about-hero-facts>div:nth-child(4){border-top:1px solid rgba(255,255,255,.14)}.about-hero .page-hero-content{padding-bottom:220px}}
@media(max-width:640px){.about-hero{min-height:800px;margin-bottom:70px}.about-hero .page-hero-content{padding:150px 0 290px}.about-hero .page-hero-content h1{font-size:clamp(2.9rem,13vw,4.4rem)}.about-hero-actions{display:grid;grid-template-columns:1fr;width:100%}.about-hero-actions .btn{justify-content:center;text-align:center}.about-hero-facts{left:18px;right:18px;transform:none;width:auto;bottom:20px;grid-template-columns:1fr}.about-hero-facts>div{border-left:0!important;border-top:1px solid rgba(255,255,255,.13);padding:12px 17px}.about-hero-facts>div:first-child{border-top:0}.about-hero-facts strong{font-size:1.25rem}.about-story{margin-bottom:75px}.about-story-copy h2,.about-values-head h2{font-size:clamp(2.4rem,11vw,3.35rem)}.about-story-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;min-height:0}.about-story-gallery .about-story-main{grid-column:1/-1;grid-row:auto;height:340px}.about-story-gallery figure:not(.about-story-main){height:220px}.about-values{padding:30px 20px;border-radius:26px}.about-values-grid{grid-template-columns:1fr}.about-values-grid article{min-height:0;padding:24px 21px}.about-values-grid span{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.about-story-gallery img{transition:none}.about-story-gallery figure:hover img{transform:none}}

.about-hero>img{object-position:center 32%;}
@media(max-width:640px){.about-hero>img{object-position:center 24%;}}

/* Final mobile header + homepage hero spacing correction */
.mobile-header-book{display:none}
@media (max-width:760px){
  body:not(.grille-page) .topbar{
    min-height:72px;
    height:72px;
    padding:8px 10px 8px 12px;
    gap:7px;
  }
  body:not(.grille-page) .logo-lockup{flex:0 1 auto;min-width:0;margin-right:auto}
  body:not(.grille-page) .brand-logo{width:118px;max-width:118px}
  body:not(.grille-page) .mobile-header-book{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 13px;
    border:1px solid rgba(126,135,72,.32);
    border-radius:12px;
    background:linear-gradient(135deg,#747d43,#909958);
    color:#fff;
    text-decoration:none;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
    white-space:nowrap;
    box-shadow:0 8px 18px rgba(64,76,44,.18);
  }
  body:not(.grille-page) .menu-btn{width:42px;height:42px;flex:0 0 42px;margin-left:0}

  /* Home only: bring the video/hero up directly beneath the compact header. */
  .home-page .hero{
    padding-top:104px!important;
    min-height:680px!important;
  }
  .home-page .hero-bg,
  .home-page .hero-shade{
    inset:88px 0 0!important;
  }
  .home-page .hero-content{padding-top:0!important}
}
@media (max-width:430px){
  body:not(.grille-page) .brand-logo{width:104px;max-width:104px}
  body:not(.grille-page) .mobile-header-book{padding:0 10px;font-size:9px;letter-spacing:.035em}
  .home-page .hero{padding-top:98px!important;min-height:650px!important}
  .home-page .hero-bg,.home-page .hero-shade{inset:82px 0 0!important}
}
@media (max-width:360px){
  body:not(.grille-page) .mobile-header-book{padding:0 8px;font-size:8.5px}
  body:not(.grille-page) .brand-logo{width:94px;max-width:94px}
}

/* Mobile homepage v2: eliminate the remaining pre-hero gap completely. */
@media (max-width:760px){
  body.home-page{padding-top:0!important;}
  body.home-page main#home{margin-top:0!important;padding-top:0!important;}
  body.home-page .hero{
    margin-top:0!important;
    padding-top:102px!important;
    min-height:650px!important;
    background:#17382a;
  }
  body.home-page .hero-bg,
  body.home-page .hero-shade{
    inset:0!important;
    top:0!important;
  }
  body.home-page .hero-bg{
    border-radius:0 0 24px 24px!important;
  }
  body.home-page .hero-video,
  body.home-page .hero-video-fallback{
    object-position:center center;
  }
  body.home-page .topbar{
    top:8px!important;
  }
}
@media (max-width:430px){
  body.home-page .hero{padding-top:96px!important;min-height:625px!important;}
}

/* 2026-08-28 mobile logo enlargement pass */
@media (max-width:760px){
  body:not(.grille-page) .topbar{
    min-height:78px!important;
    height:78px!important;
    padding:8px 10px 8px 12px!important;
    gap:8px!important;
  }
  body:not(.grille-page) .logo-lockup{
    align-items:center!important;
  }
  body:not(.grille-page) .brand-logo{
    width:138px!important;
    max-width:138px!important;
    height:auto!important;
  }
  body:not(.grille-page) .mobile-header-book{
    min-height:44px!important;
    padding:0 12px!important;
    font-size:9.8px!important;
    letter-spacing:.04em!important;
  }
  body:not(.grille-page) .menu-btn{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
  }
}
@media (max-width:430px){
  body:not(.grille-page) .brand-logo{
    width:122px!important;
    max-width:122px!important;
  }
  body:not(.grille-page) .mobile-header-book{
    padding:0 10px!important;
    font-size:8.8px!important;
    letter-spacing:.03em!important;
  }
}
@media (max-width:360px){
  body:not(.grille-page) .topbar{
    padding:8px 8px 8px 10px!important;
    gap:6px!important;
  }
  body:not(.grille-page) .brand-logo{
    width:112px!important;
    max-width:112px!important;
  }
  body:not(.grille-page) .mobile-header-book{
    font-size:8px!important;
    padding:0 8px!important;
  }
}

/* 2026-08-28 mobile header redesign: embed the logo into the menu bar */
@media (max-width:760px){
  body:not(.grille-page) .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center!important;
    gap:8px!important;
    min-height:82px!important;
    height:82px!important;
    padding:8px 10px!important;
    border-radius:24px!important;
    background:linear-gradient(135deg,rgba(250,248,241,.97),rgba(243,238,226,.96))!important;
    border:1px solid rgba(116,125,67,.16)!important;
    box-shadow:0 18px 38px rgba(17,38,28,.10), inset 0 1px 0 rgba(255,255,255,.6)!important;
  }
  body:not(.grille-page) .logo-lockup{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    min-height:62px!important;
    padding:7px 12px 7px 10px!important;
    margin-right:0!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(240,235,223,.94))!important;
    border:1px solid rgba(116,125,67,.16)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.78), 0 8px 18px rgba(28,45,36,.08)!important;
    overflow:hidden;
  }
  body:not(.grille-page) .topbar .brand-logo{
    width:136px!important;
    max-width:136px!important;
    height:auto!important;
    flex:0 0 auto;
    filter:drop-shadow(0 3px 8px rgba(20,34,28,.12))!important;
  }
  body:not(.grille-page) .topbar .logo-sport-label{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:1px!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 0 8px!important;
    background:transparent!important;
    border:0!important;
    border-left:1px solid rgba(116,125,67,.18)!important;
    border-radius:0!important;
    box-shadow:none!important;
    max-width:none!important;
  }
  body:not(.grille-page) .topbar .logo-sport-label::before{display:none!important}
  body:not(.grille-page) .topbar .logo-sport-title{
    font-size:10px!important;
    line-height:1.05!important;
    letter-spacing:.14em!important;
    color:#203129!important;
    white-space:nowrap!important;
  }
  body:not(.grille-page) .topbar .logo-sport-sub{
    font-size:6.8px!important;
    line-height:1.15!important;
    letter-spacing:.18em!important;
    color:#8c6a22!important;
    white-space:nowrap!important;
  }
  body:not(.grille-page) .topbar .logo-phone{display:none!important}
  body:not(.grille-page) .mobile-header-book,
  body:not(.grille-page) .menu-btn{
    min-height:44px!important;
    height:44px!important;
    border-radius:14px!important;
    border:1px solid rgba(116,125,67,.18)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.58), 0 8px 18px rgba(28,45,36,.08)!important;
  }
  body:not(.grille-page) .mobile-header-book{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 12px!important;
    background:linear-gradient(135deg,#7a8445,#97a057)!important;
    color:#fff!important;
    font-size:9.6px!important;
    font-weight:800!important;
    letter-spacing:.05em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  body:not(.grille-page) .menu-btn{
    width:44px!important;
    flex:0 0 44px!important;
    display:grid!important;
    place-items:center!important;
    margin-left:0!important;
    background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(240,235,223,.96))!important;
    color:#203129!important;
    font-size:24px!important;
  }
}
@media (max-width:480px){
  body:not(.grille-page) .topbar{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:7px!important;
    padding:8px 9px!important;
  }
  body:not(.grille-page) .logo-lockup{
    padding:7px 10px 7px 9px!important;
    min-height:58px!important;
  }
  body:not(.grille-page) .topbar .brand-logo{
    width:128px!important;
    max-width:128px!important;
  }
  body:not(.grille-page) .mobile-header-book{
    padding:0 10px!important;
    font-size:8.6px!important;
  }
}
@media (max-width:430px){
  body:not(.grille-page) .topbar .brand-logo{
    width:124px!important;
    max-width:124px!important;
  }
  body:not(.grille-page) .topbar .logo-sport-label{
    display:none!important;
  }
  body:not(.grille-page) .logo-lockup{
    padding-right:8px!important;
  }
  body:not(.grille-page) .mobile-header-book{
    padding:0 9px!important;
    font-size:8.2px!important;
    letter-spacing:.03em!important;
  }
}
@media (max-width:360px){
  body:not(.grille-page) .topbar{
    gap:6px!important;
    padding:8px!important;
  }
  body:not(.grille-page) .topbar .brand-logo{
    width:114px!important;
    max-width:114px!important;
  }
  body:not(.grille-page) .mobile-header-book{
    font-size:7.7px!important;
    padding:0 8px!important;
  }
}

/* 2026-08-28 final mobile luxury header integration */
@media (max-width:760px){
  body:not(.grille-page) .topbar{
    position:fixed!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    column-gap:8px!important;
    min-height:80px!important;
    height:80px!important;
    padding:7px 9px 7px 14px!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,rgba(250,248,241,.985),rgba(239,234,220,.975))!important;
    border:1px solid rgba(157,125,54,.22)!important;
    box-shadow:0 16px 34px rgba(15,39,28,.14), inset 0 1px 0 rgba(255,255,255,.9)!important;
    overflow:hidden!important;
  }
  body:not(.grille-page) .topbar::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:3px;
    background:linear-gradient(90deg,#8c934f 0%,#c8a558 50%,#8c934f 100%);
    opacity:.9;
  }
  body:not(.grille-page) .logo-lockup{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
    min-height:62px!important;
    margin:0!important;
    padding:2px 10px 2px 0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body:not(.grille-page) .logo-lockup::after{
    content:"";
    position:absolute;
    right:0;
    top:12px;
    bottom:12px;
    width:1px;
    background:linear-gradient(180deg,transparent,rgba(166,131,53,.5),transparent);
  }
  body:not(.grille-page) .topbar .brand-logo{
    width:144px!important;
    max-width:144px!important;
    height:auto!important;
    flex:0 0 auto!important;
    filter:drop-shadow(0 2px 6px rgba(18,39,29,.12))!important;
  }
  body:not(.grille-page) .topbar .logo-sport-label{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:2px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:#203129!important;
  }
  body:not(.grille-page) .topbar .logo-sport-title{
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.1em!important;
    color:#203129!important;
    white-space:nowrap!important;
  }
  body:not(.grille-page) .topbar .logo-sport-sub{
    font-size:6.7px!important;
    line-height:1.15!important;
    letter-spacing:.16em!important;
    color:#987632!important;
    white-space:nowrap!important;
  }
  body:not(.grille-page) .topbar .logo-phone{display:none!important}
  body:not(.grille-page) .mobile-header-book{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:76px!important;
    min-height:46px!important;
    height:46px!important;
    padding:0 12px!important;
    border-radius:14px!important;
    border:1px solid rgba(84,95,49,.18)!important;
    background:linear-gradient(145deg,#727b40,#929b57)!important;
    color:#fff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 16px rgba(61,76,43,.2)!important;
    text-shadow:0 1px 1px rgba(0,0,0,.1)!important;
    font-size:9px!important;
    line-height:1.05!important;
    font-weight:900!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  body:not(.grille-page) .mobile-header-book::before{
    content:"↗";
    display:inline-block;
    margin-right:5px;
    font-size:11px;
    font-weight:700;
    opacity:.92;
  }
  body:not(.grille-page) .menu-btn{
    display:grid!important;
    place-items:center!important;
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    border-radius:14px!important;
    border:1px solid rgba(157,125,54,.2)!important;
    background:rgba(255,255,255,.52)!important;
    color:#1e3328!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
    font-size:23px!important;
  }
  body:not(.grille-page) .topbar.scrolled{
    background:linear-gradient(135deg,rgba(250,248,241,.99),rgba(241,236,224,.99))!important;
    box-shadow:0 12px 30px rgba(15,39,28,.13), inset 0 1px 0 rgba(255,255,255,.92)!important;
  }
}

@media (max-width:560px){
  body:not(.grille-page) .topbar .logo-sport-label{display:none!important}
  body:not(.grille-page) .topbar .brand-logo{width:138px!important;max-width:138px!important}
  body:not(.grille-page) .logo-lockup{padding-right:9px!important}
}
@media (max-width:430px){
  body:not(.grille-page) .topbar{
    min-height:78px!important;
    height:78px!important;
    padding:7px 8px 7px 11px!important;
    column-gap:7px!important;
  }
  body:not(.grille-page) .topbar .brand-logo{width:128px!important;max-width:128px!important}
  body:not(.grille-page) .mobile-header-book{
    min-width:72px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 9px!important;
    font-size:8.2px!important;
  }
  body:not(.grille-page) .menu-btn{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
}
@media (max-width:360px){
  body:not(.grille-page) .topbar{padding-left:9px!important;column-gap:6px!important}
  body:not(.grille-page) .topbar .brand-logo{width:116px!important;max-width:116px!important}
  body:not(.grille-page) .mobile-header-book{min-width:66px!important;padding:0 7px!important;font-size:7.6px!important}
  body:not(.grille-page) .mobile-header-book::before{margin-right:3px!important;font-size:10px!important}
}

/* ===== Mobile header final fix: one-piece bar + reliable dropdown navigation ===== */
@media (max-width:1180px){
  .desktop-nav.mobile-nav-layer{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:100px!important;
    width:auto!important;
    height:auto!important;
    max-height:calc(100dvh - 116px)!important;
    padding:12px!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
    overflow-y:auto!important;
    border:1px solid rgba(163,128,53,.18)!important;
    border-radius:24px!important;
    background:rgba(250,248,241,.985)!important;
    box-shadow:0 24px 65px rgba(8,30,20,.24)!important;
    backdrop-filter:blur(24px) saturate(145%)!important;
    -webkit-backdrop-filter:blur(24px) saturate(145%)!important;
    transform:translateY(-12px) scale(.985)!important;
    transform-origin:top center!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
    z-index:5000!important;
  }
  .desktop-nav.mobile-nav-layer.open{
    transform:translateY(0) scale(1)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .desktop-nav.mobile-nav-layer a{
    display:flex!important;
    align-items:center!important;
    min-height:50px!important;
    padding:0 16px!important;
    border:0!important;
    border-radius:14px!important;
    color:#1d3429!important;
    background:transparent!important;
    font-size:14px!important;
    font-weight:800!important;
    letter-spacing:.045em!important;
    text-decoration:none!important;
    text-transform:uppercase!important;
  }
  .desktop-nav.mobile-nav-layer a:hover,
  .desktop-nav.mobile-nav-layer a.active{
    background:#f0eadc!important;
    color:#786022!important;
  }
  .desktop-nav.mobile-nav-layer a::after{display:none!important}
  .desktop-nav.mobile-nav-layer .nav-book-link{
    margin-top:6px!important;
    justify-content:center!important;
    background:linear-gradient(135deg,#747d43,#929b57)!important;
    color:#fff!important;
    box-shadow:0 10px 22px rgba(77,92,48,.18)!important;
  }
  body.menu-open::after{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(7,24,17,.48)!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    z-index:4990!important;
  }
}

@media (max-width:760px){
  body:not(.grille-page) .topbar,
  body.grille-page .topbar{
    position:fixed!important;
    top:8px!important;
    left:10px!important;
    right:10px!important;
    transform:none!important;
    width:auto!important;
    min-height:76px!important;
    height:76px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    column-gap:8px!important;
    padding:8px 9px 8px 14px!important;
    border:1px solid rgba(165,130,57,.18)!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,rgba(250,248,241,.99),rgba(241,236,222,.985))!important;
    box-shadow:0 14px 34px rgba(13,39,28,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;
    overflow:visible!important;
    z-index:5010!important;
  }
  body:not(.grille-page) .topbar::after,
  body.grille-page .topbar::after{
    content:"";
    position:absolute;
    left:18px;
    right:18px;
    bottom:0;
    height:2px;
    border-radius:999px 999px 0 0;
    background:linear-gradient(90deg,transparent,#bd984c 22%,#7e8748 68%,transparent);
    opacity:.48;
  }
  body:not(.grille-page) .logo-lockup,
  body.grille-page .logo-lockup{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    height:60px!important;
    padding:0 12px 0 0!important;
    margin:0!important;
    gap:7px!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body:not(.grille-page) .logo-lockup::after,
  body.grille-page .logo-lockup::after{
    content:"";
    position:absolute;
    top:10px;
    right:0;
    width:1px;
    height:40px;
    background:linear-gradient(180deg,transparent,rgba(156,119,43,.45),transparent);
  }
  body:not(.grille-page) .topbar .brand-logo,
  body.grille-page .topbar .brand-logo{
    width:154px!important;
    max-width:154px!important;
    max-height:58px!important;
    height:auto!important;
    object-fit:contain!important;
    filter:drop-shadow(0 3px 7px rgba(25,43,34,.10))!important;
  }
  body:not(.grille-page) .topbar .logo-sport-label,
  body.grille-page .topbar .logo-sport-label{
    display:none!important;
  }
  .mobile-header-book{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:44px!important;
    min-height:44px!important;
    min-width:80px!important;
    padding:0 11px!important;
    border:1px solid rgba(83,98,50,.2)!important;
    border-radius:13px!important;
    background:linear-gradient(145deg,#707b3f,#929b57)!important;
    color:#fff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 16px rgba(66,79,46,.18)!important;
    text-decoration:none!important;
    font-size:8.6px!important;
    font-weight:900!important;
    letter-spacing:.035em!important;
    line-height:1!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  .mobile-header-book::before{content:"↗";margin-right:5px;font-size:10px}
  .menu-btn{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid rgba(152,119,49,.22)!important;
    border-radius:14px!important;
    background:linear-gradient(145deg,#fffdf7,#eee8d9)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 7px 16px rgba(31,49,40,.08)!important;
    color:#233b2f!important;
    cursor:pointer!important;
    z-index:5015!important;
  }
  .hamburger-icon{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:4px!important;
    width:21px!important;
    height:18px!important;
    transform:none!important;
  }
  .hamburger-icon i{
    display:block!important;
    width:21px!important;
    height:2px!important;
    margin:0!important;
    border-radius:999px!important;
    background:#254032!important;
    transform-origin:center!important;
    transition:transform .22s ease,opacity .18s ease,width .22s ease!important;
  }
  .hamburger-icon i:nth-child(2){width:15px!important;align-self:flex-end!important;background:#9b772e!important}
  .menu-btn[aria-expanded="true"]{
    background:linear-gradient(145deg,#213c2f,#132a20)!important;
    border-color:#213c2f!important;
  }
  .menu-btn[aria-expanded="true"] .hamburger-icon i{background:#fff!important}
  .menu-btn[aria-expanded="true"] .hamburger-icon i:nth-child(1){transform:translateY(6px) rotate(45deg)!important}
  .menu-btn[aria-expanded="true"] .hamburger-icon i:nth-child(2){opacity:0!important;width:0!important}
  .menu-btn[aria-expanded="true"] .hamburger-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important}

  .desktop-nav.mobile-nav-layer{top:94px!important;left:10px!important;right:10px!important;max-height:calc(100dvh - 108px)!important}
}

@media (max-width:430px){
  body:not(.grille-page) .topbar,
  body.grille-page .topbar{left:7px!important;right:7px!important;padding-left:11px!important;column-gap:6px!important}
  body:not(.grille-page) .topbar .brand-logo,
  body.grille-page .topbar .brand-logo{width:138px!important;max-width:138px!important}
  .mobile-header-book{min-width:72px!important;padding:0 8px!important;font-size:7.8px!important}
  .menu-btn{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
  .desktop-nav.mobile-nav-layer{left:7px!important;right:7px!important}
}
@media (max-width:360px){
  body:not(.grille-page) .topbar .brand-logo,
  body.grille-page .topbar .brand-logo{width:126px!important;max-width:126px!important}
  .mobile-header-book{min-width:65px!important;padding:0 6px!important;font-size:7.2px!important}
}

/* 2026-08-28 homepage hero video overlay refinement */
body.home-page .hero-shade{
  background:linear-gradient(90deg,rgba(6,24,18,.46) 0%,rgba(6,24,18,.24) 38%,rgba(6,24,18,.06) 72%,rgba(6,24,18,0) 100%),
             linear-gradient(0deg,rgba(6,24,18,.10),rgba(6,24,18,0) 42%)!important;
}
@media (max-width:760px){
  body.home-page .hero-shade{
    background:linear-gradient(180deg,rgba(6,24,18,.18) 0%,rgba(6,24,18,.10) 32%,rgba(6,24,18,0) 68%),
               linear-gradient(90deg,rgba(6,24,18,.22) 0%,rgba(6,24,18,.08) 36%,rgba(6,24,18,0) 100%)!important;
  }
}

/* 2026-08-28 mobile homepage: remove the white hero text box */
@media (max-width:760px){
  body.home-page .hero{
    padding:0 14px 30px!important;
    margin-top:82px!important;
    background:#f7f4ed!important;
  }
  body.home-page .hero-bg{
    position:relative!important;
    inset:auto!important;
    height:360px!important;
    border-radius:0 0 24px 24px!important;
  }
  body.home-page .hero-shade{
    position:absolute!important;
    inset:0 14px auto!important;
    height:360px!important;
    border-radius:0 0 24px 24px!important;
  }
  body.home-page .hero-content{
    width:calc(100% - 24px)!important;
    margin:-148px auto 0!important;
    padding:0 10px 0 2px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    color:#fff!important;
    overflow:visible!important;
  }
  body.home-page .hero-content::before,
  body.home-page .hero-content::after{display:none!important;content:none!important}
  body.home-page .hero-content .location{
    color:#f3d28b!important;
    text-shadow:0 6px 18px rgba(0,0,0,.28)!important;
    margin:0 0 8px!important;
  }
  body.home-page .hero h1{
    color:#fff!important;
    text-shadow:0 10px 26px rgba(0,0,0,.34)!important;
    margin:0 0 12px!important;
  }
  body.home-page .hero h1 em{color:#dfb15a!important}
  body.home-page .hero-copy{
    color:rgba(255,255,255,.94)!important;
    text-shadow:0 6px 18px rgba(0,0,0,.30)!important;
    max-width:92%!important;
    margin:0 0 18px!important;
  }
  body.home-page .hero-actions{
    width:100%!important;
    max-width:320px!important;
  }
}
@media (max-width:430px){
  body.home-page .hero{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.home-page .hero-bg,
  body.home-page .hero-shade{
    height:330px!important;
  }
  body.home-page .hero-shade{
    inset:0 12px auto!important;
  }
  body.home-page .hero-content{
    width:calc(100% - 18px)!important;
    margin:-138px auto 0!important;
    padding-right:4px!important;
  }
  body.home-page .hero h1{font-size:clamp(37px,11.8vw,48px)!important}
}

/* 2026-08-28 mobile homepage minimal hero: remove text and hero CTA */
@media (max-width:760px){
  body.home-page .hero{
    padding:0 14px 8px!important;
    margin-top:82px!important;
    min-height:0!important;
  }
  body.home-page .hero-bg,
  body.home-page .hero-shade{
    height:340px!important;
  }
  body.home-page .hero-content{
    display:none!important;
  }
  body.home-page .hero-widgets{
    display:none!important;
  }
  body.home-page .stats-panel{
    margin-top:-18px!important;
  }
}
@media (max-width:430px){
  body.home-page .hero{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.home-page .hero-bg,
  body.home-page .hero-shade{
    height:310px!important;
  }
}


/* ===== BLVD Concierge v2 — premium club concierge ===== */
.blvd-concierge-v2{
  right:22px;
  bottom:22px;
  min-height:60px;
  padding:8px 17px 8px 8px;
  border:1px solid rgba(217,184,105,.3);
  border-radius:999px;
  background:linear-gradient(135deg,#0b3025,#174b39);
  box-shadow:0 18px 50px rgba(5,31,23,.30),inset 0 1px 0 rgba(255,255,255,.08);
  color:#fff;
  gap:11px;
  overflow:hidden;
}
.blvd-concierge-v2::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 10%,rgba(255,255,255,.08) 44%,transparent 67%);
  transform:translateX(-50%);
  transition:transform .65s ease;
}
.blvd-concierge-v2:hover::before{transform:translateX(55%)}
.blvd-concierge-v2 .chat-launch-icon{
  position:relative;
  z-index:2;
  width:44px;
  height:44px;
  background:linear-gradient(145deg,#e3c277,#b88b32);
  color:#102e24;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 6px 18px rgba(0,0,0,.16);
  font-family:"Playfair Display",serif;
  font-weight:800;
}
.blvd-concierge-v2 .chat-launch-copy{
  position:relative;
  z-index:2;
  display:grid;
  gap:2px;
  text-align:left;
}
.blvd-concierge-v2 .chat-launch-copy strong{
  font-size:12px;
  line-height:1.1;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.blvd-concierge-v2 .chat-launch-copy small{
  color:rgba(255,255,255,.66);
  font-size:9px;
  letter-spacing:.02em;
}
.blvd-concierge-v2 .chat-launch-orbit{
  position:absolute;
  left:7px;
  top:7px;
  width:46px;
  height:46px;
  border:1px solid rgba(230,197,116,.35);
  border-radius:50%;
  animation:blvdConciergeOrbit 5s linear infinite;
}
.blvd-concierge-v2 .chat-launch-orbit i{
  position:absolute;
  top:-2px;
  left:20px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#f1d595;
  box-shadow:0 0 12px rgba(241,213,149,.8);
}
@keyframes blvdConciergeOrbit{to{transform:rotate(360deg)}}

.blvd-concierge-panel-v2{
  width:min(410px,calc(100vw - 28px));
  height:min(690px,calc(100dvh - 32px));
  border-radius:28px;
  border:1px solid rgba(255,255,255,.84);
  background:linear-gradient(180deg,#fbf9f4 0%,#f5f0e6 100%);
  box-shadow:0 28px 80px rgba(8,28,21,.28);
  overflow:hidden;
}
.blvd-concierge-panel-v2 .blvd-chat-header{
  position:relative;
  padding:18px;
  background:
    radial-gradient(circle at 78% 0%,rgba(221,183,93,.18),transparent 30%),
    linear-gradient(135deg,#0b3025,#174b39 72%,#1c5742);
}
.blvd-concierge-panel-v2 .blvd-chat-header::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(225,190,105,.6),transparent);
}
.blvd-concierge-panel-v2 .blvd-chat-avatar{
  width:46px;
  height:46px;
  flex-basis:46px;
  background:linear-gradient(145deg,#e6c982,#b8882f);
  box-shadow:0 8px 22px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.35);
}
.blvd-concierge-panel-v2 .blvd-chat-heading strong{
  font-family:"Playfair Display",serif;
  font-size:17px;
  letter-spacing:.015em;
}
.blvd-concierge-panel-v2 .blvd-chat-heading span{color:rgba(255,255,255,.72)}
.blvd-concierge-panel-v2 .blvd-chat-heading span::before{
  background:#8ee0ae;
  box-shadow:0 0 0 3px rgba(142,224,174,.12);
}
.blvd-concierge-panel-v2 .blvd-chat-close{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  transition:.2s ease;
}
.blvd-concierge-panel-v2 .blvd-chat-close:hover{
  background:rgba(255,255,255,.16);
  transform:rotate(4deg);
}

.blvd-chat-intro{
  display:grid;
  gap:3px;
  padding:14px 18px 13px;
  border-bottom:1px solid rgba(18,52,39,.08);
  background:rgba(255,255,255,.58);
}
.blvd-chat-intro-kicker{
  color:#9e7426;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.blvd-chat-intro strong{
  color:#1c352b;
  font:700 18px/1.15 "Playfair Display",serif;
}
.blvd-concierge-panel-v2 .blvd-chat-messages{
  padding:16px 14px 10px;
  background:
    radial-gradient(circle at 100% 10%,rgba(199,157,70,.05),transparent 28%),
    transparent;
}
.blvd-concierge-panel-v2 .blvd-chat-message.bot{
  align-items:flex-end;
  gap:7px;
}
.blvd-chat-mini-avatar{
  display:grid;
  place-items:center;
  flex:0 0 24px;
  width:24px;
  height:24px;
  margin-bottom:3px;
  border-radius:50%;
  background:#173f30;
  color:#e4c37a;
  font:800 11px/1 "Playfair Display",serif;
  box-shadow:0 5px 12px rgba(13,45,34,.12);
}
.blvd-concierge-panel-v2 .blvd-chat-bubble{
  max-width:88%;
  padding:12px 13px;
  border-radius:18px;
  font-size:13px;
  line-height:1.5;
}
.blvd-concierge-panel-v2 .blvd-chat-message.bot .blvd-chat-bubble{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(21,61,46,.08);
  border-bottom-left-radius:6px;
}
.blvd-concierge-panel-v2 .blvd-chat-message.user .blvd-chat-bubble{
  background:linear-gradient(135deg,#173f30,#245743);
  border-bottom-right-radius:6px;
  box-shadow:0 9px 24px rgba(16,65,48,.14);
}
.blvd-chat-copy{display:block}
.blvd-chat-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.blvd-chat-action{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:34px;
  margin:0!important;
  padding:7px 10px;
  border:1px solid rgba(174,132,45,.22);
  border-radius:10px;
  background:#f6efe0;
  color:#725517!important;
  font-size:10.5px!important;
  font-weight:800!important;
  line-height:1.1;
  text-decoration:none!important;
  transition:.2s ease;
}
.blvd-chat-action:hover{
  transform:translateY(-1px);
  background:#efe1c2;
  border-color:rgba(174,132,45,.4);
}
.blvd-concierge-panel-v2 .blvd-chat-quick{
  gap:7px;
  padding:2px 14px 12px;
  overflow-x:auto;
  flex-wrap:nowrap;
  scrollbar-width:none;
}
.blvd-concierge-panel-v2 .blvd-chat-quick::-webkit-scrollbar{display:none}
.blvd-concierge-panel-v2 .blvd-chat-quick button{
  flex:0 0 auto;
  padding:8px 11px;
  background:rgba(255,255,255,.75);
  border-color:rgba(157,123,53,.2);
  color:#244235;
  box-shadow:0 5px 14px rgba(31,60,47,.04);
}
.blvd-concierge-panel-v2 .blvd-chat-quick button:hover{
  background:#173f30;
  border-color:#173f30;
  color:#fff;
}
.blvd-concierge-panel-v2 .blvd-chat-form{
  padding:11px 12px;
  background:rgba(255,255,255,.9);
  border-top:1px solid rgba(18,52,39,.08);
}
.blvd-concierge-panel-v2 .blvd-chat-form input{
  height:46px;
  border-color:rgba(18,52,39,.12);
  background:#f8f6f1;
  padding-left:16px;
  font-size:14px;
}
.blvd-concierge-panel-v2 .blvd-chat-send{
  width:46px;
  height:46px;
  flex-basis:46px;
  background:linear-gradient(145deg,#173f30,#245743);
  color:#f0d796;
  box-shadow:0 8px 18px rgba(17,62,46,.16);
  transition:.2s ease;
}
.blvd-concierge-panel-v2 .blvd-chat-send:hover{transform:translateY(-1px)}
.blvd-chat-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:34px;
  padding:0 13px calc(7px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.9);
  color:#7b7e78;
  font-size:8.5px;
}
.blvd-chat-reset{
  border:0;
  padding:4px 0;
  background:transparent;
  color:#8b681f;
  font:800 9px/1 Inter,sans-serif;
  cursor:pointer;
}
.blvd-chat-reset:hover{text-decoration:underline}

@media(max-width:720px){
  .blvd-concierge-v2{
    right:14px;
    bottom:14px;
    width:56px;
    min-height:56px;
    padding:6px;
  }
  .blvd-concierge-v2 .chat-launch-copy{display:none}
  .blvd-concierge-v2 .chat-launch-icon{width:44px;height:44px}
  .blvd-concierge-panel-v2{
    inset:auto 7px 7px 7px;
    width:auto;
    height:min(720px,calc(100dvh - 14px));
    border-radius:24px;
  }
  .blvd-chat-intro{padding:12px 15px}
  .blvd-chat-intro strong{font-size:16px}
  .blvd-concierge-panel-v2 .blvd-chat-bubble{max-width:90%}
}
@media(prefers-reduced-motion:reduce){
  .blvd-concierge-v2 .chat-launch-orbit{animation:none}
  .blvd-concierge-v2::before{display:none}
}

/* 2026-08-28 mobile header — fuller integrated brand block on the left */
@media (max-width:760px){
  body:not(.grille-page) .logo-lockup,
  body.grille-page .logo-lockup{
    gap:10px!important;
    padding-right:10px!important;
  }
  body:not(.grille-page) .topbar .brand-logo,
  body.grille-page .topbar .brand-logo{
    width:132px!important;
    max-width:132px!important;
    flex:0 0 auto!important;
  }
  body:not(.grille-page) .topbar .logo-sport-label,
  body.grille-page .topbar .logo-sport-label{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    min-width:0!important;
    margin:0!important;
    padding:3px 0 3px 10px!important;
    border:0!important;
    border-left:1px solid rgba(157,120,47,.32)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    white-space:nowrap!important;
  }
  body:not(.grille-page) .topbar .logo-sport-label::before,
  body.grille-page .topbar .logo-sport-label::before{
    display:none!important;
  }
  body:not(.grille-page) .topbar .logo-sport-title,
  body.grille-page .topbar .logo-sport-title{
    display:block!important;
    margin:0!important;
    color:#19392c!important;
    font-family:"Playfair Display",Georgia,serif!important;
    font-size:11px!important;
    line-height:1.05!important;
    font-weight:700!important;
    letter-spacing:.035em!important;
    text-transform:none!important;
  }
  body:not(.grille-page) .topbar .logo-sport-sub,
  body.grille-page .topbar .logo-sport-sub{
    display:block!important;
    margin-top:3px!important;
    color:#9b772e!important;
    font-family:Inter,Arial,sans-serif!important;
    font-size:6.7px!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:.15em!important;
    text-transform:uppercase!important;
  }
  body:not(.grille-page) .topbar .logo-phone,
  body.grille-page .topbar .logo-phone{
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    margin-top:4px!important;
    color:#536157!important;
    font-size:6.4px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.055em!important;
  }
}
@media (max-width:430px){
  body:not(.grille-page) .topbar .brand-logo,
  body.grille-page .topbar .brand-logo{
    width:112px!important;
    max-width:112px!important;
  }
  body:not(.grille-page) .topbar .logo-sport-label,
  body.grille-page .topbar .logo-sport-label{
    padding-left:8px!important;
  }
  body:not(.grille-page) .topbar .logo-sport-title,
  body.grille-page .topbar .logo-sport-title{font-size:9.5px!important}
  body:not(.grille-page) .topbar .logo-sport-sub,
  body.grille-page .topbar .logo-sport-sub{font-size:5.9px!important;letter-spacing:.12em!important}
  body:not(.grille-page) .topbar .logo-phone,
  body.grille-page .topbar .logo-phone{display:none!important}
}
@media (max-width:380px){
  body:not(.grille-page) .topbar .brand-logo,
  body.grille-page .topbar .brand-logo{width:104px!important;max-width:104px!important}
  body:not(.grille-page) .topbar .logo-sport-title,
  body.grille-page .topbar .logo-sport-title{font-size:9px!important}
  body:not(.grille-page) .topbar .logo-sport-sub,
  body.grille-page .topbar .logo-sport-sub{font-size:5.5px!important}
}

/* ===== Business conversion upgrade: reliable forms ===== */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.optional{font-size:.75em;font-weight:600;color:#8a8f8a}
.form-privacy-note{margin:10px 0 0!important;color:#858b86!important;font-size:10px!important;line-height:1.45!important}
.membership-inquiry{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(28px,5vw,72px);
  padding:52px;
  border-radius:34px;
  background:linear-gradient(135deg,#153a2b,#0c281e);
  color:#fff;
  box-shadow:0 30px 80px rgba(11,38,27,.16);
}
.membership-inquiry-copy{align-self:center}
.membership-inquiry-copy h2{margin:8px 0 18px;color:#fff;font:700 clamp(42px,5vw,70px)/.98 "Playfair Display",serif;letter-spacing:-.045em}
.membership-inquiry-copy h2 em{color:#d8ad59}
.membership-inquiry-copy>p:not(.eyebrow){max-width:560px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.72}
.membership-inquiry-contact{display:grid;gap:8px;margin-top:28px}
.membership-inquiry-contact a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none}
.membership-inquiry-contact strong{font-size:13px}
.membership-inquiry-contact span{color:rgba(255,255,255,.55);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.membership-inquiry-form{padding:28px;border-radius:24px;background:#fff;color:#1b3329;box-shadow:0 18px 44px rgba(0,0,0,.13)}
.membership-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.membership-inquiry-form label{display:grid;gap:7px;margin-bottom:13px;color:#30453c;font-size:11px;font-weight:800;letter-spacing:.025em}
.membership-inquiry-form input,.membership-inquiry-form select,.membership-inquiry-form textarea{width:100%;border:1px solid rgba(21,55,42,.16);border-radius:12px;background:#faf9f5;padding:13px 14px;font:500 14px/1.3 Inter,sans-serif;color:#172a22}
.membership-inquiry-form textarea{resize:vertical;min-height:112px}
.membership-inquiry-form input:focus,.membership-inquiry-form select:focus,.membership-inquiry-form textarea:focus{outline:2px solid rgba(201,145,39,.23);border-color:#c99127;background:#fff}
.membership-inquiry-form .btn{width:100%;justify-content:center;min-height:52px}
@media(max-width:860px){.membership-inquiry{grid-template-columns:1fr;padding:34px 26px}.membership-form-grid{grid-template-columns:1fr}}
@media(max-width:520px){.membership-inquiry{padding:28px 18px;border-radius:26px}.membership-inquiry-form{padding:20px 16px;border-radius:20px}.membership-inquiry-contact a{align-items:flex-start;flex-direction:column;gap:4px}}
