/* ================================================================
   landing-v2.css — FikraSmart landing page brand skin
   Loaded AFTER theme-override.css. App themes (bakery, modern, …)
   repaint .lp-* classes with !important; every contested property
   here is scoped to #landing-page (+ !important where a theme
   fights it) so all visitors see the same bright, friendly page.
   ================================================================ */

#landing-page {
    --l2-bg: #fbf8f3;
    --l2-ink: #1b1f3b;
    --l2-muted: #5b6080;
    --l2-faint: #8b8fa8;
    --l2-surface: #ffffff;
    --l2-line: #ece7dc;
    --l2-primary: #5b4cf0;
    --l2-primary-2: #8b5cf6;
    --l2-sun: #ffb020;
    --l2-coral: #ff6b6b;
    --l2-mint: #12b886;
    --l2-sky: #3b9cff;
    --l2-card-shadow: 0 1px 2px rgba(27, 31, 59, .04), 0 12px 32px -12px rgba(27, 31, 59, .14);
    --l2-font: 'Outfit', 'Inter', system-ui, sans-serif;

    background:
        radial-gradient(900px 600px at 8% -160px, rgba(91, 76, 240, .10), transparent 65%),
        radial-gradient(800px 560px at 96% 80px, rgba(255, 176, 32, .12), transparent 62%),
        radial-gradient(700px 520px at 50% 1100px, rgba(18, 184, 134, .07), transparent 65%),
        var(--l2-bg) !important;
    background-attachment: local, local, local, scroll !important;
    color: var(--l2-ink) !important;
    font-family: var(--l2-font) !important;
}

/* Retire the pencil-sketch watermark (2.6 MB) and paper grain */
#landing-page::before,
#landing-page::after { display: none !important; }

/* One typeface family everywhere on the landing page */
#landing-page :is(h1, h2, h3, h4, .lp-hero-title, .lp-section-title, .lp-cta-title),
#landing-page :is(.logo-name, .header-nav a, .lp-announce, .lp-hero-meta) {
    font-family: var(--l2-font) !important;
    letter-spacing: -0.02em;
}
#landing-page :is(h1, h2, h3, h4, .lp-hero-title, .lp-section-title) {
    color: var(--l2-ink) !important;
    font-weight: 800 !important;
}

/* ── Header ── */
#landing-page .header-inner {
    max-width: 1140px;
    border-radius: 20px;
    border: 1px solid rgba(236, 231, 220, .9);
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 10px 30px -16px rgba(27, 31, 59, .22);
}
#landing-page .logo-name { font-weight: 800; font-size: 1.2rem; color: var(--l2-ink) !important; }
#landing-page .logo-accent { color: var(--l2-primary) !important; }
#landing-page .header-nav { gap: 28px; }
#landing-page .header-nav a { font-size: .94rem; font-weight: 600; color: var(--l2-muted); letter-spacing: 0; }
#landing-page .header-nav a:hover { color: var(--l2-primary); }

/* ── Buttons ── */
#landing-page .lp-btn-primary,
.student-entry-overlay .landing-btn.primary {
    background: linear-gradient(135deg, var(--l2-primary), var(--l2-primary-2)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 14px !important;
    font-weight: 700 !important;
    font-family: var(--l2-font) !important;
    box-shadow: 0 10px 24px -10px rgba(91, 76, 240, .7), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
    transition: transform .2s cubic-bezier(.23, 1, .32, 1), box-shadow .2s, filter .2s !important;
}
#landing-page .lp-btn-primary:hover,
.student-entry-overlay .landing-btn.primary:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.06) !important;
    box-shadow: 0 16px 32px -12px rgba(91, 76, 240, .75), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
}
#landing-page .lp-btn-primary i { transition: transform .2s; }
#landing-page .lp-btn-primary:hover i { transform: translateX(3px); }
body.rtl #landing-page .lp-btn-primary:hover i { transform: scaleX(-1) translateX(3px); }

#landing-page .lp-btn-outline {
    border: 1.5px solid var(--l2-line) !important;
    border-radius: 14px !important;
    background: var(--l2-surface) !important;
    color: var(--l2-ink) !important;
    box-shadow: 0 4px 14px -8px rgba(27, 31, 59, .2) !important;
}
#landing-page .lp-btn-outline:hover {
    border-color: var(--l2-primary) !important;
    color: var(--l2-primary) !important;
    border-radius: 14px !important;
}
#landing-page .lp-btn-ghost { color: var(--l2-ink) !important; background: transparent !important; box-shadow: none !important; border-radius: 12px !important; }
#landing-page .lp-btn-ghost:hover { background: rgba(91, 76, 240, .08) !important; color: var(--l2-primary) !important; }
#landing-page .header-actions .lp-btn-primary { border-radius: 12px !important; }
#landing-page .lp-lang-btn { border-radius: 12px; font-size: .9rem; }

/* ================================================================
   HERO
   ================================================================ */
#landing-page .lp2-hero { padding: 64px 0 40px; }

.lp2-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    pointer-events: none;
    opacity: .55;
}
.lp2-blob.b1 { width: 14px; height: 14px; background: var(--l2-sun); top: 120px; left: 6%; animation: l2Bob 6s ease-in-out infinite; }
.lp2-blob.b2 { width: 10px; height: 10px; background: var(--l2-coral); top: 420px; left: 46%; animation: l2Bob 7s ease-in-out -2s infinite; }
.lp2-blob.b3 { width: 12px; height: 12px; background: var(--l2-mint); top: 90px; right: 5%; animation: l2Bob 8s ease-in-out -4s infinite; }

.lp2-hero-grid {
    display: grid;
    grid-template-columns: 1.08fr 1fr;
    gap: 56px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.lp2-hero-copy { text-align: start; }

#landing-page .lp-announce {
    border: 1px solid rgba(18, 184, 134, .28) !important;
    border-radius: 999px !important;
    background: rgba(18, 184, 134, .09);
    color: #0b7a5a;
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 24px;
}

#landing-page .lp-hero-title {
    font-size: clamp(2.5rem, 4.6vw, 3.9rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    margin: 0 0 22px;
}
#landing-page .lp-mark {
    border-radius: .28em;
    padding: 0 .16em .04em;
    transform: none;
}
#landing-page .lp-mark.indigo {
    background: linear-gradient(120deg, #e6e3ff, #d9d4ff);
    color: #4334d6;
}
#landing-page .lp-mark.emerald {
    background: none;
    color: #0b8a63;
    padding: 0;
    position: relative;
    white-space: nowrap;
}
/* hand-drawn marker underline under the green phrase */
#landing-page .lp-mark.emerald::after {
    content: "";
    position: absolute;
    left: -2%; right: -2%;
    bottom: -.08em;
    height: .3em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M4 14C60 4 130 18 190 9S270 6 296 12' fill='none' stroke='%23ffb020' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
    z-index: -1;
    animation: l2Draw 1s .4s cubic-bezier(.65, 0, .35, 1) both;
    transform-origin: left center;
}
body.rtl #landing-page .lp-mark.emerald::after { transform-origin: right center; }

#landing-page .lp-hero-desc {
    font-size: 1.14rem;
    color: var(--l2-muted);
    line-height: 1.7;
    max-width: 540px;
    margin: 0 0 32px;
}

#landing-page .lp2-hero .lp-hero-cta {
    justify-content: flex-start;
    margin-bottom: 26px;
    position: relative;
    align-items: center;
}
#landing-page .lp-btn-lg { padding: 16px 30px; font-size: 1.04rem; }

/* handwritten "It's free!" note */
.lp2-note {
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
    color: #e0662f;
    font-family: 'Caveat', 'Patrick Hand', cursive;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1;
    transform: rotate(-6deg) translateY(-16px);
    margin-inline-start: 4px;
    pointer-events: none;
}
.lp2-note svg { transform: scaleX(1); margin-top: 14px; }
body.rtl .lp2-note { font-family: 'Cairo', sans-serif; font-size: 1.05rem; transform: rotate(6deg) translateY(-16px); }
body.rtl .lp2-note svg { transform: scaleX(-1); }

.lp2-ticks {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
}
.lp2-ticks li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .92rem;
    font-weight: 600;
    color: var(--l2-muted);
}
.lp2-ticks i { color: var(--l2-mint); font-size: 1rem; }

/* ── Product preview ── */
.lp2-hero-visual {
    position: relative;
    padding: 26px 10px 34px;
    animation: l2Rise .8s .1s cubic-bezier(.23, 1, .32, 1) both;
}
.lp2-hero-visual::before {
    content: "";
    position: absolute;
    inset: 4% 0 2% 6%;
    border-radius: 36px;
    background: linear-gradient(135deg, #ffe6b3, #ffd0d0 45%, #d9d4ff);
    transform: rotate(3deg);
    opacity: .75;
}
body.rtl .lp2-hero-visual::before { inset: 4% 6% 2% 0; transform: rotate(-3deg); }

.lp2-window {
    position: relative;
    background: var(--l2-surface);
    border-radius: 20px;
    border: 1px solid rgba(27, 31, 59, .07);
    box-shadow: 0 30px 60px -24px rgba(27, 31, 59, .35), 0 2px 6px rgba(27, 31, 59, .05);
    overflow: hidden;
    direction: ltr; /* maths board reads left-to-right in both languages */
}
.lp2-win-bar {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 12px 16px;
    border-bottom: 1px solid #f0ece4;
    background: #fcfbf8;
    font-size: .84rem;
}
.lp2-dot { width: 11px; height: 11px; border-radius: 50%; }
.lp2-dot.r { background: #ff6b6b; } .lp2-dot.y { background: #ffc145; } .lp2-dot.g { background: #3ccf91; }
.lp2-win-bar b { margin-left: 10px; color: var(--l2-ink); font-weight: 700; }
.lp2-live {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-style: normal;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    color: #e03131;
    background: #fff0f0;
    padding: 4px 9px;
    border-radius: 999px;
}
.lp2-live i { width: 7px; height: 7px; border-radius: 50%; background: #e03131; animation: l2Pulse 1.6s ease-in-out infinite; }

.lp2-win-body {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    min-height: 270px;
}
.lp2-board {
    position: relative;
    padding: 26px 18px 18px;
    background:
        linear-gradient(#f3f1ec 1px, transparent 1px) 0 0 / 22px 22px,
        linear-gradient(90deg, #f3f1ec 1px, transparent 1px) 0 0 / 22px 22px,
        #fff;
    border-right: 1px solid #f0ece4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}
.lp2-board-q {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--l2-ink);
}
.lp2-board-q, .lp2-quiz, .lp2-joined .av, .lp2-timer { font-family: 'Outfit', sans-serif; }
.lp2-frac { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.05; }
.lp2-frac i { font-style: normal; padding: 0 4px; }
.lp2-frac i:first-child { border-bottom: 3px solid currentColor; }
.lp2-op { color: var(--l2-faint); font-weight: 600; font-size: 1.4rem; }
.lp2-ans { color: #0b8a63; animation: l2Pop .5s 1.4s cubic-bezier(.34, 1.56, .64, 1) both; }
.lp2-pies { display: flex; align-items: center; gap: 8px; }
.lp2-pies svg { width: 54px; height: 54px; }
.pie-bg { fill: #f4f1ea; stroke: #ddd6c8; stroke-width: 2; }
.pie-a { fill: #8b7cf8; } .pie-b { fill: #ffb020; } .pie-c { fill: #3ccf91; }
.lp2-ink { display: block; width: 62%; height: 16px; margin: -14px 0 -6px; color: rgba(255, 107, 107, .6); }
.lp2-ink path { stroke-dasharray: 240; stroke-dashoffset: 240; animation: l2Ink 1.2s .9s ease forwards; }

.lp2-quiz { padding: 16px; display: flex; flex-direction: column; gap: 9px; background: #fcfbff; }
.lp2-quiz-h {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .8rem;
    font-weight: 800;
    color: var(--l2-primary);
    margin-bottom: 2px;
}
.lp2-quiz-h .fa-bolt { color: var(--l2-sun); }
.lp2-timer { font-variant-numeric: tabular-nums; color: var(--l2-muted); background: #f1effa; padding: 2px 8px; border-radius: 999px; }
.lp2-opt {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 11px;
    background: #fff;
    border: 1px solid #ebe8f5;
    font-size: .82rem;
    font-weight: 700;
    color: var(--l2-ink);
    overflow: hidden;
}
.lp2-opt b {
    position: relative; z-index: 1;
    width: 20px; height: 20px; border-radius: 6px;
    display: grid; place-items: center;
    background: #f1effa; color: var(--l2-primary); font-size: .7rem;
}
.lp2-opt span { position: relative; z-index: 1; }
.lp2-opt em { position: relative; z-index: 1; margin-left: auto; font-style: normal; color: var(--l2-muted); font-size: .74rem; }
.lp2-opt > i {
    position: absolute; inset: 0 auto 0 0;
    width: var(--w);
    background: rgba(91, 76, 240, .08);
    animation: l2Bar 1.1s .6s cubic-bezier(.23, 1, .32, 1) both;
    transform-origin: left;
}
.lp2-opt.ok { border-color: rgba(18, 184, 134, .45); }
.lp2-opt.ok > i { background: rgba(18, 184, 134, .16); }
.lp2-opt.ok b { background: var(--l2-mint); color: #fff; }
.lp2-opt.ok em { color: #0b8a63; font-weight: 800; }

.lp2-joined { display: flex; align-items: center; margin-top: 4px; }
.lp2-joined .av {
    width: 24px; height: 24px; border-radius: 50%;
    display: grid; place-items: center;
    font-size: .66rem; font-weight: 800; color: #fff;
    border: 2px solid #fff;
    margin-right: -7px;
}
.av.a1 { background: #ff8a65; } .av.a2 { background: #5b9cff; } .av.a3 { background: #3ccf91; } .av.a4 { background: #b07cff; }
.lp2-joined small { margin-left: 14px; font-size: .74rem; font-weight: 700; color: var(--l2-muted); }

/* floating chips around the window */
.lp2-float {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border-radius: 16px;
    padding: 10px 14px;
    box-shadow: 0 18px 40px -16px rgba(27, 31, 59, .35);
    border: 1px solid rgba(27, 31, 59, .06);
    font-size: .84rem;
    color: var(--l2-ink);
    z-index: 2;
}
.lp2-float b { display: block; font-weight: 800; }
.lp2-float small { display: block; color: var(--l2-muted); font-size: .74rem; font-weight: 600; }
.lp2-float-ico { font-size: 1.5rem; line-height: 1; }
.lp2-float.f1 { bottom: 0; left: -22px; animation: l2Pop .6s 1.8s cubic-bezier(.34, 1.56, .64, 1) both, l2Bob 5s 2.4s ease-in-out infinite; }
.lp2-float.f2 { top: 4px; right: -6px; background: var(--l2-sun); color: #4a2c00; font-weight: 800; border: none; animation: l2Pop .5s 2.2s cubic-bezier(.34, 1.56, .64, 1) both, l2Bob 6s 2.8s ease-in-out infinite; }
.lp2-float.f2 i { color: #fff; }
.lp2-float.f3 { bottom: 4px; right: -18px; font-weight: 700; color: var(--l2-primary); animation: l2Pop .5s 1s cubic-bezier(.34, 1.56, .64, 1) both, l2Bob 7s 1.6s ease-in-out infinite; }
body.rtl .lp2-float.f1 { left: auto; right: -22px; }
body.rtl .lp2-float.f2 { right: auto; left: -6px; }
body.rtl .lp2-float.f3 { right: auto; left: -18px; }

/* ── Entry cards ── */
#landing-page .lp2-hero .lp-hero-center { margin-top: 56px; }
.lp2-entry-label {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--l2-faint);
    margin-bottom: 14px;
}
body.rtl .lp2-entry-label { letter-spacing: 0; font-size: .9rem; }
#landing-page .lp-entry-row { max-width: 760px; margin-bottom: 0; }
#landing-page .lp-entry-card {
    background: var(--l2-surface) !important;
    border: 1.5px solid var(--l2-line) !important;
    border-radius: 20px !important;
    box-shadow: var(--l2-card-shadow) !important;
    padding: 20px 22px;
    transition: transform .25s cubic-bezier(.23, 1, .32, 1), box-shadow .25s, border-color .25s !important;
}
#landing-page .lp-entry-card:hover { transform: translateY(-4px) !important; box-shadow: 0 24px 44px -18px rgba(27, 31, 59, .28) !important; }
#landing-page .lp-entry-card.lp-teacher-card:hover { border-color: var(--l2-primary) !important; }
#landing-page .lp-entry-card.lp-student-card:hover { border-color: var(--l2-mint) !important; }
#landing-page .lp-entry-icon.teacher { background: linear-gradient(135deg, #ece9ff, #ddd7ff); color: var(--l2-primary); }
#landing-page .lp-entry-icon.student { background: linear-gradient(135deg, #dcf7ec, #c7f0df); color: #0b8a63; }
#landing-page .lp-entry-info strong { color: var(--l2-ink) !important; font-family: var(--l2-font) !important; }
body.rtl #landing-page .lp-entry-card { text-align: right; }

/* ================================================================
   TRUST STRIP
   ================================================================ */
.lp2-strip { padding: 34px 0 10px; }
.lp2-strip-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
.lp2-strip-row > span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .75);
    border: 1px solid var(--l2-line);
    font-size: .88rem;
    font-weight: 700;
    color: var(--l2-muted);
}
.lp2-strip-row i { color: var(--l2-primary); }
.lp2-strip-row > span:nth-child(2) i { color: var(--l2-mint); }
.lp2-strip-row > span:nth-child(3) i { color: var(--l2-sun); }
.lp2-strip-row > span:nth-child(4) i { color: var(--l2-sky); }
.lp2-strip-row > span:nth-child(5) i { color: var(--l2-coral); }

/* ================================================================
   SECTION HEADS
   ================================================================ */
#landing-page .lp-section-label {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(91, 76, 240, .08);
    color: var(--l2-primary);
    font-size: .76rem;
    letter-spacing: .1em;
    margin-bottom: 16px;
}
body.rtl #landing-page .lp-section-label { letter-spacing: 0; font-size: .86rem; }
#landing-page .lp-section-title { font-size: clamp(1.9rem, 3.6vw, 2.6rem) !important; letter-spacing: -0.03em !important; }
#landing-page .lp-title-accent {
    background: linear-gradient(135deg, var(--l2-primary), var(--l2-primary-2));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
#landing-page .lp-squiggle.small { display: none; }
#landing-page .lp-section-sub { color: var(--l2-muted); }

/* ================================================================
   HOW IT WORKS
   ================================================================ */
.lp2-steps { padding: 80px 0 30px; scroll-margin-top: 110px; }
.lp2-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    position: relative;
}
/* dashed path linking the three steps */
.lp2-steps-grid::before {
    content: "";
    position: absolute;
    top: 46px;
    left: 16%; right: 16%;
    border-top: 2px dashed #d9d3c5;
    z-index: 0;
}
.lp2-step {
    position: relative;
    z-index: 1;
    background: var(--l2-surface);
    border: 1px solid var(--l2-line);
    border-radius: 22px;
    padding: 28px 26px 26px;
    box-shadow: var(--l2-card-shadow);
    text-align: center;
    transition: transform .25s cubic-bezier(.23, 1, .32, 1), box-shadow .25s;
}
.lp2-step:hover { transform: translateY(-5px); box-shadow: 0 26px 48px -20px rgba(27, 31, 59, .26); }
.lp2-step-num {
    position: absolute;
    top: 14px;
    inset-inline-start: 16px;
    font-size: .78rem;
    font-weight: 800;
    color: var(--l2-faint);
}
.lp2-step-ico {
    width: 62px; height: 62px;
    margin: 0 auto 18px;
    border-radius: 20px;
    display: grid; place-items: center;
    font-size: 1.5rem;
    color: #fff;
}
.lp2-step.s1 .lp2-step-ico { background: linear-gradient(135deg, #7c6cff, #5b4cf0); box-shadow: 0 12px 24px -10px rgba(91, 76, 240, .6); }
.lp2-step.s2 .lp2-step-ico { background: linear-gradient(135deg, #ffc145, #ff9a1f); box-shadow: 0 12px 24px -10px rgba(255, 154, 31, .6); }
.lp2-step.s3 .lp2-step-ico { background: linear-gradient(135deg, #3ccf91, #12a679); box-shadow: 0 12px 24px -10px rgba(18, 166, 121, .6); }
#landing-page .lp2-step h3 { font-size: 1.16rem; margin: 0 0 8px; }
.lp2-step p { margin: 0; color: var(--l2-muted); font-size: .94rem; line-height: 1.65; }

/* ================================================================
   FEATURES
   ================================================================ */
#landing-page .lp-features { padding: 80px 0; }
#landing-page .lp-feat-card {
    background: var(--l2-surface) !important;
    border: 1px solid var(--l2-line) !important;
    border-radius: 22px !important;
    box-shadow: var(--l2-card-shadow) !important;
    padding: 28px 26px;
    transition: transform .25s cubic-bezier(.23, 1, .32, 1), box-shadow .25s, border-color .25s !important;
}
#landing-page .lp-feat-card:hover { transform: translateY(-5px) !important; box-shadow: 0 26px 48px -20px rgba(27, 31, 59, .26) !important; }
#landing-page .lp-feat-card h3 { font-size: 1.08rem; color: var(--l2-ink) !important; }
#landing-page .lp-feat-card p { color: var(--l2-muted); }
#landing-page .lp-feat-icon { width: 52px; height: 52px; border-radius: 16px; color: #fff !important; box-shadow: none; font-size: 1.25rem; }
#landing-page .tint-indigo  .lp-feat-icon { background: linear-gradient(135deg, #7c6cff, #5b4cf0); }
#landing-page .tint-amber   .lp-feat-icon { background: linear-gradient(135deg, #ffc145, #ff9a1f); }
#landing-page .tint-emerald .lp-feat-icon { background: linear-gradient(135deg, #3ccf91, #12a679); }
#landing-page .tint-rose    .lp-feat-icon { background: linear-gradient(135deg, #ff8a8a, #f0506e); }
#landing-page .tint-violet  .lp-feat-icon { background: linear-gradient(135deg, #c084fc, #8b5cf6); }
#landing-page .tint-sky     .lp-feat-icon { background: linear-gradient(135deg, #6cb8ff, #2f86f0); }
#landing-page .tint-indigo:hover  { border-color: rgba(91, 76, 240, .4) !important; }
#landing-page .tint-amber:hover   { border-color: rgba(255, 154, 31, .45) !important; }
#landing-page .tint-emerald:hover { border-color: rgba(18, 166, 121, .4) !important; }
#landing-page .tint-rose:hover    { border-color: rgba(240, 80, 110, .4) !important; }
#landing-page .tint-violet:hover  { border-color: rgba(139, 92, 246, .4) !important; }
#landing-page .tint-sky:hover     { border-color: rgba(47, 134, 240, .4) !important; }

/* ================================================================
   ABOUT
   ================================================================ */
#landing-page .lp-about {
    background: linear-gradient(180deg, #fff, #fffdf8) !important;
    border-color: var(--l2-line);
}
#landing-page .lp-about-photo {
    background: linear-gradient(135deg, #ffe6b3, #d9d4ff);
    border: none;
    border-radius: 30px;
    transform: rotate(-2deg);
    box-shadow: 0 30px 60px -28px rgba(27, 31, 59, .4);
}
body.rtl #landing-page .lp-about-photo { transform: rotate(2deg); }
#landing-page .lp-about-photo .lp-avatar-img { border-radius: 22px; }
#landing-page .lp-badge { border-radius: 14px; }
#landing-page .lp-about-desc { color: var(--l2-muted); }
#landing-page .lp-fact { color: var(--l2-ink); font-weight: 600; }
#landing-page .lp-fact i { background: rgba(91, 76, 240, .09); color: var(--l2-primary); }
#landing-page .lp-fact:nth-child(2) i { background: rgba(18, 184, 134, .1); color: #0b8a63; }
#landing-page .lp-fact:nth-child(3) i { background: rgba(255, 107, 107, .12); color: #e03e5a; }

/* contact me (About section) */
#landing-page .lp2-contact { justify-content: flex-start; margin: 28px 0 0; }
#landing-page .lp2-contact .lp-hero-contact {
    font-size: .95rem;
    padding: 12px 20px;
    border-radius: 14px;
    color: var(--l2-ink);
    border: 1.5px solid var(--l2-line);
    box-shadow: 0 6px 18px -10px rgba(27, 31, 59, .25);
}
#landing-page .lp2-contact .lp-hero-contact i { color: var(--l2-primary); font-size: .95rem; }
#landing-page .lp2-contact .lp-hero-contact:hover { border-color: var(--l2-primary); color: var(--l2-primary); }
#landing-page .lp2-contact .lp-hero-copy { width: 46px; height: 46px; border-radius: 14px; border-width: 1.5px; }

/* ================================================================
   BOTTOM CTA
   ================================================================ */
#landing-page .lp-cta-panel {
    background: linear-gradient(120deg, #4a3be0 0%, #7b4ff0 55%, #b45cf0 100%) !important;
    border-radius: 30px;
    box-shadow: 0 30px 70px -30px rgba(91, 76, 240, .7);
}
#landing-page .lp-cta-panel::before {
    width: 100%; height: 100%;
    top: 0; right: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 8% 20%, rgba(255, 193, 69, .9) 0 4px, transparent 5px),
        radial-gradient(circle at 18% 78%, rgba(255, 255, 255, .7) 0 3px, transparent 4px),
        radial-gradient(circle at 38% 12%, rgba(60, 207, 145, .9) 0 3px, transparent 4px),
        radial-gradient(circle at 62% 88%, rgba(255, 138, 138, .9) 0 4px, transparent 5px),
        radial-gradient(circle at 78% 18%, rgba(255, 255, 255, .6) 0 3px, transparent 4px),
        radial-gradient(circle at 92% 70%, rgba(255, 193, 69, .9) 0 3px, transparent 4px),
        radial-gradient(600px 300px at 100% 0%, rgba(255, 255, 255, .16), transparent 70%);
}
#landing-page .lp-cta-title { color: #fff !important; font-size: 1.9rem; max-width: 560px; line-height: 1.2; }
#landing-page .lp-cta-sub { color: rgba(255, 255, 255, .82); font-size: 1rem; max-width: 520px; line-height: 1.6; }
#landing-page .lp-btn-light { border-radius: 14px; color: #4334d6; font-weight: 800; }
#landing-page .lp-btn-outline-light { border-radius: 14px !important; border: 1.5px solid rgba(255, 255, 255, .5) !important; box-shadow: none !important; }

/* Footer */
#landing-page .lp-footer-name { color: var(--l2-ink) !important; }
#landing-page .lp-footer-domain a { color: var(--l2-primary); letter-spacing: 0; }

/* ================================================================
   STUDENT PANEL
   ================================================================ */
.student-entry-overlay .student-panel-content { border-radius: 26px; }
.student-entry-overlay .student-panel-content h3 { font-family: 'Outfit', sans-serif !important; color: #1b1f3b !important; font-weight: 800 !important; }
body.rtl .student-entry-overlay .student-panel-content h3 { font-family: 'Cairo', sans-serif !important; }
.student-entry-overlay .landing-btn.primary { border-radius: 14px !important; }

/* ================================================================
   ARABIC
   ================================================================ */
body.rtl #landing-page { font-family: 'Cairo', 'Tajawal', var(--l2-font) !important; }
body.rtl #landing-page :is(h1, h2, h3, h4, .lp-hero-title, .lp-section-title, .lp-cta-title, .logo-name, .header-nav a, .lp-announce, .lp-entry-info strong) {
    font-family: 'Cairo', 'Tajawal', var(--l2-font) !important;
    letter-spacing: 0 !important;
}
body.rtl #landing-page .lp-hero-title { line-height: 1.3 !important; }
body.rtl #landing-page .lp-mark.emerald { white-space: normal; }
body.rtl #landing-page .lp2-hero .lp-hero-cta { justify-content: flex-start; }
body.rtl #landing-page .lp2-contact { justify-content: flex-start; }

/* ================================================================
   MOTION
   ================================================================ */
@keyframes l2Bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
@keyframes l2Pop { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: scale(1); } }
@keyframes l2Rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes l2Bar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes l2Ink { to { stroke-dashoffset: 0; } }
@keyframes l2Draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes l2Pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

@media (prefers-reduced-motion: reduce) {
    #landing-page *, #landing-page *::before, #landing-page *::after {
        animation: none !important;
        transition: none !important;
    }
    .lp2-ink path { stroke-dashoffset: 0; }
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1024px) {
    .lp2-hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .lp2-hero-copy { text-align: center; display: flex; flex-direction: column; align-items: center; }
    #landing-page .lp-hero-desc { margin-left: auto; margin-right: auto; }
    #landing-page .lp2-hero .lp-hero-cta,
    body.rtl #landing-page .lp2-hero .lp-hero-cta { justify-content: center; }
    .lp2-ticks { justify-content: center; }
    .lp2-hero-visual { max-width: 600px; width: 100%; margin: 0 auto; }
    #landing-page .lp2-contact,
    body.rtl #landing-page .lp2-contact { justify-content: center; }
    .lp2-steps-grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
    .lp2-steps-grid::before { display: none; }
}

@media (max-width: 600px) {
    #landing-page .lp2-hero { padding: 36px 0 24px; }
    #landing-page .lp-hero-title { font-size: 2.3rem !important; }
    #landing-page .lp-hero-desc { font-size: 1.02rem; }
    .lp2-note { display: none; }
    .lp2-hero-visual { padding: 14px 0 26px; }
    .lp2-hero-visual::before { inset: 2% 2% 0 2%; }
    .lp2-win-body { grid-template-columns: 1fr; min-height: 0; }
    .lp2-board { border-right: none; border-bottom: 1px solid #f0ece4; padding: 20px 14px 18px; }
    .lp2-board-q { font-size: 1.4rem; }
    .lp2-pies svg { width: 42px; height: 42px; }
    .lp2-float.f1 { left: 8px; bottom: 2px; }
    .lp2-float.f2 { right: 8px; top: -4px; }
    .lp2-float.f3 { display: none; }
    body.rtl .lp2-float.f1 { left: auto; right: 8px; }
    body.rtl .lp2-float.f2 { right: auto; left: 8px; }
    #landing-page .lp2-hero .lp-hero-center { margin-top: 40px; }
    .lp2-strip-row > span { font-size: .8rem; padding: 8px 12px; }
    .lp2-steps { padding: 56px 0 20px; }
    #landing-page .lp-cta-title { font-size: 1.5rem; }
    #landing-page .lp2-contact .lp-hero-contact { font-size: .82rem; padding: 10px 14px; }
}

/* Arabic: About columns swap order, so swap their widths too (text stays the wide column) */
@media (min-width: 1025px) {
    body.rtl #landing-page .lp-about-inner { grid-template-columns: 1.6fr 1fr; }
}
