/* =====================================================================
   Green Kaizen Net - "Try it first" (Ask Vidya + Demo) and "Family plan"
   Self-contained: works on its own, and matches css/GreenKaizen.css.
   Every rule is scoped to #demo or #enroll so nothing else on the page changes.
   Link AFTER GreenKaizen.css:
   <link href="css/GreenKaizen-sections.css" rel="stylesheet" />
   ===================================================================== */

/* ---------- design tokens (reuse the page's values when they exist) ---------- */
#demo,
#enroll {
    --gks-forest: var(--forest, #1E4D2B);
    --gks-forest-2: #24573A;
    --gks-sun: var(--sun, #F4C430);
    --gks-eyebrow: var(--eyebrow, #2F7D4A);
    --gks-ink: #17251B;
    --gks-soft: #5B6B5F;
    --gks-line: #D8E2D6;
    --gks-sage: #EEF3E8;
    --gks-white: #FFFFFF;
    --gks-display: var(--display, inherit);
    --gks-radius: 18px;
    padding: 88px 0;
    color: var(--gks-ink);
}

#enroll {
    background: var(--gks-sage);
}

#demo {
    background: var(--gks-white);
}

    #demo *,
    #enroll * {
        box-sizing: border-box;
    }

    /* ---------- layout ---------- */
    #demo .gkn-wrap,
    #enroll .gkn-wrap {
        width: 100%;
        max-width: 1180px;
        margin: 0 auto;
        padding: 0 24px;
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    /* ---------- section heading ---------- */
    #demo .gkn-section-head,
    #enroll .gkn-section-head {
        max-width: 760px;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    #demo .gkn-eyebrow,
    #enroll .gkn-eyebrow {
        margin: 0;
        color: var(--gks-eyebrow);
        font-size: 15px;
        font-weight: 700;
    }

    #demo h2,
    #enroll h2 {
        margin: 0;
        color: var(--gks-forest);
        font-family: var(--gks-display);
        font-size: clamp(30px, 3.8vw, 44px);
        font-weight: 800;
        line-height: 1.12;
        text-wrap: balance;
    }

    #demo h3,
    #enroll h3 {
        margin: 0;
        color: var(--gks-forest);
        font-family: var(--gks-display);
        line-height: 1.2;
    }

    #demo .gkn-lead,
    #enroll .gkn-lead {
        margin: 0;
        max-width: 68ch;
        color: #3A4A3E;
        font-size: 18px;
        line-height: 1.7;
        text-wrap: pretty;
    }

    #demo .gkn-soft,
    #enroll .gkn-soft {
        color: var(--gks-soft);
        font-size: 15px;
    }

    /* ---------- buttons ---------- */
    #demo .gkn-btn,
    #enroll .gkn-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 48px;
        padding: 12px 26px;
        border: 2px solid transparent;
        border-radius: 999px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        text-decoration: none;
        cursor: pointer;
        transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    }

    #demo .gkn-btn-leaf,
    #enroll .gkn-btn-leaf {
        background: var(--gks-forest);
        color: var(--gks-white);
    }

        #demo .gkn-btn-leaf:hover,
        #enroll .gkn-btn-leaf:hover {
            background: var(--gks-forest-2);
        }

    #demo .gkn-btn-sun,
    #enroll .gkn-btn-sun {
        background: var(--gks-sun);
        color: #18231B;
    }

        #demo .gkn-btn-sun:hover,
        #enroll .gkn-btn-sun:hover {
            background: #E8B520;
        }

    #demo .gkn-btn:focus-visible,
    #enroll .gkn-btn:focus-visible {
        outline: 3px solid var(--gks-sun);
        outline-offset: 3px;
    }

    /* ---------- card ---------- */
    #demo .gkn-card,
    #enroll .gkn-card {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 28px;
        background: var(--gks-white);
        border: 1px solid var(--gks-line);
        border-radius: var(--gks-radius);
    }

    /* ---------- tick list item ---------- */
    #demo .gkn-check,
    #enroll .gkn-check {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin: 0;
        font-size: 16px;
        line-height: 1.5;
    }

        #demo .gkn-check svg,
        #enroll .gkn-check svg {
            flex: none;
            margin-top: 1px;
        }

        #enroll .gkn-check b {
            color: var(--gks-forest);
        }

    /* =====================================================================
   TRY IT FIRST - Ask Vidya + Demo
   ===================================================================== */
    #demo .gkn-try {
        display: grid;
        grid-template-columns: 1.4fr 1fr;
        gap: 24px;
        align-items: stretch;
    }

    /* Ask Vidya - dark forest card */
    #demo .gkn-vidya {
        position: relative;
        overflow: hidden;
        flex-direction: row;
        align-items: center;
        gap: 28px;
        padding: 36px 32px;
        border: 0;
        color: var(--gks-white);
        background: radial-gradient(420px 240px at 100% 0%, rgba(244,196,48,.20), transparent 65%), linear-gradient(135deg, var(--gks-forest) 0%, var(--gks-forest-2) 100%);
    }

        #demo .gkn-vidya::after { /* quiet ring, decorative */
            content: "";
            position: absolute;
            right: -80px;
            bottom: -100px;
            width: 260px;
            height: 260px;
            border-radius: 50%;
            border: 2px solid rgba(244,196,48,.18);
            pointer-events: none;
        }

    #demo .gkn-vidya-avatar {
        position: relative;
        z-index: 1;
        flex: 0 0 128px;
        width: 228px;
        height: 128px;
        border-radius: 5%;
        overflow: hidden;
        background: var(--gks-white);
        border: 4px solid var(--gks-sun);
        box-shadow: 0 0 0 8px rgba(244,196,48,.16);
    }

        #demo .gkn-vidya-avatar img {
            display: block;
            width: 100%;
            height: 100%;
            max-width: none;
            object-fit: cover;
        }

    #demo .gkn-vidya-body {
        position: relative;
        z-index: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    #demo .gkn-vidya .gkn-eyebrow {
        color: var(--gks-sun);
    }

    #demo .gkn-vidya h3 {
        margin: 0 0 12px;
        color: var(--gks-white);
        font-size: 30px;
    }

    #demo .gkn-vidya-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px 20px;
    }

    #demo .gkn-vidya .gkn-check {
        color: var(--gks-white);
        font-weight: 600;
    }

        #demo .gkn-vidya .gkn-check svg {
            color: var(--gks-sun);
        }

    /* Demo card */
    #demo .gkn-demo {
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 14px;
    }

        #demo .gkn-demo h3 {
            font-size: 22px;
        }

    #demo .gkn-demo-qr {
        display: inline-block;
        border-radius: 18px;
    }

        #demo .gkn-demo-qr img {
            display: block;
            width: 180px;
            height: 180px;
            padding: 10px;
            background: var(--gks-white);
            border: 2px solid var(--gks-sun);
            border-radius: 16px;
        }

        #demo .gkn-demo-qr:focus-visible {
            outline: 3px solid var(--gks-sun);
            outline-offset: 4px;
        }

    #demo .gkn-demo .gkn-soft {
        margin: 0;
    }

/* =====================================================================
   FAMILY PLAN
   ===================================================================== */

/* "One plan. Every generation." */
#enroll .gkn-callout {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    padding: 18px 22px;
    background: var(--gks-white);
    border: 1px solid var(--gks-line);
    border-left: 6px solid var(--gks-sun);
    border-radius: 14px;
    font-size: 18px;
    line-height: 1.5;
}

    #enroll .gkn-callout strong {
        color: var(--gks-forest);
    }

    #enroll .gkn-callout span {
        color: #3A4A3E;
    }

/* "What your family gets" */
#enroll .gkn-sub {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

    #enroll .gkn-sub > h3 {
        font-size: 26px;
    }

#enroll .gkn-gets {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 32px;
    padding: 26px 28px;
    background: var(--gks-white);
    border: 1px solid var(--gks-line);
    border-radius: var(--gks-radius);
}

    #enroll .gkn-gets .gkn-check svg {
        color: var(--gks-eyebrow);
    }

/* image + price card */
#enroll .gkn-panel-hero {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 32px;
    align-items: center;
}

    #enroll .gkn-panel-hero > img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        border-radius: var(--gks-radius);
        object-fit: contain;
    }

#enroll .gkn-price {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 30px 30px 32px;
    background: var(--gks-white);
    border: 1px solid var(--gks-line);
    border-top: 6px solid var(--gks-forest);
    border-radius: var(--gks-radius);
}

    #enroll .gkn-price p {
        margin: 0;
    }

#enroll .gkn-big {
    color: var(--gks-forest);
    font-family: var(--gks-display);
    font-size: 52px;
    font-weight: 800;
    line-height: 1;
}

#enroll .gkn-price b {
    color: var(--gks-forest);
}

#enroll .gkn-price .gkn-btn {
    margin-top: 10px;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 991px) {
    #demo .gkn-try {
        grid-template-columns: 1fr;
    }

    #enroll .gkn-panel-hero {
        grid-template-columns: 1fr;
    }

        #enroll .gkn-panel-hero > img {
            max-width: 520px;
            margin: 0 auto;
        }
}

@media (max-width: 640px) {
    #demo,
    #enroll {
        padding: 60px 0;
    }

        #demo .gkn-wrap,
        #enroll .gkn-wrap {
            padding: 0 18px;
            gap: 26px;
        }

        #demo .gkn-lead,
        #enroll .gkn-lead {
            font-size: 16px;
        }

        #demo .gkn-vidya {
            flex-direction: column;
            text-align: center;
            padding: 30px 22px;
        }

        #demo .gkn-vidya-avatar {
            flex-basis: 110px;
            width: 110px;
            height: 110px;
        }

        #demo .gkn-vidya-list {
            grid-template-columns: 1fr;
            text-align: left;
        }

        #enroll .gkn-gets {
            grid-template-columns: 1fr;
            padding: 20px;
        }

        #enroll .gkn-price {
            padding: 24px 22px 26px;
        }

        #enroll .gkn-big {
            font-size: 44px;
        }

        #enroll .gkn-price .gkn-btn {
            align-self: stretch !important;
        }
}

@media (prefers-reduced-motion: reduce) {
    #demo .gkn-btn,
    #enroll .gkn-btn {
        transition: none;
    }
}
