/* v2 (RoboGolfPro-first, Oct 2026): the pieces the simpler site adds on top of styles.css. */
[hidden]{display:none !important}

/* nav: a button that is a link */
a.nav-cta{white-space:nowrap}
.nav-links a[aria-current="page"]{color:#fff}
.nav-links a[aria-current="page"]::after{width:100%}

.hero-fine{margin-top:18px; font-family:var(--mono); font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.72)}
.page-hero{min-height:74svh}
.page-hero h1{font-size:clamp(2.6rem,6.4vw,5.2rem)}
.plain-hero{background:var(--navy-deep); color:#fff; padding:clamp(150px,20vh,220px) var(--edge) clamp(60px,9vh,100px)}
.plain-hero h1{margin-top:20px; font-size:clamp(2.6rem,6vw,4.8rem); color:#fff; max-width:16ch}
.plain-hero .lede{margin-top:20px; color:rgba(255,255,255,.74)}

/* the three promises under the hero */
.points3{display:grid; grid-template-columns:repeat(3,1fr); background:var(--navy); color:#fff; border-top:1px solid rgba(194,152,90,.25)}
.points3 > div{padding:clamp(26px,4vw,44px) var(--edge); border-left:1px solid rgba(194,152,90,.2)}
.points3 > div:first-child{border-left:0}
.points3 .p-k{font-family:var(--serif); font-style:italic; font-size:clamp(1.5rem,2.4vw,2rem); color:var(--gold-light)}
.points3 p{margin-top:8px; font-size:.92rem; font-weight:300; color:rgba(255,255,255,.76); max-width:34ch}
@media(max-width:760px){.points3{grid-template-columns:1fr}.points3 > div{border-left:0; border-top:1px solid rgba(194,152,90,.2)}.points3 > div:first-child{border-top:0}}

/* numbered steps */
.steps3{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); margin-top:56px; border-top:1px solid rgba(20,24,42,.18)}
.steps3 li{padding:28px 30px 0 0; position:relative}
.steps3 li::before{content:''; position:absolute; top:-1px; left:0; width:44px; height:2px; background:var(--gold)}
.s-n{font-family:var(--num); font-style:italic; font-size:1.05rem; color:var(--gold-deep)}
.steps3 h3{font-size:clamp(1.5rem,2.2vw,2rem); margin:10px 0 10px}
.steps3 p{font-size:.95rem; color:var(--ink-soft); font-weight:300; max-width:34ch}
@media(max-width:800px){.steps3{grid-template-columns:1fr}.steps3 li{padding-bottom:22px}}
.center-cta{margin-top:56px; display:flex; flex-direction:column; align-items:flex-start; gap:12px}
.fine-dark{font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--steel)}

/* RoboGolfPro explained */
.rg-explain{background:var(--navy); color:#fff}
.rg-explain h3{font-size:clamp(1.8rem,3vw,2.6rem); color:#fff}
.rg-explain p{margin-top:16px; color:rgba(255,255,255,.76); font-weight:300; max-width:52ch}
.who{list-style:none; margin-top:22px; display:grid; gap:10px}
.who li{display:flex; gap:12px; align-items:baseline; font-size:.95rem; color:rgba(255,255,255,.88)}
.who li::before{content:''; width:14px; height:1px; background:var(--gold); flex:none; transform:translateY(-4px)}
.text-link{display:inline-flex; gap:8px; align-items:center; margin-top:26px; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); font-weight:500}
.dark .text-link, .rg-explain .text-link, .inside .text-link{color:var(--gold-light)}
.text-link:hover .arr{transform:translateX(4px)}

/* membership teaser */
.member-teaser{background:var(--paper-alt)}
.mt-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,90px); align-items:end}
.mt-grid .r-actions{align-items:center}
.mt-grid .text-link{margin-top:0}
@media(max-width:860px){.mt-grid{grid-template-columns:1fr}}

/* academy teaser: image beside copy */
.academy-teaser{display:grid; grid-template-columns:1.05fr 1fr; background:var(--paper)}
.at-img{min-height:520px; overflow:hidden}
.at-img img{width:100%; height:100%; object-fit:cover}
.at-copy{padding:clamp(60px,9vh,120px) var(--edge)}
.at-copy .proof{margin-top:36px}
.at-copy .proof li{min-width:140px}
@media(max-width:900px){.academy-teaser{grid-template-columns:1fr}.at-img{min-height:300px}}

/* coaches teaser */
.coach-row{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2vw,28px); margin-top:48px}
.coach-row figure{background:var(--navy); color:#fff; overflow:hidden; border-radius:2px}
.coach-row img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 18%}
.coach-row figcaption{padding:16px 18px 20px; display:grid; gap:4px}
.coach-row b{font-family:var(--serif); font-weight:500; font-size:1.35rem}
.coach-row span{font-family:var(--mono); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-light)}
.pair-note{margin-top:34px; font-family:var(--serif); font-size:clamp(1.2rem,2vw,1.6rem); line-height:1.4; max-width:48ch}
.pair-note .text-link{font-family:var(--sans); margin-left:6px}
@media(max-width:760px){.coach-row{grid-template-columns:1fr}.coach-row img{aspect-ratio:16/10}}

/* the Club, small */
.club-teaser{position:relative; display:block; min-height:340px; overflow:hidden; color:#fff}
.club-teaser img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease)}
.club-teaser::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,12,26,.88) 0%, rgba(7,12,26,.35) 70%)}
.club-teaser:hover img{transform:scale(1.03)}
.ct-copy{position:relative; z-index:1; display:grid; gap:10px; padding:clamp(60px,9vh,100px) var(--edge)}
.ct-copy .mono{color:var(--gold-light)}
.ct-h{font-family:var(--serif); font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.1; max-width:16ch}
.ct-go{font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-light)}

/* robogolf: who it helps */
.who-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:52px; background:rgba(194,152,90,.2); border:1px solid rgba(194,152,90,.2)}
.who-grid > div{background:var(--navy); padding:28px 24px}
.who-grid h3{color:var(--gold-light); font-size:1.5rem}
.who-grid p{margin-top:10px; font-size:.9rem; font-weight:300; color:rgba(255,255,255,.74)}
@media(max-width:960px){.who-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.who-grid{grid-template-columns:1fr}}

/* membership: what is included */
.incl-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:0; margin-top:52px; border-top:1px solid rgba(20,24,42,.18)}
.incl-grid > div{padding:26px 26px 26px 0; position:relative}
.incl-grid > div::before{content:''; position:absolute; top:-1px; left:0; width:44px; height:2px; background:var(--gold)}
.incl-grid h3{font-size:1.5rem; margin:8px 0}
.incl-grid p{font-size:.92rem; font-weight:300; color:var(--ink-soft); max-width:30ch}
.faq-list.on-dark details{border-color:rgba(255,255,255,.14)}
.faq-list.on-dark summary{color:#fff}
.faq-list.on-dark summary .plus{color:var(--gold-light)}
.faq-list.on-dark .a{color:rgba(255,255,255,.72)}

/* coaches page */
.coach-page{display:grid; gap:clamp(30px,4vw,48px)}
.coach-card{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,60px); align-items:center}
.coach-card:nth-child(even){direction:rtl}
.coach-card:nth-child(even) > *{direction:ltr}
.cc-ph{overflow:hidden; border-radius:2px; background:var(--navy)}
.cc-ph img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 18%}
.cc-body .lead{font-family:var(--mono); font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; color:var(--navy-deep); background:var(--gold); display:inline-block; padding:5px 9px; border-radius:2px; margin-bottom:12px}
.cc-body h3{font-size:clamp(1.9rem,3vw,2.6rem)}
.cc-body .role{font-family:var(--mono); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); margin-top:8px}
.cc-body p{margin-top:16px; color:var(--ink-soft); font-weight:300; max-width:52ch}
.pair-box{background:var(--navy); color:#fff; padding:clamp(30px,4vw,48px); border-radius:2px}
.pair-box p{font-family:var(--serif); font-size:clamp(1.3rem,2.2vw,1.7rem); line-height:1.35; max-width:44ch}
.btn-dark-ghost{border-color:rgba(194,152,90,.6); color:var(--gold-light)}
.btn-dark-ghost:hover{background:var(--gold); color:var(--navy-deep)}
@media(max-width:760px){.coach-card,.coach-card:nth-child(even){grid-template-columns:1fr; direction:ltr}}

/* sticky button on phones */
.sticky-cta{display:none}
@media(max-width:760px){
  .sticky-cta{display:flex; justify-content:center; gap:8px; position:fixed; left:12px; right:12px; bottom:max(12px, env(safe-area-inset-bottom)); z-index:90; background:var(--gold); color:var(--navy-deep); padding:15px 18px; border-radius:2px; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; box-shadow:0 10px 30px rgba(7,12,26,.35); transform:translateY(140%); transition:transform .45s var(--ease)}
  .sticky-cta.show{transform:none}
  footer{padding-bottom:96px}
}

/* ---------- the request form ---------- */
body:has(.rq-page){background:var(--navy-deep)}
.rq-page{padding:clamp(130px,17vh,190px) var(--edge) clamp(70px,10vh,120px); color:#fff}
.rq-shell{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,6vw,90px); max-width:1180px; margin:0 auto; align-items:start}
.rq-side h1{margin-top:20px; font-size:clamp(2.4rem,5vw,4rem); color:#fff}
.rq-side .lede{margin-top:18px; color:rgba(255,255,255,.74)}
.rq-facts{list-style:none; margin-top:28px; display:grid; gap:10px}
.rq-facts li{display:flex; gap:12px; align-items:baseline; font-size:.95rem; color:rgba(255,255,255,.85)}
.rq-facts li::before{content:''; width:14px; height:1px; background:var(--gold); flex:none; transform:translateY(-4px)}
.rq-card{background:var(--paper-card); color:var(--ink); border-radius:3px; padding:clamp(22px,3vw,36px); box-shadow:0 30px 80px rgba(0,0,0,.45)}
.rq-tabs{display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:5px; background:var(--paper-alt); border-radius:3px; margin-bottom:24px}
.rq-tab{padding:10px 8px; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; font-weight:500; color:var(--ink-soft); border-radius:2px}
.rq-tab[aria-pressed="true"]{background:var(--navy); color:var(--gold-light)}
.rq-step{border:0; display:grid; gap:12px}
.rq-q{font-family:var(--serif); font-size:1.45rem; line-height:1.15; padding:0; margin-top:8px}
legend.rq-q{margin-bottom:4px}
.rq-chips{display:flex; flex-wrap:wrap; gap:8px}
.rq-chip{padding:10px 14px; border:1px solid rgba(20,24,42,.2); border-radius:2px; font-size:.86rem; color:var(--ink); background:#fff; transition:.2s}
.rq-chip:hover{border-color:var(--gold-deep)}
.rq-chip[aria-pressed="true"]{background:var(--gold); border-color:var(--gold); color:var(--navy-deep); font-weight:500}
.rq-chip small{display:block; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; opacity:.7}
.rq-input{width:100%; margin-top:6px; padding:12px 14px; border:1px solid rgba(20,24,42,.2); border-radius:2px; font:inherit; font-size:1rem; background:#fff; color:var(--ink)}
.rq-input:focus{outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold)}
.rq-date{max-width:240px}
.rq-label{display:block; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft)}
.rq-opt{letter-spacing:.04em; text-transform:none; color:var(--steel)}
.rq-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.rq-consent{display:flex; gap:10px; align-items:flex-start; font-size:.8rem; color:var(--ink-soft); line-height:1.5}
.rq-consent input{margin-top:3px; width:18px; height:18px; accent-color:var(--gold-deep); flex:none}
.rq-err{min-height:1.2em; font-size:.85rem; color:#9b2c1d}
.rq-next{justify-self:start}
.rq-actions{display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap}
.rq-back{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft)}
.rq-done h2{margin-top:14px; font-size:clamp(2rem,4vw,3rem)}
.rq-done p{margin-top:14px; color:var(--ink-soft)}
.rq-done-call a{color:var(--gold-deep); border-bottom:1px solid rgba(126,96,49,.35)}
@media(max-width:900px){.rq-shell{grid-template-columns:1fr}}

/* home hero still (Oct 23): full frame on desktop; on phones a crop that
   starts at the golfer's left shoulder and runs right toward the trainer */
.hero-still picture{position:absolute; inset:0}
.hero-still img{object-position:center 40%}
@media(max-width:760px){.hero-still img{object-position:left center}}
@media(max-width:760px){
  .hero-still::after{background:linear-gradient(180deg, rgba(7,12,26,.45) 0%, rgba(7,12,26,.12) 22%, rgba(7,12,26,.55) 40%, rgba(7,12,26,.88) 56%, rgba(7,12,26,.96) 100%)}
}
@media(max-width:760px){ .hero-still ~ .hero-inner .hero-cta .btn-ghost{display:none} }

/* step images (Oct 23): a picture at the head of each step */
.steps3 .s-img{margin:0 0 22px; aspect-ratio:4/3; overflow:hidden; border-radius:2px; background:var(--navy)}
.steps3 .s-img img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease)}
.steps3 li:hover .s-img img{transform:scale(1.03)}
@media(max-width:800px){.steps3 li{padding-right:0}.steps3 .s-img{aspect-ratio:16/10}}

/* coaches (Oct 23): the old side-by-side panels, on the paper ground above and below */
.coaches-tan .coaches-head{background:var(--paper); color:var(--ink)}
.coaches-tan .coaches-head h2{color:var(--ink)}
.coaches-tan .coaches-head p{color:var(--ink-soft)}
.coaches-tan .coaches-head .mono{color:var(--gold-deep)}
.coaches-tan .trip-note{background:var(--paper)}
.coaches-tan .trip-note p{color:var(--ink)}
.coaches-tan .trip-note a.gold-i{color:var(--gold-deep); border-bottom:1px solid rgba(126,96,49,.35)}
.coaches-tan .trip-note a.gold-i:hover{color:var(--gold)}

/* founding membership announcement (Oct 23): a framed card that reads as news, not a divider */
.founding-wrap{background:var(--paper); padding:clamp(56px,9vh,110px) var(--edge)}
.founding{position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); background:var(--navy); color:#fff; border:1px solid rgba(194,152,90,.55); box-shadow:0 40px 90px rgba(13,22,40,.28); overflow:hidden; max-width:1240px; margin:0 auto}
.founding::before{content:''; position:absolute; inset:10px; border:1px solid rgba(194,152,90,.22); pointer-events:none; z-index:2}
.f-media{order:2; position:relative; min-height:420px}
.f-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.f-media::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg, var(--navy) 0%, rgba(13,22,40,.55) 28%, rgba(13,22,40,.1) 70%)}
.f-body{order:1; position:relative; z-index:1; padding:clamp(34px,5vw,64px)}
.f-tag{display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--navy-deep); background:var(--gold); padding:7px 12px; border-radius:2px}
.f-dot{width:7px; height:7px; border-radius:50%; background:var(--navy-deep); animation:fPulse 2.2s ease-in-out infinite}
@keyframes fPulse{0%,100%{opacity:1}50%{opacity:.25}}
.f-head{display:flex; align-items:center; gap:clamp(16px,2.4vw,30px); margin-top:26px}
.f-num{font-family:var(--num); font-style:italic; font-size:clamp(5.5rem,11vw,9.5rem); line-height:.8; color:var(--gold); letter-spacing:-.04em; text-shadow:0 10px 40px rgba(194,152,90,.25)}
.f-head h2{font-size:clamp(1.9rem,3.4vw,3rem); color:#fff; line-height:1.08}
.f-incl{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; margin-top:28px; max-width:620px}
.f-incl li{display:flex; gap:10px; align-items:baseline; font-size:.92rem; color:rgba(255,255,255,.85)}
.f-incl li::before{content:'\2713'; color:var(--gold-light); font-size:.8rem}
.f-places{display:grid; grid-template-columns:repeat(20,1fr); gap:5px; max-width:420px; margin-top:30px}
.f-places i{display:block; aspect-ratio:1; border:1px solid var(--gold); border-radius:50%; background:rgba(194,152,90,.12)}
.reveal.in .f-places i{animation:fSeat .5s var(--ease) both}
.reveal.in .f-places i:nth-child(n){animation-delay:calc(var(--i,0) * 40ms)}
@keyframes fSeat{from{transform:scale(.3); opacity:0}to{transform:none; opacity:1}}
.f-cta{display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:30px}
.f-cta .text-link{margin-top:0; color:var(--gold-light)}
.f-fine{margin-top:16px; font-size:.78rem; color:rgba(255,255,255,.55)}
@media(max-width:900px){
  .founding{grid-template-columns:1fr}
  .f-media{order:0; min-height:240px}
  .f-media::after{background:linear-gradient(0deg, var(--navy) 0%, rgba(13,22,40,.2) 60%)}
  .f-incl{grid-template-columns:1fr}
  .f-places{max-width:none}
}
@media(max-width:480px){.f-tag{font-size:.54rem; letter-spacing:.14em; gap:8px}}

/* /robogolf header (Oct 23): the trainer on the right, the wall mark top left; on phones, the trainer */
.hero-media img.rg-header{object-position:center 30%}
.page-hero:has(.rg-header){min-height:100svh}
@media(max-width:760px){.hero-media img.rg-header{object-position:68% center}}
/* founding card, round two: a plain gold rule instead of the place markers */
.f-rule{border:0; height:1px; max-width:420px; margin-top:30px; background:linear-gradient(90deg, var(--gold) 0%, rgba(194,152,90,.5) 55%, transparent 100%)}
.f-media img{filter:brightness(1.6) contrast(1.08)}
.f-media::after{background:linear-gradient(90deg, var(--navy) 0%, rgba(13,22,40,.35) 18%, rgba(13,22,40,0) 45%)}
@media(max-width:900px){.f-media::after{background:linear-gradient(0deg, var(--navy) 0%, rgba(13,22,40,0) 50%)}}
@media(min-width:901px){.founding{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}

/* /membership header (Oct 23): the same low-key swing photo as the founding card, lifted */
.hero-media img.mem-header{object-position:60% 25%; filter:brightness(1.5) contrast(1.06)}
@media(max-width:760px){.hero-media img.mem-header{object-position:42% center}}

/* ---------- /academy, rebuilt (Oct 23) ---------- */

.gal + .features{padding-top:clamp(30px,4vh,50px)}
.features{display:grid; gap:clamp(70px,11vh,130px)}
.feature{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(36px,6vw,96px); align-items:center}
.feature.rev .ft-img{order:2}
.ft-img{aspect-ratio:4/3; overflow:hidden; border-radius:2px; background:var(--navy); box-shadow:0 30px 70px rgba(13,22,40,.22)}
.ft-img img{width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease)}
.feature:hover .ft-img img{transform:scale(1.03)}
.ft-copy h2{margin-top:20px; font-size:clamp(2rem,3.4vw,3rem); max-width:16ch}
.ft-copy p{margin-top:18px; color:var(--ink-soft); font-weight:300; font-size:1.02rem; max-width:48ch}
.ft-copy .text-link{margin-top:24px}
.ft-facts{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); margin-top:28px; border-top:1px solid rgba(20,24,42,.16)}
.ft-facts li{padding:16px 16px 0 0; font-size:.78rem; color:var(--ink-soft); line-height:1.45}
.ft-facts b{display:block; font-family:var(--num); font-style:italic; font-weight:400; font-size:1.7rem; color:var(--gold-deep); margin-bottom:4px}
@media(max-width:860px){
  .feature{grid-template-columns:1fr; gap:26px}
  .feature.rev .ft-img{order:0}
  .ft-facts{grid-template-columns:1fr 1fr 1fr}
}
.method{background:var(--paper-alt)}
.app-band{background:var(--navy); color:#fff; padding:clamp(84px,13vh,160px) var(--edge)}
.app-grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(40px,6vw,90px); align-items:center; max-width:1240px; margin:0 auto}
.app-copy h2{margin-top:20px; color:#fff; font-size:clamp(2.2rem,4vw,3.4rem)}
.app-copy > p{margin-top:18px; color:rgba(255,255,255,.74); font-weight:300; font-size:1.05rem; max-width:46ch}
.app-list{list-style:none; margin-top:30px; display:grid; gap:0; border-top:1px solid rgba(194,152,90,.25)}
.app-list li{padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:.9rem; color:rgba(255,255,255,.66); font-weight:300}
.app-list b{display:block; font-family:var(--serif); font-weight:500; font-size:1.3rem; color:#fff; margin-bottom:2px}
@media(max-width:900px){.app-grid{grid-template-columns:1fr}}

/* ===================== QA pass (Oct 23) ===================== */

/* hero: the three facts as checks, readable */
.hero-trust{list-style:none; display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:24px}
.hero-trust li{display:flex; align-items:center; gap:9px; font-size:.92rem; color:rgba(255,255,255,.88); font-weight:400}
.hero-trust li::before{content:''; width:18px; height:18px; flex:none; border-radius:50%; background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d1628' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}

/* the three promises: icon, photo wash, a gold rule that draws in */
.points3{gap:0}
.p-tile{position:relative; overflow:hidden; isolation:isolate; padding:clamp(34px,4.5vw,56px) var(--edge) clamp(34px,4.5vw,56px); transition:background .6s var(--ease)}
.p-bg{position:absolute; inset:0; z-index:-1}
.p-bg img{width:100%; height:100%; object-fit:cover; opacity:.12; transform:scale(1.08); filter:saturate(.6); transition:opacity .8s var(--ease), transform 1.4s var(--ease)}
.p-tile::after{content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(13,22,40,.2), rgba(13,22,40,.85))}
.p-tile:hover .p-bg img{opacity:.32; transform:scale(1)}
.p-tile::before{content:''; position:absolute; left:var(--edge); top:0; height:2px; width:0; background:var(--gold); transition:width 1s var(--ease) .2s}
.p-tile.in::before{width:56px}
.p-ico{display:block; width:42px; height:42px; margin-bottom:18px; color:var(--gold-light)}
.p-ico svg{width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.points3 .p-k{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.points3 p{font-size:.96rem}

/* section heads with the action on the right (desktop) */
.sec-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap}
.sec-cta{display:flex; flex-direction:column; align-items:flex-end; gap:10px}
.sec-cta p{font-size:.8rem; color:var(--steel); letter-spacing:.02em}
.only-narrow{display:none}
@media(max-width:800px){.sec-cta{display:none}.only-narrow{display:flex}}
.steps3 li h3{margin-top:2px}

/* RoboGolfPro film: full bleed, the clip is the show */
.rg-film{position:relative; min-height:94svh; display:flex; align-items:center; overflow:hidden; background:var(--navy-deep); color:#fff}
.rgf-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.12); transition:transform 2.4s var(--ease)}
.rg-film.in .rgf-video{transform:scale(1)}
.rg-film::before{content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(7,12,26,.94) 0%, rgba(7,12,26,.78) 34%, rgba(7,12,26,.15) 70%, rgba(7,12,26,.35) 100%)}
.rg-film::after{content:''; position:absolute; left:0; right:0; bottom:0; height:120px; z-index:1; background:linear-gradient(0deg, rgba(7,12,26,.7), transparent)}
.rgf-inner{position:relative; z-index:2; padding:clamp(90px,12vh,140px) var(--edge); max-width:760px}
.rgf-inner h2{margin-top:20px; color:#fff; font-size:clamp(2.3rem,4.4vw,3.8rem)}
.rgf-inner > p{margin-top:20px; color:rgba(255,255,255,.8); font-weight:300; font-size:1.05rem; max-width:52ch}
.rgf-label{margin-top:30px !important; font-family:var(--mono); font-size:.62rem !important; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-light) !important}
.rgf-chips{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
.rgf-chips li{padding:8px 14px; border:1px solid rgba(194,152,90,.5); border-radius:999px; font-size:.84rem; color:#fff; background:rgba(7,12,26,.35); backdrop-filter:blur(6px)}
.rgf-inner .r-actions{margin-top:34px}
@media(max-width:760px){
  .rg-film{min-height:0; align-items:flex-end}
  .rgf-video{position:relative; height:56vw; min-height:240px; transform:none}
  .rg-film{flex-direction:column; align-items:stretch}
  .rg-film::before{background:linear-gradient(180deg, rgba(7,12,26,0) 0%, rgba(7,12,26,0) 30%, rgba(7,12,26,1) 34%)}
  .rgf-inner{padding:30px var(--edge) 70px}
}

/* under the coaches: a statement, not a footnote */
.coaches-tan .trip-note{padding:clamp(70px,10vh,120px) var(--edge)}
.coaches-tan .trip-note::before{margin-bottom:30px}
.tn-h{font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,4.6vw,3.8rem); line-height:1.06; color:var(--ink); max-width:20ch; margin:0 auto}
.tn-sub{margin-top:18px !important; font-family:var(--sans) !important; font-size:1.05rem !important; font-weight:300; color:var(--ink-soft) !important; max-width:48ch}
.tn-cta{display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:30px}
.coaches-tan .btn-dark-ghost{border-color:rgba(126,96,49,.55); color:var(--gold-deep)}
.coaches-tan .btn-dark-ghost:hover{background:var(--gold); color:var(--navy-deep); border-color:var(--gold)}

/* FAQ: heading column beside the questions on desktop */
.faq-2col{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(40px,7vw,110px); max-width:1240px; margin:0 auto; align-items:start}
.faq-side{position:sticky; top:110px}
.faq-side h2{margin-top:20px; max-width:12ch}
.faq-side p{margin-top:18px; color:var(--ink-soft); font-weight:300; max-width:34ch}
.faq-2col .faq-list{margin-top:0}
@media(max-width:860px){.faq-2col{grid-template-columns:1fr; gap:30px}.faq-side{position:static}}
.mem-how{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,7vw,100px); align-items:start; max-width:1240px; margin:0 auto}
.mem-how .lede{margin-top:18px}
@media(max-width:860px){.mem-how{grid-template-columns:1fr; gap:36px}}
/* robogolf: who it helps, a little more life */
.who-grid > div{position:relative; padding:34px 28px 36px; transition:background .5s var(--ease)}
.who-grid > div::before{content:''; position:absolute; left:28px; top:0; width:0; height:2px; background:var(--gold); transition:width .6s var(--ease)}
.who-grid > div:hover{background:var(--navy-mid)}
.who-grid > div:hover::before{width:44px}
.who-grid h3{font-size:1.75rem}
/* membership: what is included, as cards */
.incl-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; border-top:0}
.incl-grid > div{padding:30px 30px 32px; background:var(--paper-card); border:1px solid rgba(20,24,42,.08); border-radius:2px; transition:transform .5s var(--ease), box-shadow .5s var(--ease)}
.incl-grid > div::before{left:30px; top:-1px}
.incl-grid > div:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(13,22,40,.08)}
.incl-grid h3{font-size:1.75rem; margin:6px 0 10px}
.incl-grid p{max-width:36ch}
@media(max-width:900px){.incl-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.incl-grid{grid-template-columns:1fr}}
.cc-contact{margin-top:22px; display:grid; gap:0; max-width:420px; border-top:1px solid rgba(126,96,49,.3)}
.cc-contact a{display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid rgba(20,24,42,.1); font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; color:var(--ink); transition:color .3s}
.cc-contact a:hover{color:var(--gold-deep)}
.cc-contact span{font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep)}
.mem-contact{margin-top:22px; font-size:.9rem; color:rgba(255,255,255,.7)}
.mem-contact a{color:var(--gold-light); border-bottom:1px solid rgba(217,183,126,.4)}

/* Docked header blur lives on a backing layer. backdrop-filter on the header
   itself makes it the containing block for the fixed mobile menu, which then
   opened only 50px tall once the page had scrolled. */
header.docked{background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none}
header.docked::before{content:''; position:absolute; inset:0; z-index:-1; background:rgba(7,12,26,.85); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px)}
@media (max-width:940px){
  .menu-toggle{position:relative; z-index:95}
  nav.open .menu-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  nav.open .menu-toggle span:nth-child(2){opacity:0}
  nav.open .menu-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}

/* keep each nav item on one line between the burger breakpoint and wide desktop */
.nav-links a{white-space:nowrap}
@media (max-width:1180px){.nav-links{gap:20px}}

/* One label font. Every small uppercase label now uses the eyebrow face (Inter)
   instead of IBM Plex Mono, and the section labels match the eyebrow exactly. */
:root{--mono:'Inter', -apple-system, sans-serif}
.mono, .f-tag{font-size:.72rem; font-weight:500; letter-spacing:.28em}
.rgf-label{font-size:.72rem !important; font-weight:500 !important; letter-spacing:.28em}
.tpanel .lead, .cc-body .lead, .tpanel .role, .cc-body .role, .room .go{font-weight:500; letter-spacing:.2em}
.tpanel .lead, .cc-body .lead{font-size:.64rem}
.tpanel .role, .cc-body .role{font-size:.66rem}
