@import "tailwindcss";

@source "./layouts/*.ejs";
@source "./pages/*.ejs";
@source "./partials/*.ejs";

/* ── Europa self-hosted font ── */
@font-face {
  font-family: "europa";
  src: url("/fonts/europa-regular.woff2") format("woff2");
  font-display: swap; font-style: normal; font-weight: 400;
}
@font-face {
  font-family: "europa";
  src: url("/fonts/europa-bold.woff2") format("woff2");
  font-display: swap; font-style: normal; font-weight: 700;
}
@font-face {
  font-family: "europa";
  src: url("/fonts/europa-regular-italic.woff2") format("woff2");
  font-display: swap; font-style: italic; font-weight: 400;
}
@font-face {
  font-family: "europa";
  src: url("/fonts/europa-bold-italic.woff2") format("woff2");
  font-display: swap; font-style: italic; font-weight: 700;
}

@theme inline {
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-grotesk: 'europa', system-ui, sans-serif;
  --color-brand: #b05b37;
  --color-cream: #fffaf0;
  --color-warm: #f5ede1;
  --color-menta-dark: #0a0a0a;
  --color-menta-secondary: #f8f8f8;
  --color-menta-blue: #c6e6fb;
  --color-menta-purple: #b7b2ff;
}

@layer base {
  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
  body { font-family: 'europa', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
  h1, h2, h3 { font-family: 'europa', system-ui, sans-serif; }
}

@layer components {
  .fluid-h1 { font-size: clamp(2rem, 5vw, 3.75rem); line-height: 1.05; }
  .fluid-h2 { font-size: clamp(1.75rem, 4vw, 3rem); line-height: 1.1; }
  .fluid-h3 { font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.15; }

  .scrollbar-hide::-webkit-scrollbar { display: none; }
  .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

  .animate-fade-in-up { animation: fadeInUp 0.8s ease-out forwards; }
  .animate-fade-in { animation: fadeIn 0.6s ease-out forwards; }
  .delay-100 { animation-delay: 0.1s; }
  .delay-200 { animation-delay: 0.2s; }
  .delay-300 { animation-delay: 0.3s; }
  .delay-500 { animation-delay: 0.5s; }

  .mobile-carousel-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
  }

  .grain-overlay {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  }

  .nav-dark-mode { background: rgba(24,24,27,0.82) !important; border-color: rgba(63,63,70,0.5) !important; }
  .nav-light-mode { background: rgba(255,255,255,0.08) !important; border-color: rgba(255,255,255,0.15) !important; }

  .hero-title-mobile { word-break: break-word; }

  details summary { cursor: pointer; list-style: none; }
  details summary::-webkit-details-marker { display: none; }
  details summary::after { content: '+'; float: right; font-size: 1.5rem; font-weight: 300; transition: transform 0.3s; }
  details[open] summary::after { transform: rotate(45deg); }
  details .faq-answer { overflow: hidden; max-height: 0; transition: max-height 0.3s ease, padding 0.3s ease; padding: 0 1.5rem; }
  details[open] .faq-answer { max-height: 500px; padding: 0 1.5rem 1.5rem; }

  .prose { line-height: 1.75; }
  .prose p { margin-top: 1.25em; margin-bottom: 1.25em; }
  .prose p:first-child { margin-top: 0; }
  .prose h1 { font-size: 2.25em; margin-top: 0; margin-bottom: 0.8em; line-height: 1.1; }
  .prose h2 { font-size: 1.5em; margin-top: 2em; margin-bottom: 0.75em; line-height: 1.2; color: #292a2e; }
  .prose h3 { font-size: 1.25em; margin-top: 1.6em; margin-bottom: 0.6em; line-height: 1.3; color: #292a2e; }
  .prose h4 { font-size: 1.1em; margin-top: 1.5em; margin-bottom: 0.5em; line-height: 1.4; color: #292a2e; font-weight: 600; }
  .prose a { color: #b05b37; text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s; }
  .prose a:hover { color: #8a4529; }
  .prose strong { font-weight: 600; color: #292a2e; }
  .prose em { font-style: italic; }
  .prose ul { list-style-type: disc; padding-left: 1.625em; margin-top: 1.25em; margin-bottom: 1.25em; }
  .prose ol { list-style-type: decimal; padding-left: 1.625em; margin-top: 1.25em; margin-bottom: 1.25em; }
  .prose li { margin-top: 0.5em; margin-bottom: 0.5em; }
  .prose li p { margin-top: 0.25em; margin-bottom: 0.25em; }
  .prose blockquote { border-left: 4px solid #e4e4e7; padding-left: 1em; margin-top: 1.6em; margin-bottom: 1.6em; color: #52525b; font-style: italic; }
  .prose hr { border: none; border-top: 1px solid #e4e4e7; margin-top: 2em; margin-bottom: 2em; }
  .prose img { max-width: 100%; height: auto; border-radius: 0.75rem; margin-top: 2em; margin-bottom: 2em; }
  .prose pre { background: #f4f4f5; border-radius: 0.5rem; padding: 1em; overflow-x: auto; margin-top: 1.5em; margin-bottom: 1.5em; font-size: 0.875em; }
  .prose code { font-size: 0.875em; background: #f4f4f5; padding: 0.2em 0.4em; border-radius: 0.25rem; }
  .prose pre code { background: none; padding: 0; }
  .prose table { width: 100%; border-collapse: collapse; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; }
  .prose th, .prose td { border: 1px solid #e4e4e7; padding: 0.75em 1em; text-align: left; }
  .prose th { background: #f4f4f5; font-weight: 600; }
  .prose s, .prose del { text-decoration: line-through; }
  .prose u { text-decoration: underline; text-underline-offset: 3px; }
  .prose > *:first-child { margin-top: 0; }
  .prose > *:last-child { margin-bottom: 0; }
}

@keyframes scrollUp { 0% { transform: translateY(0); } 100% { transform: translateY(-33.333%); } }
@keyframes scrollLeft { 0% { transform: translateX(0); } 100% { transform: translateX(-33.333%); } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 767px) {
  .mobile-carousel-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0.75rem;
    padding-bottom: 1rem;
  }
  .mobile-carousel-container > * {
    scroll-snap-align: start;
    min-width: 75vw;
    flex-shrink: 0;
  }
}

@media (max-width: 640px) {
  .hero-title-mobile { font-size: 1.75rem !important; line-height: 1.1 !important; }
  .mobile-text-3xl { font-size: 1.75rem !important; }
  .mobile-subtitle { font-size: 0.875rem !important; }
}

/* ─── Landing Page: Navbar (fg-nav-*) ─── */
@layer components {
  #rappid-navbar { position:fixed;top:0;left:0;right:0;z-index:50;height:96px;padding-top:16px;padding-left:20px;padding-right:20px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;transition:padding 0.3s ease, transform 0.35s ease; }
  #rappid-navbar.fg-nav--hidden { transform:translateY(-110%); }
  .fg-nav-inner { align-self:stretch;padding:16px;background:rgba(255,255,255,0.18);border-radius:12px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;transition:background 0.35s ease,border-color 0.35s ease; }
  #rappid-navbar.fg-nav--scrolled .fg-nav-inner { background:rgba(10,10,10,0.88); }
  .page-dark-nav #rappid-navbar .fg-nav-inner { background:rgba(10,10,10,0.88); }
  .fg-nav-row { align-self:stretch;display:flex;justify-content:space-between;align-items:center; }
  .fg-nav-left { display:flex;justify-content:flex-start;align-items:center;gap:24px; }
  .fg-nav-logo { text-decoration:none;display:flex;justify-content:center;align-items:center;gap:12px; }
  .fg-nav-logo-icon { width:40px;height:40px;position:relative;background:black;border-radius:12px;flex-shrink:0; }
  .fg-nav-logo-text { font-family:'europa',sans-serif;font-size:24px;font-weight:600;line-height:31.20px;color:black;text-align:center; }
  .fg-nav-links { display:flex;justify-content:flex-start;align-items:center;gap:8px; }
  .fg-nav-link { text-decoration:none;padding:4px 12px;border-radius:24px;display:inline-flex;justify-content:flex-start;align-items:center;gap:2px; }
  .fg-nav-link-text { font-family:'europa',sans-serif;font-size:16px;font-weight:500;line-height:24px;color:white;text-align:center; }
  /* Active nav link underline */
  .fg-nav-link--active .fg-nav-link-text { text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px;text-decoration-color:rgba(255,255,255,0.85); }
  /* White navbar variant (light background) */
  .fg-nav--light .fg-nav-link--active .fg-nav-link-text,
  .page-light-nav #rappid-navbar .fg-nav-link--active .fg-nav-link-text { text-decoration-color:rgba(10,10,10,0.85); }
  .fg-nav-right { display:flex;justify-content:flex-start;align-items:center;gap:20px; }
  .fg-nav-signup { text-decoration:none;height:36px;min-width:48px;padding:6px 12px;border-radius:8px;display:flex;justify-content:center;align-items:center;gap:2px; }
  .fg-nav-signup-text { font-family:'europa',sans-serif;font-size:16px;font-weight:600;line-height:24px;color:white;text-align:center; }
  .fg-nav-login { text-decoration:none;height:36px;min-width:48px;padding:6px 16px;background:white;border-radius:8px;display:flex;justify-content:center;align-items:center;gap:2px;white-space:nowrap; }
  .fg-nav-login-text { font-family:'europa',sans-serif;font-size:16px;font-weight:600;line-height:24px;color:black;text-align:center;white-space:nowrap; }
  .fg-nav-logo-img { height:32px;width:auto;display:block;object-fit:contain; }
  .fg-nav-hamburger { display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent; }
  .fg-nav-hamburger span { display:block;width:22px;height:2px;background:white;border-radius:2px;transition:transform 0.25s,opacity 0.25s; }
  .fg-nav-mobile-menu { display:none;flex-direction:column;gap:4px;width:100%;padding:8px 0 4px;border-top:1px solid rgba(255,255,255,0.12); }
  .fg-nav-mobile-menu.is-open { display:flex; }
  .fg-nav-mobile-link { text-decoration:none;padding:10px 16px;border-radius:8px;font-family:'europa',sans-serif;font-size:17px;font-weight:500;color:rgba(255,255,255,0.90);display:flex;align-items:center;gap:6px;-webkit-tap-highlight-color:transparent; }
  .fg-nav-mobile-link:hover { background:rgba(255,255,255,0.08); color:#fff; }
  .fg-nav-mobile-link--active { color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;text-decoration-color:rgba(255,255,255,0.80); }
  .fg-nav-logo { -webkit-tap-highlight-color:transparent; }
  .fg-nav-mobile-divider { height:1px;background:rgba(255,255,255,0.12);margin:4px 16px; }
  .fg-nav-mobile-cta { display:flex;gap:10px;padding:8px 16px; }
  .fg-nav-mobile-signup { flex:1;text-align:center;text-decoration:none;height:44px;border:1.5px solid rgba(255,255,255,0.60);border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:'europa',sans-serif;font-size:15px;font-weight:600;color:#fff; }
  .fg-nav-mobile-login { flex:1;text-align:center;text-decoration:none;height:44px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:'europa',sans-serif;font-size:15px;font-weight:600;color:#0a0a0a; }
  @media (max-width:1100px) {
    #rappid-navbar { padding-left:8px;padding-right:8px;height:auto; }
    .fg-nav-links, .fg-nav-right { display:none; }
    .fg-nav-hamburger { display:flex; }
  }
}
@layer base {
  :root {
    --fg-font: 'europa', system-ui, sans-serif;
    --fg-font-inter: 'Inter', system-ui, sans-serif;
    --fg-font-dm: 'DM Sans', system-ui, sans-serif;
    --fg-bg-white: white;
    --fg-bg-secondary: #F8F8F8;
    --fg-bg-dark: #0A0A0A;
    --fg-bg-dark-card: #292927;
    --fg-bg-purple: #B7B2FF;
    --fg-bg-purple-light: #D2CFFF;
    --fg-bg-badge-blue: #C6E6FB;
    --fg-text-primary: black;
    --fg-text-secondary: rgba(0,0,0,0.60);
    --fg-text-tertiary: rgba(0,0,0,0.44);
    --fg-text-disabled: rgba(0,0,0,0.36);
    --fg-text-white: white;
    --fg-text-white-60: rgba(255,255,255,0.60);
    --fg-border: rgba(0,0,0,0.12);
    --fg-border-60: rgba(0,0,0,0.60);
    --fg-px: 120px;
    --fg-py: 64px;
  }
}

@layer components {
  /* ─── SHARED ─────────────────────────────── */
  .fg-section {
    width: 100%;
    max-width: 1440px;
    min-width: 375px;
    padding: var(--fg-py) var(--fg-px);
    background: var(--fg-bg-white);
    overflow: hidden;
  }

  .fg-section--dark {
    background: var(--fg-bg-dark);
  }

  .fg-heading-96 {
    font-family: var(--fg-font);
    font-size: 96px;
    font-weight: 500;
    line-height: 112px;
    color: var(--fg-text-white);
    align-self: stretch;
  }

  .fg-heading-56 {
    font-family: var(--fg-font);
    font-size: 56px;
    font-weight: 600;
    line-height: 60px;
    color: var(--fg-text-primary);
    align-self: stretch;
  }

  .fg-heading-48 {
    font-family: var(--fg-font);
    font-size: 48px;
    font-weight: 600;
    line-height: 56px;
    color: var(--fg-text-primary);
    align-self: stretch;
  }

  .fg-heading-48--white {
    font-family: var(--fg-font);
    font-size: 48px;
    font-weight: 600;
    line-height: 56px;
    color: var(--fg-text-white);
    flex: 1 1 0;
    min-width: 343px;
  }

  .fg-heading-44 {
    font-family: var(--fg-font);
    font-size: 44px;
    font-weight: 600;
    line-height: 48px;
    color: var(--fg-text-primary);
    align-self: stretch;
  }

  .fg-body-18 {
    font-family: var(--fg-font);
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    color: var(--fg-text-secondary);
    align-self: stretch;
  }

  .fg-body-16 {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--fg-text-secondary);
  }

  .fg-body-14 {
    font-family: var(--fg-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--fg-text-secondary);
  }

  /* ─── BUTTONS ────────────────────────────── */
  .fg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    font-family: var(--fg-font);
    border-radius: 8px;
    gap: 8px;
  }

  .fg-btn--primary {
    background: var(--fg-text-primary);
    color: var(--fg-text-white);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    padding: 20px 24px;
    height: 56px;
    min-width: 48px;
  }

  .fg-btn--primary-sm {
    background: var(--fg-text-primary);
    color: var(--fg-text-white);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    padding: 12px 24px;
    min-width: 48px;
  }

  .fg-btn--outline {
    background: transparent;
    color: var(--fg-text-primary);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    padding: 20px 24px;
    height: 56px;
    min-width: 48px;
    outline: 1px solid var(--fg-border-60);
    outline-offset: -1px;
  }

  .fg-btn--ghost {
    background: transparent;
    color: var(--fg-text-primary);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    padding: 6px 12px;
    height: 36px;
    min-width: 48px;
  }

  .fg-btn--purple {
    background: var(--fg-bg-purple);
    color: var(--fg-text-primary);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    padding: 20px 24px;
    height: 56px;
    min-width: 48px;
  }

  .fg-btn--white-outline {
    background: transparent;
    color: var(--fg-text-white);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    padding: 20px 24px;
    height: 56px;
    min-width: 48px;
    outline: 1px solid var(--fg-text-white);
    outline-offset: -1px;
  }

  .fg-btn--login {
    background: var(--fg-text-primary);
    color: var(--fg-text-white);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    padding: 6px 12px;
    height: 36px;
    width: 101px;
    min-width: 48px;
  }

  /* ─── HERO ───────────────────────────────── */
  .fg-hero {
    position: relative;
    align-self: stretch;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%);
  }

  .fg-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .fg-hero__overlay {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .fg-hero__spacer {
    height: calc(96px + var(--ann-bar-h, 0px));
    align-self: stretch;
  }

  .fg-hero__content {
    align-self: stretch;
    min-height: 724px;
    padding-bottom: 40px;
    padding-left: var(--fg-px);
    padding-right: var(--fg-px);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 24px;
  }

  .fg-hero__top-row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 56px;
    flex-wrap: wrap;
    align-content: flex-end;
  }

  .fg-hero__text-col {
    flex: 1 1 0;
    min-width: 343px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
  }

  .fg-hero__cta-row {
    width: 355px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-hero__divider {
    align-self: stretch;
    height: 1px;
    background: var(--fg-border);
  }

  .fg-hero__stats-row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .fg-stat {
    flex: 1 1 0;
    min-width: 132px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
  }

  .fg-stat__value {
    font-family: var(--fg-font);
    font-size: 24px;
    font-weight: 600;
    line-height: 28px;
    color: var(--fg-text-primary);
    text-align: center;
  }

  .fg-stat__label {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--fg-text-secondary);
    align-self: stretch;
  }

  /* Trending card — absolute positioned, unique position handled inline */
  .fg-trend-card {
    width: 416px;
    padding: 12px;
    background: rgba(255,255,255,0.60);
    overflow: hidden;
    border-radius: 16px;
    backdrop-filter: blur(16px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  .fg-trend-card__header {
    align-self: stretch;
    padding-left: 8px;
    padding-right: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .fg-trend-card__title {
    font-family: var(--fg-font-inter);
    font-size: 16px;
    font-weight: 500;
    line-height: 20.80px;
    color: var(--fg-text-primary);
  }

  .fg-trend-card__body {
    align-self: stretch;
    padding: 16px;
    background: rgba(255,255,255,0.60);
    border-radius: 12px;
    backdrop-filter: blur(50px);
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .fg-trend-card__company-row {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .fg-trend-card__avatar {
    width: 36px;
    height: 36px;
    background: var(--fg-bg-secondary);
    border-radius: 100px;
    flex-shrink: 0;
  }

  .fg-trend-card__company-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
  }

  .fg-trend-card__online {
    font-family: var(--fg-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--fg-text-secondary);
  }

  .fg-trend-card__company-name {
    font-family: var(--fg-font-inter);
    font-size: 14px;
    font-weight: 500;
    line-height: 18.20px;
    color: var(--fg-text-primary);
  }

  .fg-trend-card__price-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 2px;
  }

  .fg-trend-card__price-label {
    font-family: var(--fg-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--fg-text-secondary);
  }

  .fg-trend-card__price-value {
    font-family: var(--fg-font);
    font-size: 28px;
    font-weight: 600;
    line-height: 36px;
    color: var(--fg-text-primary);
  }

  .fg-trend-card__change-badge {
    padding: 4px 8px;
    background: var(--fg-bg-purple);
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
  }

  .fg-trend-card__change-text {
    font-family: var(--fg-font-inter);
    font-size: 12px;
    font-weight: 500;
    line-height: 15.60px;
    color: var(--fg-text-primary);
  }

  /* ─── BADGE ──────────────────────────────── */
  .fg-badge-new {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px 8px 8px;
    background: var(--fg-bg-badge-blue);
    border-radius: 8px;
  }

  .fg-badge-new__pill {
    height: 28px;
    padding: 6px 12px;
    background: var(--fg-text-primary);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .fg-badge-new__pill-text {
    font-family: var(--fg-font);
    font-size: 12px;
    font-weight: 500;
    line-height: 24px;
    color: var(--fg-text-white);
    text-align: center;
  }

  .fg-badge-new__label {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: var(--fg-text-primary);
  }

  /* ─── FEATURES 1 ─────────────────────────── */
  .fg-f1__wrapper {
    align-self: stretch;
    padding: 56px;
    background: var(--fg-bg-secondary);
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
  }

  .fg-f1__top-row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-f1__text-col {
    flex: 1 1 0;
    min-width: 343px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 40px;
  }

  .fg-f1__img {
    flex: 1 1 0;
    height: 432px;
    min-width: 343px;
    min-height: 282px;
    background: var(--fg-bg-purple);
    border-radius: 16px;
    object-fit: cover;
  }

  .fg-f1__stats-row {
    align-self: stretch;
    padding-top: 40px;
    border-top: 1px solid var(--fg-border);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .fg-f1__stat {
    width: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
  }

  .fg-f1__stat-value {
    font-family: var(--fg-font);
    font-size: 24px;
    font-weight: 600;
    line-height: 28px;
    color: var(--fg-text-primary);
    text-align: center;
  }

  .fg-f1__stat-label {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--fg-text-secondary);
    max-width: 197px;
  }

  /* ─── TESTIMONIALS ───────────────────────── */
  .fg-testimonials__row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 48px;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .fg-testimonials__left {
    flex: 1 1 0;
    min-width: 343px;
    height: 477px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .fg-testimonials__card {
    align-self: stretch;
    min-width: 343px;
    padding: 24px;
    background: var(--fg-bg-secondary);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    margin-top: 24px;
  }

  .fg-testimonials__quote {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--fg-text-primary);
    align-self: stretch;
  }

  .fg-testimonials__author-name {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: var(--fg-text-primary);
  }

  .fg-testimonials__author-role {
    font-family: var(--fg-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--fg-text-tertiary);
    align-self: stretch;
  }

  .fg-testimonials__logos {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    margin-top: 8px;
  }

  .fg-testimonials__logo-img {
    height: 36px;
    width: auto;
    object-fit: contain;
    opacity: 0.85;
  }

  /* ─── CENTERED TESTIMONIAL ───────────────── */
  .fg-testi-centered {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .fg-testi-centered__quote {
    font-family: var(--fg-font);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.55;
    color: var(--fg-text-primary);
    text-align: center;
  }

  .fg-testi-centered__author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .fg-testi-centered__avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    display: block;
  }

  .fg-testi-centered__name {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--fg-text-primary);
  }

  .fg-testi-centered__role {
    font-family: var(--fg-font);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--fg-text-tertiary);
    text-align: center;
  }

  .fg-testi-centered__logos {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 4px;
  }

  .fg-testimonials__img {
    flex: 1 1 0;
    height: 480px;
    min-width: 343px;
    min-height: 285px;
    border-radius: 24px;
    object-fit: cover;
  }

  /* ─── SLIDER ─────────────────────────────── */
  .fg-slider__section {
    width: 100%;
    max-width: 1440px;
    min-width: 375px;
    padding-bottom: 56px;
    background: var(--fg-bg-white);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
  }

  .fg-slider__heading-wrap {
    align-self: stretch;
    padding-left: var(--fg-px);
    padding-right: var(--fg-px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .fg-slider__heading {
    font-family: var(--fg-font);
    font-size: 56px;
    font-weight: 600;
    line-height: 68px;
    color: var(--fg-text-primary);
    text-align: center;
    align-self: stretch;
  }

  .fg-slider__viewport {
    align-self: stretch;
    overflow: hidden;
    position: relative;
    height: 523px;
  }

  .fg-slider__track {
    display: flex;
    gap: 24px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    align-items: center;
  }

  .fg-slide {
    width: 930px;
    height: 523px;
    border-radius: 24px;
    object-fit: cover;
    flex-shrink: 0;
    transition: opacity 0.5s, transform 0.5s;
    opacity: 0.8;
  }

  .fg-slide--active {
    opacity: 1;
    transform: scale(1.02);
  }

  .fg-slider__controls {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: center;
  }

  .fg-slider__dots {
    padding: 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  .fg-slider__dot {
    width: 6px;
    height: 6px;
    background: var(--fg-text-disabled);
    border-radius: 16px;
    cursor: pointer;
    transition: width 0.3s, background 0.3s;
  }

  .fg-slider__dot--active {
    width: 28px;
    background: var(--fg-text-primary);
  }

  .fg-slider__btn {
    width: 36px;
    height: 36px;
    background: var(--fg-text-primary);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: none;
    padding: 6px 8px;
  }

  /* ─── FEATURES 2 ─────────────────────────── */
  .fg-f2__row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 48px;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .fg-f2__left {
    flex: 1 1 0;
    min-width: 343px;
    height: 444px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 48px;
  }

  .fg-f2__text-block {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 56px;
  }

  .fg-f2__stats-row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .fg-f2__stat-col {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
  }

  .fg-f2__stat-value {
    font-family: var(--fg-font);
    font-size: 48px;
    font-weight: 600;
    line-height: 56px;
    color: var(--fg-text-primary);
    text-align: center;
  }

  .fg-f2__right {
    flex: 1 1 0;
    height: 494px;
    min-width: 343px;
    min-height: 294px;
    position: relative;
    background: var(--fg-bg-secondary);
    overflow: hidden;
    border-radius: 24px;
  }

  .fg-f2__right-blur1 {
    position: absolute;
    width: 296px;
    height: 268px;
    left: 139px;
    top: 32px;
    background: rgba(255,255,255,0.30);
    border-radius: 11px;
  }

  .fg-f2__right-blur2 {
    position: absolute;
    width: 329px;
    height: 268px;
    left: 123px;
    top: 44px;
    background: rgba(255,255,255,0.50);
    border-radius: 11px;
  }

  .fg-f2__right-img {
    position: absolute;
    width: 362px;
    height: 404px;
    left: 106px;
    top: 64px;
    object-fit: cover;
  }

  /* ─── FEATURES 3 (3 cards) ───────────────── */
  .fg-f3__header-row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 24px;
    flex-wrap: wrap;
    align-content: flex-end;
  }

  .fg-f3__title-col {
    flex: 1 1 0;
    min-width: 343px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 16px;
  }

  .fg-f3__desc-col {
    flex: 1 1 0;
    min-width: 343px;
    font-family: var(--fg-font);
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    color: var(--fg-text-secondary);
  }

  .fg-f3__cards-row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-card-3 {
    flex: 1 1 0;
    height: 339px;
    min-width: 343px;
    padding: 40px;
    background: var(--fg-bg-secondary);
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .fg-card-3__top {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
  }

  .fg-card-3__num {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--fg-text-primary);
    height: 20px;
    display: flex;
    align-items: center;
    align-self: stretch;
  }

  .fg-card-3__icon {
    width: 48px;
    height: 48px;
    padding: 4px;
    background: var(--fg-text-primary);
    box-shadow: 0px 1px 4px rgba(0,0,0,0.08);
    border-radius: 8px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  .fg-card-3__bottom {
    align-self: stretch;
    min-height: 119px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
  }

  .fg-card-3__title {
    font-family: var(--fg-font);
    font-size: 24px;
    font-weight: 600;
    line-height: 28px;
    color: var(--fg-text-primary);
    align-self: stretch;
    height: 36px;
    display: flex;
    align-items: center;
  }

  .fg-card-3__desc {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    color: var(--fg-text-tertiary);
    align-self: stretch;
  }

  /* ─── EXPERT GRID ───────────────────────── */
  .fg-experts-grid {
    align-self: stretch;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  .fg-expert-card {
    position: relative;
    height: 339px;
    border-radius: 24px;
    overflow: hidden;
    background: #1a1a1a;
  }

  .fg-expert-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
  }

  .fg-expert-card__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 20px 24px;
    background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.48) 60%, transparent 100%);
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .fg-expert-card__name {
    font-family: var(--fg-font);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: #ffffff;
  }

  .fg-expert-card__title {
    font-family: var(--fg-font);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: rgba(255,255,255,0.70);
  }

  /* ─── PRICING ────────────────────────────── */
  .fg-pricing__cards-row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-pricing-card {
    flex: 1 1 0;
    min-width: 343px;
    background: var(--fg-bg-secondary);
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .fg-pricing-card__top {
    align-self: stretch;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
  }

  .fg-pricing-card__header {
    align-self: stretch;
    padding-bottom: 8px;
    padding-right: 80px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 12px;
  }

  .fg-pricing-card__name-row {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
  }

  .fg-pricing-card__icon {
    width: 48px;
    height: 48px;
    padding: 4px;
    background: var(--fg-bg-white);
    box-shadow: 0px 4px 32px rgba(0,0,0,0.06);
    border-radius: 360px;
    outline: 1px solid var(--fg-border);
    outline-offset: -1px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
  }

  .fg-pricing-card__name {
    font-family: var(--fg-font);
    font-size: 36px;
    font-weight: 600;
    line-height: 40px;
    color: var(--fg-text-primary);
  }

  .fg-pricing-card__desc {
    font-family: var(--fg-font);
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    color: var(--fg-text-tertiary);
    align-self: stretch;
    display: flex;
    align-items: center;
  }

  .fg-pricing-card__price-row {
    overflow: hidden;
    display: inline-flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 4px;
  }

  .fg-pricing-card__price {
    font-family: var(--fg-font);
    font-size: 48px;
    font-weight: 600;
    line-height: 56px;
    color: var(--fg-text-primary);
    display: flex;
    align-items: center;
  }

  .fg-pricing-card__period {
    font-family: var(--fg-font-dm);
    font-size: 16px;
    font-weight: 400;
    line-height: 22.40px;
    color: var(--fg-text-primary);
    display: flex;
    align-items: center;
  }

  .fg-pricing-card__bottom {
    align-self: stretch;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 24px;
  }

  .fg-pricing-card__features {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
  }

  .fg-pricing-card__features-title {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: var(--fg-text-primary);
    align-self: stretch;
  }

  .fg-pricing-card__feature-list {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 12px;
  }

  .fg-pricing-card__feature {
    align-self: stretch;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
  }

  .fg-pricing-card__feature-num {
    font-family: var(--fg-font-inter);
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    color: var(--fg-text-primary);
  }

  .fg-pricing-card__feature-label {
    flex: 1 1 0;
    font-family: var(--fg-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--fg-text-secondary);
  }

  .fg-pricing-card__cta {
    align-self: stretch;
    padding-top: 16px;
    display: inline-flex;
    justify-content: center;
    align-items: flex-start;
    gap: 12px;
  }

  /* ─── DASHBOARD ──────────────────────────── */
  .fg-dash__row {
    align-self: stretch;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 56px;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-dash__left {
    flex: 1 1 0;
    height: 517px;
    min-width: 343px;
    min-height: 310px;
    position: relative;
    overflow: visible;
  }

  .fg-dash__preview-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top left;
    border-radius: 32px;
    display: block;
  }

  .fg-dash__macbook {
    position: absolute;
    width: 489px;
    height: 513px;
    left: 78px;
    top: 51px;
    overflow: hidden;
  }

  .fg-dash__macbook-frame {
    position: absolute;
    width: 910px;
    height: 602px;
    left: 2px;
    top: 2px;
  }

  .fg-dash__macbook-bg1 {
    position: absolute;
    width: 1439px;
    height: 1657px;
    left: -265px;
    top: -542px;
    background: var(--fg-text-primary);
  }

  .fg-dash__macbook-bg2 {
    position: absolute;
    width: 910px;
    height: 602px;
    left: 0;
    top: 0;
    background: var(--fg-bg-dark-card);
  }

  .fg-dash__macbook-outline {
    position: absolute;
    width: 910px;
    height: 602px;
    left: 0;
    top: 0;
    outline: 2.35px #636360 solid;
    outline-offset: -1.18px;
  }

  .fg-dash__screen-img {
    position: absolute;
    width: 894px;
    height: 585px;
    left: 8px;
    top: 7px;
    border-radius: 57px;
    object-fit: cover;
  }

  .fg-dash__widget-img {
    position: absolute;
    width: 309px;
    height: 259px;
    left: 6px;
    top: 225px;
    box-shadow: 0px 4px 6px rgba(0,0,0,0.15);
    object-fit: cover;
  }

  .fg-dash__right {
    flex: 1 1 0;
    min-width: 343px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 40px;
  }

  .fg-dash__features {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
  }

  .fg-dash__feature-item {
    align-self: stretch;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
  }

  .fg-dash__check-icon {
    width: 24px;
    height: 24px;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
  }

  .fg-dash__check-inner {
    width: 16px;
    height: 16px;
    left: 4px;
    top: 4px;
    position: absolute;
    overflow: hidden;
  }

  .fg-dash__check-mark {
    width: 12px;
    height: 8px;
    left: 2px;
    top: 4px;
    position: absolute;
    outline: 2px solid var(--fg-text-primary);
    outline-offset: -1px;
  }

  .fg-dash__feature-text {
    flex: 1 1 0;
    font-family: var(--fg-font);
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    color: var(--fg-text-primary);
  }

  /* ─── FAQ ────────────────────────────────── */
  .fg-faq__badge-wrap {
    padding: 4px;
    background: var(--fg-bg-white);
    box-shadow: 0px 4px 32px rgba(0,0,0,0.06);
    border-radius: 16px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  .fg-faq__badge-pill {
    height: 28px;
    max-height: 28px;
    padding: 6px 12px;
    background: var(--fg-text-primary);
    border-radius: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
  }

  .fg-faq__badge-text {
    font-family: var(--fg-font);
    font-size: 12px;
    font-weight: 500;
    line-height: 24px;
    color: var(--fg-text-white);
    text-align: center;
  }

  .fg-faq__badge-label {
    font-family: var(--fg-font);
    font-size: 12px;
    font-weight: 500;
    line-height: 24px;
    color: var(--fg-text-primary);
    padding: 0 8px;
  }

  .fg-faq__columns {
    align-self: stretch;
    min-width: 343px;
    margin-top: 32px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-faq__col {
    flex: 1 1 0;
    min-width: 343px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
  }

  .fg-faq-item {
    align-self: stretch;
    background: var(--fg-bg-secondary);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .fg-faq-item__question {
    padding: 24px;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    cursor: pointer;
    user-select: none;
    min-height: 76px;
  }

  .fg-faq-item__num {
    width: 40px;
    font-family: var(--fg-font);
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    color: var(--fg-text-tertiary);
    flex-shrink: 0;
  }

  .fg-faq-item__text {
    flex: 1 1 0;
    font-family: var(--fg-font);
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: var(--fg-text-primary);
  }

  .fg-faq-item__toggle {
    width: 32px;
    height: 32px;
    padding: 6px 4px;
    background: var(--fg-bg-white);
    box-shadow: 0px 4px 32px rgba(0,0,0,0.06);
    border-radius: 360px;
    outline: 1px solid var(--fg-border);
    outline-offset: -1px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    transition: transform 0.3s;
  }

  .fg-faq-item__toggle-icon {
    width: 12px;
    height: 12px;
    background: var(--fg-text-primary);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    transition: transform 0.3s;
  }

  .fg-faq-item__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.3s;
  }

  .fg-faq-item__answer-inner {
    padding: 0 24px 24px;
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--fg-text-secondary);
  }

  .fg-faq-item--open .fg-faq-item__answer {
    max-height: 300px;
  }

  .fg-faq-item--open .fg-faq-item__toggle-icon {
    transform: rotate(180deg);
  }

  /* ─── FOOTER ─────────────────────────────── */
  .fg-footer {
    width: 100%;
    max-width: 1440px;
    min-width: 375px;
    padding: 72px var(--fg-px);
    background: var(--fg-bg-dark);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
  }

  .fg-footer__inner {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 56px;
  }

  .fg-footer__cta-row {
    align-self: stretch;
    padding-bottom: 56px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 48px;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-footer__cta-btns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-footer__nav-wrap {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
  }

  .fg-footer__nav-row {
    align-self: stretch;
    display: inline-flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 120px;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .fg-footer__logo-text {
    font-family: var(--fg-font);
    font-size: 24px;
    font-weight: 600;
    line-height: 31.20px;
    color: var(--fg-text-white);
    text-align: center;
  }

  .fg-footer__cols {
    flex: 1 1 0;
    min-width: 343px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .fg-footer__col {
    flex: 1 1 0;
    min-width: 156px;
    padding-bottom: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 12px;
  }

  .fg-footer__col-title {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: var(--fg-text-white);
    align-self: stretch;
  }

  .fg-footer__col-links {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
  }

  .fg-footer__link {
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: var(--fg-text-white-60);
    align-self: stretch;
    text-decoration: none;
    cursor: default;
  }

  .fg-footer__bottom-bar {
    align-self: stretch;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    align-content: center;
  }

  .fg-footer__copyright {
    flex: 1 1 0;
    min-width: 343px;
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--fg-text-white-60);
  }

  .fg-footer__social-row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
  }

  .fg-footer__disclaimer {
    align-self: stretch;
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--fg-text-white-60);
  }

  /* ─── RESPONSIVE ─────────────────────────── */
  @media (max-width: 1200px) {
    :root {
      --fg-px: 48px;
    }
    .fg-hero__content {
      padding-left: 48px;
      padding-right: 48px;
    }
    .fg-slider__heading-wrap {
      padding-left: 48px;
      padding-right: 48px;
    }
  }

  @media (max-width: 767px) {
    :root {
      --fg-px: 20px;
      --fg-py: 40px;
    }
    .fg-heading-96 {
      font-size: 48px;
      line-height: 56px;
      height: auto;
    }
    .fg-heading-56 {
      font-size: 36px;
      line-height: 44px;
    }
    .fg-heading-48, .fg-heading-48--white {
      font-size: 32px;
      line-height: 40px;
    }
    .fg-hero__content {
      padding-left: 20px;
      padding-right: 20px;
    }
    .fg-hero__cta-row {
      width: 100%;
    }
    .fg-f1__wrapper {
      padding: 24px;
    }
    .fg-slider__heading-wrap {
      padding-left: 20px;
      padding-right: 20px;
    }
    .fg-trend-card {
      display: none;
    }
    .fg-footer__nav-row {
      gap: 32px;
    }
    .fg-experts-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }
    .fg-expert-card {
      height: 280px;
    }
  }
}

/* ─── Landing Page: Footer single-dash (fg-footer-*) ─── */
@layer components {
  .fg-footer-cta-section{width:100%;max-width:1440px;min-width:375px;padding:64px 120px;background:#0A0A0A;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
  .fg-footer-cta-inner{align-self:stretch;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
  .fg-footer-cta-text{font-family:'europa',sans-serif;font-size:40px;font-weight:600;line-height:1.2;color:white;max-width:480px}
  .fg-footer-cta-btns{display:flex;gap:16px;flex-wrap:wrap}
  .fg-footer-cta-btn-purple{text-decoration:none;padding:14px 28px;background:#7B5EF6;border-radius:8px;display:flex;justify-content:center;align-items:center}
  .fg-footer-cta-btn-purple-text{font-family:'europa',sans-serif;font-size:16px;font-weight:600;line-height:24px;color:white}
  .fg-footer-cta-btn-outline{text-decoration:none;padding:14px 28px;border-radius:8px;border:1.5px solid rgba(255,255,255,0.3);display:flex;justify-content:center;align-items:center}
  .fg-footer-cta-btn-outline-text{font-family:'europa',sans-serif;font-size:16px;font-weight:600;line-height:24px;color:white}
  .fg-footer-nav-wrap{align-self:stretch;display:flex;flex-direction:column;gap:48px}
  .fg-footer-nav-row{align-self:stretch;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
  .fg-footer-logo-link{text-decoration:none;display:flex;align-items:center;gap:12px}
  .fg-footer-logo-icon{width:40px;height:40px;position:relative;background:black;border-radius:12px;flex-shrink:0}
  .fg-footer-logo-text{font-family:'europa',sans-serif;font-size:24px;font-weight:600;line-height:31.2px;color:white}
  .fg-footer-cols{display:flex;gap:40px;flex-wrap:wrap;flex:1 1 auto}
  .fg-footer-col{display:flex;flex-direction:column;gap:16px;min-width:120px}
  .fg-footer-col-title{font-family:'europa',sans-serif;font-size:14px;font-weight:600;line-height:20px;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:0.05em}
  .fg-footer-col-links{display:flex;flex-direction:column;gap:12px}
  .fg-footer-col-link{text-decoration:none;font-family:'europa',sans-serif;font-size:14px;font-weight:400;line-height:20px;color:rgba(255,255,255,0.7)}
  .fg-footer-col-link:hover{color:white}
  .fg-footer-bottom{align-self:stretch;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1)}
  .fg-footer-copyright{font-family:'europa',sans-serif;font-size:14px;font-weight:400;line-height:20px;color:rgba(255,255,255,0.4)}
  .fg-footer-social-row{display:flex;align-items:center;gap:16px}
  .fg-footer-social-icon{width:24px;height:24px;position:relative;flex-shrink:0;text-decoration:none !important;}
  .fg-footer-social-icon i{text-decoration:none !important;}
  .fg-footer-disclaimer{align-self:stretch;font-family:'europa',sans-serif;font-size:12px;font-weight:400;line-height:18px;color:rgba(255,255,255,0.3);margin-top:32px}
  @media (max-width:767px){
    .fg-footer-cta-section{padding:48px 24px}
    .fg-footer-cta-text{font-size:28px}
    .fg-footer-nav-row{flex-direction:column}
    .fg-footer-cols{flex-direction:column}
  }
}

/* ─── Menta-specific additions ─── */
@layer components {
  /* Hero video background */
  .fg-hero__bg-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .fg-hero__bg-fallback {
    display: none;
  }
  /* Override hero subtitle color to white */
  .fg-hero__subtitle {
    color: rgba(255,255,255,0.80) !important;
    max-width: 480px;
  }
  /* Ghost button white text for dark hero */
  .fg-btn--ghost {
    color: white !important;
  }
  /* Stats on hero need white text */
  .fg-hero__stats-row .fg-stat__value {
    color: white;
  }
  .fg-hero__stats-row .fg-stat__label {
    color: rgba(255,255,255,0.65);
  }
  .fg-hero__divider {
    background: rgba(255,255,255,0.20) !important;
  }

  /* Trust card (replaces Trending card) */
  .fg-trust-card {
    width: 416px;
    padding: 12px;
    background: rgba(255,255,255,0.60);
    overflow: hidden;
    border-radius: 16px;
    backdrop-filter: blur(16px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    position: absolute;
    right: 120px;
    top: 29px;
  }
  .fg-trust-card__header {
    align-self: stretch;
    padding: 0 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .fg-trust-card__title {
    font-family: var(--fg-font-inter);
    font-size: 16px;
    font-weight: 500;
    line-height: 20.80px;
    color: var(--fg-text-primary);
  }
  .fg-trust-card__icon-wrap {
    width: 36px;
    height: 36px;
    background: rgba(12,12,12,0.04);
    border-radius: 6px;
    backdrop-filter: blur(50px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .fg-trust-card__body {
    align-self: stretch;
    padding: 16px;
    background: rgba(255,255,255,0.60);
    border-radius: 12px;
    backdrop-filter: blur(50px);
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .fg-trust-card__org-row {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .fg-trust-card__avatar {
    width: 36px;
    height: 36px;
    background: var(--fg-bg-secondary);
    border-radius: 100px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .fg-trust-card__org-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
  }
  .fg-trust-card__verified {
    font-family: var(--fg-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--fg-text-secondary);
  }
  .fg-trust-card__org-name {
    font-family: var(--fg-font-inter);
    font-size: 14px;
    font-weight: 500;
    line-height: 18.20px;
    color: var(--fg-text-primary);
  }
  .fg-trust-card__detail-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .fg-trust-card__details {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .fg-trust-card__label {
    font-family: var(--fg-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--fg-text-secondary);
  }
  .fg-trust-card__value {
    font-family: var(--fg-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    color: var(--fg-text-primary);
  }
  .fg-trust-card__badge {
    padding: 4px 8px;
    background: var(--fg-bg-purple);
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }
  .fg-trust-card__badge-text {
    font-family: var(--fg-font-inter);
    font-size: 12px;
    font-weight: 500;
    line-height: 15.60px;
    color: var(--fg-text-primary);
  }
  @media (max-width: 767px) {
    .fg-trust-card { display: none; }
  }

  /* Slider content cards */
  .fg-slide--content {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 32px;
    position: relative;
  }
  .fg-slide-label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: rgba(255,255,255,0.85);
    border-radius: 12px;
    padding: 16px 20px;
    backdrop-filter: blur(8px);
  }
  .fg-slide-label__cat {
    font-family: var(--fg-font);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--fg-text-secondary);
  }
  .fg-slide-label__title {
    font-family: var(--fg-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    color: var(--fg-text-primary);
  }

  /* Feature 2 placeholder */
  .fg-feature-bg-placeholder {
    position: absolute;
    width: 978px;
    height: 550px;
    left: 0;
    top: 0;
    background: linear-gradient(135deg, #E8F4FD 0%, #DBEAFE 100%);
  }
  /* Content preview cards inside feature 2 right panel */
  .fg-f2__content-preview {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 2;
  }
  .fg-content-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.10);
    min-width: 240px;
  }
  .fg-content-card--sm {
    opacity: 0.85;
    min-width: 200px;
  }
  .fg-content-card__icon {
    font-size: 24px;
    width: 44px;
    height: 44px;
    background: #F8FAFC;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .fg-content-card__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
  }
  .fg-content-card__title {
    font-family: var(--fg-font);
    font-size: 14px;
    font-weight: 600;
    color: var(--fg-text-primary);
  }
  .fg-content-card__sub {
    font-family: var(--fg-font);
    font-size: 12px;
    color: var(--fg-text-secondary);
  }
  .fg-content-card__tag {
    font-family: var(--fg-font);
    font-size: 11px;
    font-weight: 600;
    padding: 4px 8px;
    background: #DCFCE7;
    color: #16A34A;
    border-radius: 6px;
    flex-shrink: 0;
  }

  /* Dashboard screen placeholder */
  .fg-dash__screen-placeholder {
    position: absolute;
    width: 894px;
    height: 585px;
    left: 8px;
    top: 7px;
    border-radius: 57px;
    overflow: hidden;
    background: #1E293B;
    display: flex;
    align-items: stretch;
  }
  .fg-screen-ui {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px 24px;
    gap: 0;
  }
  .fg-screen-ui__header {
    display: flex;
    gap: 6px;
    padding-bottom: 16px;
  }
  .fg-screen-ui__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
  }
  .fg-screen-ui__content {
    flex: 1;
    padding: 0 16px;
  }

  /* Dashboard widget card */
  .fg-dash__widget-card {
    position: absolute;
    left: 6px;
    top: 225px;
    width: 240px;
    background: white;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0px 4px 20px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .fg-widget-stat {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .fg-widget-stat__icon {
    font-size: 24px;
    width: 40px;
    height: 40px;
    background: #F8FAFC;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .fg-widget-stat__value {
    display: block;
    font-family: var(--fg-font);
    font-size: 16px;
    font-weight: 700;
    color: var(--fg-text-primary);
  }
  .fg-widget-stat__label {
    display: block;
    font-family: var(--fg-font);
    font-size: 12px;
    color: var(--fg-text-secondary);
  }
}

/* ─── Additional classes from inline style removal ─── */
@layer components {
  .fg-logo-piece-h1{width:14.40px;height:9.60px;left:12.80px;top:22.40px;position:absolute;background:white}
  .fg-logo-piece-h2{width:14.40px;height:9.60px;left:12.80px;top:8px;position:absolute;background:white}
  .fg-logo-piece-v1{width:9.60px;height:14.40px;left:8px;top:12.80px;position:absolute;background:white}
  .fg-logo-piece-v2{width:9.60px;height:14.40px;left:22.40px;top:12.80px;position:absolute;background:white}
  .fg-footer-body{align-self:stretch;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:56px;display:flex}
  .fg-social-mail-wrap{width:24px;height:18.46px;left:0;top:2.77px;position:absolute}
  .fg-social-mail-bg1{width:22.06px;height:15.21px;left:0.97px;top:1.63px;position:absolute;background:white}
  .fg-social-mail-bg2{width:21.42px;height:15.21px;left:1.28px;top:1.63px;position:absolute;background:white}
  .fg-social-mail-dot{width:5.57px;height:6.48px;left:9.83px;top:6.02px;position:absolute;background:black}
  .fg-social-insta-sq{width:16px;height:16px;left:4px;top:4px;position:absolute;background:white;outline:1.50px white solid;outline-offset:-0.75px}
  .fg-social-twitter-wrap{width:20px;height:20px;left:2px;top:2px;position:absolute}
  .fg-social-twitter-bg1{width:20px;height:20px;left:0;top:0;position:absolute;background:white}
  .fg-social-twitter-bg2{width:20.13px;height:20px;left:0;top:0;position:absolute;background:white}
  .fg-social-linkedin-bar{width:11.50px;height:18.50px;left:6.25px;top:2.75px;position:absolute;background:white}
  .fg-appstore-badge{width:120px;height:40px}
  .fg-btn--flex{flex:1 1 0}
  .fg-trend-card{position:absolute;right:120px;top:29px}
  .fg-trend-card__icon-wrap{width:36px;height:36px;background:rgba(12,12,12,0.04);border-radius:6px;backdrop-filter:blur(50px);display:flex;align-items:center;justify-content:center}
  .fg-trend-card__avatar{display:flex;align-items:center;justify-content:center}
  .fg-trend-card__details{display:flex;flex-direction:column;gap:8px}
  .fg-trend-arrow{transform:rotate(90deg)}
  .fg-flex-col-stretch-16{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:16px;align-self:stretch}
  .fg-flex-col-stretch-24{display:flex;flex-direction:column;gap:24px;align-self:stretch}
  .fg-flex-col-stretch-56{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:56px}
  .fg-flex-row-12{align-self:stretch;display:inline-flex;justify-content:flex-start;align-items:center;gap:12px}
  .fg-flex-col-text-2{flex:1 1 0;display:flex;flex-direction:column;gap:2px}
  .fg-slider-content-wrap{align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:40px}
  .fg-flex-col-center-40{align-self:stretch;display:flex;flex-direction:column;gap:40px;align-items:center}
  .fg-flex-col-center-16{align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:16px}
  .fg-slider__heading-wrap{padding-top:64px}
  .fg-text-max-600{max-width:600px}
  .fg-text-max-288{max-width:288px}
  .fg-text-max-748{max-width:748px}
  .fg-text-center{text-align:center}
  /* ─── Why Menta Page (wm-*) ─── */
  .wm-page { display:flex; flex-direction:column; }

  .wm-hero-card { align-self:stretch; padding:48px; background:#FAFFA4; border-radius:24px; display:flex; flex-direction:row; gap:48px; flex-wrap:wrap; align-content:flex-start; }
  .wm-hero-left { flex:1 1 0; min-width:278px; display:flex; flex-direction:column; justify-content:space-between; gap:40px; }
  .wm-hero-left__top { display:flex; flex-direction:column; gap:16px; }
  .wm-hero-badge-row { display:flex; align-items:center; gap:4px; padding:4px; border-radius:16px; }
  .wm-hero-badge-pill { height:28px; padding:6px 12px; background:#000; border-radius:16px; display:flex; align-items:center; }
  .wm-hero-badge-pill-text { color:#fff; font-family:var(--fg-font); font-size:12px; font-weight:500; line-height:24px; }
  .wm-hero-badge-label { padding:0 8px; font-family:var(--fg-font); font-size:12px; font-weight:500; line-height:24px; color:#000; }
  .wm-hero-heading { font-family:var(--fg-font); font-size:56px; font-weight:600; line-height:60px; color:#000; align-self:stretch; }
  .wm-hero-features { display:flex; flex-direction:column; gap:32px; align-self:stretch; }
  .wm-hero-feature { display:flex; flex-direction:column; gap:8px; }
  .wm-hero-feature__title { font-family:var(--fg-font); font-size:18px; font-weight:700; line-height:24px; color:#000; }
  .wm-hero-feature__desc { font-family:var(--fg-font); font-size:16px; font-weight:500; line-height:24px; color:rgba(0,0,0,0.6); max-width:552px; }

  .wm-hero-right { flex:1 1 0; min-width:294px; display:flex; flex-direction:column; gap:24px; }
  .wm-bento-top-row { display:flex; gap:24px; align-items:stretch; }
  .wm-bento-sm-col { display:flex; flex-direction:column; gap:24px; flex-shrink:0; width:184px; }
  .wm-bento-card { width:184px; height:184px; border-radius:16px; background:rgba(0,0,0,0.12); position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:16px; }
  .wm-bento-card--nature { background:rgba(22,163,74,0.12); }
  .wm-bento-card--music { background:rgba(124,58,237,0.12); }
  .wm-bento-card--experts { background:rgba(3,105,161,0.12); width:184px; height:184px; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:16px; flex-shrink:0; }
  .wm-bento-num { position:absolute; top:12px; right:16px; font-family:var(--fg-font); font-size:48px; font-weight:600; line-height:56px; color:rgba(0,0,0,0.18); }
  .wm-bento-label { display:flex; align-items:center; gap:8px; font-family:var(--fg-font); font-size:13px; font-weight:600; color:#000; }
  .wm-bento-app-card { flex:1; background:#fff; border-radius:16px; overflow:hidden; display:flex; align-items:flex-end; justify-content:center; padding-top:32px; min-height:392px; }
  .wm-bento-app-img { width:100%; height:100%; object-fit:cover; display:block; }
  .wm-bento-bottom-row { display:flex; gap:24px; align-items:stretch; }
  .wm-bento-wide-card { flex:1; height:184px; border-radius:16px; overflow:hidden; }
  .wm-bento-wide-img { width:100%; height:100%; object-fit:cover; display:block; }

  .wm-feature-row { align-self:stretch; display:flex; justify-content:flex-start; align-items:center; gap:56px; flex-wrap:wrap; }
  .wm-feature-text { flex:1 1 0; min-width:343px; display:flex; flex-direction:column; gap:40px; }
  .wm-feature-text__inner { display:flex; flex-direction:column; gap:16px; }
  .wm-feature-desc { font-family:var(--fg-font); font-size:18px; font-weight:400; line-height:28px; color:rgba(0,0,0,0.6); max-width:600px; }
  .wm-feature-visual { flex:1 1 0; min-width:343px; position:relative; min-height:400px; }
  .wm-feature-img-card { width:100%; background:#f8f8f8; border-radius:16px; overflow:hidden; height:100%; min-height:400px; }
  .wm-feature-img { width:100%; height:100%; object-fit:cover; display:block; }
  .wm-feature-overlay-card { position:absolute; right:24px; bottom:24px; background:#fff; border-radius:12px; padding:16px 20px; box-shadow:0 4px 24px rgba(0,0,0,0.10); display:flex; gap:12px; align-items:center; min-width:220px; }
  .wm-feature-overlay-row { display:flex; align-items:center; gap:12px; }
  .wm-feature-overlay-title { font-family:var(--fg-font); font-size:14px; font-weight:700; color:#000; line-height:1.3; }
  .wm-feature-overlay-sub { font-family:var(--fg-font); font-size:12px; color:rgba(0,0,0,0.5); line-height:1.3; }

  .wm-stats-section { display:flex; flex-direction:column; gap:56px; align-self:stretch; }
  .wm-stats-header { display:flex; flex-direction:column; align-items:center; gap:16px; }
  .wm-stats-sub { font-family:var(--fg-font); font-size:18px; font-weight:400; line-height:28px; color:rgba(0,0,0,0.6); text-align:center; max-width:600px; }
  .wm-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; align-self:stretch; }
  .wm-stat-card { background:#f8f8f8; border-radius:20px; padding:32px 24px; display:flex; flex-direction:column; gap:12px; }
  .wm-stat-card__value { font-family:var(--fg-font); font-size:48px; font-weight:700; line-height:1; color:#000; }
  .wm-stat-card__label { font-family:var(--fg-font); font-size:15px; font-weight:400; line-height:1.5; color:rgba(0,0,0,0.6); }

  .wm-how-section { display:flex; flex-direction:column; gap:56px; align-self:stretch; }
  .wm-how-header { display:flex; flex-direction:column; align-items:center; gap:16px; }
  .wm-how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-self:stretch; }
  .wm-how-card { background:#f8f8f8; border-radius:20px; padding:32px 28px; display:flex; flex-direction:column; gap:16px; }
  .wm-how-card__num { font-family:var(--fg-font); font-size:13px; font-weight:600; color:rgba(0,0,0,0.4); letter-spacing:0.04em; }
  .wm-how-card__icon { width:48px; height:48px; background:#000; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .wm-how-card__title { font-family:var(--fg-font); font-size:20px; font-weight:700; line-height:1.3; color:#000; }
  .wm-how-card__desc { font-family:var(--fg-font); font-size:15px; font-weight:400; line-height:1.6; color:rgba(0,0,0,0.6); }

  .wm-cta-card { align-self:stretch; background:#0a0a0a; border-radius:24px; padding:64px 48px; display:flex; flex-direction:column; align-items:center; gap:40px; }
  .wm-cta-card__inner { display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center; max-width:680px; }
  .wm-cta-badge-row { display:flex; justify-content:center; }
  .wm-cta-heading { font-family:var(--fg-font); font-size:48px; font-weight:700; line-height:1.15; color:#fff; }
  .wm-cta-sub { font-family:var(--fg-font); font-size:18px; font-weight:400; line-height:1.6; color:rgba(255,255,255,0.6); }
  .wm-cta-btns { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
  .wm-cta-btns .fg-btn--primary { background:#fff; color:#000; }
  .wm-cta-btns .fg-btn--primary:hover { background:#f0f0f0; }
  .wm-cta-btns .fg-btn--outline { border-color:rgba(255,255,255,0.4); color:#fff; }
  .wm-cta-btns .fg-btn--outline:hover { border-color:#fff; }
  .wm-cta-logos { display:flex; align-items:center; gap:40px; flex-wrap:wrap; justify-content:center; }
  .wm-cta-logo { height:44px; width:auto; filter:brightness(0) invert(1) opacity(0.5); }

  @media (max-width:900px) {
    .wm-hero-card { flex-direction:column; }
    .wm-stats-grid { grid-template-columns:repeat(2,1fr); }
    .wm-how-grid { grid-template-columns:1fr; }
    .wm-feature-row { flex-direction:column; }
  }
  @media (max-width:600px) {
    .wm-hero-heading { font-size:40px; line-height:48px; }
    .wm-stats-grid { grid-template-columns:1fr 1fr; }
    .wm-stat-card__value { font-size:36px; }
    .wm-cta-heading { font-size:36px; }
    .wm-bento-top-row { flex-direction:column; }
    .wm-bento-sm-col { flex-direction:row; width:100%; }
    .wm-bento-card { width:calc(50% - 12px); }
  }

  .fg-dash__partner-logos { display:flex; align-items:center; gap:32px; flex-wrap:wrap; }
  .fg-dash__partner-label { font-family:var(--fg-font); font-size:13px; font-weight:500; color:#aaa; white-space:nowrap; }
  .fg-dash__partner-logo { height:56px; width:auto; filter:grayscale(1) opacity(0.45); }

  .fg-feature-bg-wrap{position:absolute;width:978px;height:550px;left:-36px;top:-51px;background:var(--fg-bg-purple-light);overflow:hidden}
  .fg-feature-bg-glow{position:absolute;width:1137px;height:600px;left:963px;top:1004px;transform:rotate(-170deg);transform-origin:top left;background:linear-gradient(332deg,#5236B7 0%,rgba(0,0,0,0) 100%);filter:blur(48.89px)}
  .fg-feature-bg-img{position:absolute;width:978px;height:550px;left:0;top:0}

  .fg-blog-section { display:flex; flex-direction:column; gap:48px; align-self:stretch; }
  .fg-blog-section__header { display:flex; flex-direction:row; align-items:flex-end; justify-content:space-between; gap:24px; align-self:stretch; }
  .fg-blog-section__desc { color:var(--fg-text-secondary); margin-top:12px; max-width:560px; }
  .fg-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-self:stretch; }
  .fg-blog-card { display:flex; flex-direction:column; background:#f7f7f7; border-radius:20px; overflow:hidden; text-decoration:none; color:inherit; }
  .fg-blog-card__read { font-family:var(--fg-font); font-size:15px; font-weight:600; color:var(--fg-text-primary); text-decoration:none; display:inline-block; margin-top:4px; }
  .fg-blog-card:hover .fg-blog-card__read { text-decoration:underline; }
  .fg-blog-card__img-wrap { width:100%; aspect-ratio:16/9; overflow:hidden; background:#e8e8e8; flex-shrink:0; }
  .fg-blog-card__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.35s ease; }
  .fg-blog-card:hover .fg-blog-card__img { transform:scale(1.06); }
  .fg-blog-card__img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#efefef; }
  .fg-blog-card__body { display:flex; flex-direction:column; gap:10px; padding:24px; flex:1; }
  .fg-blog-card__category { font-family:var(--fg-font); font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--fg-text-secondary); }
  .fg-blog-card__title { font-family:var(--fg-font); font-size:20px; font-weight:700; line-height:1.3; color:var(--fg-text-primary); }
  .fg-blog-card__excerpt { font-family:var(--fg-font); font-size:14px; font-weight:400; line-height:1.6; color:var(--fg-text-secondary); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .fg-blog-card__meta { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:8px; }
  .fg-blog-card__readtime { font-family:var(--fg-font); font-size:13px; color:var(--fg-text-secondary); display:flex; align-items:center; gap:4px; }
  @media (max-width:900px) { .fg-blog-grid { grid-template-columns:repeat(2,1fr); } }
  @media (max-width:600px) { .fg-blog-grid { grid-template-columns:1fr; } .fg-blog-section__header { flex-direction:column; align-items:flex-start; } }
}

/* ── Press Bar ── */
.nl-press-bar {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  justify-content: center;
}
.nl-press-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 40px;
}
.nl-press-logo {
  max-height: 40px;
  max-width: 120px;
  width: auto;
  object-fit: contain;
  opacity: 0.70;
  filter: grayscale(1);
}
.nl-press-divider {
  width: 1px;
  height: 44px;
  background: rgba(0,0,0,0.15);
  flex-shrink: 0;
}
.nl-press-sep {
  width: 1px;
  height: 56px;
  background: rgba(0,0,0,0.12);
  flex-shrink: 0;
}
.nl-press-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.nl-press-title {
  font-family: 'europa', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #0a0a0a;
  line-height: 1.45;
  margin: 0;
}
.nl-press-link {
  font-family: 'europa', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #999;
  text-decoration: none;
  transition: color 0.15s;
}
.nl-press-link:hover { color: #555; }

/* ════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — max-width: 767px
   Desktop (≥768px) is completely untouched.
════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  :root {
    --fg-px: 20px;
    --fg-py: 40px;
  }

  /* ── Prevent horizontal overflow ── */
  html, body { overflow-x: hidden; max-width: 100%; }
  .fg-section { min-width: 0 !important; overflow-x: hidden; }

  /* ── Blog grid (overrides existing 600px breakpoint) ── */
  .fg-blog-grid { grid-template-columns: 1fr !important; }
  .fg-blog-section__header { flex-direction: column; align-items: flex-start; }

  /* ── Headings ── */
  .fg-heading-96 { font-size: 40px !important; line-height: 48px !important; }
  .fg-heading-56 { font-size: 32px !important; line-height: 40px !important; }
  .fg-heading-48 { font-size: 28px !important; line-height: 34px !important; }
  .fg-heading-48--white { font-size: 28px !important; line-height: 34px !important; min-width: 0 !important; }
  .fg-heading-44 { font-size: 28px !important; line-height: 34px !important; }

  /* ── Hero section ── */
  .fg-hero__content {
    min-height: 0 !important;
    flex: 1 !important;
    justify-content: flex-end !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: 36px !important;
  }
  .fg-hero__overlay { min-height: 100svh; min-height: 100vh; }
  .fg-hero__text-col { min-width: 0 !important; }
  .fg-hero__cta-row { width: 100% !important; flex-direction: column !important; gap: 12px !important; }
  .nl-hero-email-row { flex-direction: column !important; gap: 10px !important; }
  .nl-hero-email-row button { align-self: stretch !important; padding-top: 14px !important; padding-bottom: 14px !important; }
  .fg-hero__top-row { gap: 24px; }
  .fg-trend-card { display: none !important; }

  /* ── Feature sections — min-width overrides ── */
  .fg-f1__text-col { min-width: 0 !important; }
  .fg-f3__header-row { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  .fg-f3__title-col { min-width: 0 !important; width: 100% !important; }
  .fg-f3__desc-col { min-width: 0 !important; width: 100% !important; }

  /* ── Hero spacer — account for navbar + announcement bar on mobile ── */
  .fg-hero__spacer { height: calc(96px + var(--ann-bar-h, 34px)) !important; }

  /* ── First sections — clear navbar + announcement bar height ── */
  .fg-section[style*="padding-top:120px"] { padding-top: 130px !important; }

  /* ── Feature 2 row — stack to single column ── */
  .fg-f2__row { flex-direction: column !important; }
  .fg-f2__left { width: 100% !important; height: auto !important; min-width: 0 !important; }
  .fg-f2__right { width: 100% !important; height: auto !important; min-height: 220px !important; min-width: 0 !important; }
  .fg-feature-bg-placeholder { width: 100% !important; height: 220px !important; position: relative !important; }

  /* ── Feature 3 cards row — stack to single column ── */
  .fg-f3__cards-row { flex-direction: column !important; }
  .fg-card-3 { width: 100% !important; min-width: 0 !important; height: auto !important; min-height: 260px; padding-bottom: 32px !important; }
  .fg-card-3__title { height: auto !important; white-space: normal !important; }
  .fg-card-3__bottom { min-height: 0 !important; }
  .fg-f2__content-preview { position: relative !important; right: auto !important; top: auto !important; transform: none !important; padding: 16px; }
  .fg-f2__right-img { width: 100% !important; height: auto !important; position: relative !important; left: 0 !important; top: 0 !important; }

  /* ── Dashboard section ── */
  .fg-dash__left { height: auto !important; min-height: 0 !important; }
  .fg-dash__macbook { display: none !important; }
  .fg-dash__screen-placeholder { display: none !important; }
  .fg-dash__widget-card { display: none !important; }
  .fg-dash__widget-img { display: none !important; }
  .fg-dash__right { min-width: 0 !important; }

  /* ── Slider ── */
  .fg-slider__heading { font-size: 28px !important; line-height: 34px !important; }
  .fg-slider__viewport { height: 260px !important; }
  .fg-slide { height: 240px !important; }
  .fg-slide-label { display: none !important; }

  /* ── Expert grid ── */
  .fg-experts-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .fg-expert-card { height: 200px !important; }

  /* ── Press Bar ── */
  .nl-press-section { justify-content: flex-start !important; }
  .nl-press-bar { flex-direction: column; gap: 24px; align-items: flex-start !important; justify-content: flex-start !important; }
  .nl-press-item { padding: 0 0; gap: 14px; }
  .nl-press-sep { display: none; }

  /* ── Pricing ── */
  .fg-pricing__cards-row { flex-direction: column !important; align-items: stretch !important; }
  .fg-pricing-card { min-width: 0 !important; width: 100% !important; }
  .fg-pricing-card__price { font-size: 36px !important; line-height: 44px !important; }
  .fg-pricing-card__name { font-size: 28px !important; line-height: 32px !important; }

  /* ── Stats ── */
  .fg-f1__stat-value { font-size: 32px !important; line-height: 38px !important; }
  .fg-f2__stat-value { font-size: 32px !important; line-height: 38px !important; }
  .fg-f1__stats-row { gap: 24px !important; }
  .fg-f1__stat { width: 100% !important; padding-bottom: 16px !important; border-bottom: 1px solid var(--fg-border); }
  .fg-f1__stat:last-child { border-bottom: none !important; padding-bottom: 0 !important; }

  /* ── FAQ columns → single column on mobile ── */
  .fg-faq__columns { flex-direction: column !important; }
  .fg-faq__col { width: 100% !important; min-width: 0 !important; }

  /* ── Testimonials ── */
  .fg-testimonials__left { min-width: 0 !important; height: auto !important; }
  .fg-testimonials__card { min-width: 0 !important; }
  .fg-testimonials__img { min-width: 0 !important; height: 240px !important; }
  .fg-testi-centered__quote { font-size: 18px !important; }

  /* ── Footer CTA ── */
  .fg-footer-cta__heading { font-size: 28px !important; line-height: 34px !important; }
  .fg-footer-cta-section { padding-left: 20px !important; padding-right: 20px !important; }

  /* ── Why Menta page ── */
  .wm-hero-card { padding: 24px !important; }
  .wm-hero-heading { font-size: 32px !important; line-height: 40px !important; }
  .wm-bento-app-card { min-height: 220px !important; }
  .wm-cta-card { padding: 32px 20px !important; }
  .wm-cta-heading { font-size: 32px !important; }
  .wm-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .wm-how-grid { grid-template-columns: 1fr !important; }
  .wm-feature-text { min-width: 0 !important; }
  .wm-feature-visual { min-width: 0 !important; min-height: 280px !important; }

  /* ── Library page ── */
  .nl-video-card { min-width: 0 !important; }
  .nl-feat-img-card { min-width: 0 !important; height: 280px !important; }
}
