:root{
  --navy:#1a2a3d;--navy2:#0f1e2e;
  --red:#8b1a1a;--red2:#a82020;
  --teal:#1a7a8a;--teal2:#1d8fa0;
  --white:#fff;--off:#f5f5f0;--gray:#e8e4df;
  --text:#2c2c2c;--text2:#666;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;background:var(--white);color:var(--text);overflow-x:hidden;}
nav{position:fixed;top:44px;left:0;right:0;z-index:100;background:rgba(15,30,46,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:68px;}
.nav-logo-text{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:900;letter-spacing:2px;color:var(--white);}
.nav-logo-text span{color:#c0392b;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{color:rgba(255,255,255,.7);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;transition:color .2s;}
.nav-links a:hover{color:var(--white);}
.nav-cta{background:var(--red);color:var(--white);padding:10px 22px;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:background .2s;}
.nav-cta:hover{background:var(--red2);}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.nav-hamburger span{width:24px;height:2px;background:var(--white);display:block;}
.mobile-menu{display:none;position:fixed;inset:0;top:112px;background:var(--navy2);z-index:99;padding:2rem;flex-direction:column;gap:1rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:rgba(255,255,255,.8);text-decoration:none;font-size:18px;font-weight:600;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.mobile-menu .m-cta{background:var(--red);text-align:center;border-radius:5px;color:var(--white);padding:1rem;margin-top:.5rem;border:none;}
.hero{min-height:100vh;background:var(--navy2);position:relative;display:flex;align-items:center;overflow:hidden;}
.hero-pattern{position:absolute;inset:0;opacity:.03;background-image:repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(255,255,255,1) 40px,rgba(255,255,255,1) 41px),repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(255,255,255,1) 40px,rgba(255,255,255,1) 41px);}
.hero-grad{position:absolute;inset:0;background:linear-gradient(135deg,rgba(139,26,26,.5) 0%,transparent 50%),linear-gradient(to right,rgba(15,30,46,1) 45%,rgba(15,30,46,.6) 100%);}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 2rem;padding-top:112px;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(139,26,26,.25);border:1px solid rgba(139,26,26,.45);color:#e88;padding:6px 16px;border-radius:2px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.5rem;}
.hero-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:#e88;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(52px,8vw,110px);font-weight:900;line-height:.92;color:var(--white);text-transform:uppercase;margin-bottom:1.5rem;}
h1 em{font-style:normal;color:#c0392b;}
h1 .outline{-webkit-text-stroke:2px rgba(255,255,255,.25);color:transparent;}
.hero-sub{font-size:17px;color:rgba(255,255,255,.5);max-width:480px;line-height:1.7;margin-bottom:2.5rem;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.wp-block-button.btn-primary .wp-block-button__link{background:var(--red);color:var(--white);padding:16px 36px;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border-radius:3px;transition:all .2s;display:inline-block;}
.wp-block-button.btn-primary .wp-block-button__link:hover{background:var(--red2);transform:translateY(-2px);}
.wp-block-button.btn-outline .wp-block-button__link{border:2px solid rgba(255,255,255,.3);color:var(--white);padding:14px 34px;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border-radius:3px;transition:all .2s;display:inline-block;}
.wp-block-button.btn-outline .wp-block-button__link:hover{border-color:var(--white);}
.hero-locs{display:flex;gap:2rem;margin-top:2.5rem;flex-wrap:wrap;}
.hero-loc{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.45);font-size:13px;}
.hero-loc-dot{width:8px;height:8px;border-radius:50%;background:var(--teal2);}
.hero-loc strong{color:rgba(255,255,255,.75);}
.hero-stats{display:flex;gap:3rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap;}
.hs-num{font-family:'Barlow Condensed',sans-serif;font-size:42px;font-weight:900;color:var(--white);display:block;line-height:1;}
.hs-lbl{font-size:12px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:1px;margin-top:4px;}
section{padding:6rem 2rem;}
.sec-inner{max-width:1200px;margin:0 auto;}
.sec-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:.75rem;}
h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(36px,5vw,60px);font-weight:900;text-transform:uppercase;line-height:1;color:var(--navy);margin-bottom:1rem;}
h2 span{color:var(--red);}
.sec-sub{font-size:16px;color:var(--text2);max-width:560px;line-height:1.7;margin-bottom:3rem;}
#about{background:var(--off);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.about-feats{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem;}
.about-feat{background:var(--white);border-radius:8px;padding:1.25rem;border-left:3px solid var(--red);}
.af-icon{font-size:24px;margin-bottom:8px;}
.af-title{font-weight:700;color:var(--navy);font-size:14px;margin-bottom:4px;}
.af-text{font-size:13px;color:var(--text2);line-height:1.5;}
.about-visual{position:relative;}
.about-placeholder{background:linear-gradient(135deg,var(--navy),var(--teal));border-radius:12px;aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.9);text-align:center;padding:2rem;}
.about-placeholder-title{font-family:'Barlow Condensed',sans-serif;font-size:52px;font-weight:900;line-height:1;}
.about-placeholder-sub{font-size:14px;opacity:.5;letter-spacing:3px;margin-top:8px;}
.about-badge{position:absolute;bottom:-20px;right:-20px;background:var(--red);color:var(--white);padding:1.25rem;border-radius:8px;text-align:center;box-shadow:0 10px 30px rgba(139,26,26,.4);}
.ab-num{font-family:'Barlow Condensed',sans-serif;font-size:40px;font-weight:900;line-height:1;}
.ab-txt{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.8;}
#classes{background:var(--white);}
.classes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem;}
.class-card{border-radius:10px;overflow:hidden;position:relative;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:transform .3s;cursor:default;}
.class-card:hover{transform:translateY(-6px);}
.cc-bg{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,30,46,.95) 40%,rgba(15,30,46,.2) 100%);}
.cc-icon{position:absolute;top:1.25rem;left:1.25rem;font-size:32px;}
.cc-content{position:relative;z-index:1;}
.cc-tag{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal2);margin-bottom:6px;}
.cc-name{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;color:var(--white);text-transform:uppercase;line-height:1;margin-bottom:8px;}
.cc-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.5;}
.cc1{background:linear-gradient(135deg,#1a4a5a,#0f2942);}
.cc2{background:linear-gradient(135deg,#4a1a1a,#1a0a0a);}
.cc3{background:linear-gradient(135deg,#1a3a1a,#0f1e0f);}
.cc4{background:linear-gradient(135deg,#3a2a1a,#1e150a);}
.cc5{background:linear-gradient(135deg,#2a1a4a,#100a1e);}
.cc6{background:linear-gradient(135deg,#1a1a4a,#0a0a20);}
.free-classes-banner{background:var(--navy);border-radius:16px;padding:2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;}
.fcb-left .fcb-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--teal2);margin-bottom:.75rem;}
.fcb-left h3{font-family:'Barlow Condensed',sans-serif;font-size:42px;font-weight:900;color:var(--white);text-transform:uppercase;line-height:1;margin-bottom:.5rem;}
.fcb-left h3 span{color:#c0392b;}
.fcb-left p:not([class]){color:rgba(255,255,255,.5);font-size:14px;margin-bottom:1.25rem;}
.fcb-services{display:flex;flex-direction:column;gap:8px;}
.fcb-service{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.7);font-size:14px;}
.fcb-service::before{content:'✓';color:var(--teal2);font-weight:700;flex-shrink:0;}
.fcb-right{display:flex;flex-direction:column;gap:1rem;}
.fcb-day{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}
.fcb-day-name{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;color:var(--white);text-transform:uppercase;}
.fcb-day-time{font-size:16px;font-weight:600;color:var(--teal2);}
.fcb-day-loc{font-size:11px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:1px;margin-top:2px;}
.fcb-badge{background:rgba(139,26,26,.3);color:#e88;border:1px solid rgba(139,26,26,.4);padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:inline-block;margin-bottom:1rem;}
#trainers{background:var(--off);}
.trainers-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.trainer-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.08);transition:transform .3s;}
.trainer-card:hover{transform:translateY(-4px);}
.trainer-photo{height:280px;background:linear-gradient(135deg,var(--navy),var(--teal));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.trainer-photo-placeholder{font-size:80px;opacity:.3;}
.trainer-photo-initials{position:absolute;font-family:'Barlow Condensed',sans-serif;font-size:96px;font-weight:900;color:rgba(255,255,255,.1);}
.trainer-body{padding:1.75rem;}
.trainer-name{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:900;color:var(--navy);text-transform:uppercase;margin-bottom:4px;}
.trainer-role{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:1rem;}
.trainer-desc{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:1.5rem;}
.trainer-links{display:flex;gap:10px;flex-wrap:wrap;}
.wp-block-button.trainer-link .wp-block-button__link{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:600;transition:all .2s;}
.wp-block-button.tl-fb .wp-block-button__link{background:#1877f2;color:#fff;}
.wp-block-button.tl-ig .wp-block-button__link{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff;}
.wp-block-button.tl-wa .wp-block-button__link{background:#25d366;color:#fff;}
.wp-block-button.trainer-link .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2);}
#membership{background:var(--navy2);}
#membership h2{color:var(--white);}
#membership .sec-sub{color:rgba(255,255,255,.45);}
.mem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;}
.mem-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:2rem;position:relative;transition:all .2s;}
.mem-card:hover{border-color:rgba(255,255,255,.2);}
.mem-card.featured{border-color:var(--red);background:rgba(139,26,26,.12);}
.mem-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;padding:4px 16px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;}
.mem-type{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.5rem;}
.mem-name{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:800;color:var(--white);text-transform:uppercase;margin-bottom:1.5rem;}
.mem-price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:.4rem;}
.mem-price-lbl{font-size:12px;color:rgba(255,255,255,.35);width:70px;}
.mem-price{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:900;color:var(--white);}
.mem-cur{font-size:16px;color:rgba(255,255,255,.5);}
.mem-na{font-size:18px;color:rgba(255,255,255,.2);}
.mem-divider{border:none;border-top:1px solid rgba(255,255,255,.07);margin:1.5rem 0;}
.mem-note{font-size:12px;color:rgba(255,255,255,.3);line-height:1.6;}
.wp-block-button.mem-cta .wp-block-button__link{display:block;text-align:center;margin-top:1.5rem;background:var(--white);color:var(--navy);padding:12px;border-radius:5px;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:all .2s;}
.mem-card.featured .wp-block-button.mem-cta .wp-block-button__link{background:var(--red);color:#fff;}
.wp-block-button.mem-cta .wp-block-button__link:hover{transform:translateY(-2px);}
.mem-short-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;}
.msc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:1.25rem;text-align:center;}
.msc-name{font-size:11px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;}
.msc-price{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:900;color:var(--white);}
.msc-sub{font-size:10px;color:rgba(255,255,255,.25);margin-top:3px;}
.hours-wrap{background:var(--off);padding:5rem 2rem;}
.hours-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;}
.hours-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07);}
.hc-head{padding:1.25rem 1.5rem;display:flex;align-items:center;gap:12px;}
.hc-head-sliema{background:linear-gradient(135deg,#0f2942,#1a4a6a);}
.hc-head-qormi{background:linear-gradient(135deg,#2a1500,#8b3a10);}
.hc-dot{width:10px;height:10px;border-radius:50%;}
.hc-dot-s{background:#1d8fa0;}
.hc-dot-q{background:#e67e22;}
.hc-name{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:1px;}
.hc-addr{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px;}
.hc-body{padding:1.25rem 1.5rem;}
.hr-row{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--gray);font-size:14px;}
.hr-row:last-child{border-bottom:none;}
.hr-day{font-weight:600;color:var(--navy);}
.hr-time{color:var(--text2);}
.hc-closed{background:rgba(139,26,26,.06);border-radius:8px;padding:.875rem 1rem;margin-top:1rem;font-size:12px;color:var(--red);font-weight:500;}
.hc-closed strong{display:block;margin-bottom:3px;}
#contact{background:var(--white);}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem;}
.loc-card{border-radius:12px;overflow:hidden;border:1px solid var(--gray);}
.loc-head-s{background:linear-gradient(135deg,#0f2942,#1a4a6a);padding:1.5rem;}
.loc-head-q{background:linear-gradient(135deg,#2a1500,#8b3a10);padding:1.5rem;}
.loc-head-tag{font-size:11px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.loc-head-name{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;color:#fff;text-transform:uppercase;}
.loc-body{padding:1.5rem;}
.loc-detail{display:flex;gap:12px;align-items:flex-start;margin-bottom:.875rem;font-size:14px;}
.ld-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
.ld-text{color:var(--text2);line-height:1.5;}
.ld-text strong{color:var(--navy);display:block;font-size:13px;margin-bottom:2px;}
.loc-map{height:180px;background:linear-gradient(135deg,var(--navy),var(--teal));display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.35);font-size:13px;letter-spacing:1px;text-transform:uppercase;}
.social-row{display:flex;gap:12px;margin-bottom:2.5rem;flex-wrap:wrap;}
.wp-block-button.social-btn .wp-block-button__link{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:600;transition:all .2s;}
.wp-block-button.sb-fb .wp-block-button__link{background:#1877f2;color:#fff;}
.wp-block-button.sb-ig .wp-block-button__link{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff;}
.wp-block-button.social-btn .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15);}
.cf-wrap{background:var(--off);border-radius:12px;padding:2rem;}
.cf-wrap h3{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:800;color:var(--navy);text-transform:uppercase;margin-bottom:1.5rem;}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.fg{display:flex;flex-direction:column;gap:6px;}
.fg label{font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:1px;}
.fg input,.fg textarea,.fg select{background:var(--white);border:1.5px solid var(--gray);border-radius:6px;padding:11px 14px;font-family:'Barlow',sans-serif;font-size:14px;color:var(--text);outline:none;transition:border .2s;}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--red);}
.fg textarea{min-height:100px;resize:vertical;}
.fg-full{grid-column:1/-1;}
.cf-submit{background:var(--red);color:#fff;border:none;padding:14px 36px;font-family:'Barlow',sans-serif;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:5px;cursor:pointer;transition:all .2s;}
.cf-submit:hover{background:var(--red2);transform:translateY(-2px);}
footer{background:var(--navy2);color:rgba(255,255,255,.45);padding:3rem 2rem 2rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.07);}
.ft-logo{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:900;letter-spacing:2px;color:#fff;}
.ft-logo span{color:#c0392b;}
.ft-tagline{font-size:13px;margin-top:.5rem;line-height:1.6;color:rgba(255,255,255,.35);}
.fc h4{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:1rem;}
.fc a{display:block;color:rgba(255,255,255,.35);text-decoration:none;font-size:13px;margin-bottom:.5rem;transition:color .2s;}
.fc a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;font-size:12px;flex-wrap:wrap;gap:.5rem;}
.footer-bottom a{color:rgba(255,255,255,.25);text-decoration:none;}
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s,transform .6s;}
.fade-up.visible{opacity:1;transform:translateY(0);}
@media(max-width:900px){.about-grid,.loc-grid,.hours-inner,.trainers-grid{grid-template-columns:1fr;}
.classes-grid{grid-template-columns:1fr 1fr;}
.mem-grid{grid-template-columns:1fr;}
.mem-short-grid{grid-template-columns:repeat(3,1fr);}
.free-classes-banner{grid-template-columns:1fr;}
.footer-top{grid-template-columns:1fr 1fr;}
.cf-grid{grid-template-columns:1fr;}}
@media(max-width:600px){section{padding:4rem 1.25rem;}
.nav-links,.nav-cta{display:none;}
.nav-hamburger{display:flex;}
.classes-grid{grid-template-columns:1fr;}
.about-feats{grid-template-columns:1fr;}
.mem-short-grid{grid-template-columns:repeat(2,1fr);}
.hero-stats{gap:1.5rem;}
.footer-top{grid-template-columns:1fr;}
h1{font-size:56px;}}
.promo-banner{background:linear-gradient(135deg,#8b1a1a,#c0392b);padding:.6rem 2rem;text-align:center;position:fixed;top:0;left:0;right:0;z-index:101;overflow:hidden;height:44px;}
.promo-banner::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.03) 10px,rgba(255,255,255,.03) 20px);}
.promo-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;position:relative;z-index:1;}
.promo-tag{background:rgba(255,255,255,.2);color:#fff;padding:2px 10px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;flex-shrink:0;}
.promo-text{color:#fff;font-size:13px;font-weight:600;}
.promo-text strong{color:#ffd700;}
.wp-block-button.promo-cta .wp-block-button__link{background:#fff;color:#8b1a1a;padding:6px 18px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none;flex-shrink:0;transition:all .2s;}
.wp-block-button.promo-cta .wp-block-button__link:hover{background:#ffd700;}
.promo-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.6);font-size:18px;cursor:pointer;padding:4px 8px;z-index:2;}
.promo-close:hover{color:#fff;}
.chat-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#8b1a1a,#c0392b);color:#fff;border:none;font-size:26px;cursor:pointer;box-shadow:0 4px 20px rgba(139,26,26,.5);z-index:200;transition:all .3s;display:flex;align-items:center;justify-content:center;}
.chat-fab:hover{transform:scale(1.1);}
.chat-fab.open{background:var(--navy2);}
.chat-window{position:fixed;bottom:5.5rem;right:1.5rem;width:360px;max-width:calc(100vw - 2rem);height:520px;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);z-index:199;display:none;flex-direction:column;overflow:hidden;border:1px solid rgba(0,0,0,.08);}
.chat-window.open{display:flex;}
.chat-header{background:linear-gradient(135deg,#0f1e2e,#1a2a3d);padding:1rem 1.25rem;display:flex;align-items:center;gap:12px;}
.chat-header-av{width:38px;height:38px;background:linear-gradient(135deg,#8b1a1a,#c0392b);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.chat-header-info{flex:1;}
.chat-header-name{font-weight:700;color:#fff;font-size:14px;}
.chat-header-status{font-size:11px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:5px;}
.chat-status-dot{width:6px;height:6px;border-radius:50%;background:#00b894;animation:pulse 2s infinite;}
.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#f8f9fa;}
.chat-msg{max-width:85%;padding:.75rem 1rem;border-radius:12px;font-size:14px;line-height:1.5;}
.chat-msg.bot{background:#fff;color:#2c2c2c;border-radius:4px 12px 12px 12px;box-shadow:0 1px 4px rgba(0,0,0,.08);align-self:flex-start;}
.chat-msg.user{background:linear-gradient(135deg,#8b1a1a,#c0392b);color:#fff;border-radius:12px 4px 12px 12px;align-self:flex-end;}
.chat-msg.typing{background:#fff;color:#999;font-style:italic;align-self:flex-start;box-shadow:0 1px 4px rgba(0,0,0,.08);border-radius:4px 12px 12px 12px;}
.chat-quick{padding:.5rem 1rem;display:flex;gap:.5rem;flex-wrap:wrap;background:#fff;border-top:1px solid #f0f0f0;}
.chat-quick-btn{background:#f0f0f0;border:none;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;color:#333;cursor:pointer;transition:all .2s;white-space:nowrap;}
.chat-quick-btn:hover{background:#8b1a1a;color:#fff;}
.chat-input-row{padding:.875rem;display:flex;gap:.5rem;background:#fff;border-top:1px solid #f0f0f0;}
.chat-input{flex:1;border:1.5px solid #e0e0e0;border-radius:24px;padding:8px 16px;font-size:14px;outline:none;font-family:'Barlow',sans-serif;transition:border .2s;}
.chat-input:focus{border-color:#8b1a1a;}
.chat-send{width:38px;height:38px;border-radius:50%;background:#8b1a1a;border:none;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;}
.chat-send:hover{background:#a82020;}
@media(max-width:420px){.chat-window{width:calc(100vw - 1rem);right:.5rem;bottom:5rem;height:480px;}}
.gal-tabs{display:flex;gap:12px;margin-bottom:2rem;justify-content:center;}
.gal-tab{padding:10px 28px;border-radius:50px;border:2px solid rgba(255,255,255,.15);background:transparent;color:var(--text2);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;}
.gal-tab.active{background:var(--teal);border-color:var(--teal);color:white;}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
.gal-item{aspect-ratio:4/3;overflow:hidden;border-radius:10px;cursor:pointer;position:relative;}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.gal-item:hover img{transform:scale(1.06);}
@media(max-width:600px){.gal-grid{grid-template-columns:repeat(2,1fr);gap:6px;}}
/* ---- plugin additions ---- */
h2 em,h3 em{font-style:normal;}
h2 em{color:var(--red);;font-style:normal;}
.fcb-left h3 em{color:#c0392b;;font-style:normal;}
.ft-logo em{color:#c0392b;;font-style:normal;}
.cf-wrap h3 em{color:var(--red);font-style:normal;}
h1 s{text-decoration:none;}
h1 s{-webkit-text-stroke:2px rgba(255,255,255,.25);color:transparent;}
body .y2h-s1{color:var(--text2);line-height:1.8;margin-bottom:1rem;}
body .y2h-s2{color:var(--text2);line-height:1.8;}
body .y2h-s3{background-image:url('data:IMG-jpeg');background-size:cover;background-position:center;}
body .y2h-s4{background:linear-gradient(135deg,#1a1a2e,#4a2a00);}
body .y2h-s5{background:var(--dark2);padding:6rem 2rem;}
body .y2h-s6{color:rgba(255,255,255,.4);margin-bottom:1rem;}
body .y2h-s7{height:180px;overflow:hidden;}
body .y2h-s8{width:100%;height:100%;object-fit:cover;}
.promo-text em{font-style:normal;opacity:.7;font-size:11px;}
.about-placeholder-title em{font-style:normal;color:#c0392b;font-size:80px;display:block;line-height:.8;}
.y2h-s8 img{width:100%;height:100%;object-fit:cover;}

/* WordPress block adaptations */
.y2h-page figure{margin:0;}
.y2h-page img{max-width:100%;}
.class-card .cc-photo{position:absolute;inset:0;margin:0;}
.class-card .cc-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.wp-block-buttons,.wp-block-button{margin:0;}
.ld-text a{color:var(--red);text-decoration:none;}
.promo-text em{opacity:.7;font-size:11px;font-style:normal;}
.promo-banner .promo-close-js{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.6);font-size:18px;cursor:pointer;padding:4px 8px;z-index:2;}
.promo-banner .promo-close-js:hover{color:#fff;}
.admin-bar .promo-banner{top:32px;}
.admin-bar nav{top:76px;}
.admin-bar .mobile-menu{top:144px;}
main.y2h-main{display:block;}
.y2h-sent{background:#e6f4ea;color:#1e6b34;padding:12px 16px;border-radius:6px;margin-bottom:1rem;font-weight:600;}
.y2h-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;}

/* ---- Yes2Health Page template (privacy policy and other plain pages) ---- */
.y2h-legal-page nav{top:0;}
.y2h-legal-page .mobile-menu{top:68px;}
.admin-bar.y2h-legal-page nav{top:32px;}
.admin-bar.y2h-legal-page .mobile-menu{top:100px;}
.y2h-legal{max-width:820px;margin:0 auto;padding:9.5rem 2rem 5rem;color:var(--text);line-height:1.7;}
.y2h-legal h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(2.4rem,6vw,3.6rem);text-transform:uppercase;color:var(--navy);margin-bottom:1.5rem;letter-spacing:.01em;line-height:1;}
.y2h-legal h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.7rem;text-transform:uppercase;color:var(--navy);margin:2.25rem 0 .75rem;line-height:1.1;}
.y2h-legal p,.y2h-legal li{font-size:1rem;color:var(--text2);}
.y2h-legal p{margin-bottom:1rem;}
.y2h-legal ul{list-style:disc;margin:0 0 1.25rem 1.25rem;}
.y2h-legal li{margin-bottom:.4rem;}
.y2h-legal a{color:var(--red);}
