/* ============================================
   Main CSS - Global Styles, Variables, Resets
   ============================================ */

@import url('components/footer.css');
@import url('components/navigation.css');

/* Font Face - Airbnb Cereal */
/* 
 * IMPORTANT: Add font files to assets/fonts/ directory:
 * - AirbnbCereal_W_Blk.woff2 (preferred)
 * - AirbnbCereal_W_Blk.woff (fallback)
 * - AirbnbCereal_W_Blk.ttf (fallback)
 * 
 * To verify font is loading:
 * 1. Check browser DevTools → Network tab → Filter "Font"
 * 2. Check Computed styles → font-family should show "AirbnbCereal_W_Blk"
 * 3. Run in console: document.fonts.check('24px AirbnbCereal_W_Blk')
 */
@font-face {
  font-family: 'AirbnbCereal_W_Blk';
  src: url('../fonts/AirbnbCereal_W_Blk.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Font Face - Airbnb Cereal Extra Bold (section heading) */
/* Add font files to assets/fonts/: AirbnbCereal_W_XBd.woff2, .woff, .ttf */
@font-face {
  font-family: 'AirbnbCereal_W_XBd';
  src: url('../fonts/AirbnbCereal_W_XBd.otf') format('opentype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* Font Face - Airbnb Cereal Book (section paragraph, button) */
/* Add font files to assets/fonts/: AirbnbCereal_W_Bk.woff2, .woff, .ttf */
@font-face {
  font-family: 'AirbnbCereal_W_Bk';
  src: url('../fonts/AirbnbCereal_W_Bk.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Font Face - Airbnb Cereal Bold (card headings) */
@font-face {
  font-family: 'AirbnbCereal_W_Bd';
  src: url('../fonts/AirbnbCereal_W_Bd.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Font Face - Airbnb Cereal Medium (specific section headings) */
@font-face {
  font-family: 'AirbnbCereal_W_Md';
  src: url('../fonts/AirbnbCereal_W_Md.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Font Face - Airbnb Cereal Light (testimonial designation) */
@font-face {
  font-family: 'AirbnbCereal_W_Lt';
  src: url('../fonts/AirbnbCereal_W_Lt.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Deltha';
  src: url('../fonts/DelthaRegular-GOgrm.otf') format('opentype'),
    url('../fonts/DelthaRegular-JR027.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* CSS Variables - Design Tokens
   Client revisions: change values here; they apply site-wide.
   Categories: Colors, Section spacing, Typography, Components.
   Breakpoints: use same numeric values in @media as --breakpoint-* (e.g. 768px = --breakpoint-md). */
:root {
  /* Colors */
  --color-primary: #00D9FF;
  --color-primary-dark: #0099CC;
  --color-bg-dark: #0A0E1A;
  --color-bg-dark-alpha: rgba(10, 14, 26, 0.95);
  --color-bg-card: #FFFFFF;
  --color-text-light: #FFFFFF;
  --color-text-dark: #1F2937;
  --color-text-gray: #898686;
  --color-button-dark: #374151;

  /* Semantic colors – use these in page CSS */
  --color-heading: var(--color-text-dark);
  --color-body: var(--color-text-gray);
  --color-accent: #031C63;
  --color-accent-hover: #021a52;
  --color-btn-fill: var(--color-text-dark);
  --color-btn-text: var(--color-text-light);
  --color-btn-fill-hover: #FFFFFF;
  --color-btn-text-hover: var(--color-text-dark);
  --color-card-blue: #E8F4FC;
  --color-card-green: #E8F8F0;
  --color-card-purple: #F3EEFC;
  --color-overlay: #1F2937;
  --color-bg-light: #FFFFFF;
  --color-bg-advantage: #E8F1FA;
  --color-accent-green: #00C788;

  /* Typography */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-nav: 'AirbnbCereal_W_Blk', 'Inter', sans-serif;
  --font-heading: 'AirbnbCereal_W_XBd', 'AirbnbCereal_W_Blk', 'Inter', sans-serif;
  --font-body: 'AirbnbCereal_W_Bk', 'AirbnbCereal_W_Blk', 'Inter', sans-serif;
  --font-size-base: 16px;
  --line-height-base: 1.6;

  /* Typography scale – semantic sizes */
  --font-size-hero-lg: 85.33px;
  --font-size-hero-md: 65px;
  --font-size-hero-sm: 28px;
  --font-size-hero-xs: 24px;
  --line-height-hero: 100%;
  /* Section-level heading (all sections – same size at same breakpoint) */
  --font-size-section-heading: 32px;
  --line-height-section-heading: 1.125;
  --font-size-cost-heading: var(--font-size-section-heading);
  --line-height-cost-heading: var(--line-height-section-heading);
  /* Section label (uppercase small text above section heading) */
  --font-size-section-label: 14px;
  --line-height-section-label: 21px;
  --font-size-section-body: 18px;
  --line-height-section-body: 1.5;
  --font-size-section-body-line: 28px;
  --font-size-cost-body: var(--font-size-section-body);
  --line-height-cost-body: var(--line-height-section-body);
  --font-size-card-heading: 1.7rem;
  --line-height-card-heading: 1.3;
  --font-size-card-body: 1rem;
  --line-height-card-body: 1;
  --font-size-nav: 16px;
  --font-size-nav-lg: 18px;
  --font-size-nav-sm: 15px;
  --font-size-hero-hug: 14px;
  --line-height-hero-hug: 20px;

  /* Spacing */
  --spacing-xs: 0.5rem;
  --spacing-sm: 2rem;
  --spacing-md: 2rem;
  --spacing-lg: 4rem;
  --spacing-xl: 6rem;

  /* Section and layout spacing */
  --section-inner-max: 1200px;
  --section-padding-y: var(--spacing-lg);
  --section-padding-x: var(--spacing-md);
  --section-block-gap: 8rem; /* Spacing between major sections */
  --section-block-gap-sm: 6rem;
  --section-heading-gap: 4rem; /* Spacing after section headings */
  --section-heading-gap-sm: 3rem; /* Spacing after section headings on mobile */
  --section-inline-gap: 33.33px;
  --cards-gap: 1.5rem;
  --cards-margin-top: 3rem;
  --cost-block-gap: 16px;
  --cost-block-margin-top: 3rem;

  /* Breakpoints */
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;

  /* Border Radius */
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-full: 9999px;
  --radius-button: 53.33px;
  --radius-card: 1.25rem;
  --radius-pill: 34.67px;

  /* Shadows (optional) */
  --shadow-card-hover: 0 8px 32px rgba(0, 0, 0, 0.1);
}

/* Responsive overrides – same breakpoints for home and other pages; section headings and body text scale together */
@media (max-width: 1440px) {
  :root {
    --font-size-section-heading: 32px;
    --font-size-cost-heading: 32px;
    --line-height-section-heading: 1.2;
    --line-height-cost-heading: 1.2;
    --font-size-section-body: 20px;
    --font-size-cost-body: 20px;
    --font-size-section-body-line: 28px;
    --line-height-section-body: 1.4;
    --line-height-cost-body: 1.4;
    --font-size-card-heading: 1.7rem;
    --font-size-card-body: 1.1rem;
    --section-padding-y: 3rem;
    --section-block-gap: 5.5rem;
    --cards-margin-top: 5.5rem;
    --cost-block-margin-top: 2.75rem;
    --cost-block-gap: 16px;
  }
}

/* Better desktop spacing - 1200px to 1440px */
@media (min-width: 1200px) and (max-width: 1440px) {
  :root {
    --section-padding-y: 3.5rem;
    --section-block-gap: 6rem;
    --cards-margin-top: 6rem;
    --cost-block-margin-top: 3rem;
    --cost-block-gap: 16px;
  }
}

/* 1440px breakpoint - force section heading sizes */
@media (max-width: 1440px) {
  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    font-size: 42px !important;
  }

  .section-advantage-title,
  .section-toolkit-heading,
  .section-testimonials-heading,
  .section-faq-heading {
    font-size: 40px !important;
  }
}

/* Large desktop - 1441px to 1535px – smooth transition up from 1440px */
@media (min-width: 1441px) and (max-width: 1535px) {
  :root {
    --section-padding-y: 3.75rem;
    --section-block-gap: 6.5rem;
    --cards-margin-top: 6.5rem;
    --cost-block-margin-top: 3.25rem;
    --cost-block-gap: 16px;
    --font-size-hero-lg: 68px;
    --font-size-hero-md: 65px;
    --font-size-section-heading: 36px;
    --font-size-cost-heading: 36px;
    --line-height-section-heading: 1.15;
    --line-height-cost-heading: 1.15;
    --font-size-section-body: 21px;
    --font-size-cost-body: 21px;
    --font-size-section-body-line: 29px;
    --line-height-section-body: 1.45;
    --line-height-cost-body: 1.45;
    --font-size-section-label: 14px;
    --font-size-card-heading: 1.75rem;
    --font-size-card-body: 1.15rem;
  }

  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    font-size: 46px !important;
  }

  .section-advantage-title,
  .section-toolkit-heading,
  .section-testimonials-heading,
  .section-faq-heading {
    font-size: 44px !important;
  }

  .section-advantage-subtitle {
    font-size: 17px;
  }

  .section-toolkit-label,
  .section-testimonials-label,
  .section-faq-label {
    font-size: 17px;
  }
}

/* Large desktop - 1536px to 1919px */
@media (min-width: 1536px) {
  :root {
    --section-padding-y: 4rem;
    --section-block-gap: 7rem;
    --cards-margin-top: 7rem;
    --cost-block-margin-top: 3.5rem;
    --cost-block-gap: 16px;
    --font-size-hero-lg: 76px;
    --font-size-hero-md: 62px;
    --font-size-section-heading: 44px;
    --font-size-cost-heading: 44px;
    --line-height-section-heading: 1.1;
    --line-height-cost-heading: 1.1;
    --font-size-section-body: 23px;
    --font-size-cost-body: 23px;
    --font-size-section-body-line: 32px;
    --line-height-section-body: 1.5;
    --line-height-cost-body: 1.5;
    --font-size-section-label: 16px;
    --font-size-card-heading: 1.7rem;
    --font-size-card-body: 1.1rem;
  }

  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    font-size: 54px !important;
  }

  .section-advantage-title,
  .section-toolkit-heading,
  .section-testimonials-heading,
  .section-faq-heading {
    font-size: 52px !important;
  }

  .section-advantage-subtitle {
    font-size: 19px;
  }

  .section-toolkit-label,
  .section-testimonials-label,
  .section-faq-label {
    font-size: 19px;
  }
}

/* Ultra-wide desktop - 1920px+ */
@media (min-width: 1920px) {
  :root {
    --font-size-hero-lg: 85.33px;
    --font-size-hero-md: 65px;
    --font-size-section-heading: 50px;
    --font-size-cost-heading: 50px;
    --font-size-section-body: 26px;
    --font-size-cost-body: 26px;
    --font-size-section-body-line: 36px;
    --font-size-card-heading: 1.85rem;
    --font-size-card-body: 1.6rem;
    --font-size-section-label: 18px;
    --section-padding-y: 5rem;
    --section-block-gap: 8.5rem;
  }

  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    font-size: 64px !important;
  }

  .section-advantage-title,
  .section-toolkit-heading,
  .section-testimonials-heading,
  .section-faq-heading {
    font-size: 62px !important;
  }

  .section-advantage-subtitle {
    font-size: 21px;
  }

  .section-toolkit-label,
  .section-testimonials-label,
  .section-faq-label {
    font-size: 21px;
  }
}

/* Tablet breakpoint – 769px to 1024px */
@media (max-width: 1024px) {
  :root {
    --font-size-section-heading: 28px;
    --font-size-cost-heading: 28px;
    --line-height-section-heading: 1.2;
    --line-height-cost-heading: 1.2;
    --font-size-section-label: 13px;
    --font-size-section-body: 14px;
    --font-size-cost-body: 14px;
    --font-size-section-body-line: 28px;
    --line-height-section-body: 1.4;
    --line-height-cost-body: 1.4;
    --font-size-card-heading: 1.25rem;
    --font-size-card-body: 0.95rem;
    --section-padding-y: 3rem;
    --section-padding-x: 1.5rem;
    --section-block-gap: 4.5rem;
    --section-block-gap-sm: 3rem;
    --cards-margin-top: 3rem;
    --cost-block-margin-top: 2.5rem;
    --cost-block-gap: 1.5rem;
    --cards-gap: 1.25rem;
  }

  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    font-size: 28px !important;
  }

  .section-advantage-title,
  .section-toolkit-heading,
  .section-testimonials-heading,
  .section-faq-heading {
    font-size: 28px !important;
  }

  .section-advantage-subtitle {
    font-size: 12px;
  }

  .section-toolkit-label,
  .section-testimonials-label,
  .section-faq-label {
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  :root {
    --font-size-section-heading: 24px;
    --font-size-cost-heading: 24px;
    --line-height-section-heading: 1.25;
    --line-height-cost-heading: 1.25;
    --font-size-section-label: 12px;
    --line-height-section-label: 1.2;
    --font-size-section-body: 14px;
    --font-size-cost-body: 14px;
    --font-size-section-body-line: 18px;
    --line-height-section-body: 1.45;
    --line-height-cost-body: 1.45;
    --font-size-card-heading: 1.25rem;
    --font-size-card-body: 0.95rem;
    --section-padding-y: 2.5rem;
    --section-padding-x: 1.5rem;
    --section-block-gap: 4rem;
    --section-block-gap-sm: 2rem;
    --cards-margin-top: 2rem;
    --cost-block-margin-top: 2rem;
    --cost-block-gap: 0.5rem;
    --cards-gap: 1.25rem;
  }

  /* Override the 1440px !important rule for 768px */
  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    font-size: 24px !important;
  }

  .section-advantage-title,
  .section-toolkit-heading,
  .section-testimonials-heading,
  .section-faq-heading {
    font-size: 24px !important;
  }
}

/* ============================================
   Phablet / Large phone – 481px to 767px
   ============================================ */
@media (min-width: 481px) and (max-width: 767px) {
  :root {
    --font-size-section-heading: 24px;
    --font-size-cost-heading: 24px;
    --line-height-section-heading: 1.25;
    --line-height-cost-heading: 1.25;
    --font-size-section-label: 12px;
    --line-height-section-label: 1.2;
    --font-size-section-body: 15px;
    --font-size-cost-body: 15px;
    --font-size-section-body-line: 19px;
    --line-height-section-body: 1.5;
    --line-height-cost-body: 1.5;
    --font-size-card-heading: 1.25rem;
    --font-size-card-body: 0.95rem;
    --section-padding-y: 2.5rem;
    --section-padding-x: 1.5rem;
    --section-block-gap: 3rem;
    --section-block-gap-sm: 2rem;
    --cards-margin-top: 2rem;
    --cost-block-margin-top: 2rem;
    --cost-block-gap: 0.5rem;
    --cards-gap: 1.25rem;
  }
}

@media (max-width: 480px) {
  :root {
    --font-size-section-heading: 22px;
    --font-size-cost-heading: 22px;
    --line-height-section-heading: 1.3;
    --line-height-cost-heading: 1.3;
    --font-size-section-label: 11px;
    --line-height-section-label: 1.25;
    --font-size-section-body: 13px;
    --font-size-cost-body: 13px;
    --font-size-section-body-line: 17px;
    --line-height-section-body: 1.5;
    --line-height-cost-body: 1.5;
    --font-size-card-heading: 1.2rem;
    --font-size-card-body: 1rem;
    --section-padding-y: 2rem;
    --section-padding-x: 1rem;
    --section-block-gap: 2.5rem;
    --cards-margin-top: 1.5rem;
    --cost-block-margin-top: 1.5rem;
    --cost-block-gap: 0.5rem;
  }

  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    font-size: 22px !important;
  }

  .section-advantage-title,
  .section-toolkit-heading,
  .section-testimonials-heading,
  .section-faq-heading {
    font-size: 22px !important;
  }

  .section-advantage-subtitle,
  .section-toolkit-label,
  .section-testimonials-label,
  .section-faq-label {
    font-size: 11px;
  }
}

@media (max-width: 375px) {
  :root {
    --font-size-section-heading: 20px;
    --font-size-cost-heading: 20px;
    --line-height-section-heading: 1.3;
    --line-height-cost-heading: 1.3;
    --font-size-section-label: 10px;
    --line-height-section-label: 1.25;
    --font-size-section-body: 12px;
    --font-size-cost-body: 12px;
    --font-size-section-body-line: 16px;
    --line-height-section-body: 1.5;
    --line-height-cost-body: 1.5;
    --font-size-card-heading: 1rem;
    --font-size-card-body: 0.8rem;
    --section-padding-y: 1.5rem;
    --section-padding-x: 0.75rem;
    --section-block-gap: 1.5rem;
    --cards-margin-top: 1.5rem;
    --cost-block-margin-top: 1.5rem;
    --cost-block-gap: 0.25rem;
  }

  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    font-size: 20px !important;
  }

  .section-advantage-title,
  .section-toolkit-heading,
  .section-testimonials-heading,
  .section-faq-heading {
    font-size: 20px !important;
  }

  .section-advantage-subtitle,
  .section-toolkit-label,
  .section-testimonials-label,
  .section-faq-label {
    font-size: 10px;
  }
}

/* Reset & Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: var(--font-size-base);
  scroll-behavior: smooth;
  background-color: transparent;
  height: 100%;
  overflow: auto;
  -ms-overflow-style: none;
  /* IE and Edge - hide scrollbar */
  scrollbar-width: none;
  /* Firefox - hide scrollbar */
}

/* Hide scrollbar for Chrome, Safari and Opera */
html::-webkit-scrollbar {
  display: none;
}

body {
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--color-text-light);
  background-color: transparent;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  position: relative;
  z-index: 1;
  -ms-overflow-style: none;
  /* IE and Edge - hide scrollbar */
  scrollbar-width: none;
  /* Firefox - hide scrollbar */
}

/* Hide scrollbar for Chrome, Safari and Opera */
body::-webkit-scrollbar {
  display: none;
}

/* Section typography – shared heading and label styles (all sections) */
.section-label {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: var(--font-size-section-label);
  line-height: var(--line-height-section-label);
  text-transform: uppercase;
  text-align: center;
  color: var(--color-accent-green);
  margin: 0;
}

/* Section advantage subtitle with same styling as section labels */
.section-advantage-subtitle {
  font-family: 'AirbnbCereal_W_XBd', 'AirbnbCereal_W_Blk', 'Inter', sans-serif;
  font-weight: 800;
  font-size: 14px;
  line-height: var(--line-height-section-label);
  text-transform: uppercase;
  text-align: center;
  color: var(--color-accent-green);
  margin: 0;
}

/* 1440px breakpoint for section advantage subtitle */
@media (max-width: 1440px) {
  .section-advantage-subtitle {
    font-size: 16px;
  }
}

/* Specific section labels with AirbnbCereal_W_XBd and custom sizes */
.section-toolkit-label,
.section-testimonials-label,
.section-faq-label {
  font-family: 'AirbnbCereal_W_XBd', 'AirbnbCereal_W_Blk', 'Inter', sans-serif;
  font-weight: 800;
  font-size: 20px;
  line-height: var(--line-height-section-label);
  text-transform: uppercase;
  text-align: center;
  color: var(--color-accent-green);
  margin: 0;
}

/* 1440px breakpoint for specific section labels */
@media (max-width: 1440px) {
  .section-toolkit-label,
  .section-testimonials-label,
  .section-faq-label {
    font-size: 13px;
  }
}

.section-heading,
.section-content-heading,
.section-cost-heading {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: clamp(var(--font-size-section-heading), 3.5vw, 42px);
  line-height: var(--line-height-section-heading);
  text-align: center;
  color: var(--color-heading);
  margin-top: 150px;
  margin-bottom: 12px;
}


/* Specific section headings with font weight 500 */
.section-advantage-title,
.section-testimonials-heading
{
  font-family: 'AirbnbCereal_W_Md', 'AirbnbCereal_W_XBd', 'AirbnbCereal_W_Blk', 'Inter', sans-serif;
  font-weight: 500;
  font-size: clamp(var(--font-size-section-heading), 3.5vw, 42px);
  line-height: var(--line-height-section-heading);
  text-align: center;
  color: var(--color-heading);
  margin: 0 0 var(--section-heading-gap) 0;
}
.section-toolkit-heading,
.section-faq-heading
{
  font-family: 'AirbnbCereal_W_Md', 'AirbnbCereal_W_XBd', 'AirbnbCereal_W_Blk', 'Inter', sans-serif;
  font-weight: 500;
  font-size: clamp(var(--font-size-section-heading), 3.5vw, 42px);
  line-height: var(--line-height-section-heading);
  text-align: center;
  color: var(--color-heading);
  margin-bottom: 0px;
}
/* Responsive section heading margin */
@media (max-width: 1024px) {
  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    margin-top: 100px;
  }
}

@media (max-width: 768px) {
  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    margin-top: 60px;
  }

  .section-advantage-title,
  .section-testimonials-heading {
    margin-bottom: var(--section-heading-gap-sm);
  }
}

@media (max-width: 480px) {
  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    margin-top: 40px;
  }
}

@media (max-width: 375px) {
  .section-heading,
  .section-content-heading,
  .section-cost-heading {
    margin-top: 30px;
  }
}

/* Ensure inline SVG mask definitions don't affect layout */
body>svg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  display: block !important;
}


/* Page shape now handled by CSS masking - no need for body::before */

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: var(--spacing-sm);
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
}

a:hover {
  opacity: 0.8;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Utility Classes */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-md);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ============================================
   Mobile Menu - Shared across all pages & breakpoints
   Hamburger shown for viewports < 1150px
   Same position and menu panel on every page
   ============================================ */

/* Mobile Menu Toggle (hamburger) - base styles */
.mobile-menu-toggle {
  display: none;
  position: fixed;
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  background: rgba(10, 14, 26, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  color: var(--color-text-light);
  font-size: 24px;
  cursor: pointer;
  z-index: 1000;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.mobile-menu-toggle:hover {
  background: rgba(10, 14, 26, 0.95);
  border-color: rgba(0, 217, 255, 0.5);
  transform: scale(1.05);
}

.mobile-menu-toggle:active {
  transform: scale(0.95);
}

/* Show hamburger and slide-out menu for viewports < 1200px */
@media (max-width: 1199px) {
  .top-nav {
    height: 80px;
    padding: 0 var(--spacing-sm);
  }

  .mobile-menu-toggle {
    display: flex;
  }

  /* Hide desktop nav-links and show mobile slide-out menu */
  .nav-links {
    position: fixed !important;
    top: 0 !important;
    right: -100% !important;
    width: 320px !important;
    height: 100vh !important;
    background: var(--color-bg-dark-alpha) !important;
    backdrop-filter: blur(20px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: var(--spacing-xl) var(--spacing-md) !important;
    transition: right 0.3s ease !important;
    z-index: 999 !important;
    gap: var(--spacing-md) !important;
    justify-content: flex-start !important;
    padding-top: 100px !important;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.3) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  .nav-links--open {
    right: 0 !important;
  }

  .nav-link {
    font-size: 18px !important;
    width: 100% !important;
    padding: var(--spacing-sm) var(--spacing-md) !important;
    border-radius: var(--radius-sm) !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
    display: block !important;
  }

  .nav-link:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    transform: translateX(4px) !important;
  }

  a.nav-link.nav-link--active {
    font-family: 'AirbnbCereal_W_Blk', 'Inter', sans-serif !important;
    background: rgba(0, 217, 255, 0.15) !important;
    border-left: 3px solid var(--color-primary) !important;
    color: #FFFFFF !important;
    font-weight: 900 !important;
  }
}

/* 768px – smaller hamburger and slide-out panel */
@media (max-width: 768px) {
  .mobile-menu-toggle {
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    font-size: 22px;
    border-radius: 10px;
  }

  .nav-links {
    width: 300px !important;
    padding-top: 80px !important;
  }

  .nav-link {
    font-size: 17px !important;
  }
}

/* 480px – compact hamburger for small phones */
@media (max-width: 480px) {
  .mobile-menu-toggle {
    top: 10px;
    right: 12px;
    width: 40px;
    height: 40px;
    font-size: 20px;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  }

  .nav-links {
    width: 280px !important;
    padding-top: 70px !important;
    gap: var(--spacing-sm) !important;
  }

  .nav-link {
    font-size: 16px !important;
    padding: 10px var(--spacing-sm) !important;
  }
}

/* 375px – minimal hamburger for smallest phones */
@media (max-width: 375px) {
  .mobile-menu-toggle {
    top: 8px;
    right: 10px;
    width: 36px;
    height: 36px;
    font-size: 18px;
    border-radius: 8px;
  }

  .nav-links {
    width: 260px !important;
    padding-top: 60px !important;
  }

  .nav-link {
    font-size: 15px !important;
    padding: 8px var(--spacing-sm) !important;
  }
}