/* Andres Fitness: one design language across the restored site. */
:root{--af-ink:#16242a;--af-slate:#405a65;--af-line:#dbe2e3;--af-soft:#f5f7f6}
html{scroll-behavior:smooth}
.af-site,.af-contact{font-family:'League Spartan',Arial,sans-serif}
.af-site img,.af-contact img{max-width:100%}
.af-site a,.af-contact a{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.af-site a:focus-visible,.af-site button:focus-visible,.af-contact a:focus-visible,.af-contact button:focus-visible{outline:3px solid #789ba9!important;outline-offset:4px}

/* The builder's 100px section gutters made related ideas feel unrelated. */
.x.af-site section.af-section:not([data-aid="HEADER_SECTION"]):not(.af-footer){padding-top:clamp(28px,3.5vw,50px)!important;padding-bottom:clamp(28px,3.5vw,50px)!important}
.x.af-site section.af-section[data-aid="HTML_SECTION_RENDERED"]{padding-top:14px!important;padding-bottom:14px!important}
.x.af-site section.af-section.af-gallery{padding-top:12px!important;padding-bottom:12px!important}
.x.af-site section.af-section.af-cta{padding-top:24px!important;padding-bottom:24px!important}
.x.af-site section.af-section[data-aid="HEADER_SECTION"]{padding:0!important}
.x.af-site .recovered-contact{margin:22px auto 8px;gap:12px}
.x.af-site .recovered-contact a{background:var(--af-slate);padding:14px 24px;border-radius:999px;text-decoration:none;color:#fff!important;box-shadow:none}
.x.af-site .recovered-contact a:hover{background:#2b424b;transform:translateY(-2px)}
.x.af-site .recovered-email-choice{margin:12px auto 0}
.x.af-site .recovered-email-choice a{text-underline-offset:4px}

/* Consistent type measure, section headings, and room around imagery. */
.x.af-site section.af-section h1{letter-spacing:-.012em;line-height:1.17}
.x.af-site section.af-section h2{letter-spacing:-.012em;line-height:1.2}
.x.af-site section.af-section p{line-height:1.48}
.x.af-site section.af-section img{object-fit:cover}
.x.af-site section.af-section a[data-ux="ButtonPrimary"],
.x.af-site section.af-section a[data-ux="ButtonSecondary"]{border-radius:999px!important;min-height:48px;padding:12px 24px!important;box-shadow:none!important;transition:transform .2s ease,background-color .2s ease,border-color .2s ease!important}
.x.af-site section.af-section a[data-ux="ButtonPrimary"]:hover,
.x.af-site section.af-section a[data-ux="ButtonSecondary"]:hover{transform:translateY(-2px)}
.x.af-site section.af-section a.hero-choice{background:rgba(0,0,0,.25)!important;border:1px solid rgba(255,255,255,.8)!important;color:#fff!important}
.x.af-site section.af-section a.hero-choice:hover{background:rgba(255,255,255,.18)!important}
.x.af-site .recovered-action-stack{gap:10px;margin-top:12px}
.x.af-site .recovered-action-stack a{border:1px solid var(--af-slate)!important;background:transparent!important;color:var(--af-slate)!important;min-height:48px}
.x.af-site .recovered-action-stack a:hover{background:#eaf0f1!important}
.x.af-site .recovered-action-stack .iconText{color:var(--af-slate)!important}

/* A scannable locations overview in place of a long centred paragraph. */
.x.af-page-index .af-home-locations{padding:54px 24px 58px!important;background:#f7f9f8;color:var(--af-ink)}
.x.af-page-index .af-home-locations-inner{max-width:1050px;margin:0 auto}
.x.af-page-index .af-home-locations .af-eyebrow{margin:0 0 12px;color:var(--af-slate);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;text-align:center}
.x.af-page-index .af-home-locations h2{max-width:780px;margin:0 auto 15px;font-size:clamp(34px,4vw,54px);line-height:1.13;letter-spacing:-.016em;text-align:center}
.x.af-page-index .af-home-locations-lead{max-width:650px;margin:0 auto 38px;color:#4f6269;font-size:clamp(17px,1.8vw,20px);line-height:1.5;text-align:center}
.x.af-page-index .af-home-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;margin:0 0 32px}
.x.af-page-index .af-home-location-grid article{padding:8px 14px 3px}
.x.af-page-index .af-home-location-grid article+article{border-left:1px solid var(--af-line);padding-left:54px}
.x.af-page-index .af-location-number{font-size:12px;letter-spacing:.13em;font-weight:700;color:var(--af-slate)}
.x.af-page-index .af-home-location-grid h3{font-size:clamp(28px,3vw,36px);letter-spacing:-.015em;margin:12px 0 10px}
.x.af-page-index .af-home-location-grid p{margin:0;max-width:390px;font-size:17px;line-height:1.52;color:#52636a}
.x.af-page-index .af-home-location-link{display:table;margin:0 auto;padding:13px 22px;border:1px solid var(--af-slate);border-radius:999px;color:var(--af-slate);text-decoration:none;font-size:16px;font-weight:700;text-align:center}
.x.af-page-index .af-home-location-link:hover{background:#e7eeef;transform:translateY(-2px)}
.x.af-page-index .af-home-location-link span{padding-left:8px}
.x.af-page-index .af-home-online{max-width:740px;margin:31px auto 0;padding-top:24px;border-top:1px solid var(--af-line);text-align:center;color:#52636a;font-size:16px;line-height:1.48}
.x.af-page-index .af-home-online a{color:var(--af-slate);font-weight:700;text-underline-offset:3px}

/* Keep the drawer readable and aligned with the site palette. */
.x.af-site [data-ux="NavigationDrawer"].recovered-open{background:#f8f9f7!important;border-right:1px solid var(--af-line);box-shadow:0 18px 55px #14242a26!important}
.x.af-site [data-ux="NavigationDrawer"] a:hover{color:var(--af-slate)!important}
.x.af-site .accordion-question{cursor:pointer}
.x.af-site .accordion-answer.recovered-expanded{display:block!important}
.x.af-site iframe{max-width:100%;border-radius:8px}
.x.af-site section[data-aid="HTML_SECTION_RENDERED"] iframe{height:min(650px,80vh)!important}
.x.af-page-where-to-find-me section[data-aid="HTML_SECTION_RENDERED"] iframe{height:480px!important}

/* Locations: retain both live map embeds without the builder's tall spacers. */
.x.af-page-where-to-find-me .af-locations{max-width:1160px;margin:0 auto;padding:52px 28px 68px;color:var(--af-ink)}
.x.af-page-where-to-find-me .af-locations-intro{text-align:center;max-width:800px;margin:0 auto 56px}
.x.af-page-where-to-find-me .af-eyebrow{font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--af-slate);margin:0 0 13px}
.x.af-page-where-to-find-me .af-locations h1{font-size:clamp(42px,5vw,66px);line-height:1.06;letter-spacing:-.035em;margin:0 0 16px}
.x.af-page-where-to-find-me .af-locations-intro>p:not(.af-eyebrow){font-size:clamp(18px,2vw,22px);line-height:1.45;color:#52636a;margin:0 auto 26px}
.x.af-page-where-to-find-me .af-location-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.x.af-page-where-to-find-me .af-location-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:210px;min-height:48px;padding:12px 22px;border:1px solid var(--af-slate);border-radius:999px;color:var(--af-slate);background:transparent;text-decoration:none;font-weight:700;text-align:center}
.x.af-page-where-to-find-me .af-location-actions a:hover{background:#edf2f3;transform:translateY(-2px)}
.x.af-page-where-to-find-me .af-location{padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid var(--af-line)}
.x.af-page-where-to-find-me .af-location-copy{max-width:760px;margin:0 auto 24px;text-align:center}
.x.af-page-where-to-find-me .af-location h2{font-size:clamp(34px,3.5vw,46px);letter-spacing:-.025em;margin:0 0 12px}
.x.af-page-where-to-find-me .af-location-copy>p:not(.af-eyebrow){font-size:18px;line-height:1.45;color:#52636a;margin:0 auto 13px}
.x.af-page-where-to-find-me .af-location-copy .af-address{font-weight:650;color:var(--af-ink)!important}
.x.af-page-where-to-find-me .af-map{overflow:hidden;border-radius:12px;border:1px solid var(--af-line);background:#edf1f1}
.x.af-page-where-to-find-me .af-map iframe{display:block;width:100%!important;height:460px!important;border:0!important;border-radius:0}
.x.af-page-where-to-find-me .af-locations-end{text-align:center;padding:3px 0 0}
.x.af-page-where-to-find-me .af-locations-end h2{font-size:clamp(32px,3.5vw,44px);margin:0 0 8px}
.x.af-page-where-to-find-me .af-locations-end p{font-size:18px;color:#52636a;margin:0 0 22px}

/* The contact route is purpose built, while using the same type, colour and controls. */
.af-contact{color:var(--af-ink);background:var(--af-soft)}
.af-contact header{background:#fff;border-bottom:1px solid var(--af-line);height:94px}
.af-contact header img{width:160px}
.af-contact .menu-toggle{color:var(--af-ink)}
.af-contact .drawer{background:#f8f9f7;box-shadow:0 18px 55px #14242a26}
.af-contact .drawer a{font-size:16px;padding:16px 0;border-bottom:1px solid var(--af-line)}
.af-contact .drawer a[aria-current="page"]{color:var(--af-slate);font-weight:700}
.af-contact main{padding-top:clamp(52px,6vw,82px);padding-bottom:clamp(56px,7vw,86px)}
.af-contact h1{font-size:clamp(44px,6vw,74px);line-height:1.02;letter-spacing:-.045em}
.af-contact .intro{max-width:590px;color:#4e6067;margin-bottom:36px}
.af-contact .choices{max-width:850px;gap:16px}
.af-contact .choice{background:#fff;border:1px solid var(--af-line);border-radius:12px;box-shadow:0 14px 35px #273e4810;padding:36px 28px;min-height:255px}
.af-contact .choice h2{font-size:29px;letter-spacing:-.025em}
.af-contact .choice p{color:#52636a}
.af-contact .button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;padding:13px 24px}
.af-contact .button:hover{transform:translateY(-2px)}
.af-contact .places{max-width:850px;margin-top:58px;padding-top:42px;border-color:var(--af-line)}
.af-contact .places h2{font-size:clamp(29px,3.3vw,38px);letter-spacing:-.025em}
.af-contact .locations{gap:16px;max-width:850px;margin-bottom:22px}
.af-contact .locations>div{background:#fff;border:1px solid var(--af-line);border-radius:12px;padding:24px 28px}
.af-contact .locations strong{font-size:21px}
.af-contact .locations p{font-size:17px;color:#52636a}
.af-contact .map-link{color:var(--af-slate);font-weight:700}
.af-contact footer{background:#e9eeee;border-top:1px solid var(--af-line)}
@media(max-width:700px){
 .x.af-page-index .af-home-locations{padding:42px 22px 48px!important}
 .x.af-page-index .af-home-locations-lead{margin-bottom:28px}
 .x.af-page-index .af-home-location-grid{grid-template-columns:1fr;gap:20px;margin-bottom:26px}
 .x.af-page-index .af-home-location-grid article{padding:0}
 .x.af-page-index .af-home-location-grid article+article{border-left:0;border-top:1px solid var(--af-line);padding:23px 0 0}
 .x.af-page-index .af-home-location-grid p{max-width:none}
 .x.af-page-index .af-home-online{margin-top:25px;padding-top:20px}
 .x.af-site section.af-section:not([data-aid="HEADER_SECTION"]):not(.af-footer){padding-top:26px!important;padding-bottom:26px!important}
 .x.af-site section.af-section[data-aid="HTML_SECTION_RENDERED"]{padding-top:10px!important;padding-bottom:10px!important}
 .x.af-site section.af-section.af-gallery{padding-top:8px!important;padding-bottom:8px!important}
 .x.af-site section.af-section.af-cta{padding-top:20px!important;padding-bottom:20px!important}
 .x.af-site section[data-aid="HTML_SECTION_RENDERED"] iframe{height:550px!important}
 .x.af-page-where-to-find-me section[data-aid="HTML_SECTION_RENDERED"] iframe{height:380px!important}
 .x.af-page-where-to-find-me .af-locations{padding:38px 20px 55px}
 .x.af-page-where-to-find-me .af-locations-intro{margin-bottom:44px}
 .x.af-page-where-to-find-me .af-location{padding-bottom:34px;margin-bottom:38px}
 .x.af-page-where-to-find-me .af-location-copy{margin-bottom:20px}
 .x.af-page-where-to-find-me .af-map iframe{height:350px!important}
 .af-contact header{height:82px}.af-contact header img{width:135px}
 .af-contact .choice{min-height:0;padding:28px 22px}
 .af-contact .places{margin-top:46px;padding-top:36px}
 .af-contact .locations>div{padding:22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.af-site a,.af-contact a{transition:none!important}}
