:root{--navy:#05263d;--navy2:#073b5d;--blue:#08aeea;--cyan:#12d8fa;--green:#22b80f;--lime:#69ef2d;--sun:#ffbd18;--white:#fff;--ink:#102334;--muted:#5b6b78;--soft:#f3f9fb;--line:#d9e7ed;--shadow:0 18px 50px rgba(5,38,61,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;height:auto}.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}.narrow{max-width:800px;text-align:center}.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;color:var(--navy);padding:10px 14px;z-index:1000}.skip-link:focus{left:10px}.site-header{position:sticky;top:0;z-index:100;background:rgba(5,38,61,.97);border-bottom:3px solid var(--green);box-shadow:0 4px 18px rgba(0,0,0,.14)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:850;font-size:1.18rem;letter-spacing:.01em}.brand img{width:64px;height:64px;object-fit:contain}.brand sup{color:var(--lime);font-size:.6em}.site-nav{display:flex;align-items:center;gap:22px}.site-nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.94rem}.site-nav a:hover,.site-nav a:focus-visible{color:var(--lime)}.nav-cta{border:2px solid var(--lime);border-radius:999px;padding:8px 15px}.nav-toggle{display:none;background:transparent;border:2px solid #fff;color:#fff;border-radius:8px;font-size:1.4rem;padding:5px 10px}.hero{overflow:hidden;background:radial-gradient(circle at 76% 45%,rgba(255,190,24,.24),transparent 24%),linear-gradient(135deg,var(--navy),#064b70 65%,#067ca2);color:#fff}.hero-grid{min-height:680px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:48px;padding-block:70px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:850;font-size:.78rem;color:var(--green);margin:0 0 12px}.hero .eyebrow,.join .eyebrow{color:var(--lime)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.94;letter-spacing:-.055em;margin-bottom:25px}h1 span{color:var(--lime)}h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.035em;margin-bottom:20px;color:var(--navy)}h3{line-height:1.2;color:var(--navy)}.lead{font-size:1.18rem;max-width:680px;color:#e8f7fb}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;border-radius:999px;text-decoration:none;font-weight:850;border:2px solid transparent}.button.primary{background:var(--green);color:#fff}.button.primary:hover,.button.primary:focus-visible{background:#198e0c}.button.secondary{border-color:#fff;color:#fff}.button.secondary:hover,.button.secondary:focus-visible{background:#fff;color:var(--navy)}.tagline{font-size:1.05rem}.tagline strong{color:var(--lime)}.hero-logo img{filter:drop-shadow(0 22px 30px rgba(0,0,0,.3))}.section{padding:92px 0}.promise-strip{padding:34px 0;background:var(--green);color:#fff}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}.three div{display:grid}.three strong{font-size:1.42rem;line-height:1.2}.three span{font-size:1.12rem;line-height:1.45;margin-top:5px}.intro{font-size:1.12rem;color:var(--muted)}.cards{margin-top:42px}.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff;box-shadow:var(--shadow)}.card .icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--soft);font-size:1.5rem;margin-bottom:18px}.card p,.group p{color:var(--muted);margin-bottom:0}.alt{background:var(--soft)}.group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}.group{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.group>span{font-size:1.8rem}.group h3{margin-bottom:6px}.feature{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.feature p{color:var(--muted)}blockquote{margin:0;background:linear-gradient(145deg,var(--navy),var(--navy2));color:#fff;border-radius:28px;padding:40px;box-shadow:var(--shadow);position:relative}blockquote span{font-size:5rem;color:var(--lime);position:absolute;top:5px;left:25px;opacity:.7}blockquote p{color:#fff!important;font-size:2rem;font-weight:850;line-height:1.25;margin:30px 0 0}.app-section{padding-top:20px}.app-card{background:linear-gradient(110deg,#eafaff,#f4fff0);border:1px solid var(--line);border-radius:28px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:40px}.app-card>div:first-child{max-width:720px}.app-card p{color:var(--muted)}.app-badge{min-width:180px;background:var(--navy);color:#fff;border-radius:18px;padding:20px;text-align:center;display:grid;box-shadow:var(--shadow)}.app-badge span{font-size:2rem}.app-badge small{color:var(--lime)}.faq-list{max-width:860px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 20px;margin-bottom:12px}.faq-list summary{cursor:pointer;font-weight:800;color:var(--navy);padding:18px 0}.faq-list details p{color:var(--muted);padding-bottom:18px;margin:0}.join{background:linear-gradient(135deg,var(--navy),#05698d);color:#fff;text-align:center}.join-box{max-width:780px}.join h2{color:#fff}.join-box>p{font-size:1.1rem}.button.light{box-shadow:0 8px 20px rgba(0,0,0,.2)}.setup-note{display:inline-block;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:10px 18px}.join-tagline{margin:30px 0 0!important}.join-tagline strong{color:var(--lime)}.site-footer{background:#031d2f;color:#d7e6ec;padding:32px 0 22px;border-top:4px solid var(--green)}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:58px}.footer-brand div{display:grid}.footer-brand strong{color:#fff}.footer-brand span{font-size:.84rem}.footer-links{display:flex;gap:20px}.footer-links a{color:#fff}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:24px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#9eb5c1}.legal p{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--sun);outline-offset:4px}@media(max-width:820px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--navy);padding:18px 20px 24px;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.hero-grid{grid-template-columns:1fr;text-align:center;padding-block:55px}.hero-copy{order:2}.hero-logo{order:1;max-width:390px;margin:auto}.actions{justify-content:center}.three-cards,.three,.feature,.group-grid{grid-template-columns:1fr}.feature{gap:32px}.app-card{flex-direction:column;align-items:flex-start}.footer-grid,.legal{flex-direction:column;align-items:flex-start}.section{padding:68px 0}}@media(max-width:520px){.shell{width:min(100% - 28px,1160px)}.brand span{display:none}.hero-grid{min-height:auto}.group{padding:18px}.app-card{padding:28px}.footer-links{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Multi-page additions */
.site-nav a[aria-current="page"]{color:var(--lime)}.footer-brand-link{color:inherit;text-decoration:none}.footer-brand-link:hover strong,.footer-brand-link:focus-visible strong{color:var(--lime)}.page-hero{overflow:hidden;background:radial-gradient(circle at 78% 42%,rgba(255,190,24,.23),transparent 25%),linear-gradient(135deg,var(--navy),#064b70 65%,#067ca2);color:#fff}.page-hero-grid{min-height:590px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:55px;padding-block:64px}.page-hero h1{font-size:clamp(2.8rem,5.5vw,5.2rem);max-width:760px}.page-hero-logo{display:flex;justify-content:center}.page-hero-logo img{max-width:420px;filter:drop-shadow(0 22px 30px rgba(0,0,0,.28))}.story-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.story-grid p,.belief-panel>p,.value-card p{color:var(--muted)}.hope-card{background:linear-gradient(145deg,var(--navy),var(--navy2));color:#fff;border-radius:28px;padding:36px;box-shadow:var(--shadow)}.hope-card>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--green);font-size:1.8rem;font-weight:900;margin-bottom:20px}.hope-card h3{color:#fff;font-size:1.55rem}.hope-card p{color:#d9edf4;margin-bottom:0}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:42px}.value-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}.value-card>strong{color:var(--green);font-size:.8rem;letter-spacing:.12em}.belief-panel{max-width:900px}.about-quote{margin-top:34px;padding:30px 34px}.about-quote p{font-size:1.45rem!important;margin:0;color:#fff!important}.legal-hero{background:linear-gradient(135deg,var(--navy),#07597c);color:#fff;padding:72px 0 62px;border-bottom:4px solid var(--green)}.legal-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:12px}.legal-hero p{color:#d9edf4;margin-bottom:0}.legal-shell{max-width:900px}.legal-page{padding-top:64px}.legal-page h2{font-size:1.65rem;line-height:1.2;margin:42px 0 14px}.legal-page h3{font-size:1.08rem;margin:24px 0 8px}.legal-page p,.legal-page li{color:#425767}.legal-page a{color:#087aa6;font-weight:700}.legal-notice{background:#eefaf0;border:1px solid #b8e6b2;border-left:5px solid var(--green);border-radius:12px;padding:20px 22px;color:#274334;margin-bottom:36px}.legal-notice.warning{background:#fff9e8;border-color:#f1d481;border-left-color:var(--sun);color:#55441d}.legal-caveat{margin-top:42px;padding-top:24px;border-top:1px solid var(--line);font-size:.92rem}.footer-links{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:820px){.page-hero-grid,.story-grid,.values-grid{grid-template-columns:1fr}.page-hero-grid{text-align:center;min-height:auto}.page-hero-logo{order:-1}.page-hero-logo img{max-width:300px}.story-grid{gap:32px}.footer-links{justify-content:flex-start}}

/* v1.2 multi-page additions */
.section-action{text-align:center;margin-top:32px}.button.outline{border-color:var(--green);color:var(--navy);background:#fff}.button.outline:hover,.button.outline:focus-visible{background:var(--green);color:#fff}.compact-hero{background:linear-gradient(135deg,var(--navy),#064b70 70%,#067ca2);color:#fff}.page-heading{padding:92px 0}.page-heading h1{font-size:clamp(2.8rem,5.4vw,5rem);margin-bottom:22px}.page-heading .lead{margin-inline:auto}.activity-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:42px}.activity-card,.contact-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.activity-card>span,.contact-icon{font-size:2rem;display:block;margin-bottom:12px}.activity-card h3,.contact-card h3{margin-bottom:8px}.activity-card p,.contact-card p{color:var(--muted);margin-bottom:0}.contact-card p{margin-bottom:18px}.text-link{font-weight:850;color:#087b12;text-decoration-thickness:2px;text-underline-offset:3px}.safety-panel{display:flex;align-items:center;justify-content:space-between;gap:48px;background:linear-gradient(110deg,#f4fff0,#eafaff);border:1px solid var(--line);border-radius:28px;padding:42px}.safety-panel>div{max-width:760px}.safety-panel p{color:var(--muted)}.centred{justify-content:center}
@media(max-width:820px){.activity-grid,.contact-grid{grid-template-columns:1fr}.safety-panel{flex-direction:column;align-items:flex-start}.page-heading{padding:68px 0}.promise-strip{padding:30px 0}.three strong{font-size:1.34rem}.three span{font-size:1.08rem}}

/* Promise Fitness local communities and platform-neutral mobile app badge */
.local-directory{margin-top:42px}.local-status{margin:20px 0;padding:24px 28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:left}.local-status strong{display:block;color:var(--navy);font-size:1.12rem;margin-bottom:8px}.local-status p{color:var(--muted);margin:0}.mobile-app-icon{display:block;width:48px;height:48px;margin:0 auto 8px;color:var(--lime)}.mobile-app-icon svg{display:block;width:100%;height:100%}
