.tf-club{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --blue:#0092BC;
  --blue-dark:#0079a0;
  --blue-deep:#1B2A4A;
  --navy:#1B2A4A;
  --navy-deep:#14203a;
  --cyan:#0092BC;
  --cyan-light:#29ABE2;
  --ink:#16233d;
  --ink-soft:#59697f;
  --line:#dde5ee;
  --wash:#eaf5fb;
  --wash-2:#f2f8fc;
  --paper:#ffffff;
  --bg:#f7fafb;
  --gold:#F4A300;
  --ok:#0f9b6c;
  --radius:14px;
  --radius-lg:22px;
  --shadow:0 10px 30px rgba(8,40,54,.10);
  --shadow-sm:0 4px 14px rgba(8,40,54,.07);
  --maxw:1180px;
  /* Brand marker (cyan burst) as a reusable background layer for navy panels */
  --mk:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20140%20140'%3E%3Cg%20fill='%2329ABE2'%3E%3Crect%20x='64.0'%20y='10.0'%20width='12'%20height='36'%20rx='4.2'%20transform='rotate(0%2070.0%2070.0)'/%3E%3Crect%20x='64.0'%20y='10.0'%20width='12'%20height='36'%20rx='4.2'%20transform='rotate(45%2070.0%2070.0)'/%3E%3Crect%20x='64.0'%20y='10.0'%20width='12'%20height='36'%20rx='4.2'%20transform='rotate(90%2070.0%2070.0)'/%3E%3Crect%20x='64.0'%20y='10.0'%20width='12'%20height='36'%20rx='4.2'%20transform='rotate(135%2070.0%2070.0)'/%3E%3Crect%20x='64.0'%20y='10.0'%20width='12'%20height='36'%20rx='4.2'%20transform='rotate(180%2070.0%2070.0)'/%3E%3Crect%20x='64.0'%20y='10.0'%20width='12'%20height='36'%20rx='4.2'%20transform='rotate(225%2070.0%2070.0)'/%3E%3Crect%20x='64.0'%20y='10.0'%20width='12'%20height='36'%20rx='4.2'%20transform='rotate(270%2070.0%2070.0)'/%3E%3Crect%20x='64.0'%20y='10.0'%20width='12'%20height='36'%20rx='4.2'%20transform='rotate(315%2070.0%2070.0)'/%3E%3C/g%3E%3C/svg%3E");
}
.tf-club *{box-sizing:border-box}
.tf-club{scroll-behavior:smooth;scroll-padding-top:calc(120px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
.tf-club{
  margin:0;font-family:'ITCAvantGardeStd',Arial,Helvetica,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.55;font-size:16px;
}
.tf-club h1, .tf-club h2, .tf-club h3, .tf-club h4{font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;line-height:1.2;margin:0}
.tf-club h2{margin-bottom:.6rem}
.tf-club h3{margin-bottom:.45rem}
.tf-club h2{font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:800}
.tf-club h3{font-size:1.22rem;font-weight:700}
.tf-club p{margin:0 0 1rem}
.tf-club img{max-width:100%}
.tf-club a{color:inherit}
.tf-club .wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.tf-club .tfbtn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;cursor:pointer;
  font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;font-size:1rem;padding:.85rem 1.5rem;border-radius:999px;
  text-decoration:none;transition:transform .12s ease,background .15s ease,box-shadow .15s}
.tf-club .tfbtn:active{transform:translateY(1px)}
.tf-club .tfbtn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(0,146,188,.32)}
.tf-club .tfbtn-primary:hover{background:var(--blue-dark)}
.tf-club .tfbtn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.tf-club .tfbtn-ghost:hover{border-color:var(--blue);color:var(--blue-dark)}
.tf-club .tfbtn-lg{padding:1rem 1.9rem;font-size:1.06rem}
.tf-club .tfbtn-full{width:100%}
.tf-club .eyebrow{color:var(--blue-dark);font-weight:700;font-size:.82rem;margin-bottom:.5rem;display:inline-block}
.tf-club .ph-bar{display:inline-block;height:13px;width:104px;border-radius:6px;background:#c4d1de;margin-bottom:.6rem;vertical-align:middle}
.tf-club .ph-bar.on-dark{background:rgba(255,255,255,.4)}
.tf-club .ph-h1{display:block;height:52px;width:min(620px,88%);border-radius:12px;background:#c4d1de;margin:0 0 .3rem}
.tf-club .ph-h2{display:block;height:30px;width:min(340px,72%);border-radius:8px;background:#c4d1de;margin:0 0 .7rem}
.tf-club .ph-h2.center{margin-left:auto;margin-right:auto}
.tf-club .ph-h2.on-dark{background:rgba(255,255,255,.4)}
.tf-club section{padding:80px 0}
.tf-club .section-tight{padding:52px 0}
/* Price finder has its own internal padding, so remove the outer section padding (was leaving a light gap around the navy block) */
.tf-club #tf-pricefinder{padding:0}

.tf-club /* ---- top offer bar ---- */
.offer{background:var(--navy);color:#fff;font-size:.92rem;position:relative;z-index:60}
.tf-club .offer .wrap{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.6rem 20px;text-align:center;flex-wrap:wrap}
.tf-club .offer strong{color:var(--gold)}
.tf-club .offer .offer-cta{color:#fff;font-weight:700;text-decoration:underline;white-space:nowrap}
.tf-club .offer .x{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:0;color:#9fb4bd;font-size:1.2rem;cursor:pointer;line-height:1}

.tf-club /* ---- nav ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.tf-club .nav .wrap{display:flex;align-items:center;gap:1.5rem;height:66px}
.tf-club .logo{font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:500;font-size:1.34rem;color:var(--ink);text-decoration:none;white-space:nowrap;text-transform:none}
.tf-club .logo span{color:inherit;font-weight:800}
.tf-club .nav-links{display:flex;gap:1.4rem;margin-left:1rem;font-weight:600;font-size:.96rem}
.tf-club .nav-links a{text-decoration:none;color:var(--ink-soft);padding:.4rem 0}
.tf-club .nav-links a:hover{color:var(--blue-dark)}
.tf-club .nav-right{margin-left:auto;display:flex;align-items:center;gap:.7rem}
.tf-club .nav-right .tfbtn{padding:.6rem 1.2rem;font-size:.95rem}
.tf-club .nav-freelink{color:var(--ink-soft);font-weight:600;font-size:.92rem;text-decoration:none;padding:.4rem .3rem}
.tf-club .nav-freelink:hover{color:var(--blue-dark)}
.tf-club .burger{display:none;background:none;border:0;cursor:pointer;padding:.3rem}
.tf-club .burger span{display:block;width:24px;height:2.5px;background:var(--ink);margin:5px 0;border-radius:2px}

.tf-club /* ---- breadcrumb + subtabs ---- */
.crumb{font-size:.86rem;color:var(--ink-soft);padding:14px 0 0}
.tf-club .crumb a{color:var(--blue-dark);text-decoration:none}
.tf-club .subtabs{position:sticky;top:66px;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.tf-club .subtabs .wrap{display:flex;gap:.4rem}
.tf-club .subtab{appearance:none;background:none;border:0;cursor:pointer;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;
  font-size:1rem;color:var(--ink-soft);padding:16px 4px;margin-right:1.6rem;border-bottom:3px solid transparent;transition:.15s}
.tf-club .subtab:hover{color:var(--ink)}
.tf-club .subtab.active{color:var(--blue-dark);border-color:var(--blue)}

.tf-club /* ---- club header ---- */
.club-head{padding:26px 0 8px}
.tf-club .club-head h1{font-size:clamp(2.1rem,5.2vw,3.4rem);font-weight:900}
.tf-club .addr{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin-top:.7rem;color:var(--ink-soft);font-weight:500}
.tf-club .addr .pin{color:var(--blue)}
.tf-club .addr a{color:var(--blue-dark);font-weight:600;text-decoration:none}
.tf-club .head-cta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.1rem}

.tf-club /* ---- gallery ---- */
.tfgal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:440px;margin-top:14px}
.tf-club .shot{position:relative;border-radius:12px;overflow:hidden;background:var(--navy);color:#fff;
  display:flex;align-items:flex-end;padding:14px;font-weight:600;font-size:.9rem;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.tf-club .shot:nth-child(1){grid-row:1/3}
.tf-club .shot .tag{position:absolute;inset:auto auto 14px 14px}
.tf-club .shot .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.tf-club .shot .play svg{width:56px;height:56px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}
.tf-club .shot .more{position:absolute;right:12px;bottom:12px;background:rgba(12,27,34,.82);padding:.45rem .8rem;border-radius:999px;font-size:.82rem}
.tf-club .tour-pill{position:absolute;right:12px;top:12px;background:#fff;color:var(--ink);font-weight:700;font-size:.8rem;
  padding:.4rem .8rem;border-radius:999px;display:flex;gap:.35rem;align-items:center;box-shadow:var(--shadow-sm)}
.tf-club .tour-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--blue);display:inline-block}

.tf-club /* ---- pricing ---- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.tf-club .plan{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:26px 22px;display:flex;flex-direction:column;position:relative}
.tf-club .plan.feat{border-color:var(--blue);box-shadow:var(--shadow)}
.tf-club .plan .flag{position:absolute;top:-13px;left:22px;background:var(--blue);color:#fff;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;
  font-weight:700;font-size:.76rem;padding:.35rem .8rem;border-radius:999px}
.tf-club .plan h3{font-size:1.3rem}
.tf-club .plan .sub{color:var(--ink-soft);font-size:.92rem;margin:.3rem 0 1rem}
.tf-club .plan .amt{font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:900;font-size:2.5rem;color:var(--ink);line-height:1}
.tf-club .plan .amt small{font-size:.95rem;font-weight:600;color:var(--ink-soft)}
.tf-club .plan .from{font-size:.82rem;color:var(--ink-soft);margin-bottom:1rem}
.tf-club .plan ul{list-style:none;padding:0;margin:0 0 1.4rem;display:flex;flex-direction:column;gap:.55rem;font-size:.94rem}
.tf-club .plan li{display:flex;gap:.55rem;align-items:flex-start}
.tf-club .plan li svg{flex:0 0 18px;margin-top:2px;color:var(--blue)}
.tf-club .plan .tfbtn{margin-top:auto}
.tf-club .allplans{display:flex;gap:1.4rem 2rem;flex-wrap:wrap;justify-content:center;margin-top:20px;color:var(--ink-soft);font-weight:600;font-size:.95rem}
.tf-club .allplans span{display:flex;gap:.45rem;align-items:center}
.tf-club .allplans svg{color:var(--ok)}
.tf-club .price-note{text-align:center;color:var(--ink-soft);font-size:.82rem;margin-top:14px}

.tf-club /* ---- compare ---- */
.compare-toggle{display:block;margin:22px auto 0;background:#fff;border:1.5px solid var(--line);border-radius:999px;
  font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;padding:.7rem 1.5rem;cursor:pointer;color:var(--blue-dark)}
.tf-club .compare-toggle:hover{border-color:var(--blue)}
.tf-club .compare-wrap{max-height:0;overflow:hidden;transition:max-height .4s ease}
.tf-club .compare-wrap.open{max-height:1400px}
.tf-club .ctable{width:100%;border-collapse:collapse;margin-top:22px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);font-size:.95rem}
.tf-club .ctable th, .tf-club .ctable td{padding:14px 12px;text-align:center;border-bottom:1px solid var(--line)}
.tf-club .ctable th{background:var(--wash);font-family:'ITCAvantGardeStd-bold',Arial,sans-serif}
.tf-club .ctable thead th{font-size:1rem;color:var(--ink)}
.tf-club .ctable tbody th{text-align:left;font-weight:600;color:var(--ink);background:#fff;font-family:'ITCAvantGardeStd',Arial,sans-serif}
.tf-club .ctable .yes{color:var(--ok);font-weight:800}
.tf-club .ctable .no{color:#b8c6cc}
.tf-club .ctable tr:last-child td, .tf-club .ctable tr:last-child th{border-bottom:0}

.tf-club /* ---- features grid ---- */
.band{background:var(--wash)}
.tf-club .feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.tf-club .feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}
.tf-club .feature .ic{width:44px;height:44px;border-radius:12px;background:var(--wash);display:flex;align-items:center;justify-content:center;color:var(--blue-dark);margin-bottom:12px}
.tf-club .feature .ic svg{width:24px;height:24px}
.tf-club .feature h4{font-size:1rem;font-weight:700;margin-bottom:.25rem}
.tf-club .feature p{font-size:.86rem;color:var(--ink-soft);margin:0}

.tf-club /* ---- at a glance: space-saving vertical list (PureGym style) ---- */
.glance{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:44px;align-items:stretch}
.tf-club .glance-h{font-size:1.4rem;font-weight:800;margin-bottom:.3rem}
.tf-club .glance-sub{color:var(--ink-soft);font-size:.94rem;margin:0 0 1.15rem}
.tf-club .grule{border:0;border-top:1px solid var(--line);margin:0 0 1.15rem}
.tf-club .flist{list-style:none;margin:0;padding:0}
.tf-club .flist li{display:flex;gap:.9rem;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}
.tf-club .flist li:last-child{border-bottom:0}
.tf-club .fic{flex:0 0 26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.tf-club .fic svg{width:24px;height:24px}
.tf-club .flist b{display:block;font-size:1.04rem;font-weight:700;color:var(--ink);line-height:1.25}
.tf-club .flist span{font-size:.9rem;color:var(--ink-soft)}
/* Facility asterisk + tooltip (per-club notes, e.g. parking restrictions) */
.tf-club .fac-note{position:relative;display:inline-block;cursor:help}
.tf-club .flist .fac-note .fac-star{color:var(--cyan);font-weight:700;font-size:1.04rem;margin-left:1px}
.tf-club .flist .fac-note .fac-tip{position:absolute;left:0;bottom:calc(100% + 8px);background:var(--navy);color:#fff;font-size:.82rem;font-weight:400;line-height:1.45;padding:9px 12px;border-radius:8px;width:max-content;max-width:250px;box-shadow:0 10px 28px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s;z-index:6;pointer-events:none}
.tf-club .fac-note:hover .fac-tip,.tf-club .fac-note:focus .fac-tip,.tf-club .fac-note:focus-visible .fac-tip{opacity:1;visibility:visible;transform:translateY(0)}
.tf-club .flist .fac-note .fac-tip::after{content:"";position:absolute;top:100%;left:16px;border:6px solid transparent;border-top-color:var(--navy)}
.tf-club .glance-media{position:relative;overflow:hidden;border-radius:var(--radius-lg);min-height:440px;background-color:var(--navy);background-image:var(--mk);background-repeat:no-repeat;background-position:left -120px top -150px;background-size:420px;color:#fff;display:flex;align-items:flex-end;padding:18px;font-weight:600;box-shadow:var(--shadow)}
.tf-club .glance-media.glance-tour{padding:0}
.tf-club .glance-frame{width:100%;height:100%;min-height:440px;border:0;display:block}
.tf-club .glance-tour-facade{width:100%;min-height:440px;cursor:pointer;background-color:var(--navy);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;padding:0}
.tf-club .glance-tour-play{position:relative;z-index:2;width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:transform .15s}
.tf-club .glance-tour-facade:hover .glance-tour-play{transform:scale(1.07)}
.tf-club .glance-tour-play svg{width:26px;height:26px;margin-left:3px;color:var(--navy)}
.tf-club .glance-media.glance-tour::after{content:"";position:absolute;inset:0;background:rgba(20,32,58,.45);pointer-events:none;z-index:1}
.tf-club .glance-tour-pill{position:absolute;top:14px;left:14px;z-index:2;pointer-events:none;background:var(--cyan);color:#fff !important;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:normal;padding:.5rem .95rem;border-radius:999px;font-size:.95rem;box-shadow:0 4px 14px rgba(0,0,0,.3);display:inline-flex;align-items:center}
.tf-club .glance-cap{position:relative;z-index:2;text-shadow:0 1px 10px rgba(0,0,0,.45)}

.tf-club /* ---- about + showcase ---- */
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.tf-club .showcase{display:flex;flex-direction:column;gap:28px;margin-top:30px}
.tf-club .show-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.tf-club .show-row:nth-child(even) .show-media{order:2}
.tf-club .show-media{height:320px;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--navy);background-image:var(--mk);background-repeat:no-repeat;background-position:left -130px top -120px;background-size:400px;
  color:#fff;display:flex;align-items:flex-end;padding:18px;font-weight:600;box-shadow:var(--shadow)}
.tf-club .show-body h3{font-size:1.5rem;margin-bottom:.6rem}
.tf-club .show-body p{color:var(--ink-soft)}

.tf-club /* ---- tour + classes split ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.tf-club .promo{border-radius:var(--radius-lg);padding:40px 34px;color:#fff;min-height:320px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.tf-club .promo>*{position:relative;z-index:1}
.tf-club .promo.tour{background-color:var(--navy);background-image:var(--mk);background-repeat:no-repeat;background-position:left -330px top -300px;background-size:720px}
.tf-club .promo.classes{background-color:var(--navy);background-image:var(--mk);background-repeat:no-repeat;background-position:left -120px bottom -120px;background-size:360px}
/* App card: plain navy background, no marker */
.tf-club .promo.app{background-color:var(--navy);background-image:none}
.tf-club .promo h3{font-size:1.6rem;margin-bottom:.5rem}
.tf-club .promo p{opacity:.92;margin-bottom:1.2rem}
.tf-club .promo .tfbtn{align-self:flex-start;background:#fff;color:var(--ink)}
.tf-club .appbadges{display:flex;gap:12px;flex-wrap:wrap;align-self:flex-start}
.tf-club .appbadge{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#111 !important;border-radius:10px;padding:9px 16px 9px 14px;text-decoration:none !important;box-shadow:0 2px 10px rgba(0,0,0,.2);transition:background .15s}
.tf-club .appbadge:hover{background:#f1f3f5}
.tf-club .appbadge-ic{height:26px;width:auto;flex:0 0 auto}
.tf-club .appbadge-txt{display:flex;flex-direction:column;line-height:1.12;text-align:left}
.tf-club .appbadge-txt small{font-size:.6rem;text-transform:uppercase;color:#111 !important}
.tf-club .appbadge-txt b{font-size:1.02rem;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:normal;color:#111 !important}
.tf-club .promo .badge{position:static;align-self:flex-start;margin:0 0 14px 0;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  padding:.35rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600}

.tf-club /* ---- first visit steps ---- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.tf-club .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}
.tf-club .step .n{font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:900;font-size:1.1rem;color:#fff;background:var(--blue);
  width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.tf-club .step h4{font-size:1.08rem;margin-bottom:.4rem}
.tf-club .step p{font-size:.9rem;color:var(--ink-soft);margin:0}
.tf-club .step ul.steplist{list-style:none !important;margin:.9rem 0 0 !important;padding:0 !important}
.tf-club .step ul.steplist li{list-style:none !important;position:relative;padding:0 0 0 1.9rem !important;font-size:.92rem;color:var(--ink);line-height:1.5;margin:0 0 .55rem 0 !important}
.tf-club .step ul.steplist li:last-child{margin-bottom:0 !important}
.tf-club .step ul.steplist li::marker{content:"" !important;font-size:0 !important}
.tf-club .step ul.steplist li::before{content:"";position:absolute;left:0;top:.1rem;width:18px;height:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%230092bc'/%3E%3Cpath d='M5.8 10.4l2.6 2.6 5.8-6' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:18px 18px}

.tf-club /* ---- testimonials ---- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.tf-club .quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}
.tf-club .stars{color:var(--gold);margin-bottom:.6rem}
.tf-club .quote p{font-size:.98rem;margin-bottom:1rem}
.tf-club .who{display:flex;align-items:center;gap:.7rem}
.tf-club .who .av{width:38px;height:38px;border-radius:50%;background:var(--wash);display:flex;align-items:center;justify-content:center;
  font-weight:700;color:var(--blue-dark);font-family:'ITCAvantGardeStd-bold',Arial,sans-serif}
.tf-club .who b{font-size:.9rem}
.tf-club .who span{font-size:.8rem;color:var(--ink-soft);display:block}
/* ---- reviews carousel ---- */
.tf-club .tfrev{position:relative;margin-top:26px}
.tf-club .tfrev-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tf-club .tfrev-track::-webkit-scrollbar{display:none}
.tf-club .tfrev-track .quote{scroll-snap-align:start;flex:0 0 calc((100% - 40px)/3);min-width:290px;display:flex;flex-direction:column;margin:0}
.tf-club .tfrev-track .quote p{flex:1 1 auto}
.tf-club .tfrev-nav{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;padding:0;flex:0 0 auto}
.tf-club .tfrev-nav:hover{background:var(--wash);border-color:var(--cyan)}
.tf-club .tfrev-foot{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}

.tf-club /* ---- family ---- */
.family{background-color:var(--navy);background-image:var(--mk);background-repeat:no-repeat;background-position:right -260px top -240px;background-size:760px;color:#fff;border-radius:var(--radius-lg);overflow:hidden;position:relative;
  padding:44px;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}
.tf-club .family h2{color:#fff}
.tf-club .family .pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.tf-club .family .pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:.55rem 1rem;border-radius:999px;font-weight:600;font-size:.9rem}
.tf-club .family .tfbtn{background:#fff;color:var(--ink);margin-top:22px}
.tf-club .fam-media{position:relative;height:280px;border-radius:var(--radius);background:rgba(255,255,255,.12);border:1px dashed rgba(255,255,255,.4);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font-weight:600}
.tf-club .fam-media.has-img{background-size:cover;background-position:center;border:0}
.tf-club .fam-anim{position:absolute;left:-45px;bottom:-45px;width:170px;height:auto;pointer-events:none;z-index:2;animation:famfloat 3.6s ease-in-out infinite}
@keyframes famfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.tf-club .fam-anim{animation:none}}

.tf-club /* ---- getting here ---- */
.here{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.tf-club .map{border-radius:var(--radius);min-height:280px;background:#e6eef1;
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-weight:600;position:relative}
.tf-club .map .mpin{background:var(--blue);color:#fff;padding:.5rem .9rem;border-radius:999px;font-weight:700;box-shadow:var(--shadow)}
.tf-club .map.has-map{background:#e6eef1;overflow:hidden;padding:0}
.tf-club .map.has-map iframe{width:100%;height:100%;min-height:280px;border:0;display:block}
.tf-club .here h3{margin-bottom:.5rem}
.tf-club .here .row{display:flex;gap:.7rem;margin-bottom:1rem}
.tf-club .here .row svg{flex:0 0 22px;color:var(--blue);margin-top:2px}
.tf-club .here .row b{display:block}
.tf-club .here .row span{color:var(--ink-soft);font-size:.92rem}
.tf-club .hours{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:.4rem}
.tf-club .hours td{padding:.35rem 0;border-bottom:1px solid var(--line)}
.tf-club .hours td:last-child{text-align:right;color:var(--ink-soft)}

.tf-club /* ---- faq ---- */
.faq{max-width:820px;margin:26px auto 0}
.tf-club .q{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.tf-club .q button{width:100%;text-align:left;background:none;border:0;padding:18px 20px;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;
  font-weight:700;font-size:1.02rem;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;color:var(--ink)}
.tf-club .q .a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.tf-club .q .a p{padding:0 20px 18px;margin:0;color:var(--ink-soft);font-size:.95rem}
.tf-club .q.open .a{max-height:300px}
.tf-club .q .chev{transition:.3s;color:var(--blue)}
.tf-club .q.open .chev{transform:rotate(180deg)}

.tf-club /* ---- nearby ---- */
.near{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.tf-club .near-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:.15s}
.tf-club .near-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.tf-club .near-card .img{height:130px;background:var(--navy)}
.tf-club .near-card .body{padding:16px}
.tf-club .near-card .dist{color:var(--blue-dark);font-weight:700;font-size:.82rem}
.tf-club .near-card h4{margin:.2rem 0 .3rem}
.tf-club .near-card p{font-size:.86rem;color:var(--ink-soft);margin:0}

.tf-club /* ---- closing cta ---- */
.close-cta{background:var(--navy);color:#fff;text-align:center;border-radius:var(--radius-lg);padding:56px 30px;position:relative;overflow:hidden}
.tf-club .close-cta>*{position:relative;z-index:1}
.tf-club .close-cta h2{color:#fff;margin-bottom:.6rem}
.tf-club .close-cta p{opacity:.85;max-width:560px;margin:0 auto 1.6rem}
.tf-club .close-cta .tfbtn{background:var(--blue);color:#fff}

.tf-club /* ---- price finder ---- */
.finder{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.tf-club .finder .wrap{position:relative;z-index:1}
.tf-club .finder-head{text-align:center;max-width:620px;margin:0 auto 26px}
.tf-club .finder-head h2{color:#fff}
.tf-club .finder-head p{color:#b8c3d6;margin-top:.5rem}
.tf-club .finder-label{display:block;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;font-size:.85rem;color:#fff;margin-bottom:.5rem}
.tf-club .select-wrap{position:relative;margin-bottom:20px}
.tf-club .select-wrap::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.tf-club .f-select{width:100%;appearance:none;-webkit-appearance:none;background:#fff;border:0;border-radius:12px;padding:16px 44px 16px 18px;font-size:1rem;font-family:'ITCAvantGardeStd',Arial,sans-serif;color:var(--ink);cursor:pointer}
.tf-club .finder-card{background:#fff;color:var(--ink);border-radius:16px;padding:26px;margin-bottom:18px}
.tf-club .finder-card h3{font-size:1.15rem;margin-bottom:.2rem}
.tf-club .muted{color:var(--ink-soft);font-size:.92rem;margin-bottom:1.1rem}
.tf-club .member-row{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.tf-club .member-row .f-select{border:1.5px solid var(--line);flex:1;position:relative}
.tf-club .stepper{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;flex:0 0 auto}
.tf-club .stepper button{background:var(--wash);border:0;width:42px;height:50px;font-size:1.2rem;cursor:pointer;color:var(--blue-dark);line-height:1}
.tf-club .stepper button:hover{background:var(--wash-2)}
.tf-club .stepper .cnt{width:44px;text-align:center;font-weight:700;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif}
.tf-club .trash{background:none;border:1.5px solid var(--line);border-radius:12px;width:50px;height:50px;cursor:pointer;color:var(--ink-soft);flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.tf-club .trash:hover:not(:disabled){border-color:#e2626b;color:#e2626b}
.tf-club .trash:disabled{opacity:.35;cursor:not-allowed}
.tf-club .add-member{background:var(--wash);color:var(--blue-dark);border:0;border-radius:12px;padding:13px 18px;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center}
.tf-club .add-member:hover{background:var(--wash-2)}
.tf-club .result{text-align:center}
.tf-club .result .total{font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:900;font-size:2.6rem;color:var(--ink);line-height:1}
.tf-club .result .total small{font-size:1rem;font-weight:600;color:var(--ink-soft)}
.tf-club .result .rlabel{color:var(--ink-soft);margin:.2rem 0}
.tf-club .result .club-name{font-weight:700;color:var(--blue-dark)}
.tf-club .result .tfbtn{margin-top:1.1rem}
.tf-club .finder-foot{text-align:center;color:#8f9db4;font-size:.82rem;margin-top:6px}

.tf-club /* ---- brand: angular cyan slashes ---- */
.slash{display:none}
.tf-club .slashes{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.tf-club .slash.deco{opacity:.5;z-index:0}
.tf-club .slash.tr{top:-16px;right:6%;width:150px;height:34px;transform:rotate(-18deg)}
.tf-club .slash.br{bottom:-14px;right:12%;width:120px;height:30px;transform:rotate(22deg);background:var(--cyan-light)}
.tf-club .slash.bl{bottom:-18px;left:-10px;width:140px;height:32px;transform:rotate(-24deg);background:var(--cyan-light)}
.tf-club .slash.tl{top:-14px;left:8%;width:100px;height:26px;transform:rotate(16deg)}

.tf-club /* ---- hero (clean, light) ---- */
.hero-light{position:relative;background:#fff;overflow:hidden;padding:168px 0 88px}
.tf-club .hero-light-in{position:relative;z-index:2}
.tf-club .hero-light h1{max-width:900px}
.tf-club .hero-light h1{font-size:clamp(2.5rem,6.6vw,4.4rem);font-weight:900;color:var(--ink);line-height:.95}
.tf-club .hero-light h1 .cy-ink{color:var(--cyan)}
.tf-club .hero-light-sub{color:var(--ink-soft);font-size:1.12rem;max-width:560px;margin:1.05rem 0 1.15rem}
.tf-club .grev{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 8px 7px 14px;text-decoration:none !important;box-shadow:0 3px 10px rgba(20,32,58,.06);transition:box-shadow .15s,transform .15s;margin-bottom:18px}
.tf-club .grev:hover{box-shadow:0 6px 16px rgba(20,32,58,.12);transform:translateY(-1px);text-decoration:none !important}
.tf-club .grev-g{width:18px;height:18px;flex:0 0 18px}
.tf-club .grev-stars{display:inline-flex;gap:1px;color:#fbbc04;line-height:1}
.tf-club .grev-stars .st{width:15px;height:15px;display:block}
.tf-club .grev-score{font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:800;color:var(--ink);font-size:.98rem}
.tf-club .grev-cnt{color:var(--ink-soft);font-size:.82rem;border-left:1px solid var(--line);padding-left:10px}
.tf-club .hero-light .addr{margin-bottom:1.35rem}
.tf-club .hero-light .slash.la{width:120px;height:30px;top:30px;right:-18px;transform:rotate(-18deg);background:var(--cyan-light);opacity:.9}
.tf-club .hero-light .slash.lb{width:80px;height:22px;top:92px;right:104px;transform:rotate(16deg);background:var(--cyan);opacity:.85}
.tf-club .tfbtn-onnavy{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.tf-club .tfbtn-onnavy:hover{background:rgba(255,255,255,.22)}

.tf-club /* ---- gallery navy band (brand moment) ---- */
.tfgal-band{position:relative;background-color:var(--navy);background-image:var(--mk),var(--mk);background-repeat:no-repeat,no-repeat;background-position:right -760px top -680px,left 190px bottom -260px;background-size:2320px,780px;overflow:hidden;padding:80px 0 80px}
.tf-club .tfgal-band .wrap{position:relative;z-index:2}
.tf-club .gb-eyebrow{display:inline-block;color:var(--cyan-light);font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;font-size:.86rem;margin-bottom:.4rem}
.tf-club .gb-h{color:#fff;margin-bottom:20px}
.tf-club .tfgal-band .shot{box-shadow:0 12px 32px rgba(0,0,0,.28)}

.tf-club /* ---- membership options (2 cards + day pass) ---- */
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.tf-club .opt{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:28px;position:relative;display:flex;flex-direction:column}
.tf-club .opt.pop{border-color:var(--cyan);box-shadow:var(--shadow)}
.tf-club .opt-tag{position:absolute;top:-13px;left:28px;background:var(--cyan);color:#fff;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;font-size:.76rem;padding:.35rem .8rem;border-radius:999px}
.tf-club .opt h3{font-size:1.4rem;margin-bottom:.5rem}
.tf-club .opt>p{color:var(--ink-soft);margin-bottom:1.1rem}
.tf-club .opt-list{list-style:none !important;padding:0 !important;margin:0 0 1.5rem !important;display:flex;flex-direction:column;gap:.7rem;font-size:.98rem}
.tf-club .opt-list li{list-style:none !important;display:flex;gap:.65rem;align-items:flex-start;line-height:1.4;color:var(--ink)}
.tf-club .opt-list li::before{content:"";flex:0 0 21px;width:21px;height:21px;margin-top:1px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%230092bc'/%3E%3Cpath d='M5.8 10.4l2.6 2.6 5.8-6' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:21px 21px}
.tf-club .opt .tfbtn{margin-top:auto}
.tf-club .daypass{margin-top:20px;background:var(--navy);color:#fff;border-radius:var(--radius-lg);padding:28px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden}
.tf-club .daypass>div{position:relative;z-index:1}
.tf-club .daypass h3{color:#fff;font-size:1.4rem;margin:.15rem 0}
.tf-club .daypass p{color:#c4d0e0;margin:0;max-width:440px}
.tf-club .dp-eyebrow{color:var(--cyan-light);font-weight:700;font-size:.82rem;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif}
.tf-club .dp-right{display:flex;align-items:center;gap:22px;flex-shrink:0}
.tf-club .dp-price{font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:900;font-size:2.5rem;line-height:1;white-space:nowrap}
.tf-club .dp-price small{font-size:.95rem;font-weight:600;color:#aab8cc}

.tf-club /* ---- footer ---- */
footer{background:var(--navy-deep);color:#9fb4bd;padding:48px 0 30px;margin-top:20px}
.tf-club footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.tf-club footer h5{color:#fff;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-size:.95rem;margin:0 0 .8rem}
.tf-club footer a{display:block;color:#9fb4bd;text-decoration:none;font-size:.9rem;padding:.28rem 0}
.tf-club footer a:hover{color:#fff}
.tf-club footer .fine{border-top:1px solid #1c2c34;margin-top:30px;padding-top:20px;font-size:.82rem;color:#6f858e}

.tf-club /* ---- sticky mobile join ---- */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fff;border-top:1px solid var(--line);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));display:none;gap:10px;box-shadow:0 -6px 20px rgba(8,40,54,.08)}
.tf-club .stickybar .tfbtn{flex:1}

.tf-club /* ---- floating quick-nav pill ---- */
.quicknav{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(140px);opacity:0;pointer-events:none;transition:transform .38s cubic-bezier(.22,.61,.36,1),opacity .3s ease;z-index:56;display:flex;gap:.2rem;
  background:rgba(20,32,58,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.45rem .5rem;
  box-shadow:0 12px 34px rgba(0,0,0,.3);max-width:calc(100% - 28px);overflow-x:auto;scrollbar-width:none}
.tf-club .quicknav.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}
/* Force the pill padding/alignment over the site's global nav rules.
   overflow:visible so the right-hand padding isn't dropped (a scrolling flex
   container drops its end padding, which made the right gap look wrong). */
.tf-club nav.quicknav{padding:.55rem !important;align-items:center !important;gap:.25rem !important;overflow:visible !important}
.tf-club nav.quicknav a{padding:.55rem 1rem !important;margin:0 !important;line-height:1 !important}
.tf-club .quicknav::-webkit-scrollbar{display:none}
.tf-club .quicknav a{color:#fff;text-decoration:none;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;font-size:.9rem;
  padding:.55rem 1rem;border-radius:999px;white-space:nowrap;transition:background .15s}
.tf-club .quicknav a:hover{background:rgba(255,255,255,.16)}
.tf-club .quicknav a.qn-join{background:var(--cyan-light);color:#fff}
.tf-club .quicknav a.qn-join:hover{background:#4fbfea}
.tf-club .quicknav a.qn-tour{background:rgba(41,171,226,.16);color:#fff;border:1px solid rgba(41,171,226,.6)}
.tf-club .quicknav a.qn-tour:hover{background:rgba(41,171,226,.32)}
.tf-club .quicknav a.qn-tour svg{vertical-align:-2px;margin-right:5px}

.tf-club /* ---- panels for subtabs ---- */
.panel{display:none}
.tf-club .panel.active{display:block}
.tf-club .mini-note{background:var(--wash-2);border:1px dashed var(--line);border-radius:var(--radius);padding:30px;text-align:center;color:var(--ink-soft)}
.tf-club .timet{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);font-size:.92rem}
.tf-club .timet th, .tf-club .timet td{padding:12px;border-bottom:1px solid var(--line);text-align:left}
.tf-club .timet th{background:var(--wash);font-family:'ITCAvantGardeStd-bold',Arial,sans-serif}
.tf-club .timet .cls{font-weight:600}

@media(max-width:900px){
  .tf-club .hero-light{padding:120px 0 56px}
  .tf-club .nav-links{display:none}
  .tf-club .burger{display:block;margin-left:auto}
  .tf-club .nav-right .tfbtn-ghost{display:none}
  .tf-club .two, .tf-club .show-row, .tf-club .split, .tf-club .family, .tf-club .here, .tf-club .glance, .tf-club .hero-in, .tf-club .opt-grid{grid-template-columns:1fr}
  .tf-club .show-row:nth-child(even) .show-media{order:0}
  .tf-club .feat-grid{grid-template-columns:repeat(2,1fr)}
  .tf-club .price-grid{grid-template-columns:1fr}
  .tf-club .steps, .tf-club .quotes, .tf-club .near{grid-template-columns:1fr}
  .tf-club .tfrev-track .quote{flex-basis:84%}
  .tf-club .tfgal{grid-template-columns:1fr 1fr;height:auto;grid-template-rows:none}
  .tf-club .shot{height:150px}
  .tf-club .shot:nth-child(1){grid-column:1/3;height:220px}
  .tf-club .stickybar{display:flex}
  .tf-club{padding-bottom:78px}
  .tf-club .quicknav{bottom:calc(84px + env(safe-area-inset-bottom,0px));justify-content:flex-start}
  .tf-club nav.quicknav{overflow-x:auto !important;overflow-y:visible !important}
  .tf-club .subtabs{top:66px}
  .tf-club .glance-media{min-height:320px;order:-1}
  .tf-club .glance-frame{min-height:320px}
  .tf-club .glance-tour-facade{min-height:320px}
  .tf-club .nav-freelink{display:none}
  .tf-club .daypass{flex-direction:column;align-items:flex-start}
  .tf-club .dp-right{width:100%;justify-content:space-between}}
/* Ease the section gaps on tablets */
@media(max-width:700px){
  .tf-club section{padding:56px 0}
  /* Gallery band: plain navy on smaller screens (markers get too busy behind the tiles) */
  .tf-club .tfgal-band{background-image:none}}
@media(max-width:520px){
  .tf-club .feat-grid{grid-template-columns:1fr}
  .tf-club .subtab{margin-right:1rem;font-size:.92rem}
  .tf-club .member-row{flex-wrap:wrap}
  .tf-club .member-row .f-select{flex:1 1 100%}
  /* Tighter vertical rhythm on phones */
  .tf-club section{padding:44px 0}
  .tf-club .hero-light{padding:124px 0 72px}
  .tf-club .tfgal-band{padding:44px 0}
  .tf-club .tf-finder{padding:44px 16px 64px !important}
  .tf-club #tf-pricefinder{padding:0}}

/* dark scheme support (kept close to brand) */


/* ---- grouped gallery + tflightbox ---- */
.tf-club .tfgal-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px}
.tf-club .ggroup{position:relative;height:200px;width:100%;border:0;padding:0;cursor:pointer;border-radius:12px;overflow:hidden;color:#fff;background:var(--navy);box-shadow:0 12px 32px rgba(0,0,0,.28)}
.tf-club .ggroup::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.5))}
.tf-club .ggroup .tag{position:absolute;left:14px;bottom:14px;z-index:1;font-weight:700;font-size:1.02rem;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.tf-club .ggroup .more{position:absolute;right:12px;bottom:12px;z-index:1;background:rgba(12,27,34,.82);padding:.4rem .7rem;border-radius:999px;font-size:.78rem}
.tf-club .ggroup:hover{transform:translateY(-2px);transition:transform .15s}
.tf-club .tflightbox{position:fixed;inset:0;z-index:2147483000;background:rgba(8,14,26,.95);display:none;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.tf-club .tflightbox.open{display:flex}
.tf-club .lb-stage{margin:0;display:flex;align-items:center;justify-content:center}
.tf-club .lb-stage img{max-width:88vw;max-height:66vh;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.tf-club .lb-close{position:absolute;top:16px;right:22px;background:none;border:0;color:#fff;font-size:2.1rem;line-height:1;cursor:pointer}
.tf-club .lb-prev,.tf-club .lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.8rem;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tf-club .lb-prev{left:24px}
.tf-club .lb-next{right:24px}
.tf-club .lb-prev:hover,.tf-club .lb-next:hover{background:rgba(255,255,255,.24)}
.tf-club .lb-meta{color:#fff;margin-top:16px;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700}
.tf-club .lb-meta span+span{opacity:.65;font-weight:400;margin-left:.5rem}
.tf-club .lb-cats{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:18px;max-width:920px}
.tf-club .lb-cat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;padding:.5rem 1rem;border-radius:999px;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:700;font-size:.85rem;cursor:pointer}
.tf-club .lb-cat.active{background:var(--cyan-light);color:#0b2340;border-color:var(--cyan-light)}
@media(max-width:700px){
  .tf-club .lb-prev,.tf-club .lb-next{width:42px;height:42px;font-size:1.4rem}
  .tf-club .lb-prev{left:8px}
  .tf-club .lb-next{right:8px}
  .tf-club .lb-stage img{max-height:60vh}
}

/* ---- featured gallery layout (big walkthrough tile + category tiles) ---- */
.tf-club .tfgal-feature{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:214px;gap:12px;margin-top:14px}
.tf-club .tfgal-feature .shot-feature{grid-column:1;grid-row:1 / span 2;height:auto;border:0;cursor:pointer;width:100%;background:var(--navy)}
.tf-club .tfgal-feature .ggroup,.tf-club .tfgal-feature .shot{height:auto}
.tf-club .ggroup-extra{display:none !important}
.tf-club .shot-feature .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.tf-club .shot-feature .play svg{width:64px;height:64px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
.tf-club .shot-feature .tour-pill{position:absolute;right:14px;top:14px}
.tf-club .shot-feature .tag{background:var(--cyan);color:#fff !important;padding:.5rem .95rem;border-radius:999px;font-weight:700;font-size:.95rem;box-shadow:0 4px 14px rgba(0,0,0,.3);display:inline-flex;align-items:center}
@media(max-width:900px){
  /* Feature spans both columns AND both rows so its height fills its grid area
     (avoids the feature overflowing a single fixed row into the tiles below) */
  .tf-club .tfgal-feature{grid-template-columns:1fr 1fr;grid-auto-rows:158px;gap:12px}
  .tf-club .tfgal-feature .shot-feature{grid-column:1 / span 2;grid-row:1 / span 2;min-height:0;height:auto}
}
@media(max-width:520px){
  .tf-club .tfgal-feature{grid-auto-rows:140px;gap:12px}
}

/* ---- video / walkthrough modal ---- */
.tf-club .tflightbox.vid .vid-frame{position:relative;width:min(92vw,1100px);aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.tf-club .tflightbox.vid .vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ============================================================
   OVERRIDES for site custom.css global !important rules
   (h1-h4{color:#000}, p{color:#666}, global table/th/td styles).
   Scoped to .tf-club so nothing here affects the rest of the site.
   ============================================================ */

/* Headings: dark on light sections, white on the navy sections */
.tf-club h1,.tf-club h2,.tf-club h3,.tf-club h4{color:var(--ink) !important}
.tf-club .cy-ink{color:var(--cyan) !important}
.tf-club .gb-h,.tf-club .finder-head h2,.tf-club .family h2,.tf-club .promo h3{color:#fff !important}
/* Embedded price finder sits on a navy background: its headings must be white */
.tf-club .tf-finder .intro h1{color:#fff !important}

/* Eyebrow labels */
.tf-club .eyebrow{color:var(--blue-dark) !important}
.tf-club .gb-eyebrow{color:var(--cyan-light) !important}

/* Body text: grey on light, but keep white/tint on dark blocks */
.tf-club p{color:var(--ink-soft) !important}
.tf-club .promo p,.tf-club .family p{color:#fff !important}
.tf-club .finder-head p{color:#b8c3d6 !important}
.tf-club .finder-foot{color:#8f9db4 !important}
.tf-club .price-note{color:var(--ink-soft) !important}

/* Tile / badge / pill text */
.tf-club .shot .tag,.tf-club .ggroup .tag,.tf-club .shot-feature .tag{color:#fff !important}
.tf-club .more{color:#fff !important}
.tf-club .tour-pill{color:var(--ink) !important}
.tf-club .family .pill{color:#fff !important}

/* Lightbox text */
.tf-club .lb-meta{color:#fff !important}
.tf-club .lb-cat{color:#fff !important}
.tf-club .lb-cat.active{color:#0b2340 !important}

/* Price finder result text */
.tf-club .muted,.tf-club .rlabel{color:var(--ink-soft) !important}
.tf-club .result .club-name{color:var(--blue-dark) !important}
.tf-club .result .total{color:var(--ink) !important}

/* Links & buttons (counter global a{color} / .btn rules) */
.tf-club .addr a{color:var(--blue-dark) !important}
.tf-club .tfbtn-primary,.tf-club .tfbtn-onnavy{color:#fff !important}
.tf-club .tfbtn-ghost{color:var(--ink) !important}
.tf-club .promo .tfbtn,.tf-club .family .tfbtn{color:var(--ink) !important}
.tf-club .family .tfbtn.tfbtn-onnavy{background:rgba(255,255,255,.12) !important;color:#fff !important;border:1.5px solid rgba(255,255,255,.6) !important}
.tf-club .family .tfbtn.tfbtn-onnavy:hover{background:rgba(255,255,255,.22) !important}

/* Tables: reset site table styling, re-apply ours */
.tf-club table{border-collapse:collapse !important;width:100% !important;margin:0 !important;background:transparent !important;font-size:inherit !important}
.tf-club .timet{background:#fff !important;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.tf-club .timet th{background:var(--wash) !important;color:var(--ink) !important;padding:12px !important;text-align:left !important;border:0 !important;border-bottom:1px solid var(--line) !important;font-weight:700 !important}
.tf-club .timet td{padding:12px !important;text-align:left !important;color:var(--ink) !important;border:0 !important;border-bottom:1px solid var(--line) !important;background:#fff !important}
.tf-club .timet tbody tr{background:#fff !important}
.tf-club .timet .cls{font-weight:600 !important}
.tf-club .hours td{padding:.35rem 0 !important;border:0 !important;border-bottom:1px solid var(--line) !important;color:var(--ink) !important;background:transparent !important}
.tf-club .hours td:last-child{text-align:right !important;color:var(--ink-soft) !important}

/* ---- Brand fonts: ITC Avant Garde (loaded via custom.css). Two single-weight faces:
   'ITCAvantGardeStd' (regular) and 'ITCAvantGardeStd-bold' (bold).
   Everything intended at font-weight 600+ uses the bold face; weight is reset to normal
   so the browser doesn't fake extra weight on top of an already-bold single-weight face. */
.tf-club h1, .tf-club h2, .tf-club h3, .tf-club h4, .tf-club h5, .tf-club h6,
.tf-club b, .tf-club strong, .tf-club th,
.tf-club .tfbtn, .tf-club .logo, .tf-club .logo span, .tf-club .subtab,
.tf-club .eyebrow, .tf-club .gb-eyebrow, .tf-club .dp-eyebrow,
.tf-club .offer .offer-cta, .tf-club .nav-links, .tf-club .nav-freelink, .tf-club .allplans, .tf-club .addr a,
.tf-club .club-head h1, .tf-club .hero-light h1,
.tf-club .shot, .tf-club .shot .tag, .tf-club .shot .more, .tf-club .shot-feature .tag, .tf-club .ggroup .tag,
.tf-club .tour-pill, .tf-club .plan .flag, .tf-club .plan .amt, .tf-club .plan .amt small,
.tf-club .ctable tbody th, .tf-club .ctable .yes, .tf-club .feature h4, .tf-club .glance-h,
.tf-club .flist b, .tf-club .glance-cap, .tf-club .badge, .tf-club .step .n,
.tf-club .family .pill, .tf-club .map, .tf-club .map .mpin, .tf-club .q button, .tf-club .near-card .dist,
.tf-club .finder-label, .tf-club .stepper .cnt, .tf-club .add-member,
.tf-club .result .total, .tf-club .result .total small, .tf-club .result .club-name,
.tf-club .grev-score, .tf-club .opt-tag, .tf-club .opt-list li::before, .tf-club .dp-price, .tf-club .dp-price small,
.tf-club footer h5, .tf-club .quicknav a, .tf-club .timet th, .tf-club .timet .cls,
.tf-club .lb-meta, .tf-club .lb-cat{font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:normal}

/* ============================================================
   FREE DAY PASS MODAL
   ============================================================ */
.tf-pass{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(16,24,46,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.tf-pass.open{display:flex}
.tf-pass .tf-pass-box{position:relative;background:#fff;border-radius:var(--radius-lg);max-width:560px;width:100%;padding:40px 40px 34px;box-shadow:0 30px 80px rgba(0,0,0,.4);max-height:92vh;overflow:auto;animation:tfPassIn .22s ease}
@media(max-width:520px){.tf-pass .tf-pass-box{padding:34px 22px 26px}}
@keyframes tfPassIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tf-pass .tf-pass-close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:1.9rem;line-height:1;color:var(--ink-soft);cursor:pointer;padding:4px}
.tf-pass .tf-pass-close:hover{color:var(--ink)}
.tf-pass h2{margin:.3rem 0 .4rem}
.tf-pass .tf-pass-sub{color:var(--ink-soft) !important;margin-bottom:1.3rem}
.tf-pass .tf-pass-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.tf-pass .tf-pass-grid{grid-template-columns:1fr}}
.tf-pass .tf-pass-field label{display:block;font-size:.8rem;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:normal;color:var(--ink) !important;margin-bottom:6px}
.tf-pass .tf-pass-field input{width:100% !important;padding:12px 14px !important;border:1.5px solid var(--line) !important;border-radius:var(--radius) !important;background:#fff !important;color:var(--ink) !important;font-family:'ITCAvantGardeStd',Arial,sans-serif !important;font-size:.95rem !important;transition:border-color .15s,box-shadow .15s}
.tf-pass .tf-pass-field input:focus{outline:none !important;border-color:var(--cyan) !important;box-shadow:0 0 0 3px rgba(0,146,188,.14) !important}
.tf-pass .tf-pass-privacy{font-size:.8rem;color:var(--ink-soft) !important;margin:16px 0 18px;line-height:1.5}
.tf-pass .tf-pass-privacy a{color:var(--cyan) !important;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-weight:normal;text-decoration:underline}
.tf-pass .tf-pass-submit{width:100%;cursor:pointer}
/* validation message */
.tf-pass .tf-pass-vmsg{color:#c0392b !important;font-family:'ITCAvantGardeStd-bold',Arial,sans-serif;font-size:.9rem;margin:0 0 12px;text-align:center}
/* loading + success states */
.tf-pass .tf-pass-state{text-align:center;padding:24px 6px 8px}
.tf-pass .tf-pass-spinner{display:inline-block;width:48px;height:48px;border:4px solid var(--line);border-top-color:var(--cyan);border-radius:50%;animation:tfPassSpin .8s linear infinite}
@keyframes tfPassSpin{to{transform:rotate(360deg)}}
.tf-pass .tf-pass-tick{display:inline-block;margin-bottom:6px}
.tf-pass .tf-pass-succ-title{font-size:1.5rem;margin:.2rem 0 .6rem;color:var(--ink) !important}
.tf-pass .tf-pass-succ-copy{color:var(--ink-soft) !important;font-size:.95rem;line-height:1.55;max-width:340px;margin:0 auto}