
    /* ---------- local fonts (Playfair Display + Be Vietnam Pro) ---------- */
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/bvp-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/bvp-400-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/bvp-400-viet.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/bvp-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/bvp-600-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/bvp-600-viet.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/bvp-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/bvp-700-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/bvp-700-viet.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/bvp-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/bvp-800-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/bvp-800-viet.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
  @font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/pf-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/pf-700-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/pf-700-viet.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('../fonts/pf-600i-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('../fonts/pf-600i-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('../fonts/pf-600i-viet.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}

  :root{
    --bg:#FBF2F7;
    --bg-alt:#F3E1EE;
    --panel:#FFFDFE;
    --ink:#360E2C;
    --ink-soft:#7C5470;
    --line:rgba(54,14,44,0.13);
    --accent:#C81E6B;
    --accent-ink:#4A0A2C;
    --violet:#7A2FB0;
    --violet-soft:#EDE0F6;
    --flag:#B0295C;
    --flag-bg:#F7E2ED;
    --shadow:0 20px 44px -22px rgba(88,14,66,0.38);
    --radius:16px;
    --serif:'Playfair Display','Iowan Old Style','Palatino Linotype',Georgia,serif;
    --sans:'Be Vietnam Pro','Segoe UI',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --bg:#1C0E1F;
      --bg-alt:#27152C;
      --panel:#2F1936;
      --ink:#F6E5F1;
      --ink-soft:#CBA6C4;
      --line:rgba(246,229,241,0.14);
      --accent:#F0579E;
      --accent-ink:#3A0A22;
      --violet:#B47BE8;
      --violet-soft:#3A2249;
      --flag:#E888B4;
      --flag-bg:#3D2130;
      --shadow:0 20px 44px -20px rgba(0,0,0,0.6);
    }
  }
  :root[data-theme="dark"]{
    --bg:#1C0E1F; --bg-alt:#27152C; --panel:#2F1936; --ink:#F6E5F1; --ink-soft:#CBA6C4;
    --line:rgba(246,229,241,0.14); --accent:#F0579E; --accent-ink:#3A0A22; --violet:#B47BE8;
    --violet-soft:#3A2249; --flag:#E888B4; --flag-bg:#3D2130; --shadow:0 20px 44px -20px rgba(0,0,0,0.6);
  }
  :root[data-theme="light"]{
    --bg:#FBF2F7; --bg-alt:#F3E1EE; --panel:#FFFDFE; --ink:#360E2C; --ink-soft:#7C5470;
    --line:rgba(54,14,44,0.13); --accent:#C81E6B; --accent-ink:#4A0A2C; --violet:#7A2FB0;
    --violet-soft:#EDE0F6; --flag:#B0295C; --flag-bg:#F7E2ED; --shadow:0 20px 44px -22px rgba(88,14,66,0.38);
  }

  *{box-sizing:border-box;}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  h1,h2,h3{font-family:var(--serif);font-weight:600;text-wrap:balance;margin:0;}
  a{color:inherit;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
  section{padding:88px 0;}
  .eyebrow{font-family:var(--sans);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--violet);font-weight:700;}
  .lede{font-size:18px;color:var(--ink-soft);max-width:60ch;}

  /* ---------- placeholder flag ---------- */
  .flag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--flag);background:var(--flag-bg);border:1px solid color-mix(in srgb, var(--flag) 35%, transparent);border-radius:999px;padding:3px 10px;}
  .placeholder{border:1.5px dashed color-mix(in srgb, var(--flag) 55%, transparent);border-radius:var(--radius);padding:16px;background:var(--flag-bg);color:var(--accent-ink);font-size:14.5px;}
  .placeholder strong{display:block;font-size:13px;color:var(--flag);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}

  /* ---------- header / nav ---------- */
  header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  .topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1080px;margin:0 auto;}
  .brand{font-family:var(--serif);font-size:20px;font-weight:700;}
  .brand span{color:var(--violet);}
  .cta-btn{background:linear-gradient(135deg, var(--accent), var(--violet));color:#fff;border:none;font-family:var(--sans);font-weight:700;font-size:14.5px;padding:11px 22px;border-radius:999px;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease;}
  .cta-btn:hover{transform:translateY(-1px);}
  .cta-btn:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, button:focus-visible{outline:3px solid var(--violet);outline-offset:2px;}

  /* ---------- hero ---------- */
  .hero{position:relative;padding:64px 0 96px;overflow:hidden;}
  .hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  .hero h1{font-size:44px;line-height:1.14;margin:14px 0 20px;}
  .hero h1 em{font-style:italic;color:var(--accent);}
  .hero-actions{display:flex;align-items:center;gap:18px;margin-top:30px;flex-wrap:wrap;}
  .trust-strip{margin-top:40px;display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;}
  .trust-item{font-size:13.5px;color:var(--ink-soft);}
  .trust-item b{display:block;font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:700;}
  .hero-photo{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5;}
  .hero-photo img{width:100%;height:100%;object-fit:cover;}
  .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(44,10,36,.6), transparent 45%);}
  .hero-photo figcaption{position:absolute;left:16px;bottom:14px;right:16px;color:#fff;font-size:13px;margin:0;}
  .growth-line{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none;color:var(--violet);}

  /* ---------- section headers ---------- */
  .sec-head{max-width:64ch;margin-bottom:44px;}
  .sec-head h2{font-size:32px;margin-top:10px;}

  /* ---------- certs ---------- */
  .alt{background:var(--bg-alt);}
  .cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .cert-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);}
  .cert-photo{aspect-ratio:4/3;border-radius:10px;margin-bottom:14px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
  .cert-photo img{width:100%;height:100%;object-fit:cover;}
  .cert-card h3{font-size:17px;margin-bottom:6px;}
  .cert-card p{font-size:14px;color:var(--ink-soft);margin:0;}

  /* ---------- science ---------- */
  .science-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
  .bar-row{display:grid;grid-template-columns:120px 1fr 52px;align-items:center;gap:12px;margin-bottom:16px;}
  .bar-label{font-size:14px;color:var(--ink-soft);}
  .bar-track{height:11px;background:var(--violet-soft);border-radius:999px;overflow:hidden;}
  .bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg, var(--violet), var(--accent));}
  .bar-pct{font-variant-numeric:tabular-nums;font-weight:700;font-size:14px;text-align:right;}
  .callout{margin-top:22px;background:var(--violet-soft);border-left:3px solid var(--violet);border-radius:0 10px 10px 0;padding:16px 18px;font-size:14.5px;color:var(--ink);}
  .science-copy p{color:var(--ink-soft);font-size:15px;}
  .science-copy h3{font-size:18px;margin:0 0 10px;}

  /* ---------- process ---------- */
  .process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step;}
  .step{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 20px 20px;}
  .step::before{counter-increment:step;content:counter(step);font-family:var(--serif);font-size:15px;font-weight:700;color:var(--bg);background:var(--violet);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
  .step h3{font-size:15.5px;margin-bottom:8px;}
  .step p{font-size:13.5px;color:var(--ink-soft);margin:0;}

  /* ---------- evidence / proof ---------- */
  .proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
  .proof-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);}
  .proof-card h3{font-size:16px;margin-bottom:8px;}
  .proof-card p{font-size:14px;color:var(--ink-soft);margin:0;}
  .proof-number{font-family:var(--serif);font-size:44px;font-weight:700;color:var(--accent);line-height:1;margin-bottom:12px;}
  .proof-number span{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink-soft);margin-left:6px;}

  /* ---------- KÉO / ĐẨY paths ---------- */
  .path-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px;}
  .path-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);}
  .path-card .eyebrow{display:block;margin-bottom:6px;}
  .path-card h3{font-size:16px;margin:0 0 10px;}
  .path-card p{font-size:14px;color:var(--ink-soft);margin:0;}
  .path-card p + p{margin-top:8px;}

  /* ---------- demo protocol ---------- */
  .demo-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:var(--shadow);}
  .demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line);}
  .demo-item{display:flex;flex-direction:column;gap:6px;}
  .demo-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;}
  .demo-value{font-family:var(--serif);font-size:19px;color:var(--ink);}
  .demo-value em{font-style:normal;font-size:12.5px;color:var(--violet);font-weight:700;margin-left:4px;}
  .demo-predict{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .demo-predict-card{background:var(--bg-alt);border-radius:var(--radius);padding:20px;}
  .demo-predict-card.highlight{background:var(--violet-soft);}
  .demo-predict-card .demo-label{display:block;margin-bottom:12px;}
  .demo-note{margin-top:20px;font-size:12.5px;color:var(--ink-soft);}

  /* ---------- clinical evidence ---------- */
  .evidence-list{display:flex;flex-direction:column;gap:16px;margin-top:8px;}
  .evidence-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow);}
  .evidence-item .cite{display:block;font-size:13px;font-weight:700;color:var(--violet);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;}
  .evidence-item p{margin:0;font-size:14.5px;color:var(--ink-soft);}
  .patent-note{margin-top:20px;background:var(--violet-soft);border-left:3px solid var(--violet);border-radius:0 10px 10px 0;padding:16px 18px;font-size:13.5px;color:var(--ink);}
  .disclaimer{margin-top:16px;font-size:12.5px;color:var(--ink-soft);font-style:italic;}

  /* ---------- real example gallery ---------- */
  .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;}
  .gallery-item{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);}
  .gallery-item img{width:100%;height:auto;display:block;}

  /* ---------- form ---------- */
  .form-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}
  form{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:var(--shadow);}
  .field{margin-bottom:18px;}
  .field label{display:block;font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:7px;}
  .field input, .field select{width:100%;font-family:var(--sans);font-size:15px;padding:12px 14px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink);}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .submit-btn{width:100%;background:linear-gradient(135deg, var(--accent), var(--violet));color:#fff;border:none;font-family:var(--sans);font-weight:700;font-size:15.5px;padding:14px;border-radius:9px;cursor:pointer;margin-top:6px;}
  .submit-btn:hover{filter:brightness(1.05);}
  .privacy-note{font-size:12.5px;color:var(--ink-soft);margin-top:12px;text-align:center;}
  .thankyou{display:none;text-align:center;padding:40px 10px;}
  .thankyou h3{font-size:22px;margin-bottom:10px;}
  .thankyou p{color:var(--ink-soft);font-size:14.5px;}
  .form-side h2{font-size:28px;margin-bottom:16px;}
  .form-side ul{padding:0;margin:22px 0 0;list-style:none;display:flex;flex-direction:column;gap:14px;}
  .form-side li{display:flex;gap:12px;font-size:14.5px;color:var(--ink-soft);}
  .form-side li::before{content:"—";color:var(--violet);font-weight:700;}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--line);padding:48px 0;background:var(--bg-alt);}
  .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;}
  .foot-grid h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 12px;}
  .foot-grid p, .foot-grid a{font-size:14px;color:var(--ink-soft);text-decoration:none;}
  .fine{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-soft);}

  @media (prefers-reduced-motion: no-preference){
    .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
    .reveal.in{opacity:1;transform:none;}
  }

  @media (max-width:980px) and (min-width:861px){
    .cert-grid{grid-template-columns:repeat(2,1fr);}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
  }

  @media (max-width:860px){
    .hero .wrap{grid-template-columns:1fr;}
    .hero-photo{order:-1;aspect-ratio:16/10;}
    .cert-grid{grid-template-columns:1fr;}
    .science-grid{grid-template-columns:1fr;gap:28px;}
    .path-grid{grid-template-columns:1fr;}
    .demo-grid{grid-template-columns:1fr;}
    .demo-predict{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:1fr;}
    .process-list{grid-template-columns:1fr 1fr;}
    .proof-grid{grid-template-columns:1fr;}
    .form-wrap{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;gap:24px;}
    .hero h1{font-size:32px;}
    section{padding:64px 0;}
  }
