:root {
      --ivory: #FDFAF6;
      --cream: #F5F0E8;
      --charcoal: #1A1816;
      /* --charcoal-light: #2C2926; -- nem használt, eltávolítva */
      --gold: #B8965A;
      --gold-light: #D4B077;
      --gold-glow: rgba(184, 150, 90, 0.12);
      --white: #FFFFFF;
      --text-muted: #6B6560;
      --text-light: #706A64;
      --border: rgba(26, 24, 22, 0.08);
      --border-strong: rgba(26, 24, 22, 0.14);
      --observ-blue: #0077B6;
      /* --observ-blue-light, --observ-bg eltávolítva (0 használat) */
      --card-bg: #FFFFFF;
      --card-border: rgba(26, 24, 22, 0.07);
      --transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
      --anchor-offset: 130px;

      /* Ismétlődő opacity minták */
      --white-04: rgba(255,255,255,0.04);
      --white-08: rgba(255,255,255,0.08);
      --white-45: rgba(255,255,255,0.45);
      --gold-20: rgba(184,150,90,0.2);
      --gold-08: rgba(184,150,90,0.08);

      /* Font alias */
      --display-font: 'Cormorant Garamond', serif;
      --body-font: 'Montserrat', sans-serif;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
    .site-wrap { overflow-x: hidden; position: relative; width: 100%; }
    body {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 15px;
      background: var(--ivory);
      color: var(--charcoal);
      line-height: 1.7;
      overflow-x: hidden;
      position: relative;
    }

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

    :focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: 3px;
      border-radius: 6px;
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      * { transition: none !important; animation: none !important; }
    }

    /* ═══ TERMÉKVÁLASZTÓ FÜLEK ═══ */
    .product-switcher {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: 50px;
      background: var(--charcoal);
      z-index: 1100;
      display: flex;
      justify-content: center;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }

    .product-switcher::-webkit-scrollbar { display: none; }

    .switcher-brand {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      padding: 0 28px 0 24px;
      text-decoration: none;
      border-right: 1px solid rgba(255,255,255,0.08);
      flex-shrink: 0;
      cursor: pointer;
    }
    .switcher-brand__name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--ivory);
      letter-spacing: 2.5px;
      text-transform: uppercase;
      line-height: 1;
    }
    .switcher-brand__sub {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.58rem;
      font-weight: 500;
      letter-spacing: 3.5px;
      text-transform: uppercase;
      color: var(--gold-light);
      opacity: 0.9;
      margin-top: 3px;
    }

    .tab-btn {
      background: none;
      border: none;
      color: rgba(255, 255, 255, 0.5);
      padding: 0 28px;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 2.5px;
      cursor: pointer;
      text-transform: uppercase;
      transition: var(--transition);
      position: relative;
      height: 50px;
      flex-shrink: 0;
    }

    .tab-btn:hover { color: rgba(255, 255, 255, 0.75); }
    .tab-btn.active { color: var(--gold-light); }

    .tab-btn.active::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 20%;
      right: 20%;
      height: 2px;
      background: var(--gold);
    }

    .page-content { display: none; margin-top: 50px; }
    .page-content.active { display: block; }

    /* ═══ KÖZÖS TIPOGRÁFIA ═══ */
    h1, h2, h3, .serif { font-family: 'Cormorant Garamond', serif; }

    /* Display skála — az eredeti főoldal rendszere */
    .display-xl { font-family: 'Cormorant Garamond', serif; font-size: clamp(3.2rem, 7vw, 6.5rem); font-weight: 300; line-height: 1.05; letter-spacing: -0.01em; }
    .display-lg { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.4rem, 5vw, 4.2rem); font-weight: 300; line-height: 1.1; }
    .display-md { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 300; line-height: 1.15; }
    .display-sm { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.4rem, 2.2vw, 1.9rem); font-weight: 300; line-height: 1.2; }
    .body-text  { font-size: 0.875rem; line-height: 1.75; color: var(--text-muted); max-width: 52ch; }
    em { font-style: italic; font-family: 'Cormorant Garamond', serif; font-size: 1.08em; }
    /* Brand nyelv: a személyes/érzelmi rész italic + arany */
    .hero-title em, .section-title em { color: var(--gold); }

    .text-gradient {
      color: var(--gold);
    }

    .container { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
    section { padding: 100px 0; position: relative; scroll-margin-top: var(--anchor-offset); }

    /* Label — egységes szekció-jelölő (konszolidált: section-tag + section-label) */
    .section-tag,
    .section-label {
      color: var(--gold);
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      letter-spacing: 3px;
      text-transform: uppercase;
      font-size: 0.7rem;
      margin-bottom: 12px;
      display: block;
    }

    .section-title {
      font-size: clamp(2rem, 4.5vw, 3.2rem);
      line-height: 1.12;
      margin-bottom: 20px;
      font-weight: 400;
      color: var(--charcoal);
    }

    .section-subtitle {
      color: var(--text-muted);
      font-size: 1.05rem;
      max-width: 680px;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.8;
    }

    /* ═══ UTILITY OSZTÁLYOK ═══ */

    /* Sötét szekció */
    .section--dark { background: var(--charcoal); color: var(--ivory); padding: 80px 24px; }
    .section--dark .section-label,
    .section--dark .section-tag { color: var(--gold-light); }
    .section--dark .section-title { color: #fff; }

    /* Center header */
    .section-header--center { text-align: center; margin-bottom: 56px; }

    /* Kártya sötét háttéren */
    .card--dark { background: rgba(255,255,255,0.04); padding: 36px 28px; }

    /* Szint számozás (01, 02, 03) */
    .tier-num { font-family: 'Cormorant Garamond', serif; font-size: 2.8rem; font-weight: 300; color: rgba(184,150,90,0.25); line-height: 1; margin-bottom: 12px; }

    /* Gold tag/badge */
    .tag--gold {
      display: inline-block;
      font-size: 0.58rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      border: 1px solid rgba(184,150,90,0.2);
      background: rgba(184,150,90,0.08);
      padding: 4px 10px;
      margin-bottom: 16px;
    }

    /* Hamarosan elérhető badge */
    .badge--coming-soon {
      display: inline-block;
      background: linear-gradient(135deg, var(--gold), var(--gold-light));
      color: var(--charcoal);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 6px 14px;
      border-radius: 4px;
      margin-top: 12px;
    }

    /* Kártya cím sötéten */
    .card-title--dark {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.3rem;
      font-weight: 400;
      line-height: 1.2;
      margin-bottom: 8px;
    }

    /* Ár */
    .price {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.15rem;
      font-weight: 500;
      color: var(--ivory);
      margin-bottom: 6px;
    }

    /* Subtítulus dőlt sötéten */
    .subtitle--muted {
      font-size: 0.78rem;
      font-style: italic;
      font-family: 'Cormorant Garamond', serif;
      color: rgba(255,255,255,0.5);
      margin-bottom: 12px;
    }

    /* Benefit szöveg (bal vonallal) */
    .benefit-text {
      font-size: 0.72rem;
      color: rgba(255,255,255,0.6);
      line-height: 1.6;
      padding-left: 10px;
      border-left: 2px solid rgba(184,150,90,0.2);
    }

    /* Trust badge sor (sötét háttéren) */
    .trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .trust-badge--dark {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      padding: 24px 0;
      border-top: 1px solid rgba(255,255,255,0.08);
    }
    .trust-badge--dark .trust-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.05rem;
      font-weight: 500;
      margin-bottom: 4px;
    }
    .trust-badge--dark .trust-desc {
      font-size: 0.75rem;
      color: rgba(255,255,255,0.45);
      line-height: 1.6;
    }

    /* Kiegészítők grid (sötét) */
    .extras-grid--dark { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-bottom: 40px; }
    .extra--dark { background: rgba(255,255,255,0.03); padding: 24px 20px; }
    .extra--dark .extra-title {
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 10px;
    }
    .extra--dark .extra-desc {
      font-size: 0.75rem;
      color: rgba(255,255,255,0.45);
      line-height: 1.6;
    }

    /* Lista gold vonallal */
    .list-gold { list-style: none; margin-bottom: 20px; }
    .list-gold li {
      position: relative;
      padding-left: 14px;
      font-size: 0.75rem;
      line-height: 1.8;
      color: rgba(255,255,255,0.5);
    }
    .list-gold li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0.6em;
      width: 5px;
      height: 1px;
      background: var(--gold);
    }

    /* Ethics záró megjegyzés */
    .ethics-note {
      text-align: center;
      font-size: 0.78rem;
      color: rgba(255,255,255,0.58);
      max-width: 60ch;
      margin: 0 auto;
      line-height: 1.8;
    }

    /* Divider vonal */
    .divider { width: 40px; height: 1px; background: var(--gold); margin: 1.25rem 0; }
    .divider--center { margin: 1.25rem auto; }

    /* Observ brand szín override */
    .text-observ { color: var(--observ-blue); }
    .bg-observ { background: var(--observ-blue); color: white; }

    /* Szekció bevezető szöveg (közös minta) */
    .section-intro { color: var(--text-muted); max-width: 640px; margin: 0 auto 24px; }

    /* Gold-light label (sötét háttéren, ahol nincs .section--dark) */
    .text-gold-light { color: var(--gold-light); }

    /* Branding bar stílus (JotForm felett) */
    .branding-bar { font-weight: 700; letter-spacing: 2px; text-transform: uppercase; font-size: 0.75rem; color: var(--ivory); }

    /* ═══ RESPONSIVE UTILITY-K ═══ */
    @media (max-width: 1024px) {
      .trust-row { grid-template-columns: 1fr 1fr; }
      .extras-grid--dark { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 680px) {
      .trust-row { grid-template-columns: 1fr; }
      .extras-grid--dark { grid-template-columns: 1fr; }
    }

    /* ═══ GOMBOK ═══ */
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      border: none;
      cursor: pointer;
      text-decoration: none;
      padding: 14px 28px;
      border-radius: 0;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 0.78rem;
      letter-spacing: 1.8px;
      text-transform: uppercase;
      transition: var(--transition);
      user-select: none;
    }

    .btn-gold {
      background: var(--gold);
      color: var(--white);
    }
    .btn-gold:hover {
      background: var(--gold-light);
      transform: translateY(-1px);
    }

    .btn-ghost {
      background: transparent;
      border: 1.5px solid var(--border-strong);
      color: var(--charcoal);
    }
    .btn-ghost:hover {
      border-color: var(--gold);
      color: var(--gold);
      transform: translateY(-1px);
    }

    /* ═══ NAVIGÁCIÓ ═══ */
    .nav {
      position: fixed;
      top: 50px;
      left: 0;
      right: 0;
      z-index: 1000;
      padding: 18px 0;
      transition: var(--transition);
    }

    .nav.scrolled {
      background: rgba(253, 250, 246, 0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      padding: 12px 0;
      border-bottom: 1px solid var(--border);
    }

    .nav-container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 40px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 18px;
    }

    .nav-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.3rem;
      font-weight: 600;
      color: var(--charcoal);
      text-decoration: none;
      letter-spacing: 3px;
      text-transform: uppercase;
      line-height: 1.1;
    }
    .nav-logo__gold { color: var(--gold); }
    .nav-logo__sub {
      display: block;
      font-size: 0.55rem;
      font-weight: 500;
      letter-spacing: 4px;
      color: var(--gold);
      opacity: 0.7;
      margin-top: 1px;
    }

    .nav-links {
      display: flex;
      gap: 32px;
      list-style: none;
      align-items: center;
    }

    .nav-links a {
      color: var(--text-muted);
      text-decoration: none;
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      transition: var(--transition);
    }

    .nav-links a:hover { color: var(--charcoal); }

    .nav-cta {
      background: var(--gold) !important;
      color: var(--white) !important;
      padding: 10px 22px !important;
      font-size: 0.72rem !important;
    }

    .nav-actions { display: flex; gap: 10px; align-items: center; }

    .menu-btn {
      display: none;
      width: 44px;
      height: 44px;
      border-radius: 0;
      background: transparent;
      border: 1.5px solid var(--border-strong);
      color: var(--charcoal);
      cursor: pointer;
      transition: var(--transition);
      font-size: 1.1rem;
    }

    .menu-btn:hover { border-color: var(--gold); color: var(--gold); }

    /* Drawer */
    .drawer-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(26, 24, 22, 0.4);
      backdrop-filter: blur(4px);
      z-index: 1200;
      opacity: 0;
      pointer-events: none;
      transition: var(--transition);
    }

    .drawer {
      position: fixed;
      top: 50px;
      right: 0;
      width: min(400px, 90vw);
      height: calc(100vh - 50px);
      background: var(--ivory);
      border-left: 1px solid var(--border);
      z-index: 1250;
      transform: translateX(100%);
      visibility: hidden;
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s;
      padding: 28px;
      display: flex;
      flex-direction: column;
      gap: 18px;
      will-change: transform;
      contain: layout;
    }

    body.drawer-open .drawer-backdrop { opacity: 1; pointer-events: auto; }
    body.drawer-open .drawer { transform: translateX(0); visibility: visible; }

    .drawer-header { display: flex; align-items: center; justify-content: space-between; }
    .drawer-title {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      font-size: 0.72rem;
      color: var(--text-muted);
    }

    .drawer-links { list-style: none; display: grid; gap: 10px; margin-top: 8px; }
    .drawer-links a {
      display: block;
      padding: 16px;
      background: var(--cream);
      border: 1px solid var(--border);
      color: var(--charcoal);
      text-decoration: none;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      font-size: 0.8rem;
      transition: var(--transition);
    }
    .drawer-links a:hover { border-color: var(--gold); }

    /* ═══ DIVIDER ═══ */
    .divider {
      width: 60px;
      height: 1px;
      background: var(--gold);
      margin: 20px 0;
    }

    /* ═══ HERO ═══ */
    .hero {
      min-height: calc(100vh - 50px);
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
      padding-top: 80px;
    }

    .hero-bg-glow {
      position: absolute;
      width: 800px;
      height: 800px;
      background: radial-gradient(circle, var(--gold-glow) 0%, transparent 70%);
      top: -200px;
      right: -200px;
      z-index: 0;
      filter: blur(100px);
    }

    .hero-content { max-width: 640px; position: relative; z-index: 2; }

    .hero-tag {
      display: inline-block;
      color: var(--gold);
      font-weight: 700;
      letter-spacing: 3px;
      text-transform: uppercase;
      font-size: 0.7rem;
      margin-bottom: 16px;
    }

    .hero-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.8rem, 6vw, 4.5rem);
      line-height: 1.08;
      margin-bottom: 24px;
      font-weight: 300;
      color: var(--charcoal);
    }

    .hero-description {
      font-size: 1.05rem;
      color: var(--text-muted);
      max-width: 520px;
      margin-bottom: 32px;
      line-height: 1.8;
    }

    .hero-cta-row { display: flex; gap: 14px; flex-wrap: wrap; }

    .hero-visual {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 42%;
      height: 80%;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
    }

    .mask-placeholder {
      width: 100%;
      max-width: 480px;
      position: relative;
      animation: float 6s ease-in-out infinite;
    }
    @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-18px); } }

    /* ═══ MASK HERO VIDEO ═══ */
    .mask-video-wrap {
      width: 100%;
      max-width: 380px;
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      box-shadow:
        0 0 60px rgba(184, 150, 90, 0.15),
        0 0 120px rgba(184, 150, 90, 0.06);
      animation: float 6s ease-in-out infinite;
    }
    .mask-hero-video {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
      border-radius: 20px;
    }
    .mask-video-overlay {
      position: absolute;
      inset: 0;
      border-radius: 20px;
      border: 1px solid rgba(184, 150, 90, 0.2);
      pointer-events: none;
      background: linear-gradient(
        180deg,
        transparent 60%,
        rgba(26, 24, 22, 0.15) 100%
      );
    }

    /* ═══ AKCIÓS BANNER ═══ */
    .promo-banner {
      margin-top: 24px;
      max-width: 580px;
      background: var(--cream);
      border: 1px solid rgba(184, 150, 90, 0.2);
      padding: 20px 22px;
      display: flex;
      gap: 14px;
      align-items: flex-start;
    }

    .promo-icon {
      min-width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      background: rgba(184, 150, 90, 0.12);
      border: 1px solid rgba(184, 150, 90, 0.2);
      color: var(--gold);
      font-weight: 900;
      font-size: 1rem;
    }

    .promo-title {
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      font-size: 0.72rem;
      color: var(--charcoal);
      margin-bottom: 4px;
    }

    .promo-bar {
      padding: 0;
    }

    .promo-content {
      background: var(--charcoal);
      border-radius: 12px;
      padding: 28px 32px;
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .promo-text {
      color: var(--text-muted);
      font-size: 0.92rem;
      line-height: 1.6;
    }

    .promo-text strong {
      display: block;
      margin-bottom: 6px;
    }

    .promo-text span {
      font-size: 0.85rem;
      line-height: 1.7;
    }

    .promo-actions {
      margin-top: 12px;
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    /* ═══ PRODUCT INFO GRID ═══ */
    .product-info-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
    }

    /* ═══ STATS ═══ */
    .stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }

    .stat-card {
      background: var(--card-bg);
      padding: 30px;
      border: 1px solid var(--card-border);
    }

    .stat-value {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2.4rem;
      font-weight: 500;
      color: var(--gold);
      display: block;
      margin-bottom: 6px;
    }

    .stat-label {
      font-size: 0.72rem;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: 1.5px;
      font-weight: 600;
    }

    /* ═══ HULLÁMHOSSZ KÁRTYÁK ═══ */
    .wavelength-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 20px;
      margin-top: 30px;
    }

    .wave-card {
      background: var(--card-bg);
      padding: 32px;
      border: 1px solid var(--card-border);
      border-top: 3px solid var(--accent-color);
      transition: var(--transition);
    }

    .wave-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 40px rgba(26, 24, 22, 0.06);
    }

    .wave-nm {
      font-size: 2.2rem;
      font-weight: 500;
      font-family: 'Cormorant Garamond', serif;
      margin-bottom: 8px;
      color: var(--accent-color);
    }

    .wave-desc {
      color: var(--text-muted);
      font-size: 0.92rem;
      line-height: 1.7;
    }

    /* ═══ LÉPÉSEK ═══ */
    .steps-container {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 30px;
    }

    .step {
      background: var(--card-bg);
      border: 1px solid var(--card-border);
      padding: 30px;
      transition: var(--transition);
    }

    .step:hover {
      box-shadow: 0 8px 30px rgba(26, 24, 22, 0.05);
    }

    .step-num {
      display: inline-flex;
      width: 36px;
      height: 36px;
      align-items: center;
      justify-content: center;
      background: rgba(184, 150, 90, 0.1);
      border: 1px solid rgba(184, 150, 90, 0.2);
      color: var(--gold);
      font-weight: 700;
      font-size: 0.85rem;
      margin-bottom: 14px;
    }

    .step h3 {
      font-size: 1.3rem;
      font-weight: 500;
      margin-bottom: 10px;
    }

    .step p {
      color: var(--text-muted);
      font-size: 0.92rem;
      line-height: 1.7;
    }

    /* ═══ OBSERV SPECIFIKUS ═══ */
    .observ-accent { color: var(--observ-blue); }

    .feature-badge {
      background: var(--gold);
      color: var(--white);
      padding: 5px 14px;
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 2px;
      display: inline-block;
      margin-bottom: 16px;
      text-transform: uppercase;
    }

    .mode-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 20px;
      margin-top: 30px;
    }

    .mode-card {
      background: var(--card-bg);
      padding: 30px;
      border: 1px solid var(--card-border);
      transition: var(--transition);
    }

    .mode-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 40px rgba(26, 24, 22, 0.06);
    }

    .mode-card.observ-card:hover {
      border-color: rgba(0, 119, 182, 0.3);
    }

    .mode-num {
      color: var(--gold);
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 2.5px;
      display: block;
      margin-bottom: 10px;
    }

    .mode-title {
      font-size: 1.3rem;
      font-weight: 500;
      color: var(--charcoal);
      margin-bottom: 10px;
    }

    .mode-desc {
      font-size: 0.92rem;
      color: var(--text-muted);
      line-height: 1.7;
    }

    .mode-highlight {
      color: var(--gold);
      font-weight: 600;
      font-size: 0.82rem;
      margin-top: 14px;
      display: block;
      border-left: 2px solid var(--gold);
      padding-left: 12px;
      letter-spacing: 0.3px;
    }

    /* ═══ ANALYSIS DISPLAY ═══ */
    .analysis-display {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 70px;
      align-items: center;
      margin-top: 60px;
    }

    .grey-tech-card {
      background: var(--cream);
      padding: 16px;
      border: 1px solid var(--border);
      min-height: 280px;
    }

    .media-cover {
      width: 100%;
      overflow: hidden;
      border: 1px solid var(--border);
      background: linear-gradient(135deg, rgba(0, 119, 182, 0.06), rgba(184, 150, 90, 0.06));
      aspect-ratio: 16 / 11;
      position: relative;
    }

    .media-cover img {
      width: 100%; height: 100%; object-fit: cover; display: block;
      filter: grayscale(0.3);
      opacity: 0.95;
    }

    .media-fallback {
      position: absolute; inset: 0;
      display: grid; place-items: center;
      color: var(--charcoal);
      text-align: center; padding: 18px; pointer-events: none;
    }

    .media-fallback strong {
      display: block; font-weight: 700; letter-spacing: 2px;
      text-transform: uppercase; margin-bottom: 8px; font-size: 0.8rem;
    }

    .comparison-label {
      font-size: 0.68rem;
      color: var(--text-muted);
      text-transform: uppercase;
      display: block;
      margin-top: 8px;
      text-align: center;
      letter-spacing: 1.5px;
      font-weight: 600;
    }

    /* FPS / DIAGNOSZTIKA BLOKK */
    .fps-section {
      background: var(--charcoal);
      color: var(--ivory);
      padding: 70px;
      margin-top: 60px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 55px;
      align-items: center;
    }

    .fps-section .section-title { color: var(--ivory); }
    .fps-section p { color: rgba(253, 250, 246, 0.65); }
    .fps-section .stat-card {
      background: rgba(255, 255, 255, 0.05);
      border-color: rgba(255, 255, 255, 0.08);
    }
    .fps-section .stat-card p { color: rgba(253, 250, 246, 0.55); }

    /* ═══ CREAM SECTION ═══ */
    .cream-section {
      background: var(--cream);
      margin: 0 -40px;
      padding: 100px 40px;
    }

    /* ═══ CONTACT ═══ */
    .contact-shell {
      background: var(--charcoal);
      padding: 64px;
      overflow: hidden;
      position: relative;
      color: var(--ivory);
    }

    .contact-shell .section-tag { color: var(--gold-light); }
    .contact-shell .section-title { color: var(--ivory); }

    .contact-glow {
      position: absolute;
      width: 700px;
      height: 700px;
      border-radius: 999px;
      background: radial-gradient(circle, rgba(184, 150, 90, 0.1) 0%, transparent 70%);
      right: -300px;
      top: -300px;
      filter: blur(70px);
      pointer-events: none;
    }

    .jotform-container { position: relative; z-index: 2; max-width: 100%; }

    .contact-intro { margin-bottom: 30px; }
    .contact-intro p { color: rgba(253, 250, 246, 0.6); }

    .contact-card {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      padding: 22px;
      display: grid;
      gap: 12px;
      margin-top: 30px;
    }

    .contact-line { color: rgba(253, 250, 246, 0.6); font-size: 0.95rem; }
    .contact-line a { color: var(--ivory); text-decoration: none; }
    .contact-line a:hover { color: var(--gold-light); }

    .mini-proof {
      margin-top: 10px;
      padding-top: 14px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      display: grid;
      gap: 8px;
    }

    .proof-item {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.06);
      padding: 12px 14px;
      color: rgba(253, 250, 246, 0.75);
      font-size: 0.88rem;
      font-weight: 500;
    }

    /* ═══ STICKY MOBILE CTA ═══ */
    .sticky-cta {
      display: none;
      position: fixed;
      left: 14px;
      right: 14px;
      bottom: 14px;
      z-index: 1400;
      padding: 10px;
      background: rgba(253, 250, 246, 0.92);
      border: 1px solid var(--border);
      backdrop-filter: blur(12px);
      gap: 10px;
    }

    .sticky-cta .btn { flex: 1; }

    /* ═══ FOOTER ═══ */
    footer {
      padding: 80px 0 40px;
      border-top: 1px solid var(--border);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 48px;
    }

    .footer-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
    }

    .footer-grid h4 {
      margin-bottom: 12px;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--charcoal);
    }

    .footer-grid ul { list-style: none; display: grid; gap: 8px; }
    .footer-grid a {
      color: var(--text-muted);
      text-decoration: none;
      font-size: 0.9rem;
      transition: var(--transition);
    }
    .footer-grid a:hover { color: var(--gold); }

    .footer-desc {
      color: var(--text-muted);
      margin-top: 10px;
      max-width: 400px;
      font-size: 0.9rem;
      line-height: 1.7;
    }

    .footer-bottom {
      margin-top: 28px;
      padding-top: 18px;
      border-top: 1px solid var(--border);
      color: var(--text-light);
      font-size: 0.85rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
    }

    .footer-legal {
      display: flex;
      gap: 20px;
    }
    .footer-legal a {
      color: var(--text-light);
      text-decoration: none;
      font-size: 0.82rem;
      transition: var(--transition);
    }
    .footer-legal a:hover { color: var(--gold); }

    /* ═══ REPEATING PATTERN UTILITIES ═══ */
    .text-center { text-align: center; }
    .container--flush { padding: 0; }
    .pdf-resources--padded { padding: 0 24px 40px; }
    .testimonial-section--spaced { padding: 72px 0; }
    .contact-intro { max-width: 640px; margin-bottom: 20px; }
    .testimonial-nav { display: flex; justify-content: center; gap: 12px; margin-top: 24px; }
    .testimonial-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
    .cta-row--center { margin-top: 28px; display: flex; gap: 14px; flex-wrap: wrap; }
    .social-icon {
      display: flex; align-items: center; justify-content: center;
      width: 36px; height: 36px; border-radius: 50%;
      border: 1px solid var(--border); color: var(--text-muted);
      transition: all 0.3s;
    }
    .social-icon:hover { border-color: var(--gold); color: var(--gold); }
    .founding-badge {
      display: inline-flex; align-items: center; gap: 8px;
      background: linear-gradient(135deg, var(--gold), var(--gold-light));
      color: var(--charcoal); font-family: 'Montserrat', sans-serif;
      font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em;
      text-transform: uppercase; padding: 10px 20px; border-radius: 8px; margin-bottom: 16px;
    }

    /* ═══ FOOTER NEWSLETTER ═══ */
    .footer-newsletter {
      background: var(--charcoal);
      padding: 48px 24px;
      text-align: center;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .footer-newsletter h3 {
      color: var(--ivory);
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.6rem;
      font-weight: 400;
      margin: 0 0 8px;
    }
    .footer-newsletter p {
      color: rgba(255,255,255,0.55);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.8rem;
      max-width: 420px;
      margin: 0 auto 20px;
    }
    .footer-newsletter-form {
      display: flex;
      gap: 10px;
      max-width: 440px;
      margin: 0 auto;
    }
    .footer-newsletter-input {
      flex: 1;
      padding: 12px 16px;
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 8px;
      background: rgba(255,255,255,0.06);
      color: var(--ivory);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.85rem;
      outline: none;
      transition: border-color 0.3s;
    }
    .footer-newsletter-input:focus {
      border-color: var(--gold);
    }
    .footer-newsletter-btn {
      padding: 12px 24px;
      background: var(--gold);
      color: var(--charcoal);
      border: none;
      border-radius: 8px;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      cursor: pointer;
      white-space: nowrap;
      transition: background 0.3s;
    }
    .footer-newsletter-btn:hover {
      background: var(--gold-light);
    }
    .footer-social {
      display: flex;
      gap: 12px;
      margin-top: 16px;
    }

    /* ═══ FIRST VISIT — 4-step flow ═══ */
    .home-first-visit {
      padding: 64px 24px;
    }
    .first-visit-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      max-width: 960px;
      margin: 0 auto;
      position: relative;
    }
    .first-visit-step {
      text-align: center;
      padding: 32px 16px;
      position: relative;
    }
    .first-visit-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2rem;
      font-weight: 300;
      color: var(--gold);
      opacity: 0.3;
      margin-bottom: 8px;
    }
    .first-visit-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: var(--cream);
      margin: 0 auto 16px;
      color: var(--charcoal);
    }
    .first-visit-step h4 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 8px;
    }
    .first-visit-step p {
      font-size: 0.82rem;
      color: var(--text-muted);
      line-height: 1.6;
    }
    @media (max-width: 680px) {
      .first-visit-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
    }

    /* ═══ TEAM SECTION ═══ */
    .home-team-section {
      padding: 64px 24px;
    }
    .team-grid {
      max-width: 640px;
      margin: 0 auto;
    }
    .team-card {
      display: flex;
      gap: 32px;
      align-items: center;
      background: var(--cream);
      border-radius: 16px;
      padding: 32px;
      border: 1px solid var(--border);
    }
    .team-photo-placeholder {
      flex-shrink: 0;
      width: 120px;
      height: 120px;
      border-radius: 50%;
      background: var(--ivory);
      border: 2px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .team-info h4 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.25rem;
      font-weight: 600;
      margin-bottom: 4px;
    }
    .team-role {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.72rem;
      font-weight: 500;
      color: var(--gold);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 12px;
    }
    .team-bio {
      font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.7;
      margin-bottom: 16px;
    }
    .team-badges { display: flex; gap: 8px; flex-wrap: wrap; }
    .team-badge {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.65rem;
      font-weight: 500;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 5px 12px;
      border-radius: 20px;
      border: 1px solid var(--border);
      color: var(--text-muted);
    }
    @media (max-width: 680px) {
      .team-card { flex-direction: column; text-align: center; padding: 24px; }
      .team-badges { justify-content: center; }
    }

    /* ═══ PROTOCOL JOURNEY TIMELINE ═══ */
    .home-journey-section {
      padding: 64px 24px;
      background: var(--cream);
    }
    .journey-timeline {
      display: flex;
      justify-content: space-between;
      max-width: 880px;
      margin: 40px auto 0;
      position: relative;
      padding: 0 16px;
    }
    .journey-line {
      position: absolute;
      top: 12px;
      left: 10%;
      right: 10%;
      height: 2px;
      background: linear-gradient(90deg, var(--gold), var(--gold-light));
      opacity: 0.3;
    }
    .journey-step {
      text-align: center;
      position: relative;
      flex: 1;
      max-width: 200px;
    }
    .journey-dot {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: var(--ivory);
      border: 3px solid var(--gold);
      margin: 0 auto 12px;
      position: relative;
      z-index: 1;
    }
    .journey-week {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.68rem;
      font-weight: 600;
      color: var(--gold);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 12px;
    }
    .journey-card h4 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.05rem;
      font-weight: 600;
      margin-bottom: 6px;
    }
    .journey-card p {
      font-size: 0.78rem;
      color: var(--text-muted);
      line-height: 1.6;
    }
    @media (max-width: 680px) {
      .journey-timeline { flex-direction: column; gap: 24px; align-items: flex-start; }
      .journey-line { display: none; }
      .journey-step { text-align: left; display: flex; gap: 16px; max-width: 100%; align-items: flex-start; }
      .journey-dot { flex-shrink: 0; margin: 4px 0 0; }
    }

    /* ═══ TESTIMONIALS CAROUSEL ═══ */
    .home-testimonials-section {
      padding: 64px 24px;
    }
    .testimonial-carousel {
      max-width: 800px;
      margin: 0 auto;
      overflow: hidden;
      position: relative;
    }
    .testimonial-track {
      display: flex;
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .testimonial-card {
      flex: 0 0 100%;
      padding: 40px;
      text-align: center;
    }
    .testimonial-quote {
      font-family: 'Cormorant Garamond', serif;
      font-size: 4rem;
      color: var(--gold);
      line-height: 0.5;
      margin-bottom: 16px;
      opacity: 0.4;
    }
    .testimonial-text {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      font-weight: 400;
      font-style: italic;
      line-height: 1.7;
      color: var(--charcoal);
      max-width: 580px;
      margin: 0 auto 24px;
    }
    .testimonial-author {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }
    .testimonial-name {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.8rem;
      font-weight: 600;
      letter-spacing: 0.05em;
    }
    .testimonial-result {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.7rem;
      color: var(--gold);
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .testimonial-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      margin-top: 24px;
    }
    .testimonial-btn {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 1px solid var(--border);
      background: none;
      font-size: 1.4rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--charcoal);
      transition: all 0.3s;
      line-height: 1;
      padding: 0 0 3px 0;
    }
    .testimonial-btn:hover {
      border-color: var(--gold);
      color: var(--gold);
    }
    .testimonial-dots {
      display: flex;
      gap: 8px;
    }
    .testimonial-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--border);
      cursor: pointer;
      transition: all 0.3s;
    }
    .testimonial-dot.active {
      background: var(--gold);
      transform: scale(1.2);
    }

    /* ═══ FAQ ACCORDION ═══ */
    .home-faq-section, .program-faq-section {
      padding: 64px 24px;
    }
    .faq-accordion {
      max-width: 680px;
      margin: 0 auto;
    }
    .faq-item {
      border-bottom: 1px solid var(--border);
    }
    .faq-question {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px 0;
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      font-weight: 600;
      cursor: pointer;
      list-style: none;
      color: var(--charcoal);
      transition: color 0.3s;
    }
    .faq-question::-webkit-details-marker { display: none; }
    .faq-question::after {
      content: '+';
      font-family: 'Montserrat', sans-serif;
      font-size: 1.2rem;
      font-weight: 300;
      color: var(--gold);
      transition: transform 0.3s;
      flex-shrink: 0;
      margin-left: 16px;
    }
    details[open] .faq-question::after {
      content: '−';
    }
    .faq-question:hover { color: var(--gold); }
    .faq-answer {
      padding: 0 0 20px;
    }
    .faq-answer p {
      font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.7;
    }

    /* ═══ RESPONSIVE ═══ */
    @media (max-width: 1100px) {
      .product-info-grid,
      .analysis-display,
      .fps-section { grid-template-columns: 1fr; }
      .hero-visual { display: none; }
      .hero-content { max-width: 100%; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .contact-shell { padding: 40px; }
      .fps-section { padding: 50px; }
    }

    @media (max-width: 900px) {
      .nav-links { display: none; }
      .menu-btn { display: inline-flex; align-items: center; justify-content: center; }
      .container, .nav-container { padding: 0 20px; }
      section { padding: 70px 0; }
      .sticky-cta { display: flex; }
      .cream-section { margin: 0 -20px; padding: 70px 20px; }

      /* ── Auto-hide nav + sticky CTA on scroll down ── */
      .nav {
        transition: transform 0.3s ease, background 0.35s, padding 0.35s;
      }
      .nav.nav--hidden {
        transform: translateY(-100%);
        pointer-events: none;
      }
      .sticky-cta {
        transition: transform 0.3s ease;
      }
      .sticky-cta.sticky--hidden {
        transform: translateY(calc(100% + 20px));
        pointer-events: none;
      }
      /* Floating mask follows sticky CTA */
      .float-mask {
        bottom: 90px;
        transition: bottom 0.3s ease;
      }
      .float-mask.float--lowered {
        bottom: 24px;
      }
    }

    @media (max-width: 680px) {
      .steps-container { grid-template-columns: 1fr; }
      .stats-grid { grid-template-columns: 1fr; }
      .hileft-stats__grid { grid-template-columns: 1fr 1fr; }
      .tab-btn { padding: 0 11px; font-size: 0.58rem; letter-spacing: 1.2px; }
      .switcher-brand { padding: 0 14px 0 12px; }
      .switcher-brand__name { font-size: 0.65rem; letter-spacing: 1.5px; }
      .switcher-brand__sub { font-size: 0.42rem; letter-spacing: 2px; }
      .contact-shell { padding: 28px; }
      .fps-section { padding: 36px; }
      .hileft-pillars-grid { grid-template-columns: 1fr; }
      .hileft-challenges-grid { grid-template-columns: 1fr; }

      /* ── Compact mobile header ── */
      .product-switcher { height: 42px; }
      .tab-btn { height: 42px; }
      .nav { top: 42px; padding: 10px 0; }
      .nav.scrolled { padding: 8px 0; }
      .nav-logo { font-size: 1rem; letter-spacing: 2px; }
      .nav-cta { display: none !important; }
      .page-content { margin-top: 42px; }
      .drawer { top: 42px; }

      /* ── Fix horizontal overflow ── */
      .hero { padding-left: 20px; padding-right: 20px; }
      .hero-content { max-width: 100%; }
      .hero-title { word-break: break-word; }
      .hero-cta-row { flex-direction: column; }
      .hero-cta-row .btn { text-align: center; }
      .hero-social-proof { flex-wrap: wrap; }
      .home-promo-banner { font-size: 0.72rem; }

      /* ── Szekció címek — túlcsordulás megelőzés ── */
      .section-title {
        font-size: clamp(1.6rem, 5vw, 2.4rem);
        word-break: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
        padding: 0 4px;
      }
      .section-subtitle {
        font-size: 0.95rem;
        padding: 0 4px;
      }
      .section-label,
      .section-tag {
        font-size: 0.62rem;
      }
      /* Szekciók minimális padding */
      .problem-section,
      .home-skin-quiz,
      .protocol-cards-section,
      .protocol-philosophy,
      .protocol-pillars {
        padding-left: 16px;
        padding-right: 16px;
      }
    }

    /* ═══════════════════════════════════════
       HILEFT TAB — Specific Styles
    ═══════════════════════════════════════ */

    /* Document Carousel (univerzális — újrahasználható) */
    .hileft-pdf-section { text-align: center; }

    .doc-carousel {
      position: relative;
      background: var(--charcoal);
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 12px 48px rgba(0,0,0,0.15);
      max-width: 900px;
      margin: 0 auto;
    }
    .doc-carousel__track {
      display: flex;
      transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      will-change: transform;
    }
    .doc-carousel__slide {
      min-width: 100%;
      width: 100%;
      height: auto;
      display: block;
      cursor: zoom-in;
      -webkit-user-drag: none;
      user-select: none;
    }
    .doc-carousel__btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0,0,0,0.5);
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
      color: #fff;
      border: none;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      font-size: 1.8rem;
      line-height: 1;
      cursor: pointer;
      opacity: 0.7;
      transition: opacity 0.3s, background 0.3s;
      z-index: 2;
    }
    .doc-carousel__btn:hover {
      opacity: 1;
      background: rgba(0,0,0,0.7);
    }
    .doc-carousel__btn--prev { left: 12px; }
    .doc-carousel__btn--next { right: 12px; }

    .doc-carousel__counter {
      position: absolute;
      bottom: 16px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0,0,0,0.6);
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
      color: #fff;
      padding: 6px 18px;
      border-radius: 20px;
      font-size: 0.85rem;
      font-family: 'Montserrat', sans-serif;
      letter-spacing: 1px;
      z-index: 2;
    }
    .doc-carousel__fullscreen {
      position: absolute;
      top: 12px;
      right: 12px;
      background: rgba(0,0,0,0.5);
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
      color: #fff;
      border: none;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      font-size: 1.1rem;
      cursor: pointer;
      opacity: 0.7;
      transition: opacity 0.3s;
      z-index: 2;
    }
    .doc-carousel__fullscreen:hover { opacity: 1; }

    @media (max-width: 680px) {
      .doc-carousel { border-radius: 10px; }
      .doc-carousel__btn { width: 38px; height: 38px; font-size: 1.4rem; }
      .doc-carousel__btn--prev { left: 6px; }
      .doc-carousel__btn--next { right: 6px; }
    }

    /* Two Pillars Grid */
    .hileft-pillars-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
      margin-top: 48px;
    }

    .hileft-pillar {
      background: var(--card-bg);
      border: 1px solid var(--card-border);
      border-radius: 16px;
      padding: 36px;
      transition: var(--transition);
    }

    .hileft-pillar:hover {
      border-color: var(--gold);
      box-shadow: 0 8px 32px rgba(184, 150, 90, 0.08);
    }

    .hileft-pillar__icon {
      margin-bottom: 20px;
    }

    .hileft-pillar__title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.5rem;
      font-weight: 600;
      margin-bottom: 4px;
    }

    .hileft-pillar__sub {
      display: block;
      font-size: 0.72rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 16px;
    }

    .hileft-pillar p {
      font-size: 0.92rem;
      line-height: 1.7;
      color: var(--text-muted);
      margin-bottom: 20px;
    }

    .hileft-effects {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .hileft-effect {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 0.85rem;
      line-height: 1.5;
    }

    .hileft-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      flex-shrink: 0;
    }

    /* Challenges Grid */
    .hileft-challenges-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      margin-top: 48px;
    }

    .hileft-challenge {
      display: flex;
      gap: 20px;
      background: var(--card-bg);
      border: 1px solid var(--card-border);
      border-radius: 16px;
      padding: 28px;
      transition: var(--transition);
    }

    .hileft-challenge:hover {
      border-color: var(--gold);
    }

    .hileft-challenge__num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2rem;
      font-weight: 300;
      color: var(--gold);
      line-height: 1;
      flex-shrink: 0;
    }

    .hileft-challenge__title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      font-weight: 600;
      margin-bottom: 2px;
    }

    .hileft-challenge__tag {
      display: inline-block;
      font-size: 0.7rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 10px;
    }

    .hileft-challenge p {
      font-size: 0.88rem;
      line-height: 1.65;
      color: var(--text-muted);
      margin-bottom: 12px;
    }

    .hileft-challenge__solution {
      font-size: 0.85rem;
      line-height: 1.6;
      padding: 12px 16px;
      background: rgba(184, 150, 90, 0.06);
      border-left: 2px solid var(--gold);
      border-radius: 0 8px 8px 0;
      color: var(--charcoal);
    }

    /* Stats Section */
    .hileft-stats {
      background: linear-gradient(135deg, var(--charcoal) 0%, #2a2520 100%);
      border-radius: 20px;
      padding: 56px 48px;
      margin: 40px 0;
    }

    .hileft-stats__grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 32px;
    }

    .hileft-stat {
      text-align: center;
    }

    .hileft-stat__num {
      display: block;
      font-family: 'Cormorant Garamond', serif;
      font-size: 2.4rem;
      font-weight: 300;
      color: var(--gold);
      margin-bottom: 8px;
    }

    .hileft-stat__label {
      font-size: 0.82rem;
      line-height: 1.6;
      color: var(--ivory);
      opacity: 0.75;
    }

    @media (max-width: 1024px) {
      .hileft-pillars-grid { grid-template-columns: 1fr; }
      .hileft-challenges-grid { grid-template-columns: 1fr; }
      .hileft-stats__grid { grid-template-columns: 1fr 1fr; }
      .hileft-stats { padding: 40px 28px; }
    }

    /* ═══════════════════════════════════════ */
    /* ═══ HOME TAB STÍLUSOK ═══ */
    /* ═══════════════════════════════════════ */

    .home-glow {
      background: radial-gradient(ellipse 60% 50% at 75% 0%, var(--gold-glow), transparent);
    }

    /* Hero promo banner */
    .home-promo-banner {
      margin-top: 28px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: var(--charcoal);
      color: var(--ivory);
      padding: 12px 24px;
      border-radius: 100px;
      font-size: 0.82rem;
      letter-spacing: 0.5px;
    }
    .home-promo-banner strong { color: var(--gold-light); }
    .home-promo-icon { color: var(--gold); font-size: 1rem; }

    /* Hero badge */
    .home-hero-badge {
      background: var(--charcoal);
      border: 1px solid rgba(184, 150, 90, 0.25);
      border-radius: 16px;
      padding: 32px 40px;
      text-align: center;
      display: inline-block;
    }
    .home-hero-badge-label {
      display: block;
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.4rem;
      font-weight: 500;
      color: var(--gold);
      margin-bottom: 4px;
    }
    .home-hero-badge-sub {
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: rgba(253, 250, 246, 0.5);
    }

    /* Intro strip */
    .home-intro-strip {
      background: var(--charcoal);
      border-radius: 16px;
      padding: 36px 40px;
      margin-bottom: 80px;
    }
    .home-strip-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }
    .home-strip-item {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .home-strip-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      color: var(--gold);
      font-weight: 600;
    }
    .home-strip-text {
      font-size: 0.85rem;
      color: rgba(253, 250, 246, 0.8);
      line-height: 1.5;
    }

    /* Protocol section */
    .home-protocol-section {
      text-align: center;
      padding: 60px 0 80px;
    }
    .protocol-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin: 48px 0 36px;
    }
    .protocol-card {
      background: var(--card-bg);
      border: 1px solid var(--card-border);
      border-radius: 16px;
      padding: 36px 28px 28px;
      text-align: left;
      position: relative;
      transition: var(--transition);
    }
    .protocol-card:hover {
      border-color: var(--gold);
      box-shadow: 0 8px 32px rgba(184, 150, 90, 0.1);
    }
    .protocol-card-coming {
      background: var(--cream);
      border-style: dashed;
      position: relative;
      overflow: hidden;
      cursor: pointer;
      transition: var(--transition);
    }
    .protocol-card-coming:hover {
      border-color: var(--gold);
      box-shadow: 0 8px 32px rgba(184, 150, 90, 0.12);
    }
    .protocol-card-coming::after {
      content: 'COMING SOON';
      position: absolute;
      top: 24px;
      right: -40px;
      width: 180px;
      text-align: center;
      padding: 7px 0;
      background: linear-gradient(135deg, var(--gold), #D4B077);
      color: #fff;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.55rem;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      transform: rotate(45deg);
      box-shadow: 0 2px 12px rgba(184, 150, 90, 0.35);
      z-index: 2;
    }
    .protocol-card-badge {
      display: inline-block;
      font-size: 0.68rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      padding: 4px 12px;
      border-radius: 100px;
      margin-bottom: 16px;
    }
    .protocol-card-badge.available {
      background: rgba(76, 175, 80, 0.1);
      color: #2E7D32;
    }
    .protocol-card-badge.coming {
      background: rgba(184, 150, 90, 0.15);
      color: var(--gold);
    }
    .protocol-card-phase {
      display: block;
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--text-muted);
      margin-bottom: 8px;
    }
    .protocol-card h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.6rem;
      font-weight: 600;
      margin-bottom: 8px;
    }
    .protocol-card-tech {
      font-size: 0.78rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      color: var(--gold);
      margin-bottom: 12px;
    }
    .protocol-card-desc {
      font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.7;
      margin-bottom: 20px;
    }
    .protocol-card-link {
      font-size: 0.82rem;
      font-weight: 600;
      color: var(--gold);
      text-decoration: none;
      transition: var(--transition);
    }
    .protocol-card-link:hover { color: var(--charcoal); }
    .protocol-card-link.muted {
      color: var(--text-light);
      font-weight: 400;
      font-style: italic;
    }

    /* Treatment Chips on Protocol Cards */
    .protocol-card-treatments {
      margin-top: 18px;
      padding-top: 16px;
      border-top: 1px solid rgba(26,24,22,0.07);
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .protocol-card-treatments-label {
      display: block;
      width: 100%;
      font-size: 0.6rem;
      font-weight: 500;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 4px;
    }
    .treatment-chip {
      font-size: 0.68rem;
      font-weight: 400;
      padding: 5px 14px;
      border: 1px solid rgba(184,150,90,0.25);
      background: rgba(184,150,90,0.06);
      color: var(--gold);
      cursor: pointer;
      border-radius: 100px;
      transition: all 0.25s;
      font-family: 'Montserrat', sans-serif;
    }
    .treatment-chip:hover {
      background: var(--gold);
      color: #fff;
      border-color: var(--gold);
    }

    .protocol-footer-text {
      font-size: 0.95rem;
      color: var(--text-muted);
      margin-top: 8px;
    }

    /* Differentiator */
    .home-diff-section { padding: 0 0 80px; }
    .home-diff-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }
    .home-diff-card {
      border-radius: 16px;
      padding: 36px 32px;
    }
    .home-diff-card h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      font-weight: 600;
      margin-bottom: 20px;
    }
    .home-diff-card ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .home-diff-card li {
      font-size: 0.88rem;
      line-height: 1.6;
      padding-left: 20px;
      position: relative;
    }
    .home-diff-old {
      background: var(--cream);
      border: 1px solid var(--border);
    }
    .home-diff-old li::before {
      content: '✕';
      position: absolute;
      left: 0;
      color: var(--text-light);
      font-size: 0.7rem;
      top: 3px;
    }
    .home-diff-old li { color: var(--text-muted); }
    .home-diff-new {
      background: var(--charcoal);
      color: var(--ivory);
    }
    .home-diff-new h3 { color: var(--gold); }
    .home-diff-new li::before {
      content: '✓';
      position: absolute;
      left: 0;
      color: var(--gold);
      font-weight: 700;
      top: 0;
    }
    .home-diff-new li { color: rgba(253, 250, 246, 0.85); }

    /* Tech overview */
    .home-tech-section {
      text-align: center;
      padding: 60px 0 80px;
    }
    .home-tech-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 40px;
    }
    .home-tech-card {
      background: var(--card-bg);
      border: 1px solid var(--card-border);
      border-radius: 16px;
      padding: 36px 28px 28px;
      text-align: left;
      text-decoration: none;
      color: inherit;
      transition: var(--transition);
      display: block;
    }
    .home-tech-card:hover {
      border-color: var(--gold);
      transform: translateY(-4px);
      box-shadow: 0 12px 36px rgba(0, 0, 0, 0.08);
    }
    .home-tech-icon {
      font-size: 1.4rem;
      color: var(--gold);
      margin-bottom: 16px;
    }
    .home-tech-card h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      font-weight: 600;
      margin-bottom: 10px;
    }
    .home-tech-card p {
      font-size: 0.85rem;
      color: var(--text-muted);
      line-height: 1.7;
      margin-bottom: 16px;
    }
    .home-tech-link {
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--gold);
    }

    /* Observ promo */
    .home-observ-promo {
      background: var(--charcoal);
      border-radius: 16px;
      padding: 64px 40px;
      text-align: center;
      margin-bottom: 80px;
    }
    .home-observ-cta-row {
      display: flex;
      gap: 16px;
      justify-content: center;
      flex-wrap: wrap;
    }

    /* Waitlist */
    .home-waitlist {
      text-align: center;
      padding: 64px 40px;
      background: linear-gradient(135deg, rgba(184, 150, 90, 0.08), rgba(212, 176, 119, 0.05));
      border: 1px solid rgba(184, 150, 90, 0.15);
      border-radius: 16px;
      margin-bottom: 80px;
    }
    .home-waitlist-cta {
      display: flex;
      gap: 16px;
      justify-content: center;
      flex-wrap: wrap;
      margin-top: 32px;
    }

    /* Contact */
    .home-contact-section {
      text-align: center;
      padding: 60px 0 80px;
    }
    .home-contact-grid {
      display: grid;
      grid-template-columns: 1fr 1.5fr;
      gap: 40px;
      margin-top: 40px;
      text-align: left;
    }
    .home-contact-info {
      display: flex;
      flex-direction: column;
      gap: 28px;
    }
    .home-contact-item h4 {
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--gold);
      margin-bottom: 8px;
    }
    .home-contact-item p {
      font-size: 0.92rem;
      color: var(--text-muted);
      line-height: 1.7;
    }
    .home-contact-item a {
      color: var(--charcoal);
      text-decoration: none;
      transition: var(--transition);
    }
    .home-contact-item a:hover { color: var(--gold); }

    /* ═══ HOME RESPONSIVE ═══ */
    @media (max-width: 1100px) {
      .protocol-grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }
      .home-diff-grid { grid-template-columns: 1fr; }
      .home-tech-grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }
      .home-contact-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 900px) {
      .home-strip-grid { grid-template-columns: 1fr 1fr; }
      .home-intro-strip { padding: 28px 24px; }
      .home-observ-promo { padding: 48px 24px; }
      .home-waitlist { padding: 48px 24px; }
      .home-promo-banner {
        flex-direction: column;
        text-align: center;
        padding: 14px 20px;
        border-radius: 12px;
      }
    }

    @media (max-width: 680px) {
      .home-strip-grid { grid-template-columns: 1fr; }
    }

    /* ═══════════════════════════════════════ */
    /* ═══ FLOATING LED MASK IKON ═══ */
    /* ═══════════════════════════════════════ */

    /* ═══ LUXURY FLOATING MASK ICON ═══ */
    .float-mask {
      position: fixed;
      bottom: 24px;
      right: 24px;
      z-index: 1350;
      perspective: 600px;
    }

    .float-mask-btn {
      width: 68px;
      height: 68px;
      border-radius: 50%;
      background: radial-gradient(ellipse at 30% 20%, rgba(253,250,246,0.95) 0%, rgba(245,240,232,0.9) 100%);
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
      box-shadow:
        0 4px 20px rgba(0,0,0,0.12),
        0 0 0 1.5px rgba(184,150,90,0.4),
        0 0 30px rgba(184,150,90,0.08),
        inset 0 1px 0 rgba(255,255,255,0.8);
      animation: fmFloat 4s ease-in-out infinite;
    }

    @keyframes fmFloat {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-6px); }
    }

    .float-mask-btn:hover {
      transform: translateY(-4px) scale(1.1) rotateY(-8deg);
      box-shadow:
        0 12px 40px rgba(0,0,0,0.15),
        0 0 0 2px var(--gold),
        0 0 40px rgba(184,150,90,0.15),
        0 0 20px rgba(255,68,68,0.1),
        inset 0 1px 0 rgba(255,255,255,0.9);
      animation: none;
    }

    .float-mask-btn.fm-active {
      animation: none;
      transform: translateY(-2px) scale(1.05);
      box-shadow:
        0 8px 32px rgba(0,0,0,0.15),
        0 0 0 2px var(--gold),
        0 0 24px rgba(184,150,90,0.2);
    }

    /* Arany gyűrűk */
    .fm-ring {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
    }
    .fm-ring--outer {
      inset: -3px;
      border: 1px solid rgba(184,150,90,0.25);
      animation: fmRingSpin 12s linear infinite;
      background: conic-gradient(from 0deg, transparent 0%, rgba(184,150,90,0.3) 25%, transparent 50%, rgba(184,150,90,0.15) 75%, transparent 100%);
      -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1.5px));
      mask: radial-gradient(farthest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1.5px));
    }
    .fm-ring--inner {
      inset: 2px;
      border: 0.5px solid rgba(212,176,119,0.15);
    }

    @keyframes fmRingSpin {
      to { transform: rotate(360deg); }
    }

    /* Üveg réteg */
    .fm-glass {
      position: absolute;
      inset: 0;
      border-radius: 50%;
      background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 50%, rgba(255,255,255,0.02) 100%);
      pointer-events: none;
      z-index: 3;
    }

    .float-mask-svg,
    .float-mask-logo {
      width: 44px;
      height: 44px;
      position: relative;
      z-index: 2;
      filter: drop-shadow(0 1px 2px rgba(0,0,0,0.1));
      transition: transform 0.4s ease;
      object-fit: contain;
      border-radius: 0;
    }
    .float-mask-btn:hover .float-mask-svg,
    .float-mask-btn:hover .float-mask-logo {
      transform: scale(1.08);
    }

    /* Pulzáló aura — arany */
    .fm-aura {
      position: absolute;
      inset: -8px;
      border-radius: 50%;
      pointer-events: none;
      z-index: 0;
    }
    .fm-aura::before,
    .fm-aura::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 50%;
      animation: fmAuraPulse 3s ease-in-out infinite;
    }
    .fm-aura::before {
      background: radial-gradient(circle, rgba(184,150,90,0.25) 0%, transparent 70%);
    }
    .fm-aura::after {
      background: radial-gradient(circle, rgba(184,150,90,0.12) 0%, transparent 70%);
      background: radial-gradient(circle, rgba(212,176,119,0.15) 0%, transparent 70%);
      animation-delay: 1.5s;
    }

    @keyframes fmAuraPulse {
      0%, 100% { transform: scale(1); opacity: 0.6; }
      50% { transform: scale(1.35); opacity: 0; }
    }

    /* ── Panel — prémium glassmorphism ── */
    .float-mask-panel {
      position: absolute;
      bottom: 80px;
      right: 0;
      width: 320px;
      background: linear-gradient(165deg, rgba(26,24,22,0.97) 0%, rgba(20,18,16,0.99) 100%);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(184, 150, 90, 0.15);
      border-radius: 20px;
      overflow: hidden;
      opacity: 0;
      transform: translateY(16px) scale(0.92);
      pointer-events: none;
      transition: opacity 0.35s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
      box-shadow:
        0 20px 60px rgba(0,0,0,0.4),
        0 0 0 0.5px rgba(184,150,90,0.1),
        inset 0 1px 0 rgba(255,255,255,0.03);
    }
    .float-mask-panel.open {
      opacity: 1;
      transform: translateY(0) scale(1);
      pointer-events: auto;
    }

    .float-panel-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 18px 22px;
      border-bottom: 1px solid rgba(184,150,90,0.1);
      background: linear-gradient(180deg, rgba(184,150,90,0.04) 0%, transparent 100%);
    }
    .float-panel-brand {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .float-panel-icon {
      color: var(--gold);
      font-size: 0.6rem;
    }
    .float-panel-header strong {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.05rem;
      color: var(--ivory);
      letter-spacing: 1.5px;
      font-weight: 500;
    }
    .float-panel-close {
      background: none;
      border: 1px solid rgba(253,250,246,0.08);
      color: var(--text-light);
      cursor: pointer;
      font-size: 0.8rem;
      width: 28px;
      height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      transition: var(--transition);
    }
    .float-panel-close:hover {
      background: rgba(253, 250, 246, 0.08);
      border-color: rgba(184,150,90,0.3);
      color: var(--ivory);
    }

    .float-panel-body {
      padding: 22px;
    }
    .float-panel-body p {
      font-size: 0.85rem;
      color: rgba(253, 250, 246, 0.6);
      line-height: 1.6;
      margin-bottom: 18px;
      font-style: italic;
      font-family: 'Cormorant Garamond', serif;
      font-size: 0.95rem;
    }

    .fm-cta {
      width: 100%;
      text-align: center;
      display: flex !important;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 8px;
      font-size: 0.8rem !important;
    }
    .fm-cta:first-of-type { margin-top: 0; }
    .fm-cta svg { flex-shrink: 0; }

    /* Floating responsive */
    @media (max-width: 900px) {
      .float-mask {
        bottom: 80px;
        right: 14px;
      }
      .float-mask-btn {
        width: 60px;
        height: 60px;
      }
      .float-mask-svg {
        width: 38px;
        height: 38px;
      }
      .float-mask-panel {
        width: calc(100vw - 28px);
        right: -14px;
      }
    }

    /* ═══════════════════════════════════════ */
    /* ═══ PROGRAM / MEMBERSHIP STÍLUSOK ═══ */
    /* ═══════════════════════════════════════ */

    .program-tiers-section {
      text-align: center;
      padding: 60px 0 80px;
    }

    .program-tiers-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 48px;
      align-items: start;
    }

    .program-tier-card {
      background: var(--card-bg);
      border: 1px solid var(--card-border);
      border-radius: 16px;
      padding: 36px 28px 28px;
      text-align: left;
      position: relative;
      transition: var(--transition);
    }
    .program-tier-card:hover {
      border-color: var(--gold);
      box-shadow: 0 8px 32px rgba(184, 150, 90, 0.1);
    }

    .program-tier-featured {
      background: var(--charcoal);
      color: var(--ivory);
      border-color: var(--gold);
      transform: scale(1.03);
      box-shadow: 0 12px 48px rgba(0, 0, 0, 0.15);
    }
    .program-tier-featured h3 { color: var(--gold); }
    .program-tier-featured .program-tier-level { color: rgba(253,250,246,0.5); }
    .program-tier-featured .program-tier-benefits li { color: rgba(253,250,246,0.8); }
    .program-tier-featured .program-tier-benefits li::before { color: var(--gold); }

    .program-tier-founding {
      background: linear-gradient(135deg, rgba(184,150,90,0.06), rgba(212,176,119,0.03));
      border-color: rgba(184,150,90,0.25);
    }

    .program-tier-badge {
      position: absolute;
      top: -10px;
      right: 20px;
      background: var(--gold);
      color: #fff;
      font-size: 0.65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      padding: 4px 14px;
      border-radius: 100px;
    }
    .founding-badge {
      background: linear-gradient(135deg, var(--gold), var(--gold-light));
    }

    .program-tier-level {
      display: block;
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--text-muted);
      margin-bottom: 8px;
    }

    .program-tier-card h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.5rem;
      font-weight: 600;
      margin-bottom: 20px;
    }

    .program-tier-benefits {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 24px;
    }
    .program-tier-benefits li {
      font-size: 0.85rem;
      line-height: 1.6;
      color: var(--text-muted);
      padding-left: 20px;
      position: relative;
    }
    .program-tier-benefits li::before {
      content: '✓';
      position: absolute;
      left: 0;
      font-weight: 700;
      color: var(--gold);
    }

    .program-tier-cta {
      width: 100%;
      text-align: center;
      display: block;
    }

    /* Why section */
    .program-why-section {
      background: var(--charcoal);
      border-radius: 16px;
      padding: 64px 40px;
      margin-bottom: 80px;
    }
    .program-why-content { text-align: center; }

    .program-why-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
      margin-top: 40px;
      text-align: left;
    }

    .program-why-item { padding: 4px 0; }
    .program-why-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      color: var(--gold);
      font-weight: 600;
      display: block;
      margin-bottom: 10px;
    }
    .program-why-item h4 {
      font-size: 0.88rem;
      font-weight: 600;
      color: var(--ivory);
      margin-bottom: 8px;
    }
    .program-why-item p {
      font-size: 0.85rem;
      color: rgba(253,250,246,0.65);
      line-height: 1.7;
    }

    /* Join section */
    .program-join-section {
      text-align: center;
      padding: 60px 0 80px;
    }
    .program-join-form {
      max-width: 600px;
      margin: 32px auto 0;
    }

    /* ═══ PROGRAM RESPONSIVE ═══ */
    @media (max-width: 1100px) {
      .program-tiers-grid { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
      .program-tier-featured { transform: none; }
      .program-why-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 900px) {
      .program-why-section { padding: 48px 24px; }
    }

    /* ═══════════════════════════════════════
       TREAT MODAL — Protocol Treatments
    ═══════════════════════════════════════ */
    .treat-modal-overlay {
      position: fixed;
      inset: 0;
      z-index: 1500;
      background: rgba(26, 24, 22, 0.65);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                  visibility 0.4s;
      padding: 1.5rem;
    }
    .treat-modal-overlay.active {
      opacity: 1;
      visibility: visible;
    }
    .treat-modal {
      background: var(--ivory);
      max-width: 1100px;
      width: 100%;
      max-height: 90vh;
      overflow-y: auto;
      position: relative;
      transform: translateY(30px) scale(0.97);
      transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .treat-modal-overlay.active .treat-modal {
      transform: translateY(0) scale(1);
    }
    .treat-modal__close {
      position: fixed;
      top: 2rem;
      right: 2rem;
      width: 44px;
      height: 44px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.5rem;
      color: rgba(255,255,255,0.6);
      cursor: pointer;
      border: 1px solid rgba(255,255,255,0.2);
      background: rgba(26,24,22,0.5);
      backdrop-filter: blur(4px);
      transition: all 0.2s;
      z-index: 1510;
      border-radius: 50%;
    }
    .treat-modal__close:hover {
      color: #fff;
      border-color: rgba(255,255,255,0.5);
      background: rgba(26,24,22,0.7);
    }

    /* Hero */
    .treat-modal__hero {
      background: var(--charcoal);
      color: var(--ivory);
      padding: 3.5rem 3rem 2.5rem;
      text-align: center;
    }
    .treat-modal__label {
      font-size: 0.65rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold-light);
      margin-bottom: 1rem;
      display: block;
    }
    .treat-modal__title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2rem, 4vw, 3.5rem);
      font-weight: 300;
      line-height: 1.1;
      margin-bottom: 1rem;
    }
    .treat-modal__title em {
      font-style: italic;
      font-weight: 400;
    }
    .treat-modal__subtitle {
      font-size: 0.85rem;
      line-height: 1.7;
      color: rgba(255,255,255,0.5);
      max-width: 50ch;
      margin: 0 auto 2rem;
    }

    /* Filter */
    .treat-modal__filters {
      display: flex;
      gap: 0.5rem;
      justify-content: center;
      flex-wrap: wrap;
    }
    .treat-filter-btn {
      font-size: 0.63rem;
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 0.55rem 1.3rem;
      border: 1px solid rgba(255,255,255,0.15);
      color: rgba(255,255,255,0.5);
      background: transparent;
      cursor: pointer;
      transition: all 0.25s;
      font-family: 'Montserrat', sans-serif;
    }
    .treat-filter-btn:hover {
      border-color: rgba(255,255,255,0.35);
      color: rgba(255,255,255,0.8);
    }
    .treat-filter-btn.active {
      background: var(--gold);
      color: var(--ivory);
      border-color: var(--gold);
    }

    /* Grid */
    .treat-modal__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5px;
      background: rgba(26,24,22,0.04);
    }

    /* Cards */
    .tm-card {
      background: var(--ivory);
      padding: 2rem 1.75rem 1.75rem;
      display: flex;
      flex-direction: column;
      position: relative;
      overflow: hidden;
      transition: background 0.4s, box-shadow 0.4s;
    }
    .tm-card::before {
      content: '';
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 2px;
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .tm-card:hover::before { transform: scaleX(1); }
    .tm-card:hover { box-shadow: 0 8px 32px rgba(26,24,22,0.06); }

    .tm-card--featured {
      grid-column: span 2;
      background: var(--charcoal);
      color: var(--ivory);
    }
    .tm-card--featured .tm-card__combo { color: rgba(255,255,255,0.5); }
    .tm-card--featured .tm-card__desc { color: rgba(255,255,255,0.6); }
    .tm-card--featured .tm-card__target {
      background: rgba(255,255,255,0.08);
      color: rgba(255,255,255,0.6);
    }
    .tm-card--featured .tm-card__pillar {
      border-color: rgba(255,255,255,0.12);
      color: rgba(255,255,255,0.5);
    }

    .tm-card::after {
      content: 'COMING SOON';
      position: absolute;
      top: 22px; left: -34px;
      width: 140px;
      text-align: center;
      padding: 4px 0;
      background: var(--gold);
      color: #fff;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.42rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      transform: rotate(-45deg);
      z-index: 3;
      box-shadow: 0 2px 6px rgba(26,24,22,0.15);
    }
    .tm-card--featured::after {
      background: var(--gold-light);
    }

    .tm-card__num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 0.7rem;
      color: var(--gold);
      letter-spacing: 0.2em;
      margin-bottom: 0.75rem;
    }
    .tm-card__cat {
      font-size: 0.58rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 0.85rem;
    }
    .tm-card__name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.15rem;
      font-weight: 500;
      line-height: 1.25;
      margin-bottom: 0.65rem;
    }
    .tm-card__combo {
      font-size: 0.7rem;
      font-weight: 400;
      color: rgba(26,24,22,0.55);
      margin-bottom: 0.85rem;
      letter-spacing: 0.02em;
    }
    .tm-card__desc {
      font-size: 0.76rem;
      font-weight: 300;
      line-height: 1.7;
      color: rgba(26,24,22,0.55);
      margin-bottom: 0.85rem;
    }
    .tm-card__targets {
      display: flex;
      flex-wrap: wrap;
      gap: 0.3rem;
      margin-bottom: 0.65rem;
      margin-top: auto;
    }
    .tm-card__target {
      font-size: 0.58rem;
      font-weight: 400;
      letter-spacing: 0.05em;
      padding: 0.25rem 0.65rem;
      background: rgba(26,24,22,0.06);
      color: rgba(26,24,22,0.55);
    }
    .tm-card__pillars {
      display: flex;
      gap: 0.4rem;
      flex-wrap: wrap;
    }
    .tm-card__pillar {
      font-size: 0.55rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 0.2rem 0.6rem;
      border: 1px solid rgba(26,24,22,0.1);
      color: rgba(26,24,22,0.4);
    }

    /* CTA */
    .treat-modal__cta {
      text-align: center;
      padding: 2.5rem 2rem;
      background: var(--cream);
    }
    .treat-modal__cta-text {
      font-size: 0.82rem;
      color: rgba(26,24,22,0.55);
      line-height: 1.8;
    }

    /* Responsive */
    @media (max-width: 1024px) {
      .treat-modal__grid { grid-template-columns: repeat(2, 1fr); }
      .tm-card--featured { grid-column: span 2; }
      .treat-modal__hero { padding: 3rem 2rem 2rem; }
    }
    @media (max-width: 680px) {
      .treat-modal-overlay { padding: 0; }
      .treat-modal { max-height: 100vh; }
      .treat-modal__grid { grid-template-columns: 1fr; }
      .tm-card--featured { grid-column: span 1; }
      .treat-modal__hero { padding: 2.5rem 1.5rem 1.5rem; }
      .treat-modal__filters { gap: 0.3rem; }
      .treat-filter-btn { padding: 0.45rem 0.9rem; font-size: 0.58rem; }
      .treat-modal__close { top: 1rem; right: 1rem; width: 38px; height: 38px; }
    }

    /* ═══════════════════════════════════════
       ULTIMA TREATMENT MODAL
    ═══════════════════════════════════════ */
    .ultima-modal-overlay {
      position: fixed;
      inset: 0;
      z-index: 1500;
      background: rgba(26, 24, 22, 0.65);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                  visibility 0.4s;
      padding: 1.5rem;
    }
    .ultima-modal-overlay.active {
      opacity: 1;
      visibility: visible;
    }
    .ultima-modal {
      background: var(--ivory);
      max-width: 680px;
      width: 100%;
      max-height: 90vh;
      overflow-y: auto;
      position: relative;
      transform: translateY(30px) scale(0.97);
      transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .ultima-modal-overlay.active .ultima-modal {
      transform: translateY(0) scale(1);
    }
    .ultima-modal__close {
      position: absolute;
      top: 1.25rem;
      right: 1.25rem;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.3rem;
      color: rgba(255,255,255,0.5);
      cursor: pointer;
      border: 1px solid rgba(255,255,255,0.15);
      background: none;
      transition: all 0.2s;
      z-index: 2;
      border-radius: 50%;
    }
    .ultima-modal__close:hover {
      color: #fff;
      border-color: rgba(255,255,255,0.4);
    }

    /* Header */
    .ultima-modal__header {
      background: var(--charcoal);
      color: var(--ivory);
      padding: 3rem 2.5rem 2.25rem;
    }
    .ultima-modal__phase {
      display: inline-block;
      font-size: 0.58rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      padding: 4px 14px;
      border: 1px solid rgba(184,150,90,0.35);
      color: var(--gold-light);
      margin-bottom: 1rem;
    }
    .ultima-modal__name {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      font-weight: 400;
      line-height: 1.1;
      margin-bottom: 0.5rem;
    }
    .ultima-modal__tech {
      font-size: 0.72rem;
      font-weight: 400;
      letter-spacing: 0.05em;
      color: rgba(255,255,255,0.45);
    }

    /* Body */
    .ultima-modal__body {
      padding: 2.25rem 2.5rem;
    }
    .ultima-modal__desc {
      font-size: 0.88rem;
      line-height: 1.8;
      color: rgba(26,24,22,0.7);
      margin-bottom: 2rem;
    }

    /* Spec Grid */
    .ultima-modal__specs {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1px;
      background: rgba(26,24,22,0.06);
      margin-bottom: 2rem;
    }
    .ultima-modal__spec {
      background: var(--ivory);
      padding: 1rem 1.25rem;
    }
    .ultima-modal__spec-label {
      font-size: 0.58rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 4px;
    }
    .ultima-modal__spec-value {
      font-size: 0.82rem;
      color: var(--charcoal);
      font-weight: 400;
    }

    /* Indications */
    .ultima-modal__indications-label {
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 10px;
    }
    .ultima-modal__indications {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 0;
    }
    .ultima-modal__indication {
      font-size: 0.7rem;
      font-weight: 400;
      padding: 5px 14px;
      background: rgba(184,150,90,0.08);
      border: 1px solid rgba(184,150,90,0.2);
      color: var(--gold);
      border-radius: 100px;
    }

    /* Footer */
    .ultima-modal__footer {
      padding: 1.5rem 2.5rem 2rem;
      text-align: center;
      border-top: 1px solid rgba(26,24,22,0.06);
    }
    .ultima-modal__footer .btn-gold {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      padding: 0.9rem 2rem;
      background: var(--gold);
      color: var(--ivory);
      font-size: 0.65rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background 0.35s;
      border: none;
      cursor: pointer;
      font-family: 'Montserrat', sans-serif;
    }
    .ultima-modal__footer .btn-gold:hover { background: #a0803d; }

    /* Responsive */
    @media (max-width: 680px) {
      .ultima-modal-overlay { padding: 0; }
      .ultima-modal { max-height: 100vh; }
      .ultima-modal__header { padding: 2.5rem 1.5rem 1.75rem; }
      .ultima-modal__body { padding: 1.75rem 1.5rem; }
      .ultima-modal__footer { padding: 1.25rem 1.5rem 1.5rem; }
      .ultima-modal__specs { grid-template-columns: 1fr; }
    }

    /* Protocol detail button in modal footer */
    .ultima-modal__footer-btns {
      display: flex;
      gap: 0.75rem;
      justify-content: center;
      flex-wrap: wrap;
    }
    .btn-protocol-detail {
      display: none;
      align-items: center;
      gap: 0.6rem;
      padding: 0.9rem 2rem;
      background: none;
      border: 1px solid var(--charcoal);
      color: var(--charcoal);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.65rem;
      font-weight: 500;
      letter-spacing: 0.17em;
      text-transform: uppercase;
      cursor: pointer;
      transition: all 0.3s;
    }
    .btn-protocol-detail:hover {
      background: var(--charcoal);
      color: var(--ivory);
    }
    .btn-protocol-detail.visible { display: inline-flex; }

    /* ═══════════════════════════════════════
       PROTOCOL LIGHTBOX (lapozós nézet)
    ═══════════════════════════════════════ */
    .plb-overlay {
      position: fixed;
      inset: 0;
      z-index: 2000;
      background: rgba(26,24,22,0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.4s, visibility 0.4s;
    }
    .plb-overlay.active {
      opacity: 1;
      visibility: visible;
    }
    .plb {
      width: 92vw;
      max-width: 980px;
      height: 90vh;
      background: var(--ivory);
      position: relative;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    .plb__close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 5;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: var(--charcoal);
      color: var(--ivory);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      cursor: pointer;
      border: none;
      transition: background 0.2s;
    }
    .plb__close:hover { background: #2b2723; }
    .plb__title-bar {
      padding: 1.25rem 2rem;
      border-bottom: 1px solid rgba(26,24,22,0.06);
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }
    .plb__title-label {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.58rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .plb__title-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      font-weight: 400;
    }
    .plb__content {
      flex: 1;
      overflow-y: auto;
      overflow-x: hidden;
      -webkit-overflow-scrolling: touch;
      scroll-behavior: smooth;
    }
    .plb__page {
      /* scrollable mode: all pages visible, stacked */
    }
    .plb__page-inner {
      /* scoped container for protocol content */
    }
    .plb__nav {
      display: none; /* pagination hidden — scroll mode */
    }
    .plb__arrow {
      display: none;
    }
    .plb__indicator {
      display: none;
    }

    @media (max-width: 680px) {
      .plb { width: 100vw; height: 100vh; max-width: none; }
      .plb__title-bar { padding: 1rem 1.25rem; }
      .plb__nav { padding: 0.75rem 1.25rem; }
      .ultima-modal__footer-btns { flex-direction: column; align-items: center; }
      .btn-protocol-detail { width: 100%; justify-content: center; }
    }


/* ═══════════════════════════════════════════════════════════════
   PDF LIGHTBOX (Protocol könyv)
   ═══════════════════════════════════════════════════════════════ */

    .pdf-lb-overlay {
      position: fixed;
      inset: 0;
      z-index: 2100;
      background: rgba(26,24,22,0.94);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.4s ease, visibility 0.4s;
    }
    .pdf-lb-overlay.active {
      opacity: 1;
      visibility: visible;
    }
    .pdf-lb {
      width: 92vw;
      max-width: 820px;
      height: 92vh;
      max-height: 920px;
      background: var(--ivory);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      position: relative;
      box-shadow: 0 40px 100px rgba(0,0,0,0.5);
    }
    .pdf-lb__close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 5;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: var(--charcoal);
      color: var(--ivory);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      cursor: pointer;
      border: none;
      transition: background 0.2s;
    }
    .pdf-lb__close:hover { background: #2b2723; }

    .pdf-lb__title-bar {
      padding: 1.25rem 2rem;
      border-bottom: 1px solid rgba(26,24,22,0.06);
      display: flex;
      align-items: center;
      gap: 0.5rem;
      flex-shrink: 0;
    }
    .pdf-lb__title-label {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.58rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .pdf-lb__title-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      font-weight: 400;
      color: var(--charcoal);
    }

    .pdf-lb__canvas-wrap {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      padding: 20px;
      background: #f0ece6;
      position: relative;
    }
    .pdf-lb__canvas-wrap canvas {
      display: block;
      max-width: 100%;
      max-height: 100%;
      box-shadow: 0 4px 24px rgba(0,0,0,0.12);
    }
    .pdf-lb__loading {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
      background: #f0ece6;
      color: var(--text-light);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.7rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }
    .pdf-lb__spinner {
      width: 28px;
      height: 28px;
      border: 2px solid rgba(184,150,90,0.2);
      border-top-color: var(--gold);
      border-radius: 50%;
      animation: pdfSpin 0.8s linear infinite;
    }
    @keyframes pdfSpin {
      to { transform: rotate(360deg); }
    }

    .pdf-lb__nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 2rem;
      padding: 1rem 2rem;
      border-top: 1px solid rgba(26,24,22,0.06);
      flex-shrink: 0;
      background: var(--ivory);
    }
    .pdf-lb__arrow {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: transparent;
      border: 1px solid rgba(26,24,22,0.12);
      color: var(--charcoal);
      font-size: 1.4rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.2s;
      font-family: inherit;
    }
    .pdf-lb__arrow:hover:not(:disabled) {
      background: var(--charcoal);
      color: var(--ivory);
      border-color: var(--charcoal);
    }
    .pdf-lb__arrow:disabled {
      opacity: 0.25;
      cursor: default;
    }
    .pdf-lb__indicator {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 0.15em;
      color: var(--text-light);
    }

    @media (max-width: 680px) {
      .pdf-lb {
        width: 100vw;
        height: 100vh;
        max-width: none;
        max-height: none;
      }
      .pdf-lb__title-bar { padding: 1rem 1.25rem; }
      .pdf-lb__canvas-wrap { padding: 12px; }
      .pdf-lb__nav { padding: 0.75rem 1.25rem; gap: 1.5rem; }
    }


/* ═══════════════════════════════════════════════════════════════
   ULTIMA TREATMENTS SECTION (Mask & HILEFT tabs)
   ═══════════════════════════════════════════════════════════════ */

.ultima-treatments-section {
  padding: 80px 0;
  background: var(--ivory);
}
.ultima-treatments-section .section-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
}
.ultima-treatments-section .section-label {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.ultima-treatments-section .section-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 400;
  color: var(--charcoal);
  margin-bottom: 12px;
}
.ultima-treatments-section .section-sub {
  font-size: 0.88rem;
  color: rgba(26,24,22,0.55);
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.7;
}

/* Treatment Cards Grid */
.ultima-treatments-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 48px;
  text-align: left;
}
.ultima-treatments-grid--2col {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 48px;
}

/* Individual Treatment Card */
.ultima-treatment-card {
  background: #fff;
  border: 1px solid rgba(26,24,22,0.07);
  padding: 32px 28px 28px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.ultima-treatment-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.ultima-treatment-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(26,24,22,0.06);
}
.ultima-treatment-card:hover::before {
  transform: scaleX(1);
}

.ultima-treatment-card__phase {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 3px 12px;
  border: 1px solid rgba(184,150,90,0.25);
  color: var(--gold);
  margin-bottom: 14px;
}
.ultima-treatment-card__name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--charcoal);
  margin-bottom: 4px;
  line-height: 1.2;
}
.ultima-treatment-card__tech {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--gold);
  margin-bottom: 14px;
}
.ultima-treatment-card__desc {
  font-size: 0.82rem;
  line-height: 1.7;
  color: rgba(26,24,22,0.6);
  margin-bottom: 18px;
}
.ultima-treatment-card__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 18px;
}
.ultima-treatment-card__spec {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 4px 12px;
  background: rgba(26,24,22,0.03);
  border: 1px solid rgba(26,24,22,0.06);
  color: rgba(26,24,22,0.55);
  border-radius: 100px;
}
.ultima-treatment-card__link {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-decoration: none;
  transition: color 0.25s;
}
.ultima-treatment-card__link:hover {
  color: #a0803d;
}

/* Treatment Card — Charcoal Header */
.ultima-treatment-card__header {
  background: var(--charcoal);
  margin: -32px -28px 20px;
  padding: 24px 28px 20px;
}
.ultima-treatment-card__header .ultima-treatment-card__phase {
  border-color: rgba(184,150,90,0.35);
  color: var(--gold-light);
}
.ultima-treatment-card__header .ultima-treatment-card__name {
  color: var(--ivory);
}
.ultima-treatment-card__header .ultima-treatment-card__tech {
  color: rgba(255,255,255,0.45);
  margin-bottom: 0;
}

/* Mask Product Gallery */
.mask-gallery {
  padding: 0 0 60px;
  background: var(--ivory);
}
.mask-gallery__grid {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
}
.mask-gallery__item {
  overflow: hidden;
  position: relative;
}
.mask-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  filter: grayscale(0.15) contrast(1.02);
}
.mask-gallery__item:hover img {
  transform: scale(1.03);
}
.mask-gallery__item--main {
  grid-row: 1 / 3;
}

/* Press / Sajtó Mention */
.press-mention {
  padding: 56px 0;
  background: var(--cream);
  text-align: center;
}
.press-mention__inner {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 24px;
}
.press-mention__label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
}
.press-mention__source {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 300;
  font-style: italic;
  color: var(--charcoal);
  margin-bottom: 16px;
  letter-spacing: 0.04em;
}
.press-mention__quote {
  font-size: 0.88rem;
  line-height: 1.8;
  color: rgba(26,24,22,0.55);
  font-style: italic;
  margin-bottom: 20px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.press-mention__link {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--gold);
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.25s;
}
.press-mention__link:hover {
  color: #a0803d;
}
.press-mention--with-carousel {
  padding-bottom: 0;
}
.press-mention--with-carousel .doc-carousel {
  max-width: 560px;
  margin: 24px auto 0;
}
.doc-carousel--compact {
  border-radius: 12px;
}

/* PDF Resource Cards */
.pdf-resources {
  margin-top: 40px;
}
.pdf-resources__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1080px;
  margin: 0 auto;
}
.pdf-resource-card {
  background: #fff;
  border: 1px solid rgba(26,24,22,0.07);
  padding: 28px 24px;
  transition: all 0.35s;
  text-decoration: none;
  display: block;
}
.pdf-resource-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(26,24,22,0.05);
}
.pdf-resource-card__icon {
  font-size: 1.5rem;
  margin-bottom: 12px;
  display: block;
  opacity: 0.3;
}
.pdf-resource-card__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--charcoal);
  margin-bottom: 8px;
  line-height: 1.3;
}
.pdf-resource-card__desc {
  font-size: 0.75rem;
  line-height: 1.6;
  color: rgba(26,24,22,0.5);
  margin-bottom: 14px;
}
.pdf-resource-card__link {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--gold);
}

/* Responsive additions */
@media (max-width: 680px) {
  .ultima-treatment-card__header {
    margin: -24px -20px 16px;
    padding: 20px 20px 16px;
  }
  .mask-gallery__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .mask-gallery__item--main {
    grid-row: auto;
  }
  .mask-gallery__item img {
    aspect-ratio: 4/3;
  }
  .pdf-resources__grid {
    grid-template-columns: 1fr;
  }
}

/* Protocol Flow Strip (Mask tab) */
.protocol-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 48px auto 0;
  max-width: 900px;
  padding: 0 16px;
}
.protocol-flow__step {
  text-align: center;
  flex: 0 0 auto;
  padding: 0 16px;
}
.protocol-flow__num {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--gold);
  margin-bottom: 6px;
}
.protocol-flow__name {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--charcoal);
  margin-bottom: 2px;
}
.protocol-flow__desc {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.6rem;
  color: rgba(26,24,22,0.45);
  letter-spacing: 0.03em;
}
.protocol-flow__step--muted .protocol-flow__name,
.protocol-flow__step--muted .protocol-flow__desc {
  opacity: 0.4;
}
.protocol-flow__step--muted .protocol-flow__num {
  opacity: 0.35;
}
.protocol-flow__line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(184,150,90,0.15), var(--gold), rgba(184,150,90,0.15));
  min-width: 24px;
}

/* Info Box (Mask tab) */
.ultima-info-box {
  margin-top: 32px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 24px;
  background: rgba(184,150,90,0.04);
  border-left: 2px solid var(--gold);
  text-align: left;
}
.ultima-info-box__label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
  display: block;
}
.ultima-info-box__text {
  font-size: 0.82rem;
  line-height: 1.7;
  color: rgba(26,24,22,0.6);
}

/* Responsive */
@media (max-width: 1024px) {
  .ultima-treatments-grid {
    gap: 18px;
  }
}
@media (max-width: 680px) {
  .ultima-treatments-section {
    padding: 56px 0;
  }
  .ultima-treatments-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ultima-treatments-grid--2col {
    grid-template-columns: 1fr;
  }
  .ultima-treatment-card {
    padding: 24px 20px 22px;
  }
  .protocol-flow {
    flex-direction: column;
    gap: 0;
    margin-top: 36px;
  }
  .protocol-flow__step {
    padding: 12px 0;
  }
  .protocol-flow__line {
    width: 1px;
    height: 24px;
    min-width: unset;
    min-height: 24px;
    background: linear-gradient(180deg, rgba(184,150,90,0.15), var(--gold), rgba(184,150,90,0.15));
  }
}

/* ── HILEFT Device Frame ── */
.hileft-device-frame {
  max-width: 480px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.hileft-device-frame img {
  width: 100%;
  height: auto;
  display: block;
}

/* ── Observ Device Frame ── */
.observ-device-frame {
  max-width: 520px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.20);
}
.observ-device-frame img {
  width: 100%;
  height: auto;
  display: block;
}

/* ── Technology Studio Narrative ── */
.home-studio-narrative {
  padding: 72px 24px;
  text-align: center;
  background: var(--ivory);
}
.studio-narrative-inner {
  max-width: 800px;
  margin: 0 auto;
}
.studio-stats {
  display: flex;
  justify-content: center;
  gap: 48px;
}
.studio-stat {
  text-align: center;
}
.studio-stat-num {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.8rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1.1;
}
.studio-stat-num small {
  font-size: 0.6em;
}
.studio-stat-label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-top: 4px;
}

/* ── Technology System Flow ── */
.home-system-section {
  padding: 72px 24px;
  text-align: center;
  background: var(--cream);
}
.system-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: start;
  max-width: 900px;
  margin: 40px auto 32px;
}
.system-step {
  text-align: center;
  padding: 0 16px;
}
.system-step-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--charcoal);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
.system-step-icon svg {
  color: var(--gold);
}
.system-step-phase {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 4px;
}
.system-step h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--charcoal);
  margin: 0 0 8px;
}
.system-step p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.8rem;
  color: var(--text-muted);
  line-height: 1.6;
}
.system-arrow {
  display: flex;
  align-items: center;
  padding-top: 20px;
  color: var(--gold);
  font-size: 1.4rem;
}
.system-cta-bar {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}
.system-cta-bar p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-bottom: 16px;
}

/* ── HILEFT Results ── */
.hileft-results {
  padding: 72px 24px;
  background: var(--cream);
}
.results-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 700px;
  margin: 40px auto 32px;
}
.result-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.result-check {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--charcoal);
  font-weight: 700;
  font-size: 0.85rem;
}
.result-item h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--charcoal);
  margin: 0 0 4px;
}
.result-item p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.8rem;
  color: var(--text-muted);
  line-height: 1.5;
  margin: 0;
}
.results-note {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.8rem;
  color: var(--text-muted);
  font-style: italic;
  margin-bottom: 24px;
}

/* ── Mask Conversion CTA ── */
.mask-conversion-cta {
  padding: 64px 24px;
  background: var(--charcoal);
  text-align: center;
}
.mask-conversion-cta h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 400;
  color: var(--ivory);
  margin: 0 0 12px;
}
.mask-conversion-cta > p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.6);
  max-width: 520px;
  margin: 0 auto 32px;
}
.mask-cta-benefits {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.mask-cta-benefit {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.75);
}
.mask-cta-benefit svg {
  color: var(--gold);
  flex-shrink: 0;
}

/* ── Skin Quiz ── */
.home-skin-quiz {
  padding: 72px 24px;
  text-align: center;
  background: var(--ivory);
}
.quiz-container {
  max-width: 560px;
  margin: 32px auto 0;
  background: #fff;
  border: 1px solid var(--cream);
  border-radius: 16px;
  padding: 40px 32px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.06);
}
.quiz-progress {
  display: flex;
  gap: 8px;
  margin-bottom: 32px;
}
.quiz-progress-step {
  flex: 1;
  height: 4px;
  border-radius: 2px;
  background: var(--cream);
  transition: background 0.4s;
}
.quiz-progress-step.active {
  background: var(--gold);
}
.quiz-question {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--charcoal);
  margin: 0 0 24px;
}
.quiz-options {
  display: grid;
  gap: 12px;
}
.quiz-option {
  padding: 16px 20px;
  border: 1px solid var(--cream);
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  color: var(--charcoal);
  cursor: pointer;
  transition: all 0.3s;
  text-align: left;
  background: transparent;
  width: 100%;
}
.quiz-option:hover {
  border-color: var(--gold);
  background: rgba(184,150,90,0.06);
}
.quiz-option.selected {
  border-color: var(--gold);
  background: rgba(184,150,90,0.1);
  font-weight: 600;
}
.quiz-result {
  text-align: center;
}
.quiz-result-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  color: var(--charcoal);
  margin: 0 0 24px;
}
.quiz-result-protocol {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.quiz-result-step {
  text-align: center;
}
.quiz-result-step strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 4px;
}
.quiz-result-step span {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.8rem;
  color: var(--charcoal);
}
.quiz-result-arrow {
  color: var(--gold);
  font-size: 1.2rem;
}
.quiz-email-capture {
  margin: 24px auto 0;
  max-width: 380px;
}
.quiz-email-capture p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: 10px;
}
.quiz-email-form {
  display: flex;
  gap: 8px;
}
.quiz-email-form input {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--cream);
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.82rem;
  outline: none;
  transition: border-color 0.3s;
}
.quiz-email-form input:focus {
  border-color: var(--gold);
}
.quiz-email-form button {
  padding: 10px 18px;
  background: var(--charcoal);
  color: var(--ivory);
  border: none;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s;
}
.quiz-email-form button:hover {
  background: var(--gold);
  color: var(--charcoal);
}

@media (max-width: 680px) {
  .studio-stats { gap: 24px; flex-wrap: wrap; }
  .studio-stat-num { font-size: 2rem; }
  .system-flow { grid-template-columns: 1fr; gap: 24px; }
  .system-arrow { display: none; }
  .results-grid { grid-template-columns: 1fr; }
  .mask-cta-benefits { flex-direction: column; align-items: center; }
  .quiz-result-protocol { flex-direction: column; gap: 12px; }
  .quiz-result-arrow { transform: rotate(90deg); }
}

/* ══════════════════════════════════════════
   PROTOCOL TAB — Styles
   ══════════════════════════════════════════ */

/* ── Protocol Compact Hero ── */
.protocol-hero {
  background: var(--charcoal);
  color: #FDFAF6;
  padding: 100px 0 72px;
  position: relative;
  overflow: hidden;
}
.protocol-hero::before {
  content: 'PROTOCOL';
  position: absolute;
  right: -2rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Cormorant Garamond', serif;
  font-size: 18vw;
  font-weight: 300;
  color: rgba(255,255,255,0.02);
  pointer-events: none;
  white-space: nowrap;
  letter-spacing: -0.02em;
}
.protocol-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 70% at 20% 70%, rgba(184,150,90,0.06) 0%, transparent 60%);
  pointer-events: none;
}
.protocol-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 680px;
  padding: 0 2rem;
  margin: 0 auto;
}
.protocol-hero__label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-light);
  display: block;
  margin-bottom: 1.25rem;
}
.protocol-hero__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  font-weight: 300;
  line-height: 1.05;
  margin-bottom: 1.5rem;
}
.protocol-hero__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1em;
}
.protocol-hero__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.875rem;
  line-height: 1.8;
  color: rgba(255,255,255,0.45);
  max-width: 58ch;
  margin-bottom: 2rem;
}
.protocol-hero__actions {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}

/* ── Protocol Asymmetric Hub Cards ── */
.protocol-cards-section {
  padding: 72px 0;
  background: var(--cream);
}
.protocol-cards-section .section-label {
  text-align: center;
  display: block;
  margin-bottom: 8px;
}
.protocol-cards-section .section-title {
  text-align: center;
  margin-bottom: 48px;
}
.protocol-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 2rem;
}
.protocol-hub-card {
  position: relative;
  background: var(--cream);
  padding: 2.75rem 2rem 2.5rem;
  color: var(--charcoal);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 320px;
  transition: background 0.45s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.45s cubic-bezier(0.25,0.46,0.45,0.94);
  cursor: pointer;
  text-decoration: none;
}
.protocol-hub-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.protocol-hub-card:hover {
  background: #FDFAF6;
  box-shadow: 0 12px 40px rgba(26,24,22,0.06);
}
.protocol-hub-card:hover::before { transform: scaleX(1); }
.protocol-hub-card__num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 0.7rem;
  font-weight: 400;
  color: var(--gold);
  letter-spacing: 0.2em;
  margin-bottom: 2.5rem;
}
.protocol-hub-card__icon {
  width: 56px;
  height: 56px;
  margin-bottom: 1.5rem;
  opacity: 0.55;
  transition: opacity 0.4s, transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.protocol-hub-card:hover .protocol-hub-card__icon {
  opacity: 1;
  transform: scale(1.08);
}
.protocol-hub-card--featured .protocol-hub-card__icon {
  width: 64px;
  height: 64px;
}
.protocol-hub-card__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 1rem;
  transition: color 0.3s;
}
.protocol-hub-card:hover .protocol-hub-card__title { color: var(--gold); }
.protocol-hub-card__desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(26,24,22,0.6);
  flex: 1;
}
.protocol-hub-card__arrow {
  margin-top: 2rem;
  font-size: 1.1rem;
  color: var(--gold);
  opacity: 0;
  transform: translateX(-8px);
  transition: all 0.3s;
  display: block;
}
.protocol-hub-card:hover .protocol-hub-card__arrow {
  opacity: 1;
  transform: translateX(0);
}
.protocol-hub-card--featured {
  grid-column: span 2;
  background: #FEFCF9;
  border: 1px solid rgba(26,24,22,0.08);
}
.protocol-hub-card--featured .protocol-hub-card__title {
  font-size: 1.6rem;
}
.protocol-hub-card--featured:hover {
  background: #FDFAF6;
  border-color: var(--gold);
}

/* ── Eredmények & Bizonyítékok ── */
.results-evidence {
  padding: 80px 0 72px;
  background: var(--cream);
}
.results-evidence .container { max-width: 1260px; margin: 0 auto; padding: 0 2rem; }
.results__header { text-align: center; margin-bottom: 56px; }
.results__header .section-label { display: inline-block; }
.results__header .divider { margin: 12px auto 20px; }
.results__subtitle {
  max-width: 640px;
  margin: 16px auto 0;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.95rem;
  color: rgba(26,24,22,0.7);
  line-height: 1.7;
}

/* Stats strip */
.results__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 56px;
}
.results__stat {
  text-align: center;
  padding: 32px 16px;
  background: var(--ivory);
  border-radius: 12px;
  border: 1px solid rgba(184,150,90,0.15);
}
.results__stat-num {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.8rem;
  font-weight: 600;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 8px;
}
.results__stat-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  color: rgba(26,24,22,0.6);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

/* B/A Cards */
.results__ba-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 40px;
}
.results__ba-card {
  background: var(--ivory);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(184,150,90,0.12);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.results__ba-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(26,24,22,0.08);
}
.results__ba-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.results__ba-placeholder {
  position: relative;
}
.results__ba-label {
  position: absolute;
  top: 10px;
  left: 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  background: rgba(253,250,246,0.9);
  padding: 3px 8px;
  border-radius: 4px;
  z-index: 2;
}
.results__ba-img-placeholder {
  width: 100%;
  aspect-ratio: 1;
  background: linear-gradient(135deg, rgba(245,240,232,0.8), rgba(212,176,119,0.1));
  display: flex;
  align-items: center;
  justify-content: center;
}
.results__ba-img-placeholder svg {
  width: 48px;
  height: 48px;
  opacity: 0.4;
}
.results__ba-img-placeholder--after {
  background: linear-gradient(135deg, rgba(245,240,232,0.5), rgba(184,150,90,0.15));
}
.results__ba-info {
  padding: 20px 24px 24px;
}
.results__ba-info h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--charcoal);
  margin-bottom: 6px;
}
.results__ba-info p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.82rem;
  color: rgba(26,24,22,0.6);
  line-height: 1.6;
  margin-bottom: 12px;
}
.results__ba-tag {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(184,150,90,0.3);
  padding: 4px 10px;
  border-radius: 20px;
}

/* Results note */
.results__note {
  text-align: center;
  padding: 32px;
  background: var(--ivory);
  border-radius: 12px;
  border: 1px solid rgba(184,150,90,0.12);
}
.results__note p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  color: rgba(26,24,22,0.6);
  line-height: 1.6;
  margin-bottom: 12px;
}
.results__link {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--gold);
  text-decoration: none;
  transition: color 0.2s;
}
.results__link:hover { color: var(--gold-light); }

/* Results responsive */
@media (max-width: 1024px) {
  .results__stats { grid-template-columns: repeat(2, 1fr); }
  .results__ba-grid { grid-template-columns: repeat(2, 1fr); }
  .results__ba-grid .results__ba-card:last-child {
    grid-column: 1 / -1;
    max-width: 50%;
    margin: 0 auto;
  }
}
@media (max-width: 680px) {
  .results-evidence { padding: 56px 0 48px; }
  .results__stats { grid-template-columns: 1fr 1fr; gap: 12px; }
  .results__stat { padding: 20px 12px; }
  .results__stat-num { font-size: 2.2rem; }
  .results__ba-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .results__ba-grid .results__ba-card:last-child {
    max-width: 100%;
  }
}

/* ── Clinical Programs (under Eredmények csempe) ── */
.clinical-programs {
  padding: 0 0 72px;
  background: #FDFAF6;
}
.clinical-programs .container { max-width: 1260px; margin: 0 auto; padding: 0 2rem; }
.clinical__intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
  margin-bottom: 4rem;
  padding-top: 4rem;
  border-top: 1px solid rgba(26,24,22,0.08);
}
.clinical__intro-left .section-label { margin-bottom: 0.5rem; display: block; }
.clinical__intro-badge {
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 0.35rem 0.85rem;
  border: 1px solid var(--gold, #B8965A);
  color: var(--gold, #B8965A);
  margin-bottom: 1rem;
}
.clinical__intro-right {
  font-size: 0.875rem;
  line-height: 1.85;
  color: rgba(26,24,22,0.6);
  max-width: 440px;
  margin-left: auto;
}
.clinical__intro-right p { margin-bottom: 0.75rem; }
.clinical__benefits {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: rgba(26,24,22,0.08);
  margin-bottom: 4rem;
}
.clinical__benefit {
  background: #FDFAF6;
  padding: 1.75rem 1.25rem;
  text-align: center;
}
.clinical__benefit-num {
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--gold, #B8965A);
  line-height: 1;
  margin-bottom: 0.75rem;
}
.clinical__benefit-text {
  font-size: 0.72rem;
  line-height: 1.6;
  color: rgba(26,24,22,0.6);
}
.clinical__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
}
.clinical-card {
  background: #1A1816;
  color: #FDFAF6;
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  min-height: 280px;
  transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
.clinical-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--gold, #B8965A);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.clinical-card:hover::before { transform: scaleX(1); }
.clinical-card:hover { background: #2a2622; }
.clinical-card__num {
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-size: 0.7rem;
  color: #D4B077;
  letter-spacing: 0.2em;
  margin-bottom: 2rem;
}
.clinical-card__title {
  font-family: var(--font-display, 'Cormorant Garamond', serif);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 1rem;
  transition: color 0.3s;
}
.clinical-card:hover .clinical-card__title { color: #D4B077; }
.clinical-card__desc {
  font-size: 0.78rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.5);
  flex: 1;
}
.clinical-card__footer {
  margin-top: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.clinical-card__tag {
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold, #B8965A);
  opacity: 0.6;
}
.clinical-card__arrow {
  font-size: 1.1rem;
  color: #D4B077;
  opacity: 0;
  transform: translateX(-8px);
  transition: all 0.3s;
}
.clinical-card:hover .clinical-card__arrow {
  opacity: 1;
  transform: translateX(0);
}
.clinical__cta {
  text-align: center;
  margin-top: 2rem;
}
.clinical__cta p {
  font-size: 0.78rem;
  color: rgba(26,24,22,0.6);
  margin-bottom: 1rem;
}
@media (max-width: 1024px) {
  .clinical__intro { grid-template-columns: 1fr; }
  .clinical__benefits { grid-template-columns: repeat(3, 1fr); }
  .clinical__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .clinical__benefits { grid-template-columns: 1fr; }
  .clinical__grid { grid-template-columns: 1fr; }
}

/* ── Protocol Philosophy Deep Dive ── */
.protocol-philosophy {
  padding: 72px 0;
  background: #FDFAF6;
}
.protocol-philosophy__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: start;
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 2rem;
}
.protocol-philosophy__left .section-label {
  margin-bottom: 8px;
}
.protocol-philosophy__quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 300;
  line-height: 1.45;
  color: var(--charcoal);
  margin: 1.5rem 0;
  position: relative;
  padding-left: 2rem;
}
.protocol-philosophy__quote::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.3rem;
  width: 3px;
  height: calc(100% - 0.6rem);
  background: var(--gold);
}
.protocol-philosophy__body {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.875rem;
  line-height: 1.75;
  color: rgba(26,24,22,0.6);
  max-width: 52ch;
}
.protocol-philosophy__points {
  display: flex;
  flex-direction: column;
}
.protocol-philosophy__point {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.75rem 0;
  border-bottom: 1px solid rgba(26,24,22,0.08);
}
.protocol-philosophy__point:first-child {
  border-top: 1px solid rgba(26,24,22,0.08);
}
.protocol-philosophy__point-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  color: var(--gold);
  line-height: 1;
  min-width: 2.5rem;
}
.protocol-philosophy__point-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}
.protocol-philosophy__point-desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.825rem;
  color: rgba(26,24,22,0.6);
  line-height: 1.7;
}

/* ── Protocol Three Pillars ── */
.protocol-pillars {
  background: var(--charcoal);
  padding: 72px 0;
  color: #fff;
}
.protocol-pillars__header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 4rem;
  padding: 0 2rem;
}
.protocol-pillars__header .section-label { color: var(--gold-light); }
.protocol-pillars__header .section-title { color: #fff; }
.protocol-pillars__header p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.45);
  margin-top: 1rem;
  line-height: 1.75;
}
.protocol-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5px;
  background: rgba(255,255,255,0.06);
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 2rem;
}
.protocol-pillar {
  background: var(--charcoal);
  padding: 3rem 2.5rem;
  position: relative;
  overflow: hidden;
  transition: background 0.3s;
}
.protocol-pillar:hover { background: #1f1c19; }
.protocol-pillar__phase {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}
.protocol-pillar__roman {
  font-family: 'Cormorant Garamond', serif;
  font-size: 5rem;
  font-weight: 300;
  color: rgba(255,255,255,0.04);
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  line-height: 1;
}
.protocol-pillar__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.9rem;
  font-weight: 300;
  color: #fff;
  margin-bottom: 0.75rem;
  line-height: 1.15;
}
.protocol-pillar__desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.825rem;
  color: rgba(255,255,255,0.45);
  line-height: 1.75;
  margin-bottom: 1.75rem;
}
.protocol-pillar__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.protocol-pillar__tag {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.28rem 0.65rem;
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.45);
}
.protocol-pillar__badge {
  display: inline-block;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: var(--charcoal);
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  margin-bottom: 8px;
}

/* Protocol Timeline */
.protocol-timeline {
  margin-top: 1.5px;
  background: rgba(255,255,255,0.04);
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  max-width: 1260px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2rem;
}
.protocol-tl-step {
  padding: 2rem 1.5rem;
  text-align: center;
}
.protocol-tl-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.3rem;
}
.protocol-tl-phase {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 0.2rem;
}
.protocol-tl-detail {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
}
.protocol-tl-arrow {
  font-size: 1.1rem;
  color: var(--gold);
  opacity: 0.6;
}

/* ── Protocol Venus Legacy Section ── */
.protocol-venus {
  padding: 72px 0;
  background: var(--cream);
}
.protocol-venus__inner {
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 2rem;
}
.protocol-venus__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
  margin-top: 40px;
}
.protocol-venus__desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.875rem;
  line-height: 1.75;
  color: rgba(26,24,22,0.6);
  margin-bottom: 1.5rem;
}
.protocol-venus__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.protocol-venus__tag {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.35rem 0.75rem;
  border: 1px solid rgba(26,24,22,0.12);
  color: rgba(26,24,22,0.6);
}
.protocol-synergy {
  background: #FDFAF6;
  border: 1px solid rgba(26,24,22,0.08);
  padding: 2.5rem;
}
.protocol-synergy__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 400;
  margin-bottom: 1rem;
}
.protocol-synergy__text {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.825rem;
  color: rgba(26,24,22,0.6);
  line-height: 1.75;
  margin-bottom: 1.5rem;
}
.protocol-synergy__combined {
  background: var(--charcoal);
  color: #FDFAF6;
  padding: 1.5rem;
  margin-top: 1rem;
}
.protocol-synergy__combined-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.5rem;
}
.protocol-synergy__combined-desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.7;
}

/* ── Protocol CTA Banner ── */
.protocol-cta-banner {
  padding: 72px 0;
  background: var(--charcoal);
  text-align: center;
  color: #FDFAF6;
  position: relative;
  overflow: hidden;
}
.protocol-cta-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(184,150,90,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.protocol-cta-banner__inner {
  position: relative;
  z-index: 2;
  max-width: 600px;
  margin: 0 auto;
  padding: 0 2rem;
}
.protocol-cta-banner__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 300;
  line-height: 1.08;
  margin: 1.25rem 0 1rem;
}
.protocol-cta-banner__title em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
}
.protocol-cta-banner__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.45);
  max-width: 45ch;
  margin: 0 auto 2.5rem;
  line-height: 1.75;
}
.protocol-cta-banner__actions {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Protocol Responsive ── */
@media (max-width: 1024px) {
  .protocol-philosophy__grid { grid-template-columns: 1fr; gap: 3rem; }
  .protocol-pillars__grid { grid-template-columns: 1fr; }
  .protocol-timeline { grid-template-columns: 1fr; gap: 0; }
  .protocol-tl-arrow { display: none; }
  .protocol-tl-step { padding: 1.25rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.06); }
  .protocol-tl-step:last-child { border-bottom: none; }
  .protocol-cards-grid { grid-template-columns: repeat(2, 1fr); }
  .protocol-hub-card--featured { grid-column: span 2; }
  .protocol-venus__grid { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 680px) {
  .protocol-cards-grid { grid-template-columns: 1fr; }
  .protocol-hub-card--featured { grid-column: span 1; }
  .protocol-hero { padding: 80px 0 56px; }
  .protocol-hero__actions { flex-direction: column; align-items: flex-start; }
  .protocol-cta-banner__actions { flex-direction: column; align-items: center; }
}

/* ── Image Lightbox ── */
.image-lightbox-overlay {
  position: fixed;
  inset: 0;
  z-index: 1600;
  background: rgba(0,0,0,0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  cursor: zoom-out;
}
.image-lightbox-overlay.active {
  opacity: 1;
  visibility: visible;
}
.image-lightbox__img {
  max-width: 92vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 0 60px rgba(0,0,0,0.5);
}
.image-lightbox__close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  color: #fff;
  font-size: 2.5rem;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s;
  z-index: 1601;
}
.image-lightbox__close:hover {
  opacity: 1;
}

/* Lightbox gallery navigation */
.image-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.12);
  color: #fff;
  font-size: 2.8rem;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  transition: opacity 0.3s, background 0.3s;
  z-index: 1601;
  line-height: 1;
  padding: 0 0 4px 0;
}
.image-lightbox__nav:hover {
  opacity: 1;
  background: rgba(255,255,255,0.15);
}
.image-lightbox__prev { left: 20px; }
.image-lightbox__next { right: 20px; }
.image-lightbox__counter {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: rgba(255,255,255,0.8);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 8px 20px;
  border-radius: 30px;
  z-index: 1601;
}
@media (max-width: 680px) {
  .image-lightbox__nav { width: 42px; height: 42px; font-size: 2rem; }
  .image-lightbox__prev { left: 10px; }
  .image-lightbox__next { right: 10px; }
}

/* Gallery items clickable */
.mask-gallery__item {
  cursor: zoom-in;
}

/* ═══ Observ accent modifiers ═══ */
.hileft-stats--observ .hileft-stat__num { color: var(--observ-blue, #4A90D9); }
.hileft-results--observ .result-check { background: var(--observ-blue, #4A90D9); }
.ultima-treatment-card--observ:hover { border-color: var(--observ-blue, #4A90D9); }
.ultima-treatment-card--observ .ultima-treatment-card__link { color: var(--observ-blue, #4A90D9); }

/* ═══ FOUNDER SZEKCIÓ ═══ */
.founder-section {
  padding: 100px 0;
  background: var(--cream);
}
.founder-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 56px;
  align-items: center;
}
.founder-image-wrap {
  position: relative;
}
.founder-image {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center 15%;
  border-radius: 12px;
}
.founder-image-placeholder {
  width: 100%;
  aspect-ratio: 3/4;
  background: linear-gradient(135deg, var(--cream) 0%, rgba(184,150,90,0.08) 100%);
  border: 1px solid var(--border);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-light);
  font-size: 0.75rem;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 0.05em;
}
.founder-image-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}
.founder-signature {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  font-style: italic;
  font-weight: 300;
  color: var(--gold);
  margin-top: 16px;
}
.founder-text .section-label { margin-bottom: 8px; }
.founder-text h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 300;
  color: var(--charcoal);
  line-height: 1.15;
  margin-bottom: 20px;
}
.founder-text h2 em {
  font-style: italic;
  color: var(--gold);
}
.founder-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-style: italic;
  font-weight: 300;
  color: var(--text-muted);
  border-left: 2px solid var(--gold);
  padding-left: 20px;
  margin: 24px 0;
  line-height: 1.6;
}
.founder-bio {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 24px;
}
.founder-credentials {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 20px;
}
.founder-credential {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--charcoal);
}
.founder-credential svg { color: var(--gold); flex-shrink: 0; }

@media (max-width: 768px) {
  .founder-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    text-align: center;
  }
  .founder-image-placeholder { max-width: 260px; margin: 0 auto; }
  .founder-quote { text-align: left; }
  .founder-credentials { justify-content: center; }
}

/* ═══ EMAIL CAPTURE GATE (Quiz + PDF) ═══ */
.email-gate-overlay {
  position: fixed;
  inset: 0;
  background: rgba(26,24,22,0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.email-gate-overlay.active { opacity: 1; pointer-events: all; }
.email-gate-box {
  background: var(--ivory);
  border-radius: 16px;
  padding: 48px 40px;
  max-width: 460px;
  width: 90%;
  text-align: center;
  position: relative;
  box-shadow: 0 24px 80px rgba(0,0,0,0.2);
}
.email-gate-box .section-label { margin-bottom: 8px; }
.email-gate-box h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--charcoal);
  margin-bottom: 8px;
}
.email-gate-box p {
  font-size: 0.82rem;
  color: var(--text-muted);
  margin-bottom: 24px;
  line-height: 1.6;
}
.email-gate-form {
  display: flex;
  gap: 10px;
}
.email-gate-input {
  flex: 1;
  padding: 14px 16px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: var(--white);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  color: var(--charcoal);
  outline: none;
  transition: border-color 0.3s;
}
.email-gate-input:focus { border-color: var(--gold); }
.email-gate-submit {
  padding: 14px 24px;
  background: var(--gold);
  color: var(--white);
  border: none;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.3s;
}
.email-gate-submit:hover { background: var(--gold-light); }
.email-gate-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 1.4rem;
  color: var(--text-light);
  cursor: pointer;
  line-height: 1;
}
.email-gate-privacy {
  font-size: 0.68rem;
  color: var(--text-light);
  margin-top: 12px;
}

@media (max-width: 680px) {
  .email-gate-form { flex-direction: column; }
  .email-gate-box { padding: 36px 24px; }
}

/* ═══ EXIT INTENT POPUP ═══ */
.exit-popup { z-index: 10001; }

/* ═══ BEFORE/AFTER SZEKCIÓ ═══ */
.before-after-section {
  padding: 80px 0;
  background: var(--ivory);
}
.before-after-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
}
.before-after-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--white);
}
.before-after-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
}
.before-after-images .ba-placeholder {
  aspect-ratio: 1;
  background: linear-gradient(135deg, var(--cream), rgba(184,150,90,0.06));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-light);
}
.ba-image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px 12px 0 0;
}
.before-after-images .ba-divider {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--gold);
}
.before-after-info {
  padding: 20px;
}
.before-after-info h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 400;
  margin-bottom: 4px;
}
.before-after-info p {
  font-size: 0.72rem;
  color: var(--text-muted);
}
.before-after-info .ba-tag {
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 8px;
}

@media (max-width: 768px) {
  .before-after-grid { grid-template-columns: 1fr; max-width: 400px; }
}

/* ═══ TRUST BADGES (HOME HERO ALATTI) ═══ */
.hero-trust-bar {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  padding: 20px 40px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin: 0;
  background: var(--ivory);
}
.hero-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  text-transform: uppercase;
}
.hero-trust-item svg { color: var(--gold); flex-shrink: 0; }

@media (max-width: 680px) {
  .hero-trust-bar { gap: 16px; padding: 16px 20px; }
  .hero-trust-item { font-size: 0.6rem; }
}

/* ═══ PROGRAM COUNTDOWN + SOCIAL PROOF ═══ */
.program-countdown-bar {
  text-align: center;
  padding: 40px 24px;
  background: linear-gradient(135deg, var(--charcoal) 0%, #2C2926 100%);
  color: var(--ivory);
}
.countdown-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 300;
  margin-bottom: 16px;
  color: rgba(255,255,255,0.7);
}
.countdown-digits {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 16px;
}
.countdown-unit {
  text-align: center;
}
.countdown-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
}
.countdown-label {
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-top: 4px;
}
.program-social-proof {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.55);
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
}
.program-social-proof strong {
  color: var(--gold);
  font-weight: 500;
}

.program-guarantee {
  text-align: center;
  padding: 32px 24px;
  font-size: 0.78rem;
  color: var(--text-muted);
  border-top: 1px solid var(--border);
}
.program-guarantee svg { color: var(--gold); margin-bottom: 8px; }
.program-guarantee strong {
  display: block;
  color: var(--charcoal);
  font-size: 0.85rem;
  margin-bottom: 4px;
}

/* ═══ INSTAGRAM FEED ═══ */
.insta-section {
  padding: 60px 0;
  text-align: center;
  background: var(--ivory);
}
.insta-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
  max-width: 1200px;
  margin: 24px auto 0;
}
.insta-placeholder {
  aspect-ratio: 1;
  background: linear-gradient(135deg, var(--cream), rgba(184,150,90,0.05));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6rem;
  color: var(--text-light);
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: opacity 0.3s;
}
.insta-placeholder:hover { opacity: 0.8; }
.insta-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--charcoal);
  text-decoration: none;
  transition: color 0.3s;
}
.insta-cta:hover { color: var(--gold); }

@media (max-width: 680px) {
  .insta-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ═══ PROBLÉMA SZEKCIÓ ═══ */
.problem-section {
  padding: 80px 24px;
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}
.problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 48px 0 40px;
  text-align: left;
}
.problem-card {
  background: var(--cream);
  border-radius: 16px;
  padding: 32px 28px;
  transition: transform 0.3s ease;
}
.problem-card:hover {
  transform: translateY(-4px);
}
.problem-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gold-glow);
  border-radius: 12px;
  margin-bottom: 20px;
}
.problem-card__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--charcoal);
  margin-bottom: 10px;
}
.problem-card__desc {
  font-size: 0.88rem;
  line-height: 1.65;
  color: var(--text-muted);
}
.problem-conclusion {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  font-style: italic;
  color: var(--charcoal);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.6;
}
.problem-conclusion strong {
  color: var(--gold);
  font-weight: 500;
}

@media (max-width: 768px) {
  .problem-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .problem-section {
    padding: 56px 20px;
  }
}

/* ═══ PROTOCOL: ÖREGEDÉS GRID ═══ */
.protocol-aging-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  text-align: left;
}
.protocol-aging-card {
  background: var(--cream);
  border-radius: 14px;
  padding: 28px 24px;
  position: relative;
}
.protocol-aging-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--gold-light);
  opacity: 0.5;
  line-height: 1;
  display: block;
  margin-bottom: 12px;
}
.protocol-aging-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--charcoal);
  margin-bottom: 8px;
}
.protocol-aging-card p {
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--text-muted);
}
@media (max-width: 768px) {
  .protocol-aging-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ═══ PROTOCOL: KINEK AJÁNLOTT ═══ */
.protocol-audience {
  padding: 80px 24px;
  text-align: center;
}
.audience-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 40px;
  text-align: left;
}
.audience-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 24px;
  background: var(--cream);
  border-radius: 12px;
}
.audience-item svg {
  flex-shrink: 0;
  margin-top: 2px;
}
.audience-item p {
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--charcoal);
}
.audience-item strong {
  color: var(--gold);
}
@media (max-width: 680px) {
  .audience-grid { grid-template-columns: 1fr; gap: 16px; }
  .protocol-audience { padding: 56px 20px; }
}

/* ═══ PROTOCOL: ZÁRÓ MANIFESZTÓ ═══ */
.protocol-manifesto {
  padding: 80px 24px;
  background: var(--cream);
}
.manifesto-divider {
  font-size: 1.2rem;
  color: var(--gold);
  margin-bottom: 32px;
  letter-spacing: 0.3em;
}
.manifesto-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.4;
  color: var(--charcoal);
  border: none;
  padding: 0;
  margin: 0 0 28px;
}
.manifesto-quote em {
  color: var(--gold);
}
.manifesto-body {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--text-muted);
  max-width: 600px;
  margin: 0 auto;
}
@media (max-width: 680px) {
  .manifesto-quote { font-size: 1.5rem; }
  .protocol-manifesto { padding: 56px 20px; }
}

/* ═══ 3 PILLÉR CIKLIKUS DIAGRAM ═══ */
.protocol-cycle-diagram {
  max-width: 1100px;
  margin: 60px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
  padding: 48px 2rem;
  background: rgba(255,255,255,0.02);
  border-radius: 16px;
  border: 1px solid rgba(184,150,90,0.1);
}
.cycle-visual {
  display: flex;
  justify-content: center;
  align-items: center;
}
.cycle-svg {
  width: 100%;
  max-width: 340px;
  height: auto;
}
.cycle-legend {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.cycle-legend-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.cycle-legend-num {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 700;
}
.cycle-legend-item strong {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  margin-bottom: 4px;
}
.cycle-legend-item p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.55);
  margin: 0;
}
.cycle-legend-footer {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 0.95rem;
  color: var(--gold);
  margin-top: 8px;
  text-align: center;
}

@media (max-width: 768px) {
  .protocol-cycle-diagram {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 1.25rem;
  }
  .cycle-svg { max-width: 280px; }
}

/* ═══ PROGRAM FILOZÓFIA ÖSSZEHASONLÍTÁS ═══ */
.program-philosophy {
  padding: 72px 2rem;
  text-align: center;
  background: var(--ivory);
}
.program-philosophy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  max-width: 900px;
  margin: 40px auto 0;
}
.program-phil-card {
  background: var(--cream);
  border: 1px solid rgba(26,24,22,0.08);
  border-radius: 16px;
  padding: 36px 28px;
  text-align: left;
}
.program-phil-card--gold {
  background: var(--charcoal);
  border-color: rgba(184,150,90,0.3);
  color: #fff;
}
.program-phil-icon {
  font-size: 1.5rem;
  margin-bottom: 12px;
  color: rgba(26,24,22,0.3);
}
.program-phil-card--gold .program-phil-icon {
  color: var(--gold);
}
.program-phil-card h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 16px;
  color: var(--charcoal);
}
.program-phil-card--gold h4 {
  color: var(--gold);
}
.program-phil-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.program-phil-card li {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.82rem;
  line-height: 1.6;
  color: rgba(26,24,22,0.65);
  padding-left: 16px;
  position: relative;
}
.program-phil-card li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: rgba(26,24,22,0.25);
}
.program-phil-card--gold li {
  color: rgba(255,255,255,0.65);
}
.program-phil-card--gold li::before {
  color: var(--gold);
  content: '✓';
}

@media (max-width: 680px) {
  .program-philosophy-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .program-phil-card { padding: 28px 20px; }
}

/* ═══ PULSE DOT ANIMATION ═══ */
@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.3); }
}
