:root{--text:#0a1850;--bg:#f5f5f7;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#004afc;--link-hover:#e4405f;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--page-max:1100px;--page-gutter:1.25rem;--header-side-max:220px;--sans:"Roboto", sans-serif;--heading:"Oswald", sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}html{scroll-behavior:smooth}body{width:100%;margin:0;padding:0;overflow-x:hidden}[id]{scroll-margin-top:1rem}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;margin:0;display:flex}h1,h2,h3{font-family:var(--heading);letter-spacing:-1.68px;margin:0;line-height:1.1}h1,h2{font-size:6rem;font-weight:700}@media (width<=1024px){h1,h2{font-size:4rem}}h3{font-size:2rem;font-weight:700}@media (width<=1024px){h3{font-size:1.5rem}}h1,h3{color:var(--text)}h2{color:var(--accent)}p{margin:0}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--link-hover)}.alt-color{color:var(--accent)}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.top-pad{padding-top:1.5rem}.text-divider{align-items:center;gap:12px;margin:0;display:flex}.text-divider:before,.text-divider:after{content:"";flex:1;height:6px}.text-divider:before{background:linear-gradient(to right, transparent, var(--accent));clip-path:polygon(0 50%,100% 0,100% 100%)}.text-divider:after{background:linear-gradient(to left, transparent, var(--accent));clip-path:polygon(0 0,100% 50%,0 100%)}.text-divider span{font-family:var(--heading);color:var(--text);white-space:nowrap;font-size:1.5rem;font-weight:700}.app{width:100%;min-height:100vh;margin:0;padding:0}.hero{background:0 0;justify-content:center;align-items:flex-start;display:flex;position:relative}.hero:before{content:"";pointer-events:none;z-index:0;background-image:url(/background.png);background-position:top;background-repeat:no-repeat;background-size:100% 100%;width:2006.4px;max-width:none;height:960px;position:absolute;top:0;left:50%;transform:translate(-50%)}@media (width<=1024px){.hero:before{width:calc(2.09*min(480px,50vh));height:min(480px,50vh)}}@media (width<=600px){.hero:before{width:calc(2.09*min(320px,40vh));height:min(320px,40vh)}}.hero-content{text-align:center;z-index:2;padding:24px var(--page-gutter,1.25rem) 36px;width:100%;max-width:var(--page-max,1100px);box-sizing:border-box;margin-inline:auto;position:relative}.hero-top-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px 20px;width:100%;display:grid}.site-nav,.social-holder{width:100%;max-width:var(--header-side-max,220px);border:1px solid var(--accent,#004afc);box-shadow:var(--shadow);box-sizing:border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffe6;border-radius:10px;padding:12px}.site-nav{flex-direction:column;justify-self:start;align-items:stretch;gap:.1rem;display:flex}.site-nav a{font-family:var(--heading,"Oswald", sans-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text,#0a1850);text-align:left;border-radius:6px;padding:.4rem .5rem;font-size:.9rem;font-weight:700;line-height:1.2;text-decoration:none;transition:color .15s,background-color .15s}.site-nav a:hover{color:#fff;background:var(--accent,#004afc)}.social-holder{flex-direction:column;justify-self:end;align-items:stretch;gap:.5rem;display:flex}.hero-top-row .top-pad{padding-top:0}.social-holder .text-divider{gap:0;margin:0}.social-holder .text-divider:before,.social-holder .text-divider:after{display:none}.social-holder .text-divider span{letter-spacing:.04em;white-space:normal;text-align:center;width:100%;font-size:.75rem;line-height:1.25}.logo{justify-self:center;width:100%;max-width:220px}@media (width<=1024px){.logo{max-width:150px}}.hero-img{object-fit:cover;width:100%;max-width:820px;height:auto;box-shadow:var(--shadow);border-radius:16px;margin:1.25rem auto .5rem;padding:0;display:block}.hero-content p{margin:0;font-size:1.5rem}.feature-row{--feature-gap:2vw;justify-content:center;align-items:stretch;gap:var(--feature-gap);margin:2.5rem 0 1.5rem;display:flex}.feature{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;min-width:120px;max-width:180px;padding:0 .5vw;display:flex;position:relative}.feature+.feature{border-left:none}.feature+.feature:before{content:"";left:calc(var(--feature-gap) / -2);background:#c9c9c9;width:1px;position:absolute;top:8px;bottom:8px}.feature-icon{width:56px;height:56px;margin-bottom:.5em}.feature-title{font-family:var(--heading);letter-spacing:.01em;text-transform:uppercase;margin-bottom:.25em;font-size:1.15rem;font-weight:700}.feature-desc{color:#222;font-size:.9rem;line-height:1.3}@media (width<=900px){.feature-row{--feature-gap:1vw;gap:var(--feature-gap)}.feature{min-width:80px;max-width:120px}.feature-icon{width:40px;height:40px}.feature-title{font-size:1rem}.feature-desc{font-size:.9rem}}@media (width<=600px){.feature-row{--feature-gap:1.2rem;flex-direction:column;gap:1.2rem;margin:1.5rem 0 1rem}.feature{min-width:0;max-width:100%;padding:0}.feature+.feature{border-left:none}.feature+.feature:before{display:none}}@media (width<=768px){.hero-content{padding:14px 14px 24px}.hero-content p{font-size:1.2rem}.hero-img{border-radius:12px;max-width:100%;margin-top:1rem}}.social-links{flex-direction:column;justify-content:center;gap:.35rem;margin:0;display:flex}.social-link{font-size:.95rem;font-family:var(--heading);border-radius:6px;justify-content:flex-start;align-items:center;gap:.45em;padding:.35rem .5rem;font-weight:700;transition:color .15s,background-color .15s;display:flex}.social-link:hover{background:#004afc14}.social-link img{flex-shrink:0;width:22px;height:22px;display:inline-block}@media (width<=900px){.hero-top-row{grid-template-columns:1fr;justify-items:center;gap:12px}.site-nav{flex-flow:wrap;order:2;justify-content:center;justify-self:center;align-items:center;gap:.35rem;width:100%;max-width:100%}.site-nav a{padding:.4rem .65rem;font-size:.9rem}.logo{order:1}.social-holder{order:3;justify-self:center;width:100%;max-width:100%}.social-links{flex-flow:wrap;justify-content:center;gap:.5rem 1rem}.social-link{justify-content:center}}.btn{font-family:var(--heading,"Oswald", sans-serif);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-sizing:border-box;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:.85rem 1.75rem;font-size:1.15rem;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .15s;display:inline-flex}.btn-primary{background:var(--accent,#004afc);color:#fff;border-color:var(--accent,#004afc)}.btn-primary:hover{color:#fff;background:#0039c4;border-color:#0039c4;transform:translateY(-1px)}.btn-secondary{color:var(--accent,#004afc);border-color:var(--accent,#004afc);background:#fff}.btn-secondary:hover{background:var(--accent,#004afc);color:#fff;transform:translateY(-1px)}.hero-cta{margin:1.25rem auto .5rem}.gallery{width:100%;max-width:var(--page-max,1100px);padding:2.5rem var(--page-gutter,1.25rem) 1rem;box-sizing:border-box;text-align:center;margin:0 auto}.gallery-blurb{color:#222;max-width:36rem;margin:.75rem auto 1.5rem;font-size:1rem;line-height:1.45}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.gallery-item{box-shadow:var(--shadow);aspect-ratio:4/3;background:#ddd;border-radius:12px;margin:0;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.gallery-item:hover img{transform:scale(1.04)}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.gallery-grid{grid-template-columns:1fr 1fr;gap:.5rem}}.memberships{width:100%;max-width:var(--page-max,1100px);padding:2.5rem var(--page-gutter,1.25rem) 1.5rem;box-sizing:border-box;text-align:center;margin:0 auto}.memberships-blurb{color:#222;max-width:36rem;margin:.75rem auto 1.75rem;font-size:1rem;line-height:1.45}.memberships-note{color:#555;margin:1.5rem 0 0;font-size:.9rem}.pricing-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch;gap:1.25rem;display:grid}.pricing-card{border:1px solid var(--border,#e5e4e7);box-shadow:var(--shadow);box-sizing:border-box;background:#fff;border-radius:12px;flex-direction:column;padding:1.35rem 1.25rem 1.25rem;display:flex;position:relative}.pricing-card--highlight{border-color:var(--accent,#004afc);box-shadow:0 0 0 1px var(--accent,#004afc), var(--shadow)}.pricing-badge{background:var(--accent,#004afc);color:#fff;font-family:var(--heading,"Oswald", sans-serif);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:700;position:absolute;top:-.65rem;right:1rem}.pricing-title{font-family:var(--heading,"Oswald", sans-serif);letter-spacing:.01em;color:var(--text,#0a1850);min-height:2.4em;margin:0 0 .85rem;font-size:1.15rem;font-weight:700;line-height:1.2}.pricing-price{color:var(--accent,#004afc);flex-wrap:wrap;align-items:baseline;gap:.15rem .25rem;margin-bottom:.85rem;display:flex}.pricing-currency{font-family:var(--heading,"Oswald", sans-serif);font-size:1.25rem;font-weight:700}.pricing-amount{font-family:var(--heading,"Oswald", sans-serif);letter-spacing:-.02em;font-size:2.4rem;font-weight:700;line-height:1}.pricing-frequency{color:#444;margin-left:.15rem;font-size:.95rem;font-weight:500}.pricing-features{color:#222;flex:1;margin:0 0 1.15rem;padding:0;font-size:.95rem;line-height:1.4;list-style:none}.pricing-features li{border-top:1px solid #eee;padding:.35rem 0 .35rem 1.25rem;position:relative}.pricing-features li:first-child{border-top:none}.pricing-features li:before{content:"";background:var(--accent,#004afc);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.7em;left:0}.pricing-card .btn{width:100%;padding:.7rem 1rem;font-size:1rem}.schedule{width:100%;max-width:var(--page-max,1100px);padding:2.5rem var(--page-gutter,1.25rem) 3.5rem;box-sizing:border-box;text-align:center;margin:0 auto}.schedule-blurb{color:#222;max-width:36rem;margin:.75rem auto 1.5rem;font-size:1rem;line-height:1.4}.schedule-widget{border:1px solid var(--border,#e5e4e7);width:100%;min-height:400px;box-shadow:var(--shadow);background:#fff;border-radius:12px;overflow:hidden}.schedule-widget .gymdesk-schedule,.schedule-widget .gymdesk-frame-container{width:100%}.schedule-widget iframe{border:0;width:100%;min-height:400px;display:block}.contact{width:100%;max-width:var(--page-max,1100px);padding:2.5rem var(--page-gutter,1.25rem) 3.5rem;box-sizing:border-box;text-align:center;margin:0 auto}.contact-blurb{color:#222;max-width:36rem;margin:.75rem auto 1.75rem;font-size:1rem;line-height:1.45}.contact-layout{text-align:left;grid-template-columns:minmax(220px,320px) 1fr;align-items:stretch;gap:1.5rem 2rem;display:grid}.contact-details{border:1px solid var(--border,#e5e4e7);box-shadow:var(--shadow);box-sizing:border-box;background:#fff;border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.5rem 1.35rem;display:flex}.contact-block{margin:0}.contact-label{font-family:var(--heading,"Oswald", sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#004afc);margin:0 0 .35rem;font-size:.85rem;font-weight:700}.contact-value{color:var(--text,#0a1850);font-size:1.05rem;line-height:1.45;text-decoration:none}a.contact-value:hover{color:var(--link-hover,#e4405f)}.contact-address{font-style:normal}.contact-directions{align-self:stretch;width:100%;margin-top:auto}.contact-map{border:1px solid var(--border,#e5e4e7);min-height:320px;box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.contact-map iframe{border:0;flex:1;width:100%;min-height:320px;display:block}.contact-map-link{text-align:center;border-top:1px solid var(--border,#e5e4e7);background:#fafafa;padding:.65rem 1rem;font-size:.9rem;display:block}@media (width<=768px){.contact-layout{grid-template-columns:1fr}.contact-map,.contact-map iframe{min-height:280px}}
