@import url('/assets/theme.css');
:root{color-scheme:dark;font-family:Segoe UI,Arial,sans-serif;background:#0b0d0f;color:#f5f2ed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #eeb30a;outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:#e64e12;padding:12px;z-index:10}.skip:focus{top:10px}.logo{width:180px;height:54px;object-fit:contain}header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 6%;border-bottom:1px solid #2f3338;background:#0b0d0f}nav{display:flex;gap:30px;font-size:13px;color:#c1c2c4}nav a:hover{color:#ff743d}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #53565b;border-radius:4px;padding:15px 24px;font-size:13px;font-weight:700}.button:hover{border-color:#ff5a1f;background:#20242a}.primary{background:#e64e12;border-color:#e64e12;color:white}.primary:hover{background:#ff5a1f}.hero{min-height:680px;background:#0b0d0f;position:relative;display:flex;align-items:center;padding:65px 8%}.eyebrow{font-size:11px;letter-spacing:2.4px;color:#ef8a63;font-weight:750;margin:0 0 25px}h1,h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:900;font-stretch:condensed;letter-spacing:-1px;line-height:1.04}h1{font-size:clamp(56px,6.5vw,100px);margin:0 0 28px}h1 em,h2 em{color:#ff5a1f;font-style:normal}h2{font-size:clamp(36px,4vw,60px);margin:0 0 30px}h3{font-size:17px;margin:0 0 10px}p{line-height:1.8}.hero p:not(.eyebrow){font-size:15px;color:#b9b9bb}.actions{display:flex;align-items:center;gap:25px;margin-top:34px}.text-link{font-size:13px}.hero-caption{display:flex;gap:32px;margin-top:64px;color:#9e9fa3;font-size:10px;letter-spacing:2px}.hero-caption span+span:before{content:'•';color:#e64e12;margin-right:25px}.hours-strip{border-top:1px solid #34302b;border-bottom:1px solid #34302b;display:flex;justify-content:space-between;gap:20px;padding:24px 8%;background:#15181c;font-size:13px}.hours-strip>span{letter-spacing:1px;color:#b8a996;font-size:11px}.hours-strip a{color:#ff8352}.section{padding:100px 8%;border-bottom:1px solid #24282d}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%}.lead{font-size:20px;margin-top:0}.muted{color:#a8a9ad;font-size:14px}.benefits article{display:flex;gap:24px;border-top:1px solid #2f3338;padding-top:24px;margin-top:24px}.benefits article>span{color:#eeb30a;font-size:12px}.benefits p{color:#a8a9ad;font-size:13px;margin:0}.section-title{display:flex;justify-content:space-between;align-items:start;gap:30px}.facilities{background:#101215}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.facility{padding:32px;border:1px solid #35383c;background:linear-gradient(130deg,#20242a,#111316);min-height:175px;display:flex;flex-direction:column;justify-content:space-between}.facility>span{font-size:12px;color:#eeb30a}.facility h3{font-size:24px;letter-spacing:-.4px}.join-card{background:#15181c;border:1px solid #2f3338;padding:35px}.join-card ol{padding-left:22px;display:grid;gap:28px;margin-top:30px}.join-card li{padding-left:10px;color:#ff8352}.join-card strong{display:block;color:#f5f2ed;font-size:15px;margin-bottom:7px}.join-card li span{color:#a8a9ad;font-size:13px;line-height:1.6}.app-banner{display:flex;gap:50px;align-items:center;justify-content:space-between;background:radial-gradient(ellipse at 85% 80%,#72301355,transparent 65%)}.phone-art{width:260px;padding:25px 22px;background:#131619;border:6px solid #3b3b3b;border-radius:32px;transform:rotate(7deg);box-shadow:20px 25px 50px #0008;margin-right:10%}.phone-art img{width:40px;height:40px}.phone-art p{letter-spacing:5px;font-weight:bold;font-size:12px}.phone-art h3{font-size:30px;line-height:1.1;margin:24px 0 35px}.phone-line{background:#24282d;font-size:11px;padding:17px 10px;margin-top:10px;border-radius:6px;display:flex;justify-content:space-between}.phone-line span{color:#ff8352}.contact-card>div{padding-bottom:15px;margin-bottom:25px;border-bottom:1px solid #2f3338}.contact-card .eyebrow{font-size:10px}.contact-card p{margin-top:10px}.legal{padding-top:35px;padding-bottom:35px}.legal details{padding:17px 0;color:#a8a9ad;font-size:13px}.legal summary{cursor:pointer;color:#f5f2ed}footer{padding:35px 8%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px;color:#a8a9ad}footer div{display:flex;gap:20px}@media(max-width:900px){header nav{gap:16px}header>.button{display:none}.hero{min-height:620px}.section{padding:65px 6%}.split{gap:6%}.hours-strip>span{display:none}.phone-art{margin-right:0}.facility-grid{gap:12px}.facility{padding:22px}.facility h3{font-size:19px}footer .logo{width:130px}}@media(max-width:600px){header{flex-wrap:wrap;gap:8px;padding:15px 6%}.logo{width:150px}header nav{width:100%;justify-content:space-between;font-size:12px;padding-bottom:10px}.hero{padding:50px 6%;min-height:600px;background-position:60% center}.hero-caption{gap:14px;letter-spacing:1px}.hero-caption span+span:before{margin-right:10px}.hours-strip{padding:20px 6%;font-size:11px;flex-wrap:wrap}.split{grid-template-columns:1fr;gap:30px}.section-title{display:block}.facility-grid{grid-template-columns:1fr}.facility{min-height:130px}.app-banner{display:block;overflow:hidden}.phone-art{margin:45px auto 0}.actions{gap:20px}.button{padding:14px 18px;font-size:12px}footer{flex-wrap:wrap;padding:30px 6%;gap:15px}footer div{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Rounded brand mark across public navigation, footer and app preview. */
header .logo,footer .logo{width:68px;height:68px;object-fit:cover;border-radius:16px}
main .hero::after{border-radius:12%;overflow:hidden}
.phone-art img{border-radius:9px}
/* Brand wording stays readable beside the rounded mark. */
.brand-lockup{display:inline-flex;align-items:center;gap:12px;max-width:100%;text-align:left;flex-shrink:0}
.brand-mark{display:block;width:64px;height:64px;object-fit:cover;border-radius:15px;flex-shrink:0}
.brand-copy{display:flex;flex-direction:column;gap:4px;min-width:0;line-height:1.2}
.brand-copy strong{font-size:27px;letter-spacing:1px;color:#f5f2ed}
.brand-copy>span{font-size:11px;font-weight:700;color:#eeb30a}
.brand-copy small{font-size:8px;color:#a8a9ad;border-top:2px solid #e64e12;padding-top:5px}
@media(max-width:600px){.brand-mark{width:56px;height:56px;border-radius:13px}.brand-copy strong{font-size:24px}}

.brand-copy{text-align:center;align-items:center}

/* Readable information pages share the gym identity without oversized headings. */
.policy-shell{max-width:1180px;margin:0 auto;padding:64px 5% 80px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px}
.policy-shell aside{align-self:start;position:sticky;top:32px}
.policy-shell aside .eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:18px}
.policy-shell nav{flex-direction:column;gap:6px}
.policy-shell nav a{padding:12px 14px;border-radius:8px;border:1px solid transparent;line-height:1.5}
.policy-shell nav a[aria-current=page]{color:#ff935f;background:#201a16;border-color:#67422f}
.policy-content{min-width:0}
.policy-content h1{font-family:Segoe UI,Arial,sans-serif;font-size:clamp(30px,3.2vw,44px);line-height:1.18;letter-spacing:-1.1px;margin:0 0 12px}
.policy-date{color:#9fa6ae;font-size:12px;margin:0 0 28px}
.policy-intro{font-size:18px;color:#dce0e5;line-height:1.7;margin-bottom:32px}
.policy-content section{padding:28px 0;border-top:1px solid #2b3036}
.policy-content h2{font-family:Segoe UI,Arial,sans-serif;font-size:21px;letter-spacing:-.3px;line-height:1.4;margin:0 0 12px}
.policy-content p,.policy-content li{color:#bdc4cc;font-size:14px;line-height:1.85}
.policy-content li{margin-bottom:12px;padding-left:4px}
.policy-content ul,.policy-content ol{padding-left:22px}
.policy-content strong{color:#edf0f4}
.policy-content a:not(.button){color:#ffa77b;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.policy-callout{padding:26px;background:#161c22;border:1px solid #3b4651;border-radius:12px;margin:28px 0}
.policy-callout .button{margin:8px 0;min-height:46px}
.policy-page footer div{flex-wrap:wrap}
.policy-page .text-link{white-space:nowrap}
.legal-links{display:flex;flex-wrap:wrap;gap:24px;font-size:13px;color:#c9cdd2}
@media(max-width:760px){.policy-shell{grid-template-columns:minmax(0,1fr);gap:34px;padding:32px 6% 48px}.policy-shell aside{position:static}.policy-shell aside>.muted{display:none}.policy-shell nav{flex-direction:row;flex-wrap:wrap;gap:6px}.policy-shell nav a{padding:9px 10px;font-size:12px}.policy-content section{padding:24px 0}.policy-intro{font-size:16px}.policy-callout{padding:20px}.policy-page header{gap:16px}.policy-page header>.text-link{font-size:12px}}

/* Gym owner identity is presented immediately before the public contact number. */
.owner-profile{display:flex;align-items:center;gap:18px;margin:18px 0 16px;padding:14px;background:#15181c;border:1px solid #34393f;border-radius:14px}
.owner-photo{display:block;width:92px;height:92px;object-fit:cover;object-position:50% 24%;border-radius:12px;border:1px solid #4a4f55;background:#eef0f3;flex:0 0 auto}
.owner-profile figcaption{display:flex;flex-direction:column;gap:7px;min-width:0}
.owner-profile small{color:#ef8a63;font-size:9px;font-weight:750;letter-spacing:1.8px}
.owner-profile strong{color:#f5f2ed;font-size:20px;line-height:1.3;letter-spacing:.1px}
.owner-phone{display:flex;align-items:center;gap:8px;font-size:15px}
.owner-phone>span{color:#a8a9ad;font-size:12px;letter-spacing:.5px}
.owner-phone a{color:#ff8352;font-weight:700}
@media(max-width:600px){.owner-profile{gap:14px;padding:12px}.owner-photo{width:78px;height:78px;border-radius:10px}.owner-profile strong{font-size:18px}}

/* The highest-priority couple photograph is the single public hero image. */
.fitness-image{display:block;max-width:100%;object-fit:contain}
main .hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:4%;padding:54px 7% 0 8%;min-height:680px;background:radial-gradient(ellipse at 76% 58%,#68321d55,transparent 45%),#000;overflow:hidden}
.hero-content{min-width:0;padding-bottom:54px;position:relative;z-index:1}
main .hero h1{font-size:clamp(52px,5.7vw,88px)}
.hero-portrait{position:relative;align-self:end;min-width:0;width:100%;display:grid;justify-items:center}
.hero-portrait::before{content:'';position:absolute;width:88%;aspect-ratio:1;top:16%;left:6%;border:1px solid #bd794238;border-radius:50%;box-shadow:0 0 0 30px #cf67210b}
.hero-portrait .fitness-image{position:relative;width:100%;height:610px;object-position:bottom}
.app-visual{width:42%;display:flex;justify-content:center;min-width:0}.app-visual .phone-art{margin:0;flex-shrink:0}
@media(max-width:1000px){main .hero{padding:48px 6% 0;gap:2%}.hero-portrait .fitness-image{height:540px}main .hero h1{font-size:58px}.hero-caption{gap:14px;letter-spacing:1px}.hero-caption span+span:before{margin-right:10px}}
@media(max-width:760px){main .hero{grid-template-columns:minmax(0,1fr)}.hero-content{padding-bottom:0}.hero-portrait{max-width:360px;justify-self:center;margin-top:24px}.hero-portrait .fitness-image{height:370px}main .hero h1{font-size:clamp(52px,9vw,72px)}.hero-caption{margin-top:30px}}
@media(max-width:600px){.hero-portrait{max-width:300px}.hero-portrait .fitness-image{height:330px}.app-visual{width:100%;margin-top:42px}.app-visual .phone-art{max-width:260px;width:85%}}

.hero-portrait::before{content:none}.hero-portrait .fitness-image{mask-image:linear-gradient(0deg,transparent,black 8%,black 95%,transparent);border-radius:18px 18px 0 0}

/* Keep the hero portrait flush with the page edge and blend the source canvas into the hero. */
@media(min-width:761px){
  main .hero{padding-right:0}
  .hero-portrait{justify-self:stretch}
  .hero-portrait .fitness-image{
    border-radius:0;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 7%,#000 86%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 7%,#000 86%,transparent 100%);
    mask-composite:intersect;
  }
}

/* Supporting photography fills the open title columns without visible image borders. */
.section-photo{
  width:min(100%,440px);
  height:clamp(320px,38vw,500px);
  margin:28px 0 0;
  overflow:hidden;
}
.section-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 28%;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 7%,#000 86%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 7%,#000 86%,transparent 100%);
  mask-composite:intersect;
}
#about .section-photo img{object-position:50% 24%}
#contact .section-photo img{object-position:50% 26%}
@media(max-width:600px){
  .section-photo{width:min(100%,390px);height:360px;margin:18px auto 0}
}

/* Consistent text and action spacing on the home and information pages. */
h1,h2{font-family:'Segoe UI',Arial,sans-serif;font-weight:750;letter-spacing:-.035em;line-height:1.12}
.actions,header nav,footer div,.legal-links{flex-wrap:wrap;row-gap:16px}
.button{min-height:48px;line-height:1.5;text-align:center}
.text-link,nav a,.legal-links a{line-height:1.6}
.eyebrow,.hero-caption,.owner-profile small{letter-spacing:.6px}
.hero-caption{flex-wrap:wrap;row-gap:12px;font-size:12px}
.owner-profile small{font-size:11px;line-height:1.5}
.section p+.button,.app-banner .button{margin-top:16px}
.policy-content p,.policy-content li{line-height:1.8}
.policy-content li+li{margin-top:12px}
.legal-links{gap:16px 24px}
@media(max-width:600px){header{gap:16px}.actions{gap:16px 20px}.hours-strip{row-gap:16px}}
