/* ============ Lifetime Fitness — premium site theme ============ */
:root{
  --black:#0a0a0a;
  --black-2:#141414;
  --black-3:#1d1d1d;
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.16);
  --red:#e52420;
  --red-dim:#a81a17;
  --red-glow:rgba(229,36,32,.35);
  --white:#f6f5f2;
  --muted:#aeada6;
  --muted-2:#78776f;
  --gold:#c79a4a;
  --radius:2px;
  --font-display:'Oswald',sans-serif;
  --font-body:'Inter',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--black);color:var(--white);
  font-family:var(--font-body);font-weight:400;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.lang-ar{direction:rtl;}
.en{display:block;} .ar{display:none;}
.en-i{display:inline;} .ar-i{display:none;}
body.lang-ar .en{display:none;} body.lang-ar .ar{display:block;}
body.lang-ar .en-i{display:none;} body.lang-ar .ar-i{display:inline;}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px;}
@media(max-width:900px){.wrap{padding:0 22px;}}

/* ---- Type ---- */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:.2px;text-transform:none;color:var(--white);}
.h1{font-size:clamp(38px,6vw,80px);line-height:1.02;font-weight:700;letter-spacing:-.5px;}
.h2{font-size:clamp(28px,3.4vw,44px);line-height:1.08;font-weight:600;}
.h3{font-size:20px;font-weight:600;}
.h4{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;}
p{margin:0;}
.lead{font-size:18px;color:var(--muted);max-width:560px;font-weight:400;line-height:1.6;}
.body-txt{font-size:15px;color:var(--muted);max-width:600px;}
.eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin:0 0 18px;}
.eyebrow img{width:14px;height:auto;opacity:.9;}
body.lang-ar .eyebrow{letter-spacing:0;}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:.25s;white-space:nowrap;}
body.lang-ar .btn{letter-spacing:0;}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:#fff;color:var(--black);}
.btn-line{border-color:rgba(255,255,255,.35);color:#fff;background:transparent;}
.btn-line:hover{border-color:#fff;background:rgba(255,255,255,.06);}
.btn-dark-line{border-color:rgba(0,0,0,.25);color:var(--black);background:transparent;}
.btn-dark-line:hover{background:rgba(0,0,0,.08);}
.btn-sm{padding:9px 16px;font-size:10.5px;letter-spacing:1.2px;}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;}

/* ---- Nav ---- */
header.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:26px 0;transition:.35s;}
header.site-nav.scrolled{padding:14px 0;background:rgba(10,10,10,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.navbar .logo{display:flex;align-items:center;gap:10px;}
.navbar .logo img{height:26px;width:auto;}
nav.mainnav{display:flex;gap:2px;}
nav.mainnav button{background:none;border:none;color:rgba(255,255,255,.72);font-family:var(--font-body);font-size:12.5px;font-weight:500;letter-spacing:.6px;padding:10px 15px;cursor:pointer;position:relative;}
nav.mainnav button:hover{color:#fff;}
nav.mainnav button.active{color:#fff;}
nav.mainnav button.active:after{content:"";position:absolute;left:15px;right:15px;bottom:4px;height:1.5px;background:var(--red);}
.navright{display:flex;align-items:center;gap:14px;}
.langtoggle{background:none;border:1px solid rgba(255,255,255,.25);color:#eee;font-size:11px;font-weight:600;letter-spacing:1px;padding:9px 14px;cursor:pointer;font-family:var(--font-body);}
.langtoggle:hover{border-color:var(--red);color:var(--red);}
.hamburger{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;}
@media(max-width:980px){
  nav.mainnav{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--black);flex-direction:column;justify-content:center;align-items:center;gap:6px;transform:translateY(-100%);opacity:0;transition:.3s;pointer-events:none;}
  nav.mainnav.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  nav.mainnav button{font-size:22px;padding:14px 20px;font-family:var(--font-display);}
  .hamburger{display:block;z-index:210;}
  .navright .btn-line{display:none;}
}

/* ---- Page/section framework ---- */
.page{display:none;}
.page.active{display:block;}
section.block{padding:110px 0;position:relative;}
section.block.tight{padding:70px 0;}
section.block.tint{background:var(--black-2);}
section.block.bordered{border-top:1px solid var(--line);}
@media(max-width:900px){section.block{padding:70px 0;}}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ---- Hero ---- */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--black);}
.hero .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;}
.hero .bgimg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,.55) 45%,rgba(10,10,10,.97) 100%);}
.hero .watermark{position:absolute;top:-8%;right:-6%;width:52%;max-width:640px;opacity:.10;transform:rotate(-12deg);pointer-events:none;}
.hero .content{position:relative;z-index:2;padding:0 0 90px;width:100%;}
.hero .h1 span.line{display:block;}
.hero .h1 .accent{color:var(--red);}
.hero .lead{color:rgba(255,255,255,.72);margin:22px 0 34px;}
.scrolldown{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;opacity:.55;animation:bob 2.2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

.pagehero{position:relative;min-height:56vh;display:flex;align-items:flex-end;overflow:hidden;}
.pagehero .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(10%);}
.pagehero .bgimg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.25) 0%,rgba(10,10,10,.7) 60%,var(--black) 100%);}
.pagehero .content{position:relative;z-index:2;padding:170px 0 60px;}
.pagehero.short .content{padding:150px 0 50px;}

/* ---- Trust strip ---- */
.trust-strip{background:var(--black-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;}
.trust-strip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.8px;color:var(--muted);text-transform:uppercase;font-weight:500;}
.trust-item b{color:#fff;font-weight:700;}
.trust-item img{width:13px;opacity:.85;}

/* ---- Cards: services ---- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:52px;background:var(--line);}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr;}}
.svc-card{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--black);cursor:pointer;}
.svc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .5s;filter:grayscale(35%) brightness(.75);}
.svc-card:hover img{transform:scale(1.06);filter:grayscale(0%) brightness(.85);}
.svc-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.92) 100%);}
.svc-card .cardtxt{position:absolute;left:0;right:0;bottom:0;padding:30px;z-index:2;}
.svc-card .idx{font-family:var(--font-display);font-size:13px;color:var(--red);letter-spacing:2px;margin-bottom:10px;display:block;}
.svc-card h3{font-size:22px;margin-bottom:10px;}
.svc-card p{font-size:13.5px;color:var(--muted);margin-bottom:14px;}
.svc-card .link{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#fff;display:inline-flex;align-items:center;gap:6px;}
.svc-card .link i{color:var(--red);}

/* ---- Pillars ---- */
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:50px;border:1px solid var(--line);}
@media(max-width:900px){.pillar-grid{grid-template-columns:1fr 1fr;}}
.pillar{background:var(--black);padding:36px 28px;position:relative;}
.pillar .num{font-family:var(--font-display);font-size:44px;font-weight:700;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);margin-bottom:18px;display:block;}
.pillar .mark{width:20px;margin-bottom:14px;opacity:.9;}
.pillar h3{font-size:15.5px;margin-bottom:10px;text-transform:uppercase;letter-spacing:.6px;}
.pillar p{font-size:13.5px;color:var(--muted);}

/* ---- Split ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:36px;}}
.split.reverse{direction:ltr;}
.split .imgbox{position:relative;overflow:hidden;}
.split .imgbox img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%) contrast(1.05);}
.split .imgbox .frame{position:absolute;inset:14px;border:1px solid rgba(255,255,255,.25);pointer-events:none;}

/* ---- Badges / logo row ---- */
.brandrow{display:flex;gap:44px;flex-wrap:wrap;align-items:center;margin-top:34px;opacity:.8;}
.brandrow span{font-family:var(--font-display);font-size:18px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;}

/* ---- CTA band ---- */
.ctaband{position:relative;padding:110px 0;overflow:hidden;text-align:center;}
.ctaband .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(30%);}
.ctaband .bgimg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.75),rgba(20,4,4,.92));}
.ctaband .watermark{position:absolute;left:50%;top:50%;width:340px;transform:translate(-50%,-50%) rotate(8deg);opacity:.08;}
.ctaband .content{position:relative;z-index:2;}
.ctaband .eyebrow{justify-content:center;}
.ctaband .h2{margin-bottom:26px;}
.ctaband .cta-row{justify-content:center;}

/* ---- Sub tabs (pill switcher) ---- */
.subtabs{display:flex;gap:10px;flex-wrap:wrap;margin:44px 0 0;border-bottom:1px solid var(--line);padding-bottom:0;}
.subtabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:var(--font-display);font-size:15px;letter-spacing:.4px;padding:14px 4px;margin-right:34px;cursor:pointer;}
.subtabs button.active{color:#fff;border-color:var(--red);}
.subpage{display:none;padding-top:50px;}
.subpage.active{display:block;}

/* ---- Ticks / lists ---- */
ul.tick{list-style:none;padding:0;margin:22px 0;max-width:600px;}
ul.tick li{position:relative;padding:9px 0 9px 30px;font-size:14.5px;color:var(--muted);border-bottom:1px solid var(--line);}
ul.tick li:last-child{border-bottom:none;}
ul.tick li img{position:absolute;left:0;top:13px;width:12px;}
body.lang-ar ul.tick li{padding:9px 30px 9px 0;}
body.lang-ar ul.tick li img{left:auto;right:0;}

/* ---- Process steps ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:54px;position:relative;}
@media(max-width:900px){.steps{grid-template-columns:1fr;gap:34px;}}
.step{position:relative;padding:0 24px 0 0;}
.step .node{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.step .node img{width:22px;}
.step .node .line{flex:1;height:1px;background:var(--line);}
.step:last-child .node .line{display:none;}
.step h4{font-size:12px;color:var(--red);margin-bottom:10px;}
.step h3{font-size:16.5px;margin-bottom:8px;}
.step p{font-size:13.5px;color:var(--muted);}

/* ---- Product cards ---- */
.shop-hero{position:relative;height:46vh;min-height:340px;overflow:hidden;}
.shop-hero .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;}
.shop-hero .bgimg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.3),var(--black) 96%);}
.market-toggle{display:flex;gap:0;border:1px solid var(--line);width:fit-content;margin:0 auto;}
.market-toggle button{background:none;border:none;color:var(--muted);font-family:var(--font-display);font-size:14px;letter-spacing:1px;padding:13px 28px;cursor:pointer;}
.market-toggle button.active{background:var(--red);color:#fff;}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:50px;border:1px solid var(--line);}
@media(max-width:900px){.product-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.product-grid{grid-template-columns:1fr;}}
.pcard{background:var(--black-2);padding:0;display:flex;flex-direction:column;}
.pcard .pimg{aspect-ratio:1/1;overflow:hidden;position:relative;}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;filter:grayscale(25%) brightness(.82);transition:.5s;}
.pcard:hover .pimg img{filter:grayscale(0%) brightness(.95);transform:scale(1.04);}
.pcard .ptxt{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column;}
.pcard .cat{font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--red);margin-bottom:8px;}
.pcard h4{font-size:15px;font-weight:500;color:#fff;margin-bottom:10px;font-family:var(--font-body);}
.pcard .price{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line);}
.pcard .price b{font-family:var(--font-display);font-size:16px;color:#fff;}
.pcard .price span{font-size:10px;color:var(--muted-2);}
.pcard .addbtn{border:1px solid var(--line-2);color:#fff;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:7px 12px;cursor:pointer;background:none;}
.pcard .addbtn:hover{border-color:var(--red);color:var(--red);}
.note-box{border:1px dashed rgba(255,255,255,.22);color:var(--muted-2);font-size:12px;padding:14px 18px;margin-top:26px;max-width:720px;}

/* ---- Team ---- */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:54px;border:1px solid var(--line);}
@media(max-width:760px){.team-grid{grid-template-columns:1fr;}}
.team-grid.support{grid-template-columns:repeat(4,1fr);margin-top:1px;}
@media(max-width:900px){.team-grid.support{grid-template-columns:repeat(2,1fr);}}
.team-card{background:var(--black-2);padding:36px;display:flex;gap:22px;align-items:flex-start;}
.team-card.support{flex-direction:column;padding:30px 26px;gap:16px;}
.avatar{width:96px;height:96px;border-radius:50%;flex:none;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#2a2a2a,#111 75%);border:1px solid var(--line-2);}
.avatar.sm{width:60px;height:60px;}
.avatar .initials{font-family:var(--font-display);font-size:28px;color:var(--red);letter-spacing:1px;}
.avatar.sm .initials{font-size:18px;}
.avatar .ring{position:absolute;inset:-1px;border-radius:50%;border:1px solid var(--red);opacity:.5;}
.team-card h3{font-size:19px;margin-bottom:4px;}
.team-card .role{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--red);margin-bottom:14px;display:block;}
.team-card p{font-size:13.5px;color:var(--muted);}
.team-card.support .role{margin-bottom:6px;}
.team-card.support p{font-size:12px;color:var(--muted-2);}
.photo-pending{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--line);display:inline-block;padding:3px 8px;margin-top:10px;}

/* ---- Partners ---- */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:50px;border:1px solid var(--line);}
@media(max-width:900px){.partner-grid{grid-template-columns:1fr;}}
.partner-card{background:var(--black-2);padding:40px 34px;position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;}
.partner-card .pbg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35;filter:grayscale(40%);}
.partner-card .pbg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--black-2) 85%);}
.partner-card .mark{font-family:var(--font-display);font-size:26px;letter-spacing:1px;margin-bottom:12px;position:relative;z-index:2;}
.partner-card p{font-size:13px;color:var(--muted);position:relative;z-index:2;margin-bottom:16px;}
.partner-card .link{position:relative;z-index:2;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--red);}

/* ---- Forms ---- */
.form-mock{margin-top:28px;max-width:540px;}
.form-mock .f{border:1px solid var(--line);background:var(--black-2);padding:15px 18px;margin-bottom:12px;font-size:13.5px;color:var(--muted);}
.form-mock .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-mock .row2 .f{margin-bottom:0;}

/* ---- Projects grid ---- */
.proj-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px;}
.proj-filters button{background:none;border:1px solid var(--line-2);color:var(--muted);font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:9px 18px;cursor:pointer;}
.proj-filters button.active{background:#fff;color:var(--black);border-color:#fff;}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
@media(max-width:900px){.proj-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.proj-grid{grid-template-columns:1fr;}}
.proj-card{position:relative;aspect-ratio:4/5;overflow:hidden;}
.proj-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%) brightness(.8);transition:.5s;}
.proj-card:hover img{filter:grayscale(0%) brightness(.9);transform:scale(1.05);}
.proj-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.9));}
.proj-card .tag{position:absolute;top:16px;left:16px;background:var(--red);color:#fff;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:5px 10px;z-index:2;}
.proj-card .cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;}
.proj-card .cap b{font-family:var(--font-display);font-size:16px;display:block;}
.proj-card .cap span{font-size:11.5px;color:var(--muted);}

/* ---- Stat boxes ---- */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media(max-width:700px){.stat-grid{grid-template-columns:1fr;}}
.stat{background:var(--black);padding:30px;text-align:center;}
.stat b{display:block;font-family:var(--font-display);font-size:40px;color:var(--red);}
.stat span{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}

/* ---- Footer ---- */
footer.sitefoot{background:var(--black-2);border-top:1px solid var(--line);padding:70px 0 26px;position:relative;overflow:hidden;}
footer.sitefoot .fwatermark{position:absolute;bottom:-14%;left:-4%;width:420px;opacity:.06;pointer-events:none;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;position:relative;z-index:2;}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-grid img.flogo{height:24px;margin-bottom:16px;}
.foot-grid p{font-size:13px;color:var(--muted);max-width:280px;}
.foot-col h4{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted-2);margin-bottom:16px;}
.foot-col a{display:block;font-size:13.5px;color:var(--muted);margin-bottom:10px;}
.foot-col a:hover{color:#fff;}
.foot-bottom{position:relative;z-index:2;border-top:1px solid var(--line);margin-top:54px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--muted-2);}

.purpose-tag{display:none;}
.demo-banner{background:var(--black-3);color:var(--muted);font-size:11.5px;text-align:center;padding:9px 14px;position:fixed;bottom:0;left:0;right:0;z-index:300;border-top:1px solid var(--line);letter-spacing:.3px;}
.demo-banner b{color:var(--red);}
body{padding-bottom:38px;}
