/*
 * Ravan Academy visual refinement layer.
 * Memorable element: calm organic portrait frames repeated as a brand motif.
 */
:root {
    --bg: #fbfaf7;
    --bg-alt: #f5f3ed;
    --surface: #ffffff;
    --ink: #20251f;
    --muted: #62685f;
    --sage: #65785a;
    --sage-dark: #40523b;
    --sage-light: #edf2e9;
    --sage-banner: #dfe8d9;
    --line: #e7e4dc;
    --radius: 18px;
    --radius-sm: 11px;
    --shadow: 0 10px 28px rgba(49, 60, 43, 0.055);
    --shadow-lg: 0 24px 60px rgba(49, 60, 43, 0.1);
    --container: 1160px;
}
body.ravan-body {
    background: radial-gradient(circle at 15% 9%, rgba(223, 232, 217, 0.22), transparent 22rem), var(--bg);
    color: var(--ink);
    line-height: 1.9;
}
.site-topbar,
.home-workshops { display: none; }
.site-header {
    background: rgba(251, 250, 247, 0.94);
    border-bottom-color: rgba(231, 228, 220, 0.82);
    box-shadow: 0 4px 18px rgba(45, 55, 40, 0.025);
}
.header-inner { min-height: 78px; }
.brand-text strong { color: var(--ink); font-size: 1rem; font-weight: 750; }
.nav-list { gap: 1.8rem; }
.nav-list a { color: #464c44; font-size: 0.9rem; font-weight: 500; }
.nav-list .current-menu-item a, .nav-list a:hover { color: var(--sage-dark); }
.btn {
    min-height: 44px;
    border-radius: 10px;
    font-weight: 650;
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(0.985); }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, summary:focus-visible, textarea:focus-visible {
    outline: 3px solid rgba(101, 120, 90, 0.35);
    outline-offset: 3px;
}
.btn-primary { background: var(--sage-dark); box-shadow: 0 8px 18px rgba(64, 82, 59, 0.16); }
.btn-outline { background: rgba(255, 255, 255, 0.72); }
.section { padding-block: clamp(4rem, 7vw, 6.25rem); }
.section-head { margin-bottom: 2.1rem; }
.section-head h2, .home-testimonials-title, .home-faq h2 {
    color: var(--ink);
    font-size: clamp(1.45rem, 2.7vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.025em;
}
.section-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: var(--sage-dark);
    font-weight: 700;
}

/* Homepage */
.home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(3.3rem, 6vw, 5.4rem) 0 2.6rem;
}
.home-hero::before {
    position: absolute;
    z-index: -1;
    width: 36rem;
    height: 28rem;
    border-radius: 45% 55% 54% 46% / 58% 41% 59% 42%;
    background: rgba(237, 242, 233, 0.72);
    content: "";
    inset: 1.5rem auto auto -16rem;
    transform: rotate(-12deg);
}
.home-hero-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(380px, 0.98fr);
    gap: clamp(3rem, 7vw, 6.8rem);
}
.hero-kicker-pill {
    border: 1px solid rgba(101, 120, 90, 0.13);
    background: rgba(237, 242, 233, 0.88);
    font-weight: 650;
}
.home-hero-title {
    max-width: 13ch;
    margin-bottom: 1rem;
    font-size: clamp(2.25rem, 4.4vw, 3.65rem);
    line-height: 1.46;
    letter-spacing: -0.045em;
}
.home-hero-lead { max-width: 36rem; color: #575e55; font-size: 1.03rem; }
.home-hero-actions { margin-bottom: 1.7rem; }
.home-hero-actions .btn { min-width: 154px; }
.home-hero-features { gap: 1.6rem; padding-top: 1.15rem; }
.home-hero-features li { color: #5d645a; font-size: 0.82rem; }
.home-hero-blob {
    position: relative;
    max-width: 500px;
    border: 10px solid rgba(255, 255, 255, 0.85);
    border-radius: 47% 19% 35% 22% / 43% 25% 35% 21%;
    box-shadow: 0 30px 70px rgba(47, 58, 42, 0.15);
    transform: rotate(-1.5deg);
}
.home-hero-blob::after {
    position: absolute;
    width: 8.5rem;
    height: 8.5rem;
    border: 1px solid rgba(101, 120, 90, 0.2);
    border-radius: 50%;
    content: "";
    inset: auto -2.3rem -2.2rem auto;
}
.home-hero-blob .hero-img {
    aspect-ratio: 0.93;
    object-position: center 20%;
    transform: rotate(1.5deg) scale(1.025);
}
.home-stats { padding: 0 0 3.6rem; }
.home-stats-grid {
    position: relative;
    z-index: 2;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow);
}
.home-stat {
    border: 0;
    border-inline-start: 1px solid var(--line);
    border-radius: 0;
    box-shadow: none;
    padding: 1.4rem 1.25rem;
}
.home-stat:first-child { border-inline-start: 0; }
.home-stat-icon { width: 48px; height: 48px; border: 0; background: var(--sage-light); }
.home-about { padding-top: 4.2rem; }
.home-about-grid {
    grid-template-columns: minmax(270px, 0.85fr) minmax(320px, 1.15fr) minmax(250px, 0.75fr);
    gap: clamp(2rem, 4vw, 4rem);
}
.home-about-photo { max-width: 350px; transform: translateY(-0.5rem); }
.home-about-copy { text-align: right; }
.home-about-copy h2 { font-size: clamp(1.55rem, 2.8vw, 2rem); letter-spacing: -0.025em; }
.home-about-copy > p { color: #565d54; font-size: 0.94rem; }
.home-pillar {
    border-color: transparent;
    background: linear-gradient(120deg, #f5f6f1, #faf9f6);
    box-shadow: none;
}
.home-courses { background: #fff; }
.home-courses-grid { gap: 1.35rem; }
.course-card.course-card--home {
    border-color: #e8e5dd;
    box-shadow: 0 8px 24px rgba(48, 58, 43, 0.065);
}
.course-card--home .course-card-thumb { margin: 0; border-radius: 0; }
.course-card--home .course-card-thumb img { height: 205px; border-radius: 0; }
.course-card--home .course-card-body { padding: 1.15rem 1.2rem 1.25rem; }
.course-card--home .course-card-meta { padding-top: 0.9rem; }
.course-card--home .course-badge {
    top: 0.8rem;
    right: 0.8rem;
    background: rgba(64, 82, 59, 0.92);
}
.home-topics { background: var(--bg); }
.home-topics-grid { gap: 0.8rem; }
.home-topic {
    min-height: 126px;
    border-color: #ebe8e0;
    box-shadow: none;
}
.home-topic:hover { box-shadow: var(--shadow); }
.home-topic-icon { width: 52px; height: 52px; }
.home-why { padding-top: 2rem; }
.home-why-grid { gap: 1rem; }
.home-why-card {
    min-height: 142px;
    border-color: transparent;
    background: linear-gradient(120deg, #f4f3ee, #fbfaf7);
    box-shadow: none;
}
.home-testimonials { background: #f6f4ef; }
.home-testimonial { border-color: #e8e4dc; box-shadow: none; }
.home-testimonial:hover { box-shadow: var(--shadow); }
.home-telegram-wrap { padding: 3.5rem 0 1rem; }
.home-telegram {
    background: radial-gradient(circle at 12% 100%, rgba(255,255,255,.5), transparent 15rem), linear-gradient(110deg, #d6e1d0, #edf1e9);
}
.home-telegram-plane { order: -1; }
.home-articles { background: #fff; }
.home-article-card { border: 1px solid #e8e5dd; box-shadow: none; }
.home-article-card:hover { box-shadow: var(--shadow); }
.home-newsletter { border: 0; background: transparent; }
.home-newsletter-inner {
    padding: 1.5rem 1.8rem;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(110deg, #f5f4ef, #fff);
}
.home-faq-item {
    box-shadow: none;
    transition: border-color 180ms ease, background 180ms ease;
}
.home-faq-item[open] { border-color: rgba(101, 120, 90, 0.38); background: #fff; }

@media (max-width: 1024px) {
    .home-hero-grid { grid-template-columns: 1fr; }
    .home-hero-copy { text-align: center; }
    .home-hero-title, .home-hero-lead { margin-inline: auto; }
    .home-hero-actions, .home-hero-features { justify-content: center; }
    .home-about-grid { grid-template-columns: 1fr; }
    .home-about-copy { text-align: center; }
    .home-about-pillars { width: min(100%, 620px); margin-inline: auto; }
}
@media (max-width: 768px) {
    .header-inner { min-height: 68px; }
    .site-nav { inset-block-start: 68px; }
    .home-hero { padding-top: 2.2rem; }
    .home-hero-grid { gap: 2rem; }
    .home-hero-title { font-size: clamp(2rem, 9vw, 2.75rem); }
    .home-hero-blob { max-width: 370px; }
    .home-stats-grid { grid-template-columns: 1fr; }
    .home-stat, .home-stat:first-child {
        border-inline-start: 0;
        border-top: 1px solid var(--line);
    }
    .home-stat:first-child { border-top: 0; }
    .home-telegram { align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* About */
.about-hero { padding: 2rem 0 4.8rem; }
.about-hero-grid {
    grid-template-columns: minmax(380px, .92fr) minmax(0, 1.08fr);
    grid-template-areas: "media copy";
    gap: clamp(3rem, 7vw, 7rem);
    align-items: center;
}
.about-hero-media { grid-area: media; }
.about-hero-copy { grid-area: copy; }
.about-hero-photo {
    max-width: 450px;
    padding: 0;
    border: 10px solid #fff;
    border-radius: 47% 20% 36% 22% / 44% 23% 35% 21%;
    background: var(--sage-light);
    box-shadow: var(--shadow-lg);
}
.about-hero-photo .about-img {
    aspect-ratio: .95;
    border-radius: inherit;
    object-position: center 18%;
}
.about-hero-copy .section-kicker {
    display: inline-flex;
    padding: .35rem .85rem;
    border-radius: 999px;
    background: var(--sage-light);
}
.about-hero-copy h1 {
    max-width: 18ch;
    margin: 1rem 0 1.1rem;
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: 1.5;
    letter-spacing: -.04em;
}
.about-intro-text { color: #555c52; }
.about-credentials { gap: .65rem; margin-top: 1.5rem; }
.about-credentials li {
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    padding: .55rem .8rem;
}
.about-philosophy { padding: 0 0 4.5rem; background: transparent; }
.about-philosophy-card {
    border: 1px solid var(--line);
    border-radius: 24px;
    background: linear-gradient(120deg, #f3f3ed, #fbfaf7);
    box-shadow: none;
}
.about-philosophy-head { text-align: center; }
.about-philosophy-head h2 { font-weight: 800; }
.about-pillar-card { border-inline-start: 1px solid var(--line); }
.about-pillar-card:last-child { border-inline-start: 0; }
.about-specialty-card {
    border-color: #e9e6de;
    background: #fff;
    box-shadow: none;
}
.about-specialty-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.about-stats {
    margin-inline: auto;
    width: min(var(--container), calc(100% - 2rem));
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(100deg, #f4f3ee, #fbfaf7);
}
.about-stat { border-inline-start: 1px solid var(--line); }
.about-stat:first-child { border-inline-start: 0; }
.about-timeline {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    max-width: 960px;
}
.about-timeline-item {
    grid-template-columns: 84px 1fr;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    padding: 1.1rem;
}
.about-timeline-item::before, .about-timeline-item::after { display: none; }
.about-timeline-year {
    align-self: start;
    border-radius: 999px;
    background: var(--sage-light);
    color: var(--sage-dark);
    padding: .3rem .6rem;
    text-align: center;
}
.about-cta {
    margin: 0 auto 4rem;
    width: min(var(--container), calc(100% - 2rem));
    border-radius: 22px;
    background: linear-gradient(115deg, #40523b, #728269);
    overflow: hidden;
}

/* Course archive */
.courses-hero {
    margin: 1.5rem auto 0;
    width: min(var(--container), calc(100% - 2rem));
    min-height: 250px;
    border-radius: 24px;
    background:
        linear-gradient(90deg, rgba(249,248,244,.98), rgba(249,248,244,.74)),
        url("img-course3.png") center 58% / cover;
}
.courses-hero::after {
    position: absolute;
    width: 15rem;
    height: 15rem;
    border: 1px solid rgba(101,120,90,.18);
    border-radius: 50%;
    content: "";
    inset: -7rem auto auto -5rem;
}
.courses-hero-content { max-width: 630px; padding-top: 2rem; }
.courses-hero-content h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 850; }
.courses-toolbar {
    padding: 2rem 0 0;
    background: transparent;
}
.courses-toolbar-row {
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
}
.courses-search-wrap {
    border: 0;
    background: #f7f6f2;
}
.courses-sort select { min-height: 44px; }
.courses-filters { justify-content: center; padding-top: .35rem; }
.courses-filter-pill { min-height: 42px; display: inline-flex; align-items: center; }
.courses-grid-section { padding-top: 2rem; }
.courses-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.15rem; }
.course-card.course-card--archive {
    border-color: #e8e5dd;
    box-shadow: 0 8px 22px rgba(48,58,43,.055);
}
.course-card--archive .course-card-thumb { margin: 0; border-radius: 0; }
.course-card--archive .course-card-thumb img { height: 165px; border-radius: 0; }
.course-card--archive .course-card-body { padding: 1rem; }
.course-card--archive .course-card-excerpt { min-height: 3.2em; }
.course-card--archive .course-card-actions { display: grid; grid-template-columns: 1fr 1fr; }
.course-card--archive .course-card-meta { gap: .55rem; }
.courses-workshops {
    margin: 2rem auto;
    width: min(var(--container), calc(100% - 2rem));
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
}
.courses-workshops .container { width: 100%; }
.courses-workshop-disclosure > summary {
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-weight: 750;
    list-style: none;
}
.courses-workshop-disclosure > summary::-webkit-details-marker { display: none; }
.courses-workshop-disclosure > summary::after { content: "نمایش فهرست"; color: var(--sage-dark); font-size: .84rem; }
.courses-workshop-disclosure[open] > summary::after { content: "بستن فهرست"; }
.courses-benefits {
    margin: 3rem auto;
    width: min(var(--container), calc(100% - 2rem));
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(110deg, #f5f4ef, #fff);
}
.courses-benefits-grid article { border-inline-start: 1px solid var(--line); }
.courses-benefits-grid article:first-child { border-inline-start: 0; }
.courses-newsletter { border-color: var(--line); box-shadow: none; }

/* Single course */
.course-detail-hero { padding-top: 1.5rem; background: transparent; }
.course-detail-grid {
    align-items: start;
    gap: clamp(2rem, 5vw, 5rem);
    padding: 1.5rem;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow);
}
.course-detail-info h1 {
    font-size: clamp(2rem, 4vw, 3.15rem);
    font-weight: 850;
    letter-spacing: -.045em;
}
.course-preview { border-radius: 18px; box-shadow: none; }
.course-preview-img { min-height: 360px; object-fit: cover; }
.course-detail-meta { border-block: 1px solid var(--line); padding-block: 1rem; }
.course-purchase-card {
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #f8f7f3;
    box-shadow: none;
}
.course-price-large { font-size: 1.65rem; }
.course-detail-features {
    margin: 2rem auto 0;
    width: min(var(--container), calc(100% - 2rem));
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
}
.course-detail-features-grid > div { border-inline-start: 1px solid var(--line); }
.course-detail-features-grid > div:first-child { border-inline-start: 0; }
.course-feature-icon, .course-benefit-icon {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sage-light);
    color: var(--sage-dark);
}
.course-detail-layout { gap: 1.5rem; align-items: start; }
.course-detail-main, .course-instructor-card, .course-sidebar-card {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: none;
}
.course-tabs { position: sticky; top: 78px; z-index: 2; background: #fff; }
.course-tab { min-height: 48px; }
.course-benefits-grid article { background: #f6f5f1; border-color: transparent; }
.course-learn-list li::before { background: var(--sage-dark); }
.course-detail-cta {
    margin: 0 auto 4rem;
    width: min(var(--container), calc(100% - 2rem));
    border-radius: 22px;
    background: linear-gradient(115deg, #dbe5d6, #f4f2ec);
}
.course-detail-cta h2, .course-detail-cta p { color: var(--ink); }
.course-detail-cta .btn-white { background: var(--sage-dark); color: #fff; }

/* Authentication */
.auth-page { padding: 2.5rem 0 5rem; background: transparent; }
.auth-shell {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow-lg);
}
.auth-aside {
    border: 0;
    background: linear-gradient(145deg, #f1efe7, #f8f7f2);
}
.auth-aside-visual { min-height: 210px; }
.auth-aside-photo {
    height: 100%;
    background:
        linear-gradient(180deg, transparent 40%, rgba(245,243,237,.92)),
        url("img-course3.png") center / cover;
}
.auth-welcome { color: var(--sage-dark); font-size: 1.85rem; font-weight: 850; }
.auth-benefits li { border-color: rgba(231,228,220,.9); background: rgba(255,255,255,.84); }
.auth-benefit-icon {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sage-light);
    color: var(--sage-dark);
}
.auth-main { padding: clamp(2rem, 5vw, 4rem); }
.auth-main-head h1 { font-size: clamp(1.8rem, 3vw, 2.35rem); font-weight: 850; }
.auth-tab { min-height: 52px; }
.auth-input-wrap { min-height: 54px; border-radius: 11px; }
.auth-info-box { border-color: var(--line); background: #f7f7f3; }
.auth-trust li { color: #50574d; }

/* Blog archive and article */
.blog-hero {
    margin: 1.5rem auto 0;
    width: min(var(--container), calc(100% - 2rem));
    min-height: 240px;
    border-radius: 24px;
    background:
        linear-gradient(90deg, rgba(249,248,244,.97), rgba(249,248,244,.72)),
        url("img-course3.png") center / cover;
}
.blog-hero-content h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 850; }
.blog-filter-pill[href*="uncategorized"],
.blog-sidebar a[href*="uncategorized"] { display: none; }
.blog-toolbar { background: transparent; padding-top: 1.5rem; }
.blog-toolbar .container {
    padding: .8rem;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
}
.blog-filter-pill { min-height: 42px; display: inline-flex; align-items: center; }
.blog-layout { gap: 1.5rem; align-items: start; }
.blog-card, .blog-sidebar-card, .blog-sidebar-cta {
    border-color: var(--line);
    box-shadow: none;
}
.blog-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.blog-sidebar { position: sticky; top: 96px; }
.article-hero { padding-top: 1.5rem; }
.article-layout { gap: 1.5rem; align-items: start; }
.article-main {
    padding: clamp(1.25rem, 3vw, 2.25rem);
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
}
.article-feature { overflow: hidden; border-radius: 16px; }
.article-feature img { width: 100%; max-height: 470px; object-fit: cover; }
.article-title {
    margin-block: 1rem 1.5rem;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 850;
    letter-spacing: -.04em;
}
.article-content { font-size: 1.02rem; color: #333a31; }
.article-content h2 { margin-top: 2.2rem; font-size: 1.45rem; }
.article-conclusion { border: 1px solid var(--line); background: #f5f5ef; }
.article-sidebar { position: sticky; top: 96px; }
.article-author-card .course-instructor-photo {
    width: 86px;
    height: 86px;
    margin-inline: auto;
    overflow: hidden;
    border-radius: 50%;
}

@media (max-width: 1024px) {
    .about-hero-grid { grid-template-columns: 1fr; grid-template-areas: "copy" "media"; text-align: center; }
    .about-hero-copy h1 { margin-inline: auto; }
    .about-credentials { justify-content: center; }
    .courses-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .course-detail-grid { padding: 1.1rem; }
    .blog-sidebar, .article-sidebar { position: static; }
}
@media (max-width: 768px) {
    .about-timeline { grid-template-columns: 1fr; }
    .about-stats { width: min(100% - 1rem, var(--container)); }
    .about-stat { border-inline-start: 0; border-top: 1px solid var(--line); }
    .about-stat:first-child { border-top: 0; }
    .courses-hero, .blog-hero { min-height: 210px; width: calc(100% - 1rem); }
    .courses-grid { grid-template-columns: 1fr; }
    .courses-benefits-grid article { border-inline-start: 0; border-top: 1px solid var(--line); }
    .courses-benefits-grid article:first-child { border-top: 0; }
    .course-detail-features-grid > div { border-inline-start: 0; border-top: 1px solid var(--line); }
    .course-detail-features-grid > div:first-child { border-top: 0; }
    .course-tabs { top: 68px; overflow-x: auto; }
    .article-main { padding: 1rem; }
    .article-title { font-size: 2rem; }
}

/* Registration choice */
.dash-topbar, .success-topbar {
    border: 0;
    background: var(--sage-dark);
    color: #fff;
}
.dash-topbar a, .success-topbar a { color: #fff; }
.regchoice-page { background: transparent; }
.regchoice-head {
    max-width: 750px;
    margin-inline: auto;
    text-align: center;
}
.regchoice-head h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 850;
    letter-spacing: -.04em;
}
.regchoice-selected-course {
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
}
.regchoice-security {
    max-width: 760px;
    margin: 1.5rem auto 2rem;
    border: 1px solid rgba(101,120,90,.2);
    border-radius: 14px;
    background: var(--sage-light);
    color: var(--sage-dark);
}
.regchoice-grid {
    gap: 1.25rem;
    max-width: 1000px;
    margin-inline: auto;
}
.regchoice-card {
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--shadow);
}
.regchoice-card--iran { border-top: 4px solid var(--sage-dark); }
.regchoice-card--intl { border-top: 4px solid #4f7892; }
.regchoice-card-visual {
    display: flex;
    min-height: 125px;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    color: var(--sage-dark);
}
.regchoice-card-visual--iran { background: linear-gradient(120deg, #eef2ea, #f8f7f2); }
.regchoice-card-visual--intl { background: linear-gradient(120deg, #e9f1f4, #f8f7f2); color: #3c718e; }
.regchoice-features li { border-color: var(--line); }
.regchoice-features li > span { display: inline-flex; color: var(--sage-dark); }
.regchoice-step-num { background: var(--sage-light); color: var(--sage-dark); }
.regchoice-vs {
    width: 46px;
    height: 46px;
    border: 1px solid var(--line);
    background: var(--bg);
    color: var(--muted);
    font-size: .74rem;
}
.btn-intl { background: #40523b; color: #fff; }
.home-stars { color: #8a9a7a; }
.regchoice-support {
    margin-top: 3rem;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(110deg, #f3f4ee, #fff);
}

/* Completion */
.success-progress, .dash-progress {
    border-bottom: 1px solid var(--line);
    background: #fff;
}
.success-step-num {
    border-color: #cad3c5;
    background: #fff;
    color: var(--sage-dark);
}
.success-steps li.is-done .success-step-num,
.success-steps li.is-active .success-step-num {
    background: var(--sage-dark);
    color: #fff;
}
.success-steps li::after { background: #d9ded5; }
.success-hero { background: transparent; }
.success-card {
    max-width: 760px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow-lg);
}
.success-icon {
    display: flex;
    width: 74px;
    height: 74px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sage-light);
    color: var(--sage-dark);
}
.success-card h1 { font-weight: 850; letter-spacing: -.035em; }
.success-info-box {
    border-color: rgba(101,120,90,.2);
    border-radius: 14px;
    background: #f4f6f1;
}
.success-info-box strong { display: inline-flex; align-items: center; gap: .45rem; }
.success-next { background: #f5f3ee; }
.success-next-card {
    border-color: transparent;
    border-radius: 17px;
    background: #fff;
    box-shadow: none;
}
.success-next-card > span {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sage-light);
    color: var(--sage-dark);
}
.success-resources-inner {
    border: 1px solid var(--line);
    border-radius: 22px;
    background: linear-gradient(110deg, #f6f5f0, #fff);
}
.success-resources-visual { color: var(--sage-dark); }
.success-quote { background: var(--sage-dark); color: #fff; }
.success-quote-text { color: #fff; }

/* Account */
.dash-main { background: transparent; }
.dash-layout { gap: 1.5rem; align-items: start; }
.dash-welcome {
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(110deg, #f1f3ed, #fff);
    box-shadow: none;
}
.dash-welcome-visual {
    display: flex;
    width: 84px;
    height: 84px;
    align-items: center;
    justify-content: center;
    border-radius: 46% 54% 45% 55%;
    background: #dfe8d9;
    color: var(--sage-dark);
}
.dash-welcome-copy h1 { font-weight: 850; letter-spacing: -.03em; }
.dash-course-card {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: none;
}
.dash-course-thumb { overflow: hidden; border-radius: 13px; }
.dash-course-thumb img { width: 100%; height: 100%; object-fit: cover; }
.dash-progress-bar { background: #e7e9e3; }
.dash-progress-bar span { background: var(--sage-dark); }
.dash-badge.is-learning { background: var(--sage-light); color: var(--sage-dark); }
.dash-recent-list, .dash-profile-card, .dash-stats-card, .dash-side-box, .dash-newsletter {
    border: 1px solid var(--line);
    border-radius: 17px;
    background: #fff;
    box-shadow: none;
}
.dash-sidebar { position: sticky; top: 96px; }
.dash-avatar { background: var(--sage-dark); }
.dash-stats-grid li > span:first-child {
    display: inline-flex;
    color: var(--sage-dark);
}
.dash-trust { background: #f5f3ee; }
.dash-trust article {
    border-inline-start: 1px solid var(--line);
}
.dash-trust article:first-child { border-inline-start: 0; }
.dash-trust article > span {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: var(--sage-dark);
}

/* Learning environment */
.course-learn {
    background: #f3f2ed;
}
.learn-topbar {
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: #263125;
}
.learn-shell { gap: 1rem; }
.learn-sidebar, .learn-main-card, .learn-notes-card, .learn-qa-card {
    border: 1px solid var(--line);
    border-radius: 17px;
    background: #fff;
    box-shadow: none;
}
.learn-sidebar { position: sticky; top: 1rem; }
.learn-session.is-active { background: var(--sage-light); color: var(--sage-dark); }
.learn-player { background: #182018; border-radius: 14px; }
.learn-progress-bar span { background: var(--sage-dark); }

@media (max-width: 1024px) {
    .dash-sidebar, .learn-sidebar { position: static; }
}
@media (max-width: 768px) {
    .regchoice-grid { grid-template-columns: 1fr; }
    .regchoice-vs { margin: -.25rem auto; }
    .success-steps { overflow-x: auto; justify-content: flex-start; padding-bottom: .5rem; }
    .success-steps li { min-width: 110px; }
    .dash-trust article { border-inline-start: 0; border-top: 1px solid var(--line); }
    .dash-trust article:first-child { border-top: 0; }
}

/* ===== v4: visible overhaul vs previous cream-template ===== */
body.ravan-body {
    background:
        radial-gradient(circle at 88% 8%, rgba(184, 204, 170, 0.35), transparent 18rem),
        radial-gradient(circle at 8% 42%, rgba(223, 232, 217, 0.55), transparent 22rem),
        #f7f4ec;
}

.btn,
.header-actions .btn,
.btn-sm {
    border-radius: 999px;
    min-height: 46px;
}
.btn-primary {
    background: #31462e;
    padding-inline: 1.6rem;
    box-shadow: 0 10px 22px rgba(49, 70, 46, 0.22);
}
.btn-outline {
    background: #fff;
    border-color: #d7d2c6;
}

.home-hero {
    padding: 4.2rem 0 1.2rem;
    overflow: visible;
}
.home-hero::before,
.home-hero::after { display: none; }
.home-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
    gap: 4.5rem;
    align-items: center;
}
.home-hero-title {
    max-width: 14ch;
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.35;
    letter-spacing: -0.05em;
}
.hero-hl {
    background: linear-gradient(transparent 58%, #c9d8bf 58%);
    border-radius: 4px;
}
.home-hero-lead {
    max-width: 34rem;
    margin: 0 0 1.6rem;
    padding: 1rem 1.15rem;
    border-radius: 16px;
    background: #e7efdf;
    color: #3f4a3a;
    font-size: 1.05rem;
}
.home-hero-media { position: relative; }
.hero-leaf {
    position: absolute;
    color: #8aa07a;
    opacity: 0.28;
    pointer-events: none;
}
.hero-leaf--a { inset: -1.5rem auto auto -1.2rem; transform: rotate(-24deg); }
.hero-leaf--b { inset: auto -1rem 12% auto; transform: rotate(18deg); }
.home-hero-blob {
    max-width: 520px;
    border: 14px solid #fff;
    border-radius: 58% 42% 48% 52% / 42% 48% 52% 58%;
    background: #edf2e9;
    box-shadow: 0 28px 70px rgba(49, 70, 46, 0.16);
    transform: rotate(-3deg);
}
.home-hero-blob .hero-img {
    aspect-ratio: 0.92;
    object-fit: cover;
    object-position: center 12%;
    background: #edf2e9;
    transform: rotate(3deg) scale(1.04);
}

.home-feature-strip {
    padding: 0 0 2.4rem;
}
.home-hero-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #e4dfd4;
    border-radius: 999px;
    background: #fff;
    list-style: none;
}
.home-hero-features li {
    justify-content: center;
    padding: 1rem 0.8rem;
    border-inline-start: 1px solid #ece8de;
    color: #4a5246;
    font-size: 0.92rem;
    font-weight: 600;
}
.home-hero-features li:first-child { border-inline-start: 0; }

.home-stats { padding: 0 0 2rem; }
.home-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}
.home-stat {
    display: flex;
    gap: 0.85rem;
    align-items: center;
    padding: 1.15rem 1.1rem;
    border: 1px solid #e6e1d6;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(49, 60, 43, 0.05);
}
.home-stat-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #eaf1e4;
    color: #40523b;
}

.home-about-grid {
    grid-template-columns: minmax(260px, 0.8fr) minmax(280px, 1.1fr) minmax(260px, 0.9fr);
    align-items: center;
}
.home-about-photo {
    max-width: 380px;
    padding: 0.7rem;
    border-radius: 54% 46% 48% 52% / 38% 42% 58% 62%;
    background: #d7e4cc;
    box-shadow: 0 24px 50px rgba(49, 70, 46, 0.12);
}
.home-about-photo .about-img {
    border-radius: inherit;
    object-fit: cover;
    object-position: center 10%;
    background: #edf2e9;
}
.home-about-pillars {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}
.home-pillar {
    min-height: 108px;
    padding: 1rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e8e3d8;
}

.course-card.course-card--home {
    overflow: hidden;
    padding: 0.7rem;
    border-radius: 22px;
    background: #fff;
}
.course-card--home .course-card-thumb {
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
}
.course-card--home .course-card-thumb img {
    height: 210px;
    object-fit: cover;
}

.home-topics-grid { grid-template-columns: repeat(6, 1fr); }
.home-topic {
    min-height: 138px;
    border-radius: 22px;
    background: #fff;
}

.home-telegram {
    min-height: 150px;
    padding: 2rem 2.2rem;
    border-radius: 28px;
    background: linear-gradient(110deg, #c5d6b8, #e7efdf);
}
.home-telegram h2 { font-size: 1.7rem; }

.site-footer,
.site-footer .footer-brand,
.site-footer .footer-col h2,
.site-footer .footer-links a,
.site-footer .footer-contact a,
.site-footer .footer-legal a,
.site-footer .footer-social a,
.site-footer .footer-social--brand a {
    color: #2f382c;
}
.site-footer {
    background: #eef3e8;
    border-top: 1px solid #dbe4d3;
}
.site-footer .footer-brand { color: #243022; }
.site-footer .footer-brand-col p,
.site-footer .footer-base,
.site-footer .footer-contact li { color: #5a6356; }
.footer-base { border-top-color: #d5ddcc; }
.footer-brand .brand-icon path { fill: #40523b; }

@media (max-width: 1024px) {
    .home-hero-features { grid-template-columns: 1fr 1fr; border-radius: 22px; }
    .home-hero-features li:nth-child(3) { border-inline-start: 0; }
    .home-stats-grid { grid-template-columns: 1fr 1fr; }
    .home-topics-grid { grid-template-columns: repeat(3, 1fr); }
    .home-about-pillars { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .home-hero-title { font-size: clamp(2rem, 9vw, 2.8rem); }
    .home-hero-features,
    .home-stats-grid,
    .home-topics-grid,
    .home-about-pillars { grid-template-columns: 1fr; }
    .home-hero-features li,
    .home-hero-features li:nth-child(3) {
        border-inline-start: 0;
        border-top: 1px solid #ece8de;
    }
    .home-hero-features li:first-child { border-top: 0; }
    .home-stat { border-radius: 18px; }
}
