/* BEAST GYM & FITNESS - LUXURY DESIGN SYSTEM */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800;900&family=Outfit:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root {
  --obsidian: #090909;
  --beast-red: #FC0F12;
  --beast-red-dark: #D4090C;
  --beast-red-glow: rgba(252,15,18,0.15);
  --graphite: #181818;
  --graphite-light: #1E1E1E;
  --off-white: #F5F5F5;
  --muted-grey: #A5A5A5;
  --border-grey: #292929;
  --border-subtle: #1F1F1F;
  --white: #FFFFFF;
  --font-luxury: 'Cinzel', 'Times New Roman', Georgia, serif;
  --font-display: 'Outfit', 'Cinzel', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;
  --transition-fast: 150ms cubic-bezier(0.4,0,0.2,1);
  --transition-base: 250ms cubic-bezier(0.4,0,0.2,1);
  --transition-slow: 400ms cubic-bezier(0.4,0,0.2,1);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.5);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.6);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.7);
  --shadow-xl: 0 16px 64px rgba(0,0,0,0.8);
  --shadow-red: 0 4px 24px rgba(252,15,18,0.3);
  --shadow-red-lg: 0 8px 48px rgba(252,15,18,0.4);
  --z-nav: 400;
  --z-modal: 300;
  --z-drawer: 200;
  --z-overlay: 100;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--off-white);background-color:var(--obsidian);-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.1;color:var(--off-white);letter-spacing:-0.02em}
h1{font-size:clamp(2.5rem,5vw,4.5rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:clamp(1.5rem,3vw,1.875rem)}
h4{font-size:clamp(1.25rem,2vw,1.5rem)}
h5{font-size:1.25rem}
h6{font-size:1.125rem}
p{color:var(--muted-grey);line-height:1.7}
a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
button{cursor:pointer;font-family:var(--font-body);border:none;background:none}
input,textarea,select{font-family:var(--font-body)}

.container{max-width:1280px;margin:0 auto;padding:0 var(--space-6)}
.container--wide{max-width:1440px;margin:0 auto;padding:0 var(--space-6)}
.container--narrow{max-width:800px;margin:0 auto;padding:0 var(--space-6)}
.section{padding:var(--space-24) 0}
.section--lg{padding:var(--space-32) 0}
.section--sm{padding:var(--space-16) 0}

.section-label{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--beast-red);margin-bottom:var(--space-4)}
.section-label::before{content:'';display:block;width:24px;height:2px;background:var(--beast-red);flex-shrink:0}
.divider{height:1px;background:var(--border-grey)}
.accent-line{display:block;width:48px;height:3px;background:var(--beast-red);margin:var(--space-4) 0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px 32px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);transition:all var(--transition-base);cursor:pointer;white-space:nowrap;border:2px solid transparent;position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.05);transform:translateX(-100%);transition:transform var(--transition-base)}
.btn:hover::before{transform:translateX(0)}
.btn--primary{background:var(--beast-red);color:var(--white);border-color:var(--beast-red);box-shadow:var(--shadow-red)}
.btn--primary:hover{background:var(--beast-red-dark);border-color:var(--beast-red-dark);box-shadow:var(--shadow-red-lg);transform:translateY(-2px)}
.btn--primary:active{transform:translateY(0)}
.btn--outline{background:transparent;color:var(--off-white);border-color:var(--border-grey)}
.btn--outline:hover{border-color:var(--off-white);color:var(--white);transform:translateY(-2px)}
.btn--outline-red{background:transparent;color:var(--beast-red);border-color:var(--beast-red)}
.btn--outline-red:hover{background:var(--beast-red);color:var(--white);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--muted-grey);border-color:transparent;padding:14px 16px}
.btn--ghost:hover{color:var(--off-white)}
.btn--sm{padding:10px 20px;font-size:var(--text-xs)}
.btn--lg{padding:18px 40px;font-size:var(--text-base)}
.btn--full{width:100%}

.card{background:var(--graphite);border:1px solid var(--border-grey);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-base);position:relative}
.card:hover{border-color:rgba(252,15,18,0.3);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--beast-red);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}
.card:hover::before{transform:scaleX(1)}

.badge{display:inline-flex;align-items:center;padding:4px 12px;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-full)}
.badge--red{background:var(--beast-red-glow);color:var(--beast-red);border:1px solid rgba(252,15,18,0.3)}
.badge--dark{background:var(--border-grey);color:var(--muted-grey)}

.text-red{color:var(--beast-red)}
.text-white{color:var(--white)}
.text-grey{color:var(--muted-grey)}
.text-center{text-align:center}
.font-display{font-family:var(--font-display)}
.flex{display:flex}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-2{gap:var(--space-2)}
.gap-4{gap:var(--space-4)}
.gap-6{gap:var(--space-6)}
.gap-8{gap:var(--space-8)}
.grid{display:grid}
.grid-2{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}
.grid-3{grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.grid-4{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}

.stat-block{text-align:center}
.stat-number{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;color:var(--off-white);line-height:1}
.stat-number span{color:var(--beast-red)}
.stat-label{font-size:var(--text-sm);color:var(--muted-grey);letter-spacing:.1em;text-transform:uppercase;margin-top:var(--space-2)}
.red-border-left{border-left:3px solid var(--beast-red);padding-left:var(--space-4)}
.img-cover{width:100%;height:100%;object-fit:cover}
.img-dark{filter:brightness(0.75) contrast(1.1)}

:focus-visible{outline:2px solid var(--beast-red);outline-offset:3px;border-radius:var(--radius-sm)}
::selection{background:rgba(252,15,18,0.3);color:var(--white)}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--obsidian)}
::-webkit-scrollbar-thumb{background:var(--border-grey);border-radius:var(--radius-full)}
::-webkit-scrollbar-thumb:hover{background:var(--beast-red)}

.hover-underline{position:relative}
.hover-underline::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--beast-red);transition:width var(--transition-base)}
.hover-underline:hover::after{width:100%}

/* LUXURY TYPOGRAPHY UTILITIES */
.font-luxury { font-family: var(--font-luxury); letter-spacing: 0.04em; }

/* LOGO RULES - ZERO BACKGROUND & PROPER ALIGNMENT */
.nav__logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  line-height: 0 !important;
}
.nav__logo-img {
  height: 48px;
  width: auto;
  max-width: 185px;
  object-fit: contain;
  display: block;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.45));
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), filter 0.25s ease;
}
.nav__logo:hover .nav__logo-img {
  transform: scale(1.04);
  filter: drop-shadow(0 4px 16px rgba(252,15,18,0.4));
}
.footer__logo,
.footer__brand-logo {
  display: inline-flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.footer__logo-img,
.footer__brand-logo img {
  height: 42px;
  width: auto;
  max-width: 165px;
  object-fit: contain;
  display: block;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
  transition: transform 0.25s ease;
}
.footer__logo-img:hover,
.footer__brand-logo img:hover {
  transform: scale(1.03);
}

@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
  .container,.container--wide,.container--narrow{padding:0 var(--space-4)}.section{padding:var(--space-16) 0}.section--lg{padding:var(--space-20) 0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .nav__logo-img{height: 40px; max-width: 155px;}
}
@media(max-width:480px){h1{font-size:2rem}h2{font-size:1.75rem}.nav__logo-img{height: 36px; max-width: 140px;}}

