/* research_and_development.html — extracted internal + inline styles */
    .rd-page { --rd: #7c3aed; --rd-2: #0ea5e9; --rd-rgb: 124, 58, 237; }

    .rd-eyebrow { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem 1rem; border-radius: 2rem;
        background: rgba(var(--rd-rgb), .10); color: var(--rd); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
    .rd-eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--rd); box-shadow: 0 0 0 4px rgba(var(--rd-rgb), .16); }

    .rd-trust { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; }
    .rd-trust .t { display: flex; align-items: center; gap: .5rem; font-weight: 600; color: #45526b; font-size: .95rem; }
    .rd-trust .t i { color: var(--rd); font-size: 1.15rem; }

    /* ---- labs pipeline card (hero) ---- */
    .rd-lab { position: relative; border-radius: 1.4rem; background: #fff; border: 1px solid #eef1f6;
        box-shadow: 0 1.8rem 3.6rem rgba(30, 34, 40, .18); overflow: hidden; }
    .rd-lab__bar { display: flex; align-items: center; gap: .7rem; padding: 1.1rem 1.3rem;
        background: linear-gradient(100deg, var(--rd), var(--rd-2)); color: #fff; }
    .rd-lab__bar .fl { width: 34px; height: 34px; border-radius: .6rem; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
    .rd-lab__bar b { font-size: 1rem; } .rd-lab__bar .tag { margin-left: auto; font-size: .64rem; font-weight: 700; letter-spacing: .08em; background: rgba(255,255,255,.22); padding: .22rem .6rem; border-radius: 2rem; }
    .rd-lab__body { padding: 1.3rem; position: relative; }
    .rd-lab__body::before { content: ""; position: absolute; top: 2.1rem; bottom: 2.1rem; left: calc(1.3rem + 21px); width: 2px; background: linear-gradient(var(--rd), var(--rd-2)); opacity: .3; }
    .rd-node { display: flex; align-items: center; gap: .9rem; padding: .55rem 0; position: relative; z-index: 1; }
    .rd-node .d { width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0; background: #fff; border: 2px solid rgba(var(--rd-rgb), .25);
        display: flex; align-items: center; justify-content: center; font-size: 1.2rem; }
    .rd-node b { display: block; font-size: .92rem; color: #2a3242; } .rd-node span { font-size: .76rem; color: #8a94a6; }
    .rd-node .pin { margin-left: auto; font-size: .68rem; font-weight: 700; color: var(--rd); background: rgba(var(--rd-rgb), .1); padding: .22rem .6rem; border-radius: 2rem; }
    .rd-lab__foot { display: flex; gap: .6rem; flex-wrap: wrap; padding: .9rem 1.3rem; border-top: 1px solid #f0f2f6; background: #f9fafc; }
    .rd-lab__foot .b { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; font-weight: 700; color: #45526b; background: #fff; border: 1px solid #eceef3; padding: .3rem .7rem; border-radius: 2rem; }
    .rd-lab__foot .b i { color: var(--rd); }

    /* ---- process ---- */
    .rd-proc { display: grid; gap: 1.25rem; }
    @media (min-width: 768px) { .rd-proc { grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 1200px) { .rd-proc { grid-template-columns: repeat(3, 1fr); } }
    .rd-step { background: #fff; border: 1px solid #eef1f6; border-radius: 1.1rem; padding: 1.6rem 1.4rem; height: 100%; transition: transform .35s ease, box-shadow .35s ease; }
    .rd-step:hover { transform: translateY(-5px); box-shadow: 0 1rem 2.4rem rgba(30,34,40,.1); }
    .rd-step .n { font-size: 2.2rem; font-weight: 800; line-height: 1; background: linear-gradient(120deg, var(--rd), var(--rd-2)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .rd-step h4 { font-size: 1.08rem; font-weight: 700; margin: .7rem 0 .4rem; }
    .rd-step p { font-size: .89rem; color: #5c6a82; margin: 0; }

    /* ---- focus cards ---- */
    .rd-focus { height: 100%; background: #fff; border: 1px solid #eef1f6; border-radius: 1.1rem; padding: 1.6rem 1.5rem;
        transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease, border-color .3s; }
    .rd-focus:hover { transform: translateY(-8px); box-shadow: 0 1.4rem 3rem rgba(30,34,40,.12); border-color: rgba(var(--rd-rgb),.4); }
    .rd-focus .ic { width: 56px; height: 56px; border-radius: 1rem; background: rgba(var(--rd-rgb), .09); color: var(--rd); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 1rem; }
    .rd-focus h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: .45rem; }
    .rd-focus p { font-size: .9rem; color: #5c6a82; margin: 0; }

    /* ---- quality report ---- */
    .rd-quality { border-radius: 1.4rem; background: linear-gradient(150deg, #0f1523, #1b2440); color: #fff; padding: 2.4rem; position: relative; overflow: hidden; }
    .rd-quality .cov { font-size: clamp(3rem, 6vw, 4.6rem); font-weight: 800; line-height: 1; background: linear-gradient(120deg, #a78bfa, #38bdf8); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .rd-quality .lbl { color: rgba(255,255,255,.7); font-size: .95rem; }
    .rd-qlist { list-style: none; padding: 0; margin: 0; }
    .rd-qlist li { display: flex; align-items: center; gap: .6rem; padding: .5rem 0; font-size: .95rem; color: rgba(255,255,255,.92); }
    .rd-qlist li i { color: #34d399; }

    /* ---- product cards ---- */
    .rd-prod { display: block; height: 100%; background: #fff; border: 1px solid #eef1f6; border-radius: 1.1rem; padding: 1.5rem 1.4rem;
        transition: transform .4s ease, box-shadow .4s ease, border-color .3s; }
    .rd-prod:hover { transform: translateY(-6px); box-shadow: 0 1.3rem 2.8rem rgba(30,34,40,.12); border-color: rgba(var(--rd-rgb),.4); }
    .rd-prod .e { font-size: 1.8rem; }
    .rd-prod h4 { font-size: 1.05rem; font-weight: 700; margin: .6rem 0 .3rem; color: #1e2531; }
    .rd-prod p { font-size: .84rem; color: #8a94a6; margin: 0 0 .7rem; }
    .rd-prod .go { font-size: .82rem; font-weight: 700; color: var(--rd); display: inline-flex; align-items: center; gap: .3rem; }

    /* ---- stats ---- */
    .rd-stat .n { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 800; line-height: 1; background: linear-gradient(120deg, var(--rd), var(--rd-2)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .rd-stat p { font-size: .85rem; color: #8a94a6; margin: .3rem 0 0; }

    /* ---- tech chips ---- */
    .rd-tech { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
    .rd-tech span { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem 1.1rem; border-radius: 2rem; background: #fff; border: 1px solid #e7ebf2; font-weight: 700; font-size: .9rem; color: #45526b; transition: all .25s ease; }
    .rd-tech span:hover { color: var(--rd); border-color: var(--rd); transform: translateY(-2px); }

    @media (prefers-reduced-motion: no-preference) {
        .reveal-up { animation: reveal-up .6s cubic-bezier(.22,.61,.36,1) both; }
        .reveal-up:nth-child(3n+2) { animation-delay: .08s; } .reveal-up:nth-child(3n+3) { animation-delay: .16s; }
    }
    @keyframes reveal-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

.gen-1 { height: 130px; }
