.fitness-page{--ink:#fff;--ink2:#f6fbfe;--text:#172b3b;--line:#c5deed;--studio-navy:#172b3b;--studio-muted:#4b6273;background:#fff;color:var(--text);font-size:16px;color-scheme:light}
.fitness-page main{background:var(--ink);color:var(--text)}
.fitness-page .site-header,.fitness-page .footer{--ink:#0b111c;--ink2:#101925;--text:#edf5fb;--line:#ffffff26;color:#edf5fb;background:#0b111c}
.fitness-page .footer{background:var(--ink)}
.studio-section{max-width:1240px;margin:auto;padding:80px 40px;scroll-margin-top:180px}
.studio-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:90px}
.studio-eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.875rem;font-weight:700;color:var(--blue);margin:0 0 20px}
.studio-hero h1{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.055em;line-height:1.04;margin:0 0 24px}
.studio-hero h1 span{color:var(--blue)}.studio-lede{font-size:1.125rem;line-height:1.7;color:var(--studio-muted)}
.studio-starting{font-weight:700;margin:24px 0;font-size:1.0625rem}.studio-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:26px}
.fitness-page main .button{background:#aad9f4;color:#102638;box-shadow:none;border:1px solid #aad9f4;text-transform:none;letter-spacing:0;font-weight:700;font-size:1rem;min-height:48px;padding:14px 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;cursor:pointer}
.studio-secondary,.studio-login{color:var(--blue);text-decoration:underline;text-underline-offset:4px;font-size:1rem;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;gap:8px;background:none;border:0;cursor:pointer;padding:8px 0}
.studio-login{margin-top:16px;font-size:.9375rem}.studio-photo{margin:0;min-width:0}.studio-photo img{width:100%;height:460px;object-fit:cover;border-radius:28px}.studio-photo figcaption{font-size:.875rem;color:var(--studio-muted);padding-top:10px}
.studio-section h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 32px}.studio-section h3{font-size:1.125rem;line-height:1.4;margin:8px 0}
.studio-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.studio-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--ink2)}.studio-card p,.studio-support{line-height:1.65;color:var(--studio-muted);font-size:1rem}.studio-sparkle{color:var(--blue);font-size:1.5rem}.studio-support{margin-top:24px}
.studio-pricing-section{background:var(--ink2)}.studio-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.studio-price{background:var(--ink);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:18px}.studio-price strong{font-size:2rem;letter-spacing:-.03em}.studio-price span{font-size:1rem;line-height:1.5}.studio-price small{font-size:.875rem;color:var(--studio-muted)}.studio-pricing-note{font-size:1rem;line-height:1.7;max-width:850px;margin:28px 0 0;color:var(--studio-muted)}
.studio-how{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:28px}.studio-how li{border-top:1px solid var(--line);padding-top:20px}.studio-how span{color:var(--blue);font-size:1rem;font-weight:700}.studio-how h3{font-weight:500}
.studio-quote-header{max-width:730px}.studio-quote-header p{line-height:1.65}.studio-form-shell{border:1px solid var(--line);background:var(--ink2);border-radius:24px;padding:32px;margin-top:30px}.studio-steps{display:flex;justify-content:space-between;list-style:none;padding:0 0 22px;margin:0 0 28px;border-bottom:1px solid var(--line);gap:16px;font-size:.9375rem;color:var(--studio-muted)}.studio-steps [aria-current]{color:var(--blue);font-weight:700}
.fitness-page [hidden]{display:none!important}.studio-form-shell fieldset{border:0;padding:0;margin:0;min-width:0}.studio-form-shell legend{font-size:1.5rem;font-weight:700;margin-bottom:24px}.studio-form-shell p{font-size:1rem;line-height:1.6}.studio-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:20px 0}.studio-fields label{display:flex;flex-direction:column;gap:8px;font-size:1rem;font-weight:600;min-width:0}.studio-field-wide{grid-column:1/-1}.studio-field-wide>label{display:block;font-weight:600;margin-bottom:8px}
.studio-form-shell input:not([type=checkbox]),.studio-form-shell select,.studio-form-shell textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;background:#0b1119;color:var(--text);border:1px solid #506174;border-radius:10px;padding:12px;font:400 1rem/1.4 'DM Sans',sans-serif;color-scheme:dark}.studio-form-shell input::placeholder,.studio-form-shell textarea::placeholder{color:#a6afbb}.studio-form-shell textarea{min-height:105px;resize:vertical}.studio-form-shell input[type=checkbox]{width:24px;height:24px;accent-color:var(--blue);flex:none}.studio-fields .studio-check{flex-direction:row;align-items:center;min-height:44px;font-weight:400}.studio-hint{font-size:.875rem;font-weight:400;color:var(--studio-muted)}
.studio-address-search{display:flex;gap:14px}.studio-address-search button{flex-shrink:0}#studio-address-options{display:grid;gap:6px}#studio-address-options button{background:#0b1119;color:var(--text);text-align:left;border:1px solid #506174;border-radius:10px;min-height:48px;padding:12px;font:inherit;cursor:pointer}#studio-address-status{font-size:.875rem;color:var(--studio-muted);margin:8px 0}.studio-extra-row{display:grid;grid-template-columns:2fr .7fr 1.2fr auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:18px 0}.studio-extra-row label{font-size:.875rem;display:grid;gap:6px}.studio-included-line{padding:12px 0;font-weight:600;color:var(--blue)}
.studio-estimate{background:#152331;border:1px solid #354d61;border-radius:16px;padding:24px;margin:28px 0}.studio-estimate-row,.studio-estimate-total{display:flex;justify-content:space-between;gap:22px;padding:8px 0;font-size:1rem}.studio-estimate-row span:last-child{white-space:nowrap}.studio-estimate-total{border-top:1px solid #354d61;margin-top:8px;padding-top:16px;font-size:1.25rem}.studio-estimate p{font-size:.875rem!important;color:var(--studio-muted);margin-bottom:0}.studio-estimate-total strong:last-child{text-align:right}.studio-form-actions{display:flex;justify-content:space-between;gap:20px}.studio-form-actions #studio-next{margin-left:auto}.studio-review{background:var(--ink);border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:24px;overflow-wrap:anywhere}.studio-review p{margin:8px 0}.studio-error-summary{border:2px solid #ef939b;color:#ffd2d6;background:#321e28;border-radius:12px;padding:18px;margin:0 0 24px}.studio-error-summary a{color:inherit;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}.studio-inline-error{color:#ffabb3;font-size:.875rem;font-weight:600}.studio-form-shell [aria-invalid=true]{border:2px solid #ef939b!important}.studio-success-check{display:inline-flex;background:#18382e;color:#9ee4c7;border-radius:50%;width:52px;height:52px;align-items:center;justify-content:center;font-size:2rem}#studio-success{padding:24px 0}
.fitness-page :focus-visible{outline:3px solid var(--blue);outline-offset:4px}.studio-skip{position:fixed;top:0;left:20px;z-index:9999;transform:translateY(-120%);background:var(--blue);color:#0a1420;padding:12px}.studio-skip:focus{transform:translateY(0)}.studio-form-shell button:disabled{opacity:.6;cursor:wait}
@media(max-width:900px){.studio-hero{gap:28px}.studio-photo img{height:380px}.studio-prices{grid-template-columns:1fr 1fr}.studio-extra-row{grid-template-columns:1fr 1fr}.studio-extra-row strong{grid-column:1/-1}}
@media(max-width:640px){.studio-section{padding:52px 22px;scroll-margin-top:180px}.studio-hero{grid-template-columns:1fr;padding-top:46px;gap:30px}.studio-hero h1{font-size:3.15rem}.studio-photo img{height:auto;aspect-ratio:3/2}.studio-scope-grid{grid-template-columns:1fr 1fr;gap:12px}.studio-card{padding:20px 16px}.studio-card h3{font-size:1rem}.studio-how{grid-template-columns:1fr 1fr;gap:24px}.studio-price{padding:18px}.studio-price strong{font-size:1.75rem}.studio-form-shell{padding:20px 16px}.studio-fields{grid-template-columns:1fr;gap:20px}.studio-steps{font-size:.875rem;gap:12px}.studio-steps li{flex:1}.studio-address-search{flex-direction:column;gap:0}.studio-estimate{padding:16px}.studio-estimate-total{font-size:1.125rem}.studio-form-actions{flex-wrap:wrap}.studio-form-actions #studio-next{width:100%;margin:0}.studio-extra-row{gap:12px}.studio-section h2 br{display:none}.studio-hero .studio-actions{align-items:stretch;flex-direction:column}.studio-hero .button{width:100%}}

/* Use the homepage star layer without turning the studio photo into decoration. */
.studio-hero{isolation:isolate}
.studio-hero .studio-hero-stars{position:absolute;inset:0;height:100%;width:100%;z-index:0;pointer-events:none}
.studio-hero .hero-copy,.studio-photo{position:relative;z-index:1;min-width:0}
.studio-photo img{display:block;border:1px solid var(--line);box-shadow:0 24px 60px #0004}
.studio-price strong,.studio-estimate-total strong:last-child{color:var(--blue)}
.studio-starting{color:var(--ice)}
.studio-pricing-section{border-block:1px solid var(--line)}
.fitness-page main .button:hover{background:var(--ice)}
.studio-secondary:hover,.studio-login:hover{color:var(--ice)}
#studio-address-options button:hover{background:#1c2b3c}
@media(max-width:640px){.studio-hero{min-height:0}.studio-hero h1{font-size:clamp(2.6rem,11vw,3.4rem)}}
@media(prefers-reduced-motion:reduce){.studio-hero .hero-art *{animation:none!important}.studio-hero .hero-copy{opacity:1;transform:none}}

/* White studio canvas, logo-blue accents and readable navy copy. */
.fitness-page .studio-eyebrow,.fitness-page .studio-secondary,.fitness-page .studio-login,.fitness-page .studio-starting,.fitness-page .studio-included-line,.fitness-page .studio-steps [aria-current],.fitness-page .studio-how span{color:#285e7d}
.fitness-page .studio-hero h1{color:#172b3b}.fitness-page .studio-hero h1 span{color:#477d9c}
.fitness-page .studio-price strong,.fitness-page .studio-estimate-total strong:last-child{color:#172b3b;font-weight:700}
.fitness-page .studio-form-shell input:not([type=checkbox]),.fitness-page .studio-form-shell select,.fitness-page .studio-form-shell textarea,.fitness-page #studio-address-options button{background:#fff;color:#172b3b;border-color:#91b5cc;color-scheme:light}
.fitness-page .studio-form-shell input::placeholder,.fitness-page .studio-form-shell textarea::placeholder{color:#596d7a}
.fitness-page .studio-estimate,.fitness-page .studio-first-visit{background:#edf7fd;border:1px solid #b6d8ed;color:#172b3b;border-radius:16px;padding:24px}
.fitness-page .studio-first-visit{line-height:1.7;margin-top:24px}.fitness-page .studio-first-visit strong{display:block}
.fitness-page .studio-error-summary{background:#fff2f2;color:#8d2631;border-color:#c95562}.fitness-page .studio-inline-error{color:#a22e3b}
.fitness-page #studio-address-options button:hover{background:#edf7fd}
.fitness-page .studio-hero .spark,.fitness-page .studio-hero .particle.sparkle-particle{color:#aad9f4!important;background:transparent!important;text-shadow:0 0 10px #aad9f455!important;filter:none!important;opacity:.5;pointer-events:none}
.fitness-page .studio-hero .studio-hero-stars{inset:0 0 auto;height:38px;overflow:hidden}
.fitness-page .studio-hero .particles{pointer-events:none;z-index:0;overflow:hidden;mask-image:linear-gradient(to right,#000 0%,transparent 12%,transparent 88%,#000 100%)}
.fitness-page .studio-extra-notes{grid-column:1/-1}
@media(prefers-reduced-motion:reduce){.fitness-page .studio-hero *{animation:none!important;transition:none!important}}

.fitness-page .studio-extra-notes { grid-column: 1 / -1; }
.fitness-page .studio-extra-row { min-width: 0; gap: 1rem; }
