    :root {
      /* PRESERVED PALETTE (Deep Purple & Gold) */
      --bg: #13091c;       /* Deepest purple background */
      --panel: #1f122e;    /* Card background */
      --card: #261736;     /* Lighter card/element */
      --text: #f3effa;     /* Off-white with purple tint */
      --muted: #bdaec9;    /* Muted lilac grey */
      --line: rgba(255,255,255,.12);
      
      /* Gold from the DNA Helix */
      --accent: #ffc86b;   
      --accent-dark: #d4a045;
      --accent-glow: rgba(255, 200, 107, 0.25);
      
      /* Secondary tones */
      --accent2: #b580d1;  /* Orchid/Lavender */
      --accent2-bg: rgba(181, 128, 209, 0.15);
      
      /* Status colors adjusted to jewel tones */
      --ok: #5ce6a1;       /* Emerald */
      --warn: #ffd166;
      --info: #9ecaff;
      
      --shadow: 0 14px 40px rgba(0,0,0,.45);
      --radius: 12px;
      /* Ensure the font name matches exactly what is in your Google Fonts link in HTML */
      --font: 'Inter', 'Noto Sans Thai', ui-sans-serif, system-ui, sans-serif;
    }

    *{ box-sizing:border-box; }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin:0; 
      font-family:var(--font);
      color:var(--text); 
      line-height:1.6;
      background-color: #0d0512;
      background-image: 
        radial-gradient(circle at 80% 10%, rgba(255, 200, 107, 0.15) 0%, transparent 45%),
        radial-gradient(circle at 20% 80%, rgba(138, 43, 226, 0.15) 0%, transparent 50%),
        linear-gradient(180deg, rgba(19, 9, 28, 0.8) 0%, #0d0512 100%);
      background-attachment: fixed;
      display: flex;
      flex-direction: column;
      align-items: center;
      min-height: 100vh;
    }

    a { color:inherit; text-decoration: none; }

    /* Layout Wrapper */
    .app-container {
      width: 100%;
      background: linear-gradient(180deg, rgba(30, 16, 46, 0.1) 0%, var(--bg) 150px, #0f0616 100%);
      min-height: 100vh;
      position: relative;
    }

    .wrap {
      width: min(100%, calc(100% - 32px)); 
      max-width: 414px; /* Mobile default */
      margin: 0 auto; 
      padding-bottom: 120px;
    }

    .sr-only { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }

    /* Top Bar */
    .topbar {
      position: sticky; top: 0; z-index: 50;
      background: rgba(19, 9, 28, 0.9);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--line);
      width: 100%;
    }
    .topbar .inner {
      width: min(100%, calc(100% - 32px));
      max-width: 414px; /* Mobile default */
      margin: 0 auto;
      padding: 12px 0;
      display: flex; align-items: center; justify-content: space-between; gap: 10px;
      transition: max-width 0.3s ease;
    }
    .brand {
      display: flex; align-items: center; gap: 10px;
      min-width: 0;
    }
    .logo {
      width: 32px; height: 32px; border-radius: 6px;
      background: linear-gradient(135deg, #ffde94 0%, #d4a045 100%);
      border: 1px solid rgba(255,255,255,.2);
      box-shadow: 0 4px 12px rgba(212,168,83,.2);
      flex: 0 0 auto;
      display: grid; place-items: center;
      color: #381e00;
      font-weight: bold;
      font-size: 16px;
    }
    .brand .txt { min-width: 0; display: flex; flex-direction: column; }
    .brand strong { display: block; font-size: 13px; letter-spacing: .05em; white-space: nowrap; color: var(--text); }
    .brand span { display: block; font-size: 10px; color: var(--accent); opacity: 0.9; text-transform: uppercase; letter-spacing: 0.05em; }

    /* Desktop Nav (Hidden on Mobile) */
    .desktop-nav {
      display: none; 
    }
    .desktop-cta {
      display: none;
    }

    /* Buttons */
    .btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      padding: 12px 16px;
      border-radius: 8px;
      border: 1px solid rgba(255,255,255,.1);
      background: rgba(255,255,255,.03);
      color: var(--text);
      font-size: 14px;
      font-weight: 500;
      cursor: pointer;
      transition: all .2s ease;
      user-select: none;
      width: 100%;
      position: relative;
      overflow: hidden;
      white-space: nowrap;
    }
    .btn:active { transform: scale(0.99); }

    .btn.primary {
      background: linear-gradient(135deg, #ffc86b 0%, #c4923e 100%);
      color: #2b1600;
      border-color: transparent;
      box-shadow: 0 4px 15px rgba(212,160,69,.2);
      font-weight: 600;
    }
    .btn.primary:hover {
      box-shadow: 0 6px 20px rgba(212,160,69,.3);
      filter: brightness(1.05);
    }

    .btn.secondary {
      background: var(--accent2-bg);
      border-color: rgba(181, 128, 209, 0.3);
      color: #e2cbf5;
    }
    .btn.secondary:hover {
      background: rgba(181, 128, 209, 0.25);
      border-color: rgba(181, 128, 209, 0.5);
    }

    .btn.ghost {
      background: transparent;
      border-color: rgba(255,255,255,.15);
    }
    .btn.ghost:hover {
      background: rgba(255,255,255,.05);
      border-color: rgba(255,255,255,.3);
    }

    .btn.inline { width: auto; padding: 6px 12px; font-size: 12px; border-radius: 6px; }

    .stack { display: grid; gap: 10px; }
    .row { display: flex; gap: 10px; }
    .row > * { flex: 1; }

    /* Typography */
    .eyebrow {
      color: var(--accent); 
      font-size: 11px; 
      font-weight: 600;
      letter-spacing: .12em; 
      text-transform: uppercase;
      margin-bottom: 8px;
      display: inline-block;
      opacity: 0.9;
    }
    h1 { margin: 4px 0 12px; font-size: 26px; line-height: 1.25; font-weight: 600; letter-spacing: -0.01em; color: #fff; }
    h2 { margin: 10px 0 12px; font-size: 18px; line-height: 1.4; font-weight: 600; letter-spacing: -0.01em; color: #fff; }
    h3 { margin: 0 0 6px; font-size: 15px; font-weight: 600; color: #fff; }
    p { margin: 8px 0; color: var(--muted); font-size: 14px; line-height: 1.6; }

    .muted { color: var(--muted); font-size: 13px; line-height: 1.5; }
    .kicker { font-size: 12px; color: var(--muted); opacity: 0.8; font-style: italic; }

    .dual { display: grid; gap: 6px; }
    .dual .th { font-size: 15px; color: #fff; font-weight: 400; }
    .dual .en { font-size: 13px; color: var(--muted); opacity: 0.9; font-weight: 300; }

    .divider { height: 1px; background: linear-gradient(90deg, transparent, rgba(181, 128, 209, 0.2) 50%, transparent); margin: 24px 0; }

    /* Cards */
    .card {
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.01) 100%);
      border-radius: var(--radius);
      padding: 24px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.25);
      position: relative;
      overflow: hidden;
      background-color: rgba(30, 20, 45, 0.4); 
      display: flex; flex-direction: column;
      height: 100%;
    }
    .card::before {
      content: ''; position: absolute; top:0; left:0; right:0; height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255, 200, 107, 0.3), transparent);
    }
    .card.soft {
      box-shadow: none; 
      background: rgba(35, 20, 50, 0.3);
      border: 1px solid rgba(255,255,255,0.05);
      height: auto;
    }

    /* Project Origin Quote Box */
    .origin-quote-box {
      margin-top: 24px;
      padding: 20px;
      background: rgba(212,168,83,0.05); /* Tint of accent color */
      border-left: 3px solid var(--accent);
      border-radius: 8px;
    }
    .origin-quote-title {
      font-family: var(--font);
      font-size: 16px;
      font-weight: 600;
      color: var(--text);
      margin-bottom: 12px;
      display: block;
    }
    .origin-quote-footer {
      margin-top: 16px;
      font-size: 14px;
      font-weight: 500;
      color: var(--text);
      font-style: italic;
      text-align: right;
    }

    /* Ecosystem Cards (Clickable) */
    .eco-card {
      background: rgba(255,255,255,0.03); 
      padding: 16px; 
      border-radius: 12px; 
      border: 1px solid rgba(255,255,255,0.05);
      cursor: pointer;
      transition: all 0.2s ease;
      position: relative;
    }
    .eco-card:hover {
      background: rgba(255,255,255,0.08); 
      border-color: rgba(255,255,255,0.2);
      transform: translateY(-2px);
    }
    .eco-card::after {
      content: '+';
      position: absolute;
      top: 16px;
      right: 16px;
      color: var(--muted);
      font-size: 18px;
      font-weight: 300;
      opacity: 0.5;
    }


    /* Process Flow Styles (Traceability) */
    .process-container {
      position: relative;
      padding-left: 20px;
      margin-top: 24px;
    }
    .process-container::before {
      content: '';
      position: absolute;
      left: 7px;
      top: 10px;
      bottom: 20px;
      width: 1px;
      background: linear-gradient(180deg, var(--accent) 0%, var(--accent2) 50%, rgba(255,255,255,0.2) 100%);
      opacity: 0.3;
    }
    .process-step { position: relative; padding-left: 24px; padding-bottom: 32px; }
    .process-step:last-child { padding-bottom: 0; }
    .process-marker {
      position: absolute; left: 0; top: 6px;
      width: 15px; height: 15px; border-radius: 50%;
      background: var(--bg); border: 2px solid var(--accent);
      z-index: 2;
    }
    .process-step:nth-child(2) .process-marker { border-color: var(--accent2); }
    .process-step:nth-child(3) .process-marker { border-color: #fff; }
    .step-badge {
      font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em;
      color: var(--accent); border: 1px solid rgba(255, 200, 107, 0.3);
      border-radius: 99px; padding: 2px 8px; display: inline-block; margin-bottom: 6px;
    }
    .step-title { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 4px; }
    .step-desc { font-size: 12px; color: var(--muted); margin-bottom: 12px; }
    .step-card {
      background: rgba(15, 25, 50, 0.4);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 8px; padding: 12px;
    }
    .step-card-label { font-size: 9px; text-transform: uppercase; color: var(--accent); letter-spacing: 0.1em; margin-bottom: 2px; display: block; }
    .step-card-val { font-size: 13px; font-weight: 500; color: #fff; }
    .step-card-sub { font-size: 11px; color: var(--muted); margin-top: 2px; }

    /* Philosophy Cards */
    .philo-grid {
      display: grid;
      gap: 16px;
      margin-top: 24px;
    }
    .philo-card {
      background: rgba(255,255,255,0.02);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 12px;
      padding: 16px;
      display: flex; flex-direction: column; gap: 8px;
    }
    .philo-icon {
      width: 32px; height: 32px; border-radius: 50%;
      background: rgba(255,255,255,0.05);
      color: var(--accent);
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 8px;
    }

    /* Synergy Science Cards */
    .synergy-grid {
      display: grid;
      gap: 16px;
      margin-top: 24px;
    }
    .synergy-card {
      background: rgba(15, 25, 50, 0.4);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 10px;
      padding: 16px;
      cursor: pointer;
      transition: all 0.2s ease;
      position: relative;
    }
    .synergy-card:hover {
      background: rgba(255,255,255,0.08); 
      border-color: rgba(255,255,255,0.2);
      transform: translateY(-2px);
    }
    .synergy-card::after {
      content: '+';
      position: absolute;
      top: 12px;
      right: 12px;
      color: var(--muted);
      font-size: 16px;
      font-weight: 300;
      opacity: 0.5;
    }

    .synergy-num {
      font-size: 18px; font-weight: 800; color: var(--accent); opacity: 0.6;
      margin-bottom: 4px; display: block;
    }
    .active-compound-box {
      background: linear-gradient(135deg, rgba(255,200,107,0.1), rgba(19,9,28,0.4));
      border: 1px solid rgba(255,200,107,0.3);
      padding: 16px; border-radius: 12px; margin-top: 16px;
    }

    /* PROVEN (Clinical) Section Styles */
    .proven-wrapper {
      display: grid; gap: 24px;
    }
    .proven-visual {
      background-size: cover;
      background-position: center;
      border: 1px solid rgba(122,166,255,0.2);
      border-radius: 16px;
      min-height: 320px;
      position: relative;
      display: flex; flex-direction: column; justify-content: flex-end;
      padding: 20px;
	  grid-column: 1 / -1;
      overflow: hidden;
    }
    .proven-overlay-box {
      background: rgba(15, 25, 50, 0.9);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 12px;
      padding: 16px;
    }
    .proven-stat-row {
      display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 12px; margin-top: 12px;
    }
    .proven-content-grid {
      display: grid; gap: 16px;
    }
    .info-box {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 12px;
      padding: 16px;
    }
    .info-box-title {
      font-size: 12px; font-weight: 700; color: var(--accent2); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 8px;
    }
    .endpoint-box {
      background: rgba(255, 200, 107, 0.05);
      border: 1px solid rgba(255, 200, 107, 0.2);
      border-radius: 12px;
      padding: 16px;
      /* Updated to flex row */
      display: flex; 
      gap: 16px;
      align-items: flex-start;
      flex-direction: column; /* Default to column on mobile */
    }

    /* Endpoint List & Image */
    .endpoint-list-wrapper {
        flex: 1;
    }
    .endpoint-image-wrapper {
        width: 100%;
        max-width: 500px; /* Limit size on mobile */
        border-radius: 8px;
        overflow: hidden;
        align-self: center;
    }
    .endpoint-image-wrapper img {
        width: 100%;
        height: auto;
        display: block;
    }

    /* IMPACT (SDG) Section Styles */
    .sdg-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
      margin-top: 24px;
    }

    .sdg-card {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 12px;
      padding: 20px;
      text-align: center;
      position: relative;
      transition: transform 0.2s, border-color 0.2s;
      cursor: help;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      outline: none; /* Removes default browser outline on click */
      aspect-ratio: 1 / 1; 
    }

    /* Hover, Focus (Tap), and Active States */
    .sdg-card:hover,
    .sdg-card:focus,
    .sdg-card:active {
      transform: translateY(-4px);
      border-color: var(--sdg-color);
      background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01));
    }

    /* Responsive SDG Image */
    .sdg-img {
        width: 100%;
        height: auto;
        max-height: 80%; /* Ensure it doesn't overflow vertically if image is tall */
        object-fit: contain;
        margin-bottom: 8px;
    }

    /* SDG Tooltip Popup */
    .sdg-popup {
      visibility: hidden;
      opacity: 0;
      position: absolute;
      bottom: 100%;
      left: 50%;
      transform: translateX(-50%) translateY(10px);
      width: 220px;
      background: var(--panel);
      border: 1px solid var(--sdg-color);
      color: var(--text);
      padding: 12px;
      border-radius: 8px;
      font-size: 11px;
      line-height: 1.4;
      text-align: center;
      box-shadow: 0 10px 30px rgba(0,0,0,0.5);
      z-index: 10;
      transition: all 0.2s cubic-bezier(0.68, -0.55, 0.27, 1.55);
      pointer-events: none;
    }

    .sdg-popup::after {
      content: '';
      position: absolute;
      top: 100%;
      left: 50%;
      margin-left: -6px;
      border-width: 6px;
      border-style: solid;
      border-color: var(--sdg-color) transparent transparent transparent;
    }

    /* Show Tooltip on Interaction */
    .sdg-card:hover .sdg-popup,
    .sdg-card:focus .sdg-popup,
    .sdg-card:active .sdg-popup {
      visibility: visible;
      opacity: 1;
      transform: translateX(-50%) translateY(-10px);
    }

    /* Lists */
    ul.brief-list { list-style: none; padding: 0; margin: 12px 0; }
    ul.brief-list li {
      position: relative; padding-left: 16px; margin-bottom: 6px;
      font-size: 13px; color: var(--muted);
    }
    ul.brief-list li::before {
      content: '•'; position: absolute; left: 0; color: var(--accent);
    }

    .chipbar { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
    .chip {
      font-size: 11px; font-weight: 500;
      color: #e2cbf5;
      border: 1px solid rgba(181, 128, 209, 0.3);
      background: rgba(181, 128, 209, 0.1);
      padding: 4px 10px; border-radius: 4px;
    }

    .placeholder {
      border-radius: 12px;
      border: 1px dashed rgba(181, 128, 209, 0.3);
      background: rgba(0,0,0,.2);
      min-height: 180px;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      text-align: center;
      color: rgba(255,255,255,.4);
      padding: 20px;
      gap: 10px;
      flex-grow: 1;
    }
    .placeholder svg { width: 32px; height: 32px; opacity: 0.5; color: var(--accent2); }

    /* Sections */
    section { padding: 20px 0; }
    .anchor { scroll-margin-top: 80px; }

    /* Footer */
    .footer-section {
      border-top: 1px solid rgba(255,255,255,0.1);
      background: rgba(13, 5, 18, 0.6);
      padding: 60px 0 30px;
      font-size: 13px;
      color: var(--muted);
    }
    .footer-inner {
      display: grid;
      gap: 40px;
      grid-template-columns: 1fr;
    }
    .footer-brand-col {
      max-width: 320px;
    }
    .footer-desc {
      margin-top: 16px;
      line-height: 1.6;
      opacity: 0.8;
      font-size: 13px;
    }
    .social-row {
      display: flex; gap: 12px; margin-top: 24px;
    }
    .social-icon {
      width: 36px; height: 36px;
      border-radius: 50%;
      background: rgba(255,255,255,0.05);
      display: flex; align-items: center; justify-content: center;
      transition: background 0.2s;
      color: var(--text);
      border: 1px solid rgba(255,255,255,0.1);
    }
    .social-icon:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.3); }

    .footer-links-col h4 {
      color: #fff;
      font-size: 14px;
      font-weight: 600;
      margin: 0 0 20px 0;
    }
    .footer-links-col a, .footer-links-col span {
      display: block;
      color: var(--muted);
      margin-bottom: 12px;
      cursor: pointer;
      transition: color 0.2s;
      text-decoration: none;
    }
    .footer-links-col a:hover, .footer-links-col span:hover { color: var(--accent); }

    .footer-bottom {
      border-top: 1px solid rgba(255,255,255,0.08);
      margin-top: 60px;
      padding-top: 24px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      font-size: 12px;
      opacity: 0.6;
    }

    /* Tags */
    .tag {
      display: inline-flex; align-items: center; gap: 6px;
      font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
      border-radius: 4px; padding: 4px 8px;
      margin-bottom: 12px;
    }
    .tag.green { background: rgba(92, 230, 161, 0.1); color: #5ce6a1; border: 1px solid rgba(92, 230, 161, 0.2); } 
    .tag.yellow { background: rgba(255, 200, 107, 0.1); color: #ffc86b; border: 1px solid rgba(255, 200, 107, 0.2); } 
    .tag.blue { background: rgba(158, 202, 255, 0.1); color: #9ecaff; border: 1px solid rgba(158, 202, 255, 0.2); } 
    
    /* Disclaimer */
    .disclaimer {
      border-left: 2px solid rgba(181, 128, 209, 0.3);
      background: rgba(255,255,255,.02);
      padding: 12px 16px;
      color: var(--muted);
      font-size: 12px;
      margin-top: 24px;
      line-height: 1.5;
      opacity: 0.8;
    }

    /* Bottom Sticky CTA (Mobile) */
    .bottom-cta {
      position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
      background: rgba(19, 9, 28, 0.95);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-top: 1px solid rgba(255,255,255,.12);
      padding: 12px 0 24px;
    }
    .bottom-cta .inner {
      width: min(100%, calc(100% - 32px)); 
      max-width: 414px;
      margin: 0 auto;
      display: flex; gap: 12px; align-items: center;
    }

    /* Modals */
    .modal {
      position: fixed; inset: 0;
      display: none; place-items: center;
      background: rgba(0,0,0,.85);
      backdrop-filter: blur(5px);
      z-index: 100;
      padding: 16px;
      opacity: 0; transition: opacity 0.2s;
    }
    .modal[aria-hidden="false"] { display: grid; opacity: 1; }

    .dialog {
      width: 100%; max-width: 400px;
      max-height: 85vh;
      overflow-y: auto;
      background: #1a0f26;
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 12px;
      box-shadow: 0 30px 60px rgba(0,0,0,0.7);
      padding: 24px;
      transform: scale(0.95); transition: transform 0.2s;
    }
    .modal[aria-hidden="false"] .dialog { transform: scale(1); }

    .mhead {
      display: flex; justify-content: space-between; gap: 10px; align-items: flex-start;
      padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.1); margin-bottom: 16px;
    }
    .close {
      background: rgba(255,255,255,.05);
      border: none;
      color: var(--text);
      border-radius: 8px;
      width: 32px; height: 32px;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      font-size: 20px;
      line-height: 1;
    }
    .close:hover { background: rgba(255,255,255,.1); }

    /* Carousel Styles */
    .carousel-container {
      position: relative;
      width: 100%;
      max-width: 100%;
      height: 300px; /* Adjust height as needed */
      overflow: hidden;
      border-radius: 8px;
      margin-bottom: 16px;
    }

    .carousel-track {
      display: flex;
      width: 100%;
      height: 100%;
      transition: transform 0.3s ease-in-out;
    }

    .carousel-slide {
      min-width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .carousel-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover; /* Or 'contain' depending on preference */
    }

    .carousel-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0, 0, 0, 0.5);
      color: white;
      border: none;
      padding: 10px;
      cursor: pointer;
      border-radius: 50%;
      z-index: 10;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .carousel-btn:hover {
      background: rgba(0, 0, 0, 0.8);
    }
    .carousel-btn.prev { left: 10px; }
    .carousel-btn.next { right: 10px; }


    /* =========================================
       RESPONSIVE BREAKPOINTS (Tablet & Desktop)
       ========================================= */
    @media (min-width: 768px) {
      .wrap {
        max-width: 1024px;
        display: block; /* Force Vertical Stacking */
        margin: 0 auto;
        padding-bottom: 60px;
      }
      .topbar .inner { max-width: 1024px; }
      .bottom-cta { display: none; }
      .topbar .btn.ghost.mobile-only { display: none; }

      /* Desktop Nav Visibility */
      .desktop-nav {
        display: flex;
        gap: 24px;
        margin-left: auto; /* Push to right */
        margin-right: 24px;
        align-items: center;
      }
      .desktop-nav a {
        font-size: 13px;
        font-weight: 500;
        color: var(--muted);
        transition: color 0.2s;
        text-decoration: none;
      }
      .desktop-nav a:hover {
        color: var(--text);
      }

      /* Desktop CTA Button */
      .desktop-cta {
        display: inline-flex;
        background: var(--accent);
        color: #13091c;
        font-weight: 700;
        font-size: 13px;
        padding: 8px 16px;
        border-radius: 8px;
        cursor: pointer;
        box-shadow: 0 4px 12px rgba(255, 200, 107, 0.3);
        text-decoration: none;
        align-items: center;
        justify-content: center;
      }
      .desktop-cta:hover {
        filter: brightness(1.1);
      }

      /* Remove old CSS pseudo-button */
      .topbar .inner::after {
        content: none;
      }
      
      /* Internal Grid Layouts */
      .participation-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
      }
      .synergy-grid {
        grid-template-columns: 1fr 1fr 1fr;
      }
      .active-compound-box { grid-column: span 3; }
      
      .proven-wrapper {
        grid-template-columns: 1fr 1.5fr; /* Split Layout for Proven */
      }
      
      h1 { font-size: 34px; }
      .philo-grid { grid-template-columns: repeat(3, 1fr); }
      .proven-content-grid { grid-template-columns: 1fr 1fr; }
      .endpoint-box { grid-column: span 2; }
      /* Endpoint box layout desktop */
      .endpoint-box {
          flex-direction: row;
      }
      .endpoint-image-wrapper {
          max-width: 100%;
      }
      
      /* SDG Grid Adjustment for Desktop */
      /* FIXED: Clean Breakpoint for Large Screens (Desktop) */
      .sdg-grid { grid-template-columns: repeat(5, 1fr); }

      /* Footer Grid */
      .footer-inner {
        grid-template-columns: 2fr 1fr 1fr;
      }
      .footer-bottom {
        flex-direction: row;
        justify-content: space-between;
      }
    }

    @media (min-width: 768px) and (max-width: 1023px) {
       .synergy-grid { grid-template-columns: 1fr; }
       .active-compound-box { grid-column: span 1; }
       .participation-grid { grid-template-columns: repeat(2, 1fr); }
       .participation-grid > div:last-child { grid-column: span 2; }
       .philo-grid { grid-template-columns: repeat(3, 1fr); } 
       .proven-wrapper { grid-template-columns: 1fr; }
       /* SDG Grid for Tablet */
       .sdg-grid { grid-template-columns: repeat(3, 1fr); }
    }

/* Form Elements */
.form-group { margin-bottom: 20px; }
.form-label { display: block; margin-bottom: 8px; font-size: 14px; color: var(--text); font-weight: 500; }
.form-label span.req { color: var(--warn); margin-left: 4px; }

input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
select,
textarea {
  width: 100%;
  padding: 12px 16px;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  color: #fff;
  font-family: var(--font);
  font-size: 14px;
  transition: all 0.2s ease;
}

input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--accent);
  background: rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 0 3px rgba(255, 200, 107, 0.1);
}

/* Checkbox & Radio Customization */
.checkbox-group { display: flex; flex-direction: column; gap: 10px; }
.checkbox-item { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.checkbox-item input { margin-top: 4px; accent-color: var(--accent); }
.checkbox-item span { font-size: 14px; color: var(--muted); }

/* Section Headers inside Form */
.form-section-title {
  color: var(--accent);
  font-size: 16px;
  font-weight: 600;
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
  margin: 32px 0 20px 0;
  letter-spacing: 0.05em;
}

.sub-label { font-size: 12px; color: var(--muted); margin-top: 4px; display: block; }

/* =========================================
       2. PROGRAM PAGE SPECIFIC STYLES
       ========================================= */

    /* Timeline Journey */
    .journey-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 24px;
    }
    .journey-step {
        background: rgba(255,255,255,0.02);
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 12px;
        padding: 20px;
        position: relative;
    }
    .journey-step h3 { color: var(--accent); margin-top: 8px;}
    .step-num { 
        font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; 
        color: var(--muted); border: 1px solid rgba(255,255,255,0.1);
        padding: 2px 8px; border-radius: 99px; display: inline-block;
    }

    /* Price Highlight Box */
    .price-box {
        background: linear-gradient(135deg, rgba(255,200,107,0.1), rgba(19,9,28,0.4));
        border: 1px solid rgba(255,200,107,0.3);
        padding: 20px; border-radius: 12px; margin-top: 16px; text-align: center;
    }
    .big-price {
        font-size: 24px; font-weight: 700; color: var(--accent);
        display: block; margin: 8px 0;
    }
    .strike {
        text-decoration: line-through; opacity: 0.6; font-size: 14px; margin-right: 8px;
    }
    
    /* Warning Box */
    .warning-box {
        background: rgba(255, 107, 107, 0.08);
        border-left: 3px solid var(--danger);
        padding: 16px;
        border-radius: 8px;
        margin-top: 24px;
    }
    .warning-title {
        color: var(--danger); font-weight: 600; font-size: 14px; margin-bottom: 8px;
        display: flex; align-items: center; gap: 8px;
    }

    /* Comparison Table */
    .comp-table-wrap {
        overflow-x: auto;
        border-radius: 12px;
        border: 1px solid rgba(255,255,255,0.1);
        margin-top: 20px;
    }
    .comp-table {
        width: 100%;
        border-collapse: collapse;
        min-width: 500px; /* Ensure readability on mobile scroll */
    }
    .comp-table th, .comp-table td {
        padding: 12px 16px;
        text-align: left;
        border-bottom: 1px solid rgba(255,255,255,0.05);
        font-size: 13px;
    }
    .comp-table th {
        background: rgba(255,255,255,0.05);
        color: var(--text);
        font-weight: 600;
    }
    .comp-table td { color: var(--muted); }
    .comp-table tr:last-child td { border-bottom: none; }
    
    /* Highlight Row in Table */
    .highlight-row { background: rgba(92, 230, 161, 0.05); }
    .highlight-row td { color: #fff; font-weight: 500; }
    
    /* Pioneer Grid */
    .pioneer-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 20px;
    }
    
    /* Responsive Desktop */
    @media (min-width: 768px) {
        .journey-grid { grid-template-columns: repeat(3, 1fr); }
        .pioneer-grid { grid-template-columns: 1fr 1fr; }
        .wrap { max-width: 1024px; }
        h1 { font-size: 34px; }
    }

/* =========================================
   CLINICAL TRIAL MODAL STYLES
   ========================================= */

/* The Container Box */
.clinical-info-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 16px;
  margin-top: 16px;
}

/* The Grid (2 Columns) */
.clinical-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* Mobile: Stack columns on small screens */
@media (max-width: 400px) {
  .clinical-grid {
    grid-template-columns: 1fr;
  }
}

.clinical-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--accent); /* Uses your Gold color */
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 8px 0;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.clinical-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.clinical-list li {
  position: relative;
  padding-left: 14px;
  margin-bottom: 6px;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.4;
}

/* Bullet point styling */
.clinical-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--accent2); /* Uses your Purple/Lavender color */
  font-weight: bold;
}

/* Action Buttons Area */
.modal-actions {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.btn.full-width {
  width: 100%;
}

/* =========================================
   CINEMATIC VIDEO EMBED STYLES
   ========================================= */

/* The outer shell for the visual theme (Border, Shadow, Radius) */
.cinematic-wrapper {
  position: relative;
  width: 100%;
  margin: 15px 0; /* Space above and below */
  border-radius: 12px; /* Matches var(--radius) */
  overflow: hidden;
  
  /* Thematic Styling */
  border: 1px solid rgba(255, 200, 107, 0.25); /* var(--accent) low opacity */
  background: #000; /* Fallback for loading */
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6); /* Deep shadow */
}

/* The inner container to lock the 16:9 Aspect Ratio */
.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  height: 0;
  width: 100%;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* =========================================
   CUSTOM SLIDESHOW STYLES
   ========================================= */

/* Wrapper to constrain width and center it */
.slideshow-wrapper {
  max-width: 800px; /* Adjust size as needed */
  margin: 24px auto;
  position: relative;
}

/* Main Container with Theme Border & Radius */
.slideshow-container {
  position: relative;
  margin: auto;
  border-radius: 12px;
  overflow: hidden; /* Clips images to rounded corners */
  border: 1px solid rgba(255, 200, 107, 0.25); /* Gold Border */
  box-shadow: 0 10px 40px rgba(0,0,0,0.5); /* Deep Shadow */
  background: #000;
}

/* Hide images by default */
.mySlides {
  display: none;
}

/* Images fill the container */
.mySlides img {
  vertical-align: middle;
  object-fit: cover;
  height: 400px; 
  width: 100%;
  object-position: top center; /* Focuses on top of image (good for faces) */
}

/* Next & Previous Buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: var(--accent); /* Gold color */
  font-weight: bold;
  font-size: 18px;
  transition: 0.3s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  background-color: rgba(19, 9, 28, 0.4); /* Semi-transparent purple */
  backdrop-filter: blur(4px);
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* Hover effects */
.prev:hover, .next:hover {
  background-color: rgba(255, 200, 107, 0.2); /* Gold tint on hover */
  color: #fff;
}

/* Caption Text Box */
.text-caption {
  color: var(--text);
  background: rgba(19, 9, 28, 0.85); /* Dark background for readability */
  backdrop-filter: blur(4px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14px;
  padding: 12px 16px;
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  font-family: var(--font);
}

.text-caption strong {
  color: var(--accent); /* Gold Heading */
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.05em;
}

/* Number text (1/3 etc) */
.numbertext {
  color: var(--muted);
  font-size: 11px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
  background: rgba(0,0,0,0.5);
  border-bottom-right-radius: 8px;
  font-family: monospace;
}

/* The Dots/Indicators */
.dot {
  cursor: pointer;
  height: 10px;
  width: 10px;
  margin: 0 4px;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.4s ease, transform 0.2s;
}

.active, .dot:hover {
  background-color: var(--accent); /* Active = Gold */
  transform: scale(1.2);
  box-shadow: 0 0 8px rgba(255, 200, 107, 0.4);
}

/* Fading Animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

/* Mobile Adjustment */
@media only screen and (max-width: 600px) {
  .prev, .next { font-size: 14px; padding: 10px; }
  .mySlides img { height: 250px; } /* Smaller height on mobile */
}