/* =========================================================
   NUTRICORP AGRI — RESEARCH & DEVELOPMENT PAGE
   Scoped styles: .nc-rnd-page
   ========================================================= */

.nc-rnd-page {
    --rnd-green: #19543e;
    --rnd-deep: #0e3828;
    --rnd-secondary: #3d6b4f;
    --rnd-soft: #e9ede3;
    --rnd-canvas: #f4f6f0;
    --rnd-text: #264735;
    --rnd-muted: #536859;
    --rnd-accent: #d35400;
    color: var(--rnd-text);
    background: #fff;
    overflow: hidden;
}

.nc-rnd-page h1,
.nc-rnd-page h2,
.nc-rnd-page h3,
.nc-rnd-page p {
    margin-top: 0;
}

.nc-rnd-page h1,
.nc-rnd-page h2 {
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 500;
    letter-spacing: -.035em;
}

.nc-rnd-eyebrow {
    display: flex;
    align-items: center;
    gap: 11px;
    color: var(--rnd-accent);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.nc-rnd-eyebrow > span {
    width: 25px;
    height: 2px;
    background: currentColor;
}

/* Hero */

.nc-rnd-hero {
    position: relative;
    padding: 2.5rem 0 6rem;
    background: var(--rnd-canvas);
}

.nc-rnd-hero h1 {
    max-width: 760px;
    margin: 24px 0;
    color: var(--rnd-deep);
    font-size: clamp(3.2rem, 6vw, 5.7rem);
    line-height: .99;
}

.nc-rnd-hero h1 span,
.nc-rnd-intro h2 span,
.nc-rnd-lab h2 span,
.nc-rnd-section-heading h2 span,
.nc-rnd-leadership h2 span,
.nc-rnd-cta h2 span {
    display: block;
    color: var(--rnd-secondary);
}

.nc-rnd-hero-copy {
    max-width: 620px;
    color: var(--rnd-muted);
    font-size: 1.05rem;
    line-height: 1.9;
}

.nc-rnd-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 40px;
    padding-top: 18px;
    border-top: 1px solid rgba(25, 84, 62, .18);
    color: var(--rnd-secondary);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.nc-rnd-science-visual {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    border-radius: 48% 48% 18px 18px;
    background:
        radial-gradient(circle at 50% 45%, rgba(105, 158, 112, .28), transparent 42%),
        linear-gradient(145deg, #0e3828, #19543e 60%, #274f3a);
    box-shadow: 0 25px 65px rgba(14, 56, 40, .18);
}

.nc-rnd-science-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
    background-size: 34px 34px;
}

.nc-rnd-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(225, 239, 213, .3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.nc-rnd-orbit-a {
    width: 300px;
    height: 300px;
}

.nc-rnd-orbit-b {
    width: 390px;
    height: 390px;
}

.nc-rnd-orbit-c {
    width: 460px;
    height: 460px;
    border-style: dashed;
    opacity: .55;
}

.nc-rnd-science-core {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    width: 170px;
    height: 170px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    background: rgba(230, 241, 221, .12);
    color: #fff;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 55px rgba(180, 220, 164, .18);
    backdrop-filter: blur(8px);
}

.nc-rnd-science-core span {
    color: #c6dcac;
    font-size: .65rem;
    letter-spacing: .2em;
}

.nc-rnd-science-core strong {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 3rem;
    line-height: 1.1;
}

.nc-rnd-science-core small {
    color: #dcebd5;
    font-size: .48rem;
    letter-spacing: .13em;
}

.nc-rnd-molecule {
    position: absolute;
    z-index: 2;
    width: 13px;
    height: 13px;
    border: 2px solid #d8e9bf;
    border-radius: 50%;
    background: #8cae72;
    box-shadow: 0 0 18px rgba(213, 239, 185, .7);
}

.nc-rnd-molecule-a { top: 21%; left: 27%; }
.nc-rnd-molecule-b { top: 29%; right: 17%; }
.nc-rnd-molecule-c { bottom: 23%; left: 19%; }
.nc-rnd-molecule-d { right: 25%; bottom: 17%; }

.nc-rnd-visual-label {
    position: absolute;
    right: 25px;
    bottom: 25px;
    left: 25px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: rgba(255,255,255,.75);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.nc-rnd-visual-label span {
    color: #c6dcac;
}

/* Introduction */

.nc-rnd-intro {
    padding: 105px 0;
    background: #fff;
}

.nc-rnd-intro h2,
.nc-rnd-lab h2,
.nc-rnd-section-heading h2,
.nc-rnd-leadership h2 {
    margin: 18px 0 25px;
    color: var(--rnd-deep);
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.08;
}

.nc-rnd-intro-lead {
    color: var(--rnd-green);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.8;
}

.nc-rnd-intro .col-lg-7 > p:not(.nc-rnd-intro-lead) {
    color: var(--rnd-muted);
    line-height: 1.9;
}

/* Laboratory */

.nc-rnd-lab {
    padding: 105px 0;
    background: var(--rnd-canvas);
}

.nc-rnd-lab-visual {
    position: relative;
    display: flex;
    min-height: 420px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 12px;
    background:
        radial-gradient(circle at center, rgba(255,255,255,.14), transparent 45%),
        linear-gradient(145deg, #dfe9d9, #cbdcc8);
}

.nc-rnd-lab-symbol {
    position: relative;
    display: flex;
    width: 270px;
    height: 270px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(25,84,62,.22);
    border-radius: 50%;
}

.nc-rnd-lab-ring {
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(25,84,62,.25);
    border-radius: 50%;
}

.nc-rnd-lab-ring:nth-child(2) {
    inset: 55px;
    border-style: dashed;
}

.nc-rnd-lab-center {
    display: flex;
    width: 105px;
    height: 105px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rnd-green);
    color: #fff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 2rem;
}

.nc-rnd-lab-dot {
    position: absolute;
    top: 18px;
    right: 48px;
    width: 16px;
    height: 16px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--rnd-accent);
}

.nc-rnd-lab-caption {
    position: absolute;
    right: 24px;
    bottom: 24px;
    left: 24px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 17px 20px;
    border: 1px solid rgba(25,84,62,.12);
    border-radius: 8px;
    background: rgba(255,255,255,.82);
}

.nc-rnd-lab-caption span,
.nc-rnd-address small {
    color: var(--rnd-accent);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.nc-rnd-lab-caption strong {
    color: var(--rnd-deep);
    font-size: .95rem;
}

.nc-rnd-lab > .container .col-lg-6 > p {
    color: var(--rnd-muted);
    line-height: 1.9;
}

.nc-rnd-address {
    display: flex;
    gap: 16px;
    margin-top: 30px;
    padding: 22px;
    border: 1px solid rgba(25,84,62,.14);
    border-radius: 10px;
    background: #fff;
}

.nc-rnd-address-icon {
    display: flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rnd-soft);
    color: var(--rnd-green);
    font-size: 1.6rem;
}

.nc-rnd-address strong {
    display: block;
    margin: 7px 0;
    color: var(--rnd-deep);
}

.nc-rnd-address p {
    margin-bottom: 10px;
    color: var(--rnd-muted);
    font-size: .9rem;
    line-height: 1.7;
}

.nc-rnd-address a,
.nc-rnd-text-link {
    color: var(--rnd-green);
    font-size: .85rem;
    font-weight: 800;
    text-decoration: none;
}

.nc-rnd-address a:hover,
.nc-rnd-text-link:hover {
    color: var(--rnd-accent);
}

/* Capabilities */

.nc-rnd-capabilities {
    padding: 110px 0;
    background: #fff;
}

.nc-rnd-section-heading {
    display: grid;
    grid-template-columns: 1.15fr .75fr;
    gap: 4rem;
    align-items: end;
    margin-bottom: 55px;
}

.nc-rnd-section-heading h2 {
    margin-bottom: 0;
}

.nc-rnd-section-heading > p {
    margin: 0 0 7px;
    color: var(--rnd-muted);
    line-height: 1.85;
}

.nc-rnd-capability-card {
    position: relative;
    height: 100%;
    min-height: 285px;
    padding: 32px;
    border: 1px solid rgba(25,84,62,.13);
    border-radius: 10px;
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease;
}

.nc-rnd-capability-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(14,56,40,.09);
}

.nc-rnd-card-number {
    position: absolute;
    top: 27px;
    right: 28px;
    color: rgba(25,84,62,.35);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.nc-rnd-card-icon {
    display: flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    margin-bottom: 27px;
    border-radius: 50%;
    background: var(--rnd-soft);
    color: var(--rnd-green);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.7rem;
}

.nc-rnd-card-label {
    margin-bottom: 9px;
    color: var(--rnd-accent);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.nc-rnd-capability-card h3 {
    margin-bottom: 12px;
    color: var(--rnd-deep);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.45rem;
}

.nc-rnd-capability-card p {
    margin: 0;
    color: var(--rnd-muted);
    font-size: .9rem;
    line-height: 1.8;
}

/* Leadership */

.nc-rnd-leadership {
    padding: 110px 0;
    background: var(--rnd-canvas);
}

.nc-rnd-leader-image {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    border-radius: 12px;
    background: var(--rnd-soft);
}

.nc-rnd-leader-image img {
    display: block;
    width: 100%;
    height: 500px;
    object-fit: cover;
    object-position: center 25%;
}

.nc-rnd-leader-image-caption {
    position: absolute;
    right: 20px;
    bottom: 20px;
    left: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 19px 22px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 8px;
    background: rgba(14,56,40,.88);
    color: #fff;
    backdrop-filter: blur(8px);
}

.nc-rnd-leader-image-caption span,
.nc-rnd-leader-role {
    color: var(--rnd-accent);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.nc-rnd-leader-image-caption strong {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.25rem;
}

.nc-rnd-leader-name {
    margin: 10px 0 20px;
    color: var(--rnd-green);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 2rem;
}

.nc-rnd-leadership .col-lg-7 > p {
    color: var(--rnd-muted);
    line-height: 1.9;
}

.nc-rnd-qualification {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 28px 0;
    padding: 17px 20px;
    border-left: 3px solid var(--rnd-accent);
    background: #fff;
}

.nc-rnd-qualification span:first-child {
    color: var(--rnd-green);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.6rem;
    font-weight: 700;
}

.nc-rnd-qualification span:last-child {
    color: var(--rnd-muted);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .1em;
}

/* Development approach */

.nc-rnd-approach {
    padding: 110px 0;
    background: #fff;
}

.nc-rnd-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(25,84,62,.2);
}

.nc-rnd-step {
    position: relative;
    padding: 35px 25px 15px 0;
}

.nc-rnd-step:not(:last-child) {
    margin-right: 25px;
}

.nc-rnd-step::before {
    position: absolute;
    top: -6px;
    left: 0;
    width: 11px;
    height: 11px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--rnd-accent);
    box-shadow: 0 0 0 1px var(--rnd-accent);
    content: "";
}

.nc-rnd-step > span {
    color: var(--rnd-accent);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.nc-rnd-step h3 {
    margin: 12px 0;
    color: var(--rnd-deep);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.55rem;
}

.nc-rnd-step p {
    color: var(--rnd-muted);
    font-size: .88rem;
    line-height: 1.8;
}

/* CTA */

.nc-rnd-cta {
    padding: 35px 0 100px;
    background: #fff;
}

.nc-rnd-cta-inner {
    padding: 75px 35px;
    border-radius: 14px;
    background:
        radial-gradient(circle at 85% 15%, rgba(133,177,111,.22), transparent 32%),
        linear-gradient(135deg, var(--rnd-deep), var(--rnd-green));
    color: #fff;
    text-align: center;
}

.nc-rnd-cta .nc-rnd-eyebrow {
    justify-content: center;
    color: #d5e5bd;
}

.nc-rnd-cta h2 {
    margin: 22px auto;
    color: #fff;
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    line-height: 1.08;
}

.nc-rnd-cta h2 span {
    color: #d5e5bd;
}

.nc-rnd-cta-inner > p {
    max-width: 620px;
    margin: 0 auto 28px;
    color: rgba(255,255,255,.78);
    line-height: 1.85;
}

.nc-rnd-cta .btn {
    padding: 12px 23px;
    font-weight: 700;
}

/* Responsive */

@media (max-width: 991.98px) {
    .nc-rnd-hero {
        padding: 2rem 0 5rem;
    }

    .nc-rnd-science-visual {
        min-height: 390px;
        max-width: 550px;
        margin: 0 auto;
    }

    .nc-rnd-intro,
    .nc-rnd-lab,
    .nc-rnd-capabilities,
    .nc-rnd-leadership,
    .nc-rnd-approach {
        padding: 75px 0;
    }

    .nc-rnd-section-heading {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .nc-rnd-steps {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 25px;
    }
}

@media (max-width: 575.98px) {
    .nc-rnd-hero h1 {
        font-size: clamp(2.8rem, 13vw, 4rem);
    }

    .nc-rnd-science-visual {
        min-height: 330px;
    }

    .nc-rnd-orbit-a { width: 220px; height: 220px; }
    .nc-rnd-orbit-b { width: 285px; height: 285px; }
    .nc-rnd-orbit-c { width: 325px; height: 325px; }

    .nc-rnd-science-core {
        width: 135px;
        height: 135px;
    }

    .nc-rnd-science-core strong {
        font-size: 2.5rem;
    }

    .nc-rnd-visual-label {
        right: 15px;
        bottom: 17px;
        left: 15px;
        font-size: .48rem;
    }

    .nc-rnd-intro,
    .nc-rnd-lab,
    .nc-rnd-capabilities,
    .nc-rnd-leadership,
    .nc-rnd-approach {
        padding: 60px 0;
    }

    .nc-rnd-intro h2,
    .nc-rnd-lab h2,
    .nc-rnd-section-heading h2,
    .nc-rnd-leadership h2 {
        font-size: 2.55rem;
    }

    .nc-rnd-lab-visual {
        min-height: 330px;
    }

    .nc-rnd-lab-symbol {
        width: 220px;
        height: 220px;
    }

    .nc-rnd-lab-ring:nth-child(2) {
        inset: 45px;
    }

    .nc-rnd-lab-center {
        width: 85px;
        height: 85px;
        font-size: 1.6rem;
    }

    .nc-rnd-leader-image,
    .nc-rnd-leader-image img {
        min-height: 400px;
        height: 400px;
    }

    .nc-rnd-steps {
        grid-template-columns: 1fr;
        padding-left: 18px;
        border-top: 0;
        border-left: 1px solid rgba(25,84,62,.2);
    }

    .nc-rnd-step {
        padding: 5px 0 20px 22px;
    }

    .nc-rnd-step:not(:last-child) {
        margin-right: 0;
    }

    .nc-rnd-step::before {
        top: 8px;
        left: -6px;
    }

    .nc-rnd-cta {
        padding: 15px 0 60px;
    }

    .nc-rnd-cta-inner {
        padding: 55px 22px;
    }
}
